133965Sjdp-*- text -*-
2130561Sobrien
3218822Sdim* A new tool "windmc" has been added for some targets.  This is a message
4218822Sdim  compiler which attempts to be compatible with the MS version.
5218822Sdim
6218822Sdim* Add codepage support to the windres tool.  It now supports many new
7218822Sdim  resource types (e.g. MANIFEST, TOOLBAR, etc).  The output generation
8218822Sdim  for binary files is done now via bfd itself.  The endianess problems
9218822Sdim  for different hosts are solved.  Dumps of .res files can now be
10218822Sdim  re-compiled by windres without lossing resources or compilation errors.
11218822Sdim  Some problems on dialog resource translations are corrected.
12218822Sdim
13218822Sdim* Add --extract-symbol command line option to objcopy, which will
14218822Sdim  strip everything out of an ordinary object file or executable except
15218822Sdim  for its symbol table.  Files containing just symbols can be useful
16218822Sdim  to some OSes.
17218822Sdim
18218822Sdim* Add "-x NAME" to readelf in addition to "-x NUMBER".
19218822Sdim
20218822Sdim* Add -i and -t switches to cxxfilt.  -i disables the display of implementation
21218822Sdim  specific extra demangling information (if any) and -t disables the demangling
22218822Sdim  of types.
23218822Sdim
24218822Sdim* Add support for the "@<file>" syntax to the command lines of all tools, so
25218822Sdim  that extra switches can be read from <file>.
26218822Sdim
27218822Sdim* Add "-W/--dwarf" to objdump to display the contents of the DWARF
28218822Sdim  debug sections.
29218822Sdim
30218822Sdim* Add "-t/--section-details" to readelf to display section details.
31218822Sdim  "-N/--full-section-name" is deprecated.
32218822Sdim
33218822Sdim* powerpc-linux ld now supports a variant form of PLT and GOT for the security
34218822Sdim  conscious.  This form will automatically be chosen when ld detects that all
35218822Sdim  code in regular object files was generated by gcc -msecure-plt.  The old PLT
36218822Sdim  and GOT may be forced by a new ld option, --bss-plt.
37218822Sdim
38218822Sdim* Add "-i/--inlines" to addr2line to print enclosing scope information
39218822Sdim  for inlined function chains, back to first non-inlined function.
40218822Sdim
41218822Sdim* Add "-N/--full-section-name" to readelf to display full section name.
42218822Sdim
43218822Sdim* Add "-M entry:<addr>" switch to objdump to specify a function entry address
44218822Sdim  when disassembling VAX binaries.
45218822Sdim
46218822Sdim* Add "--globalize-symbol <name>" and "--globalize-symbols <filename>" switches
47218822Sdim  to objcopy to convert local symbols into global symbols.
48218822Sdim  
49218822Sdim* gprof now allows input files to have histogram records for
50218822Sdim  several memory ranges, provided those ranges are disjoint.  
51218822Sdim
52218822SdimChanges in 2.16:
53218822Sdim
54218822Sdim* Add "-g/--section-groups" to readelf to display section groups.
55218822Sdim
56218822Sdim* objcopy recognizes two new options --strip-unneeded-symbol and
57218822Sdim  --strip-unneeded-symbols, namely for use together with the wildcard
58218822Sdim  matching the original --strip-symbol/--strip-symbols provided, but
59218822Sdim  retaining any symbols matching but needed by relocations.
60218822Sdim
61218822Sdim* readelf can now display address ranges from .debug_range sections.  This
62218822Sdim  happens automatically when a DW_AT_range attribute is encountered.  The
63218822Sdim  command line switch --debug-dump=Ranges (or -wR) can also be used to display
64218822Sdim  the contents of the .debug_range section.
65218822Sdim
66218822Sdim* nm and objdump now have a switch "--special-syms" to enable the displaying of
67218822Sdim  symbols which the target considers to be special.  By default these symbols
68218822Sdim  are no longer displayed.  Currently the only special symbols are the Mapping
69218822Sdim  symbols used by the ARM port to mark transitions between text and data and
70218822Sdim  between ARM and THUMB code.
71218822Sdim
72218822Sdim* dlltool has a switch "--ext-prefix-alias <prefix>" to generate additional
73218822Sdim  import and export symbols with <preifx> prepended to them.
74218822Sdim
75218822SdimChanges in 2.15:
76218822Sdim
77218822Sdim* objcopy for MIPS targets now accepts "-M no-aliases" as an option to the
78218822Sdim  disassembler to print the "raw" mips instruction mnemonic instead of some
79218822Sdim  pseudo instruction name.  I.E. print "daddu" or "or" instead of "move",
80218822Sdim  "sll" instead of "nop", etc.
81218822Sdim
82130561Sobrien* objcopy and strip can now take wildcard patterns in symbol names specified on
83130561Sobrien  the command line provided that the --wildcard switch is used to enable them.
84130561Sobrien
85130561Sobrien* readelf can now parse archives.
86130561Sobrien
87130561Sobrien* objdump now accepts --debugging-tags to print the debug information in a
88130561Sobrien  format compatible with ctags tool.
89130561Sobrien
90130561Sobrien* objcopy and strip now accept --only-keep-debug to create a file containing
91130561Sobrien  those sections that would be stripped out by --strip-debug.  The idea is that
92130561Sobrien  this can be used in conjunction with the --add-gnu-debuglink switch to create
93130561Sobrien  a two part program distribution - one a stripped executable and the other the
94130561Sobrien  debugging info.
95130561Sobrien
96130561Sobrien* objcopy now accepts --add-gnu-debuglink=<file> to insert a .gnu_debuglink
97130561Sobrien  section into a (presumably stripped) executable.  This allows the debug
98130561Sobrien  information for the file to be held in a separate file.
99130561Sobrien  
100130561Sobrien* BFD marks the sections .comment and .note as 'n' in the BSD/POSIX
101130561Sobrien  single-character representation.  This can be checked by running nm
102130561Sobrien  with the -a switch.
103130561Sobrien
104130561SobrienChanges in 2.14:
105130561Sobrien
106130561Sobrien* Added --info switch to objcopy and strip.
107130561Sobrien
108130561Sobrien* Support for Vitesse IQ2000 added by Red Hat.
109130561Sobrien
110130561Sobrien* Added 'S' encoding to strings to allow the display of 8-bit characters.
111130561Sobrien
112130561Sobrien* Added --prefix-symbols=<text>, --prefix-sections=<text> and
113130561Sobrien  --prefix-alloc-sections=<text> to objcopy.
114130561Sobrien
115130561Sobrien* readelf can handle the extensions to the DWARF2 spec used by the Unified
116130561Sobrien  Parallel C compiler.
117130561Sobrien
118130561Sobrien* BFD no longer declares a "boolean" type, to avoid clashes with other
119130561Sobrien  headers that declare the same.  Users of BFD should replace boolean,
120130561Sobrien  false and true, with int, 0 and 1, or define their own boolean type.
121130561Sobrien
122130561Sobrien* Support for IP2K added by Denis Chertykov.
123130561Sobrien
124104834SobrienChanges in 2.13:
12533965Sjdp
126104834Sobrien* Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400
127104834Sobrien  and FR500 included.
12892828Sobrien
129104834SobrienChanges in version 2.12:
130104834Sobrien
13191041Sobrien* Support for Don Knuth's MMIX, by Hans-Peter Nilsson.
13291041Sobrien
13389857Sobrien* size: Add --totals to display summary of sizes (Berkeley format only).
13489857Sobrien
13589857Sobrien* readelf: Add --wide option to not break section header or segment listing
13689857Sobrien  lines to fit into 80 columns.
13789857Sobrien
13889857Sobrien* strings: Add --encoding to display wide character strings.  By Markus Kuhn.
13989857Sobrien
14089857Sobrien* objcopy: Add --rename-section to change section names.
14189857Sobrien
14289857Sobrien* readelf: Support added for DWARF 2.1 extensions.  Support added for
14389857Sobrien  displaying the contents of .debug.macinfo sections.
14489857Sobrien
14578828Sobrien* New command line switches added to objcopy to allow symbols to be kept as
14678828Sobrien  global symbols, and also to specify files containing lists of such symbols.
14778828Sobrien  by Honda Hiroki.
14878828Sobrien
14989857Sobrien* Support for OpenRISC by Johan Rydberg.
15089857Sobrien
15189857Sobrien* New command line switch to objcopy --alt-machine-code which creates a binary
15289857Sobrien  with an alternate machine code if one is defined in the architecture
15389857Sobrien  description.  Only supported for ELF targets.  By Alexandre Oliva.
15489857Sobrien
15589857Sobrien* New command line switch to objcopy -B (or --binary-architecture) which sets
15689857Sobrien  the architecture of the output file to the given argument.  This option only
15789857Sobrien  makes sense, if the input target is binary.  Otherwise it is ignored.
15889857Sobrien  By Stefan Geuken.
15989857Sobrien
16089857Sobrien* Support for PDP-11 by Lars Brinkhoff.
16189857Sobrien
16278828SobrienChanges in binutils 2.11:
16378828Sobrien
16477298Sobrien* Add support for ARM v5t and v5te architectures and Intel's XScale ARM
16577298Sobrien  extenstions.
16677298Sobrien
16777298Sobrien* Add --srec-len and --srec-forceS3 command line switch to objcopy.
16877298Sobrien  By Luciano Gemme.
169130561Sobrien
17077298Sobrien* Support for the MIPS32, by Anders Norlander.
17177298Sobrien
17277298Sobrien* Support for the i860, by Jason Eckhardt.
17377298Sobrien
17477298Sobrien* Support for CRIS (Axis Communications ETRAX series).
17577298Sobrien
17660484SobrienChanges in binutils 2.10:
17760484Sobrien
17878828Sobrien* Support for 64-bit ELF on HPPA.
17978828Sobrien
18060484Sobrien* New command line switch to objdump --file-start-context which shows the
18160484Sobrien  entire file contents up to the source line first encountered for a given
182130561Sobrien  file.
18360484Sobrien
18460484Sobrien* New command line switch to objdump -M (or --disassembler-options) which takes
18560484Sobrien  a parameter which can then be interpreted on a per-target basis by the
18660484Sobrien  disassembler.  Used by ARM targets to select register name sets, ISA, APCS or
18760484Sobrien  raw verions.
188130561Sobrien
18960484Sobrien* objdump support for -mi386:intel which causes disassembly to be displayed
19060484Sobrien  with intel syntax.
19160484Sobrien
19260484Sobrien* New program: readelf.  This displays the contents of ELF format files,
19360484Sobrien  regardless of target machine.
19460484Sobrien
19560484Sobrien* objcopy now takes --change-section-lma, --change-section-vma, and
19660484Sobrien  --change-section-address options.  The old --adjust-section-vma option is
19760484Sobrien  equivalent to --change-section-address.  The other --adjust-* options are now
19860484Sobrien  renamed to --change-*, although --adjust-* continues to work.
19960484Sobrien
20060484Sobrien* objcopy has a --redefine-sym option that lets you rename symbols.
20160484Sobrien
20260484Sobrien* objcopy now takes a -j/--only-section option to copy only the specified
20360484Sobrien  sections.
20460484Sobrien
20560484Sobrien* dlltool now supports the IMPORTS command.
20660484Sobrien
20760484Sobrien* dlltool now takes --export-all-symbols, --no-export-all-symbols,
20860484Sobrien  --exclude-symbols, and --no-default-excludes options.
20960484Sobrien
21038889SjdpChanges in binutils 2.9:
21138889Sjdp
21238889Sjdp* Added windres program, which can be used to manipulate resources in WIN32
21338889Sjdp  files as used on Windows 95 and Windows NT.
21438889Sjdp
21538889Sjdp* The objcopy --gap-fill and --pad-to options operate on the LMA rather than
21638889Sjdp  the VMA of the sections.
21738889Sjdp
21838889Sjdp* Added S modifier to ar to not build a symbol table.
21938889Sjdp
22033965SjdpChanges in binutils 2.8:
22133965Sjdp
22233965Sjdp* The objdump disassembly format has been changed, and hopefully improved.  Use
22333965Sjdp  the new --prefix-addresses option to get the old format.  There are also new
22433965Sjdp  --disassemble-zeroes and --no-show-raw-insn options which affect disassembler
22533965Sjdp  output.
22633965Sjdp
22733965Sjdp* Formats may now be specified as configuration triplets.  For example,
22833965Sjdp  objdump -b i386-pc-linux.  The triplets are not passed through config.sub,
22933965Sjdp  so they must be in canonical form.
23033965Sjdp
23133965Sjdp* Added new addr2line program.  This uses the debugging information to convert
23233965Sjdp  an address into a file name and line number within a program.
23333965Sjdp
23433965Sjdp* Added --change-leading-char argument to objcopy.
23533965Sjdp
23633965Sjdp* Added --weaken argument to objcopy.
23733965Sjdp
23833965Sjdp* objdump --dynamic-reloc now works on ELF executables and shared libraries.
23933965Sjdp
24033965Sjdp* Added --adjust-vma option to objdump.
24133965Sjdp
24233965Sjdp* Added -C/--demangle option to objdump.
24333965Sjdp
24433965Sjdp* Added -p/--preserve-dates option to strip and objcopy.
24533965Sjdp
24633965SjdpChanges in binutils 2.7:
24733965Sjdp
24833965Sjdp* Added --enable-shared and --enable-commonbfdlib options to configure.
24933965Sjdp
25033965Sjdp* Added --debugging argument to objdump and objcopy.
25133965Sjdp
25233965Sjdp* Added --defined-only argument to nm.
25333965Sjdp
25433965Sjdp* Added --remove-leading-char argument to objcopy.
25533965Sjdp
25633965Sjdp* The objdump --line-numbers option is now meaningful with --reloc.
25733965Sjdp
25833965Sjdp* Added --line-numbers option to nm.
25933965Sjdp
26033965Sjdp* Added --endian/-EB/-EL option to objdump.
26133965Sjdp
26233965Sjdp* Added support for Alpha OpenVMS/AXP.
26333965Sjdp
26433965SjdpChanges in binutils 2.6:
26533965Sjdp
26633965Sjdp* Added -N/--strip-symbol and -K/--keep-symbol arguments to strip and objcopy.
26733965Sjdp
26833965Sjdp* Added several arguments to objcopy to provide some control over how the new
26933965Sjdp  file is laid out in memory.  Also added binary output format to BFD to permit
27033965Sjdp  generating plain binary files.
27133965Sjdp
27233965Sjdp* Added --start-address and --stop-address options to objdump.
27333965Sjdp
27433965Sjdp* ar and ranlib now work on AIX.  The tools are now built by default on AIX.
27533965Sjdp
27633965SjdpChanges in binutils 2.5:
27733965Sjdp
27833965Sjdp* Changed objdump -dr to dump the relocs interspersed with the assembly
279130561Sobrien  listing, for a more useful listing of relocatable files.
28033965Sjdp
28133965Sjdp* Changed objdump -d/--disassemble to only disassemble SEC_CODE sections.
28233965Sjdp  Added -D/--disassemble-all option to disassemble all sections.
28333965Sjdp
28433965Sjdp* Added --size-sort option to nm.
28533965Sjdp
28633965Sjdp* strip and objcopy should now be able to handle dynamically linked ELF
28733965Sjdp  executables.
28833965Sjdp
28933965SjdpChanges in binutils 2.4:
29033965Sjdp
29133965Sjdp* Support for HP-PA (by Jeff Law), i386 Mach (by David Mackenzie), RS/6000 and
29233965Sjdp  PowerPC (except ar and ranlib; by Ian Taylor).
29333965Sjdp
29433965Sjdp* Support for Irix 5.
29533965Sjdp
29633965Sjdp* Programs `strip' and `objcopy' will not attempt to write dynamically linked
29733965Sjdp  ELF output files, since BFD currently can't create them properly.
29833965Sjdp
29933965SjdpChanges in binutils 2.3:
30033965Sjdp
30133965Sjdp* A new --stabs argument has been added to objdump to dump stabs sections in
30233965Sjdp  ELF and COFF files.
30333965Sjdp
30433965Sjdp* A new program, nlmconv, has been added.  It can convert object files into
30533965Sjdp  Novell NetWare Loadable Modules.
30633965Sjdp
30733965Sjdp* The strings program has been added.
30833965Sjdp
30933965SjdpChanges in binutils 2.2:
31033965Sjdp
31133965Sjdp* The 'copy' program has been renamed to 'objcopy', for consistency with
31233965Sjdp  'objdump', and because 'copy' might more plausibly be used as a synonym for
31333965Sjdp  'cp'.
31433965Sjdp
31533965Sjdp* The new stand-alone program c++filt is a filter that converts encoded
31633965Sjdp  (mangled) C++ assembly-level identifiers to user-level names.  (Note: This
31733965Sjdp  may get moved to the gcc distribution.)
31833965Sjdp
31933965Sjdp* nm -o on an archive now prefixes each line with the archive name, matching
32033965Sjdp  the output from BSD nm.
32133965Sjdp
32233965Sjdp* ar (and ld) can now read (but not write) BSD4.4-style archives.
32333965Sjdp
32433965Sjdp* New support for H8500, Z8000, and the Hitach SH.
32533965Sjdp
32633965Sjdp* Dis-assembler interface changed to allow sharing with gdb.
32733965Sjdp
32833965Sjdp* There is new Elf code, but it is not yet ready for general use.
32933965Sjdp
33033965Sjdp* There is the beginnings of a test suite.
33133965Sjdp
33233965SjdpChanges in binutils 2.1:
33333965Sjdp
33433965Sjdp* There is now support for writing ECOFF files, so ld and the other utilities
33533965Sjdp  should work on Risc/Ultrix and Irix.  Please let us know how well this works.
33633965Sjdp
33733965Sjdp* ar now automatically creates a symbol table (a __.SYMDEF member, in the BSD
33833965Sjdp  version), if there are any object files in the archive.  So running ranlib is
33933965Sjdp  now redundant (unless the non-standard q command is used).  This is required
34033965Sjdp  for Posix.2 conformance.
34133965Sjdp
34233965Sjdp* The archive-reading code now reads both BSD-style and SYSV-style archives
34333965Sjdp  independently of the selected target format.  This is to encourage people to
34433965Sjdp  switch to SYSV-format, which has a number of advantages.
34533965Sjdp
34633965Sjdp* The strip and copy programs now have options to remove debug-symbols only
34733965Sjdp  and/or local symbols only.  They now also support long options.
34833965Sjdp
34933965Sjdp
35033965SjdpLocal variables:
35133965Sjdpfill-column: 79
35233965SjdpEnd:
353