xref: /netbsd-src/external/gpl3/binutils.old/dist/binutils/NEWS (revision e992f068c547fd6e84b3f104dc2340adcc955732)
175fd0b74Schristos-*- text -*-
275fd0b74Schristos
3*e992f068SchristosChanges in 2.39:
4*e992f068Schristos
5*e992f068Schristos* Add --no-weak/-W option to nm to make it ignore weak symbols.
6*e992f068Schristos
7*e992f068Schristos* Add an option to objdump and readelf to prevent attempts to access debuginfod
8*e992f068Schristos  servers when following links.
9*e992f068Schristos
10*e992f068Schristos* objcopy --weaken, --weaken-symbol, and --weaken-symbols now make ELF
11*e992f068Schristos  STB_GNU_UNIQUE symbols weak.
12*e992f068Schristos
13*e992f068Schristos* objdump now supports syntax highlighting of disassembler output for some
14*e992f068Schristos  architectures.  Use the --disassembler-color=MODE command line flag, with
15*e992f068Schristos  mode being either off, color, or extended-color.
16*e992f068Schristos
17*e992f068SchristosChanges in 2.38:
18*e992f068Schristos
19*e992f068Schristos* elfedit: Add --output-abiversion option to update ABIVERSION.
20*e992f068Schristos
21*e992f068Schristos* Add support for the LoongArch instruction set.
22*e992f068Schristos
23*e992f068Schristos* Tools which display symbols or strings (readelf, strings, nm, objdump)
24*e992f068Schristos  have a new command line option which controls how unicode characters are
25*e992f068Schristos  handled.  By default they are treated as normal for the tool.  Using
26*e992f068Schristos  --unicode=locale will display them according to the current locale.
27*e992f068Schristos  Using --unicode=hex will display them as hex byte values, whilst
28*e992f068Schristos  --unicode=escape will display them as escape sequences.  In addition
29*e992f068Schristos  using --unicode=highlight will display them as unicode escape sequences
30*e992f068Schristos  highlighted in red (if supported by the output device).
31*e992f068Schristos
32*e992f068Schristos* readelf -r dumps RELR relative relocations now.
33*e992f068Schristos
34*e992f068Schristos* Support for efi-app-aarch64, efi-rtdrv-aarch64 and efi-bsdrv-aarch64 has been
35*e992f068Schristos  added to objcopy in order to enable UEFI development using binutils.
36*e992f068Schristos
37*e992f068Schristos* ar: Add --thin for creating thin archives. -T is a deprecated alias without
38*e992f068Schristos  diagnostics. In many ar implementations -T has a different meaning, as
39*e992f068Schristos  specified by X/Open System Interface.
40*e992f068Schristos
41*e992f068SchristosChanges in 2.37:
42*e992f068Schristos
43*e992f068Schristos* The readelf tool has a new command line option which can be used to specify
44*e992f068Schristos  how the numeric values of symbols are reported.  --sym-base=0|8|10|16 tells
45*e992f068Schristos  readelf to display the values in base 8, base 10 or base 16.  A sym base of 0
46*e992f068Schristos  represents the default action of displaying values under 10000 in base 10 and
47*e992f068Schristos  values above that in base 16.
48*e992f068Schristos
49*e992f068Schristos* Binutils now requires a C99 compiler and library to build.
50*e992f068Schristos
51*e992f068Schristos* A new format has been added to the nm program.  Specifying
52*e992f068Schristos  --format=just-symbols (or just using -j) will tell the program to only
53*e992f068Schristos  display symbol names and nothing else.
54*e992f068Schristos
55*e992f068Schristos* A new command line --keep-section-symbols has been added to objcopy and
56*e992f068Schristos  strip.  This stops the removal of unused section symbols when the file is
57*e992f068Schristos  copied.  Removing these symbols saves space, but sometimes they are needed by
58*e992f068Schristos  other tools.
59*e992f068Schristos
60*e992f068Schristos* objcopy --weaken, --weaken-symbol and --weaken-symbols now make undefined
61*e992f068Schristos  symbols weak on targets that support weak symbols.
62*e992f068Schristos
63*e992f068Schristos* Readelf and objdump can now display and use the contents of .debug_sup
64*e992f068Schristos  sections.
65*e992f068Schristos
66*e992f068Schristos* Readelf and objdump will now follow links to separate debug info files by
67*e992f068Schristos  default.  This behaviour can be stopped via the use of the new -wN or
68*e992f068Schristos  --debug-dump=no-follow-links options for readelf and the -WN or
69*e992f068Schristos  --dwarf=no-follow-links options for objdump.  Also the old behaviour can be
70*e992f068Schristos  restored by the use of the --enable-follow-debug-links=no configure time
71*e992f068Schristos  option.
72*e992f068Schristos
73*e992f068Schristos  The semantics of the =follow-links option have also been slightly changed.
74*e992f068Schristos  When enabled, the option allows for the loading of symbol tables and string
75*e992f068Schristos  tables from the separate files which can be used to enhance the information
76*e992f068Schristos  displayed when dumping other sections, but it does not automatically imply
77*e992f068Schristos  that information from the separate files should be displayed.
78*e992f068Schristos
79*e992f068Schristos  If other debug section display options are also enabled (eg
80*e992f068Schristos  --debug-dump=info) then the contents of matching sections in both the main
81*e992f068Schristos  file and the separate debuginfo file *will* be displayed.  This is because in
82*e992f068Schristos  most cases the debug section will only be present in one of the files.
83*e992f068Schristos
84*e992f068Schristos  If however non-debug section display options are enabled (eg --sections) then
85*e992f068Schristos  the contents of matching parts of the separate debuginfo file will *not* be
86*e992f068Schristos  displayed.  This is because in most cases the user probably only wanted to
87*e992f068Schristos  load the symbol information from the separate debuginfo file.  In order to
88*e992f068Schristos  change this behaviour a new command line option --process-links can be used.
89*e992f068Schristos  This will allow di0pslay options to applied to both the main file and any
90*e992f068Schristos  separate debuginfo files.
91*e992f068Schristos
92*e992f068Schristos* Nm has a new command line option: --quiet.  This suppresses "no symbols"
93*e992f068Schristos  diagnostic.
94*e992f068Schristos
95*e992f068SchristosChanges in 2.36:
96*e992f068Schristos
97*e992f068Schristos* Update elfedit and readelf with LAM_U48 and LAM_U57 support.
98*e992f068Schristos
99*e992f068Schristos* Nm has a new command line option: --ifunc-chars=CHARS.  This specifies a
100*e992f068Schristos  string of one or two characters.  The first character is used as the type
101*e992f068Schristos  character when displaying global ifunc symbols.  The second character, if
102*e992f068Schristos  present is used when displaying local ifunc symbols.
103*e992f068Schristos
104*e992f068Schristos  In addition a new configure time option --enable-f-for-ifunc-symbols has been
105*e992f068Schristos  created, which if used will change nm's default characters for ifunc symbols
106*e992f068Schristos  from i (both local and global) to F (global) and f (local).
107*e992f068Schristos
108*e992f068Schristos* The ar tool's previously unused l modifier is now used for specifying
109*e992f068Schristos  dependencies of a static library. The arguments of this option
110*e992f068Schristos  (or --record-libdeps long form option) will be stored verbatim in the
111*e992f068Schristos  __.LIBDEP member of the archive, which the linker may read at link time.
112*e992f068Schristos
113*e992f068Schristos* Readelf can now display the contents of LTO symbol table sections when asked
114*e992f068Schristos  to do so via the --lto-syms command line option.
115*e992f068Schristos
116*e992f068Schristos* Readelf now accepts the -C command line option to enable the demangling of
117*e992f068Schristos  symbol names.  In addition the --demangle=<style>, --no-demangle,
118*e992f068Schristos  --recurse-limit and --no-recurse-limit options are also now availale.
119*e992f068Schristos
120*e992f068Schristos* Add support for the SHF_GNU_RETAIN ELF section flag.
121*e992f068Schristos  This flag specifies that the section should not be garbage collected by the
122*e992f068Schristos  linker.
123*e992f068Schristos
124*e992f068SchristosChanges in 2.35:
125*e992f068Schristos
126*e992f068Schristos* Changed readelf's display of symbol names when wide mode is not enabled.
127*e992f068Schristos  If the name is too long it will be truncated and the last five characters
128*e992f068Schristos  replaced with "[...]".  The old behaviour of displaying 5 more characters but
129*e992f068Schristos  not indicating that truncation has happened can be restored by the use of the
130*e992f068Schristos  -T or --silent-truncation options.
131*e992f068Schristos
132*e992f068Schristos* X86 NaCl target support is removed.
133*e992f068Schristos
134*e992f068Schristos* The readelf tool now has a -L or --lint or --enable-checks option which turns
135*e992f068Schristos  on warning messages about possible problems with the file(s) being examined.
136*e992f068Schristos  These checks include things like zero-sized sections, which are allowed by
137*e992f068Schristos  the ELF standard but which nevertheless might be of concern if the user
138*e992f068Schristos  was expecting them to actually contain something.
139*e992f068Schristos
140012573ebSchristosChanges in 2.34:
141012573ebSchristos
142012573ebSchristos* Binutils now supports debuginfod, an HTTP server for distributing
143012573ebSchristos  ELF/DWARF debugging information as well as source code. When built with
144012573ebSchristos  debuginfod, readelf and objdump can automatically query debuginfod
145012573ebSchristos  servers for separate debug files when they otherwise cannot be found.
146012573ebSchristos  To build binutils with debuginfod, pass --with-debuginfod to configure.
147012573ebSchristos  This requires libdebuginfod, the debuginfod client library. debuginfod
148012573ebSchristos  is distributed with elfutils, starting with version 0.178. For more
149012573ebSchristos  information see https://sourceware.org/elfutils.
150012573ebSchristos
151012573ebSchristos* Add --output option to the "ar" program.  This option can be used to specify
152012573ebSchristos  the output directory when extracting members from an archive.
153012573ebSchristos
154012573ebSchristos* Add --keep-section option to objcopy and strip.  This option keeps the
155012573ebSchristos  specified section from being removed.
156012573ebSchristos
157012573ebSchristos * Add visualization of jumps inside a function by drawing an ascii character
158012573ebSchristos   graph between the address and the disassembler column.  Enabled via the
159012573ebSchristos   --visualize-jumps command line option for objdump.  Currently supported by
160012573ebSchristos   the x86, x86_64, and ARM targets.  The output looks something like this:
161012573ebSchristos
162012573ebSchristos  c6:	|  |     \----------> be 00 00 00 00       	mov    $0x0,%esi
163012573ebSchristos  cb:	|  |           /----> 48 8b 3d 00 00 00 00 	mov    0x0(%rip),%rdi        # d2 <main+0xd2>
164012573ebSchristos  d2:	|  |           |      31 c0                	xor    %eax,%eax
165012573ebSchristos  d4:	|  |           |  /-- e8 00 00 00 00       	callq  d9 <main+0xd9>
166012573ebSchristos  d9:	|  |           |  \-> bf 02 00 00 00       	mov    $0x2,%edi
167012573ebSchristos  de:	|  +-----------|----- e8 00 00 00 00       	callq  e3 <main+0xe3>
168012573ebSchristos  e3:	|  \-----------|----> 48 89 da             	mov    %rbx,%rdx
169012573ebSchristos  e6:	|              |      be 00 00 00 00       	mov    $0x0,%esi
170012573ebSchristos  eb:	|              \----- eb de                	jmp    cb <main+0xcb>
171012573ebSchristos  ed:	\-------------------> 48 8b 16             	mov    (%rsi),%rdx
172012573ebSchristos
173012573ebSchristos  Additional arguments to the --visualize-jumps option add colors to the
174012573ebSchristos  output.
175012573ebSchristos
176012573ebSchristosChanges in 2.33:
177012573ebSchristos
178012573ebSchristos* Add --source-comment[=<txt>] option to objdump which if present,
179012573ebSchristos  provides a prefix to source code lines displayed in a disassembly.
180012573ebSchristos
181012573ebSchristos* Add --set-section-alignment <section-name>=<align> option to objcopy to allow
182012573ebSchristos  the changing of section alignments.
183012573ebSchristos
184012573ebSchristos* Add --verilog-data-width option to objcopy for verilog targets to control
185012573ebSchristos  width of data elements in verilog hex format.
186012573ebSchristos
187012573ebSchristos* Add support for the Armv8.1-M Mainline and M-profile Vector Extension (MVE)
188012573ebSchristos  instructions.
189012573ebSchristos
190012573ebSchristos* The separate debug info file options of readelf (--debug-dump=links
191012573ebSchristos  and --debug-dump=follow) and objdump (--dwarf=links and
192012573ebSchristos  --dwarf=follow-links) will now display and/or follow multiple links if
193012573ebSchristos  more than one are present in a file.  (This usually happens when gcc's
194012573ebSchristos  -gsplit-dwarf option is used).
195012573ebSchristos
196012573ebSchristos  In addition objdump's --dwarf=follow-links now also affects its other
197012573ebSchristos  display options, so that for example, when combined with --syms it will
198012573ebSchristos  cause the symbol tables in any linked debug info files to also be
199012573ebSchristos  displayed.  In addition when combined with --disassemble the --dwarf=
200012573ebSchristos  follow-links option will ensure that any symbol tables in the linked
201012573ebSchristos  files are read and used when disassembling code in the main file.
202012573ebSchristos
203012573ebSchristos * Add support for dumping types encoded in the Compact Type Format
204012573ebSchristos   to objdump and readelf.
205012573ebSchristos
206012573ebSchristosChanges in 2.32:
207012573ebSchristos
208012573ebSchristos* The addr2line, c++filt, nm and objdump tools now have a limit on the
209012573ebSchristos  maximum amount of recursion that is allowed whilst demangling strings.
210012573ebSchristos  The value for this limit is defined by the DEMANGLE_RECRUSE_LIMIT
211012573ebSchristos  constant declared in the include/demangle.h header file.  At the time
212012573ebSchristos  of writing this constant has the value of 2048.
213012573ebSchristos
214012573ebSchristos  The --no-recurse-limit option can be used to remove the limit, restoring
215012573ebSchristos  the behaviour of earlier versions of these tools.  This may be needed in
216012573ebSchristos  order to dmangle truly complicated names, but it also leaves the tools
217012573ebSchristos  vulnerable to stack exhaustion from maliciously constructed mangled names.
218012573ebSchristos
219012573ebSchristos* Objdump's --disassemble option can now take a parameter, specifying the
220012573ebSchristos  starting symbol for disassembly.  Disassembly will continue from this
221012573ebSchristos  symbol up to the next symbol or the end of the function.
222012573ebSchristos
223012573ebSchristos* The MIPS port now supports the Loongson 2K1000 processor which implements
224012573ebSchristos  the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE, Loongson-ext ASE,
225012573ebSchristos  Loongson-ext2 ASE and MSA ASE instructions. Add -march=gs264e option for
226012573ebSchristos  Loongson 2K1000 processor.
227012573ebSchristos
228012573ebSchristos* The MIPS port now supports the Loongson 3A2000/3A3000 processor which
229012573ebSchristos  implements the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE,
230012573ebSchristos  Loongson-ext ASE and Loongson-ext2 ASE instructions. Add -march=gs464e
231012573ebSchristos  option for Loongson 3A2000/3A3000 processor.
232012573ebSchristos
233012573ebSchristos* The MIPS port now supports the Loongson 3A1000 processor, aka Loongson3a,
234012573ebSchristos  which implements the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE
235012573ebSchristos  and Loongson-ext ASE instructions. Add -march=gs464 option for Loongson
236012573ebSchristos  3A1000 processor, The -march=loongson3a is an alias of -march=gs464 for
237012573ebSchristos  compatibility.
238012573ebSchristos
239012573ebSchristos* The size tool now has a new output format '--format=GNU' or '-G'.  The
240012573ebSchristos  results are displayed in a similar manor to the default berkeley layout,
241012573ebSchristos  except read-only data is counted in the data column, not the text column.
242012573ebSchristos  Additionally the total is only included once.
243012573ebSchristos
244ede78133SchristosChanges in 2.31:
245ede78133Schristos
246ede78133Schristos* Add support for disassembling netronome Flow Processor (NFP) firmware files.
247ede78133Schristos
248ede78133Schristos* The AArch64 port now supports showing disassembly notes which are emitted
249ede78133Schristos  when inconsistencies are found with the instruction that may result in the
250ede78133Schristos  instruction being invalid.  These can be turned on with the option -M notes
251ede78133Schristos  to objdump.
252ede78133Schristos
253ede78133Schristos* The AArch64 port now emits warnings when a combination of an instruction and
254ede78133Schristos  a named register could be invalid.
255ede78133Schristos
256ede78133Schristos* Added O modifier to ar to display member offsets inside an archive
257ede78133Schristos
258ede78133SchristosChanges in 2.30:
259ede78133Schristos
260ede78133Schristos* Add --debug-dump=links option to readelf and --dwarf=links option to objdump
261ede78133Schristos  which displays the contents of any .gnu_debuglink or .gnu_debugaltlink
262ede78133Schristos  sections.
263ede78133Schristos
264ede78133Schristos  Add a --debug-dump=follow-links option to readelf and a --dwarf=follow-links
265ede78133Schristos  option to objdump which causes indirect links into separate debug info files
266ede78133Schristos  to be followed when dumping other DWARF sections.
267ede78133Schristos
268ede78133SchristosChanges in 2.29:
269ede78133Schristos
270ede78133Schristos* The MIPS port now supports microMIPS eXtended Physical Addressing (XPA)
271ede78133Schristos  instructions for assembly and disassembly.
272ede78133Schristos
273ede78133Schristos* The MIPS port now supports the microMIPS Release 5 ISA for assembly and
274ede78133Schristos  disassembly.
275ede78133Schristos
276ede78133Schristos* The MIPS port now supports the Imagination interAptiv MR2 processor,
277ede78133Schristos  which implements the MIPS32r3 ISA, the MIPS16e2 ASE as well as a couple
278ede78133Schristos  of implementation-specific regular MIPS and MIPS16e2 ASE instructions.
279ede78133Schristos
280ede78133Schristos* The SPARC port now supports the SPARC M8 processor, which implements the
281ede78133Schristos  Oracle SPARC Architecture 2017.
282ede78133Schristos
283ede78133Schristos* The MIPS port now supports the MIPS16e2 ASE for assembly and disassembly.
284ede78133Schristos
285ede78133Schristos* Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX.
286ede78133Schristos
287ede78133Schristos* Add support for the wasm32 ELF conversion of the WebAssembly file format.
288ede78133Schristos
289ede78133Schristos* Add --inlines option to objdump, which extends the --line-numbers option
290ede78133Schristos  so that inlined functions will display their nesting information.
291ede78133Schristos
292ede78133Schristos* Add --merge-notes options to objcopy to reduce the size of notes in
293ede78133Schristos  a binary file by merging and deleting redundant notes.
294ede78133Schristos
295ede78133Schristos* Add support for locating separate debug info files using the build-id
296ede78133Schristos  method, where the separate file has a name based upon the build-id of
297ede78133Schristos  the original file.
298ede78133Schristos
299ede78133SchristosChanges in 2.28:
300ede78133Schristos
301ede78133Schristos* This version of binutils fixes a problem with PowerPC VLE 16A and 16D
302ede78133Schristos  relocations which were functionally swapped, for example,
303ede78133Schristos  R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D
304ede78133Schristos  performed like R_PPC_VLE_HA16A.  This could have been fixed by
305ede78133Schristos  renumbering relocations, which would keep object files created by an
306ede78133Schristos  older version of gas compatible with a newer ld.  However, that would
307ede78133Schristos  require an ABI update, affecting other assemblers and linkers that
308ede78133Schristos  create and process the relocations correctly.  It is recommended that
309ede78133Schristos  all VLE object files be recompiled, but ld can modify the relocations
310012573ebSchristos  if --vle-reloc-fixup is passed to ld.  If the new ld command-line
311ede78133Schristos  option is not used, ld will ld warn on finding relocations inconsistent
312ede78133Schristos  with the instructions being relocated.
313ede78133Schristos
314012573ebSchristos* The nm program has a new command-line option (--with-version-strings)
315ede78133Schristos  which will display a symbol's version information, if any, after the
316ede78133Schristos  symbol's name.
317ede78133Schristos
318ede78133Schristos* The ARC port of objdump now accepts a -M option to specify the extra
319ede78133Schristos  instruction class(es) that should be disassembled.
320ede78133Schristos
321ede78133Schristos* The --remove-section option for objcopy and strip now accepts section
322ede78133Schristos  patterns starting with an exclamation point to indicate a non-matching
323ede78133Schristos  section.  A non-matching section is removed from the set of sections
324ede78133Schristos  matched by an earlier --remove-section pattern.
325ede78133Schristos
326ede78133Schristos* The --only-section option for objcopy now accepts section patterns
327ede78133Schristos  starting with an exclamation point to indicate a non-matching section.
328ede78133Schristos  A non-matching section is removed from the set of sections matched by
329ede78133Schristos  an earlier --only-section pattern.
330ede78133Schristos
331ede78133Schristos* New --remove-relocations=SECTIONPATTERN option for objcopy and strip.
332ede78133Schristos  This option can be used to remove sections containing relocations.
333ede78133Schristos  The SECTIONPATTERN is the section to which the relocations apply, not
334ede78133Schristos  the relocation section itself.
335ede78133Schristos
33675fd0b74SchristosChanges in 2.27:
33775fd0b74Schristos
33875fd0b74Schristos* Add a configure option, --enable-64-bit-archive, to force use of a
33975fd0b74Schristos  64-bit format when creating an archive symbol index.
34075fd0b74Schristos
34175fd0b74Schristos* Add --elf-stt-common= option to objcopy for ELF targets to control
34275fd0b74Schristos  whether to convert common symbols to the STT_COMMON type.
34375fd0b74Schristos
34475fd0b74SchristosChanges in 2.26:
34575fd0b74Schristos
34675fd0b74Schristos* Add option to objcopy to insert new symbols into a file:
34775fd0b74Schristos  --add-symbol <name>=[<section>:]<value>[,<flags>]
34875fd0b74Schristos
34975fd0b74Schristos* Add support for the ARC EM/HS, and ARC600/700 architectures.
35075fd0b74Schristos
35175fd0b74Schristos* Extend objcopy --compress-debug-sections option to support
35275fd0b74Schristos  --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] for ELF
35375fd0b74Schristos  targets.
35475fd0b74Schristos
35575fd0b74Schristos* Add --update-section option to objcopy.
35675fd0b74Schristos
35775fd0b74Schristos* Add --output-separator option to strings.
35875fd0b74Schristos
35975fd0b74SchristosChanges in 2.25:
36075fd0b74Schristos
36175fd0b74Schristos* Add --data option to strings to only print strings in loadable, initialized
36275fd0b74Schristos  data sections.  Change the default behaviour to be --all, but add a new
36375fd0b74Schristos  configure time option of --disable-default-strings-all to restore the old
36475fd0b74Schristos  default behaviour.
36575fd0b74Schristos
36675fd0b74Schristos* Add --include-all-whitespace to strings.
36775fd0b74Schristos
36875fd0b74Schristos* Add --dump-section option to objcopy.
36975fd0b74Schristos
37075fd0b74Schristos* Add support for the Andes NDS32.
37175fd0b74Schristos
37275fd0b74SchristosChanges in 2.24:
37375fd0b74Schristos
374012573ebSchristos* Objcopy now supports wildcard characters in command-line options that take
37575fd0b74Schristos  section names.
37675fd0b74Schristos
37775fd0b74Schristos* Add support for Altera Nios II.
37875fd0b74Schristos
37975fd0b74SchristosChanges in 2.23:
38075fd0b74Schristos
38175fd0b74Schristos* Add support for the VLE extension to the PowerPC architecture.
38275fd0b74Schristos
38375fd0b74Schristos* Add support for x64 Windows target of the delayed-load-library.
38475fd0b74Schristos
38575fd0b74Schristos* Add support for the Renesas RL78 architecture.
38675fd0b74Schristos
38775fd0b74SchristosChanges in 2.22:
38875fd0b74Schristos
38975fd0b74Schristos* Add support for displaying the contents of .debug.macro sections.
39075fd0b74Schristos
39175fd0b74Schristos* Add --preprocessor-arg option to windres to specify additional options
39275fd0b74Schristos  passed to preprocessor.
39375fd0b74Schristos
39475fd0b74Schristos* Add --dwarf-start and --dwarf-end to readelf and objdump.  These are used by
39575fd0b74Schristos  the new Emacs mode, see dwarf-mode.el.
39675fd0b74Schristos
39775fd0b74Schristos* Add support for the Tilera TILEPro and TILE-Gx architectures.
39875fd0b74Schristos
39975fd0b74Schristoschanges in 2.21:
40075fd0b74Schristos
40175fd0b74Schristos* Add --interleave-width option to objcopy to allowing copying a range of
40275fd0b74Schristos  bytes from the input to the output with the --interleave option.
40375fd0b74Schristos
40475fd0b74Schristos* Add support for the TMS320C6000 (TI C6X) processor family.
40575fd0b74Schristos
40675fd0b74Schristos* Readelf can now display ARM unwind tables (.ARM.exidx / .ARM.extab) using
40775fd0b74Schristos  the -u / --unwind option.
40875fd0b74Schristos
40975fd0b74Schristos* Add --dyn-syms to readelf to dump dynamic symbol table.
41075fd0b74Schristos
41175fd0b74Schristos* A new tool - elfedit - has been added to directly manipulate ELF format
41275fd0b74Schristos  binaries.
41375fd0b74Schristos
41475fd0b74Schristos* Add to dlltool .def file feature of aliasing PE internal symbol name by
41575fd0b74Schristos  '== <ID>' option.
41675fd0b74Schristos
417012573ebSchristos* Add a new command-line option -a / --addresses to addr2line to display the
41875fd0b74Schristos  address before function name or source filename.
41975fd0b74Schristos
420012573ebSchristos* Add a new command-line option -p / --pretty-print to addr2line to have
42175fd0b74Schristos  a more human readable output.
42275fd0b74Schristos
42375fd0b74Schristos* The hppa/som targets can now be compiled on any host.
42475fd0b74Schristos
42575fd0b74SchristosChanges in 2.20:
42675fd0b74Schristos
42775fd0b74Schristos* Add support for delay importing to dlltool.  Use the --output-delaylib <file>
42875fd0b74Schristos  switch to create a delay-import library.  The resulting app will load the dll
42975fd0b74Schristos  as soon as the first function is called.  It will link to __delayLoadHelper2()
43075fd0b74Schristos  from the static delayimp library, which will import LoadLibraryA and
43175fd0b74Schristos  GetProcAddress from kernel32.
43275fd0b74Schristos
433012573ebSchristos* Add a new command-line option, --insn-width=WIDTH, to objdump to specify
43475fd0b74Schristos  number of bytes to be displayed on a single line when disassembling
43575fd0b74Schristos  instructions.
43675fd0b74Schristos
43775fd0b74Schristos* Readelf can now display the relocated contents of a section as a sequence
438012573ebSchristos  of bytes via the --relocated-dump=<name|number> command-line option.
43975fd0b74Schristos
440012573ebSchristos* The gprof program has been given a new command-line option:
44175fd0b74Schristos  --external-symbols-table=<filename> which reads in symbols from a specified
44275fd0b74Schristos  file.
44375fd0b74Schristos
44475fd0b74Schristos* The plugin target has been added to bfd. It can load the same shared objects
44575fd0b74Schristos  used by gold and uses them to provide basic support for new file formats.
44675fd0b74Schristos
44775fd0b74Schristos* The verilog memory hex dump file format is now supported as an output format
44875fd0b74Schristos  for objcopy.
44975fd0b74Schristos
45075fd0b74Schristos* Add --file-alignment, --heap, --image-base, --section-alignment,
451012573ebSchristos  --stack and --subsystem command-line options to objcopy, which will
45275fd0b74Schristos  set PE optional header.
45375fd0b74Schristos
45475fd0b74Schristos* Option --dwarf/-W of objdump is now as flexible as readelf --debug-dump/-w.
45575fd0b74Schristos
45675fd0b74Schristos* --as-needed now links in a dynamic library if it satisfies undefined
45775fd0b74Schristos  symbols in regular objects, or in other dynamic libraries.  In the
45875fd0b74Schristos  latter case the library is not linked if it is found in a DT_NEEDED
45975fd0b74Schristos  entry of one of the libraries already linked.
46075fd0b74Schristos
46175fd0b74Schristos* Added --prefix=PREFIX and --prefix-strip=LEVEL switches to objdump to
46275fd0b74Schristos  add absolute paths for -S.
46375fd0b74Schristos
46475fd0b74Schristos* Add new option --use-nul-prefixed-import-tables to dlltool to allow fall-
46575fd0b74Schristos  back to old import table generation with null element prefix.
46675fd0b74Schristos
46775fd0b74Schristos* Added --identify-strict switch to cause --identify <implib> to
46875fd0b74Schristos  report an error when the import library is associated with
46975fd0b74Schristos  multiple DLLs.
47075fd0b74Schristos
47175fd0b74Schristos* Added --identify <implib> option to dlltool, which determines the
47275fd0b74Schristos  name of the DLL associated with the specified <implib>.
47375fd0b74Schristos
47475fd0b74Schristos* Support for PowerPC booke64 instructions has been removed.  The assembler no
47575fd0b74Schristos  longer accepts -mbooke32 or -mbooke64 and the disassembler no longer accepts
47675fd0b74Schristos  -Mbooke32 or -Mbooke64.  Instead, -mbooke and -Mbooke should be used.
47775fd0b74Schristos
47875fd0b74SchristosChanges in 2.19:
47975fd0b74Schristos
48075fd0b74Schristos* Added -wL switch to dump decoded contents of .debug_line.
48175fd0b74Schristos
48275fd0b74Schristos* Added support for "thin" archives which contain pathnames pointing to
48375fd0b74Schristos  object files rather than the files themselves and which contain a
48475fd0b74Schristos  flattened symbol index for all objects, and archives, which have been
48575fd0b74Schristos  added to the archive.
48675fd0b74Schristos
48775fd0b74Schristos* Added -F switch to objdump to include file offsets in the disassembly.
48875fd0b74Schristos
48975fd0b74Schristos* Added -c switch to readelf to allow string dumps of archive symbol index.
49075fd0b74Schristos
49175fd0b74Schristos* Support for SSE5 has been added to the i386 port.
49275fd0b74Schristos
49375fd0b74Schristos* Added -p switch to readelf to allow string dumps of sections.
49475fd0b74Schristos
49575fd0b74SchristosChanges in 2.18:
49675fd0b74Schristos
49775fd0b74Schristos* Resolved 37 coding problems in bfd including static array overruns, null
49875fd0b74Schristos  pointer dereferences and use of a malloc buffer after it has been freed, as
49975fd0b74Schristos  revealed by static analysis donated by Coverity, Inc. (http://scan.coverity.com).
50075fd0b74Schristos
50175fd0b74Schristos* The binutils sources are now released under version 3 of the GNU General
50275fd0b74Schristos  Public License.
50375fd0b74Schristos
50475fd0b74Schristos* A new tool "windmc" has been added for some targets.  This is a message
50575fd0b74Schristos  compiler which attempts to be compatible with the MS version.
50675fd0b74Schristos
50775fd0b74Schristos* Add codepage support to the windres tool.  It now supports many new
50875fd0b74Schristos  resource types (e.g. MANIFEST, TOOLBAR, etc).  The output generation
50975fd0b74Schristos  for binary files is done now via bfd itself.  The endianess problems
51075fd0b74Schristos  for different hosts are solved.  Dumps of .res files can now be
51175fd0b74Schristos  re-compiled by windres without lossing resources or compilation errors.
51275fd0b74Schristos  Some problems on dialog resource translations are corrected.
51375fd0b74Schristos
514012573ebSchristos* Add --extract-symbol command-line option to objcopy, which will
51575fd0b74Schristos  strip everything out of an ordinary object file or executable except
51675fd0b74Schristos  for its symbol table.  Files containing just symbols can be useful
51775fd0b74Schristos  to some OSes.
51875fd0b74Schristos
51975fd0b74SchristosChanges in 2.17:
52075fd0b74Schristos
52175fd0b74Schristos* Add "-x NAME" to readelf in addition to "-x NUMBER".
52275fd0b74Schristos
52375fd0b74Schristos* Add -i and -t switches to cxxfilt.  -i disables the display of implementation
52475fd0b74Schristos  specific extra demangling information (if any) and -t disables the demangling
52575fd0b74Schristos  of types.
52675fd0b74Schristos
52775fd0b74Schristos* Add support for the "@<file>" syntax to the command lines of all tools, so
52875fd0b74Schristos  that extra switches can be read from <file>.
52975fd0b74Schristos
53075fd0b74Schristos* Add "-W/--dwarf" to objdump to display the contents of the DWARF
53175fd0b74Schristos  debug sections.
53275fd0b74Schristos
53375fd0b74Schristos* Add "-t/--section-details" to readelf to display section details.
53475fd0b74Schristos  "-N/--full-section-name" is deprecated.
53575fd0b74Schristos
53675fd0b74Schristos* powerpc-linux ld now supports a variant form of PLT and GOT for the security
53775fd0b74Schristos  conscious.  This form will automatically be chosen when ld detects that all
53875fd0b74Schristos  code in regular object files was generated by gcc -msecure-plt.  The old PLT
53975fd0b74Schristos  and GOT may be forced by a new ld option, --bss-plt.
54075fd0b74Schristos
54175fd0b74Schristos* Add "-i/--inlines" to addr2line to print enclosing scope information
54275fd0b74Schristos  for inlined function chains, back to first non-inlined function.
54375fd0b74Schristos
54475fd0b74Schristos* Add "-N/--full-section-name" to readelf to display full section name.
54575fd0b74Schristos
54675fd0b74Schristos* Add "-M entry:<addr>" switch to objdump to specify a function entry address
54775fd0b74Schristos  when disassembling VAX binaries.
54875fd0b74Schristos
54975fd0b74Schristos* Add "--globalize-symbol <name>" and "--globalize-symbols <filename>" switches
55075fd0b74Schristos  to objcopy to convert local symbols into global symbols.
55175fd0b74Schristos
55275fd0b74Schristos* gprof now allows input files to have histogram records for
55375fd0b74Schristos  several memory ranges, provided those ranges are disjoint.
55475fd0b74Schristos
55575fd0b74SchristosChanges in 2.16:
55675fd0b74Schristos
55775fd0b74Schristos* Add "-g/--section-groups" to readelf to display section groups.
55875fd0b74Schristos
55975fd0b74Schristos* objcopy recognizes two new options --strip-unneeded-symbol and
56075fd0b74Schristos  --strip-unneeded-symbols, namely for use together with the wildcard
56175fd0b74Schristos  matching the original --strip-symbol/--strip-symbols provided, but
56275fd0b74Schristos  retaining any symbols matching but needed by relocations.
56375fd0b74Schristos
56475fd0b74Schristos* readelf can now display address ranges from .debug_range sections.  This
56575fd0b74Schristos  happens automatically when a DW_AT_range attribute is encountered.  The
566012573ebSchristos  command-line switch --debug-dump=Ranges (or -wR) can also be used to display
56775fd0b74Schristos  the contents of the .debug_range section.
56875fd0b74Schristos
56975fd0b74Schristos* nm and objdump now have a switch "--special-syms" to enable the displaying of
57075fd0b74Schristos  symbols which the target considers to be special.  By default these symbols
57175fd0b74Schristos  are no longer displayed.  Currently the only special symbols are the Mapping
57275fd0b74Schristos  symbols used by the ARM port to mark transitions between text and data and
57375fd0b74Schristos  between ARM and THUMB code.
57475fd0b74Schristos
57575fd0b74Schristos* dlltool has a switch "--ext-prefix-alias <prefix>" to generate additional
57675fd0b74Schristos  import and export symbols with <preifx> prepended to them.
57775fd0b74Schristos
57875fd0b74SchristosChanges in 2.15:
57975fd0b74Schristos
58075fd0b74Schristos* objcopy for MIPS targets now accepts "-M no-aliases" as an option to the
58175fd0b74Schristos  disassembler to print the "raw" mips instruction mnemonic instead of some
58275fd0b74Schristos  pseudo instruction name.  I.E. print "daddu" or "or" instead of "move",
58375fd0b74Schristos  "sll" instead of "nop", etc.
58475fd0b74Schristos
58575fd0b74Schristos* objcopy and strip can now take wildcard patterns in symbol names specified on
58675fd0b74Schristos  the command line provided that the --wildcard switch is used to enable them.
58775fd0b74Schristos
58875fd0b74Schristos* readelf can now parse archives.
58975fd0b74Schristos
59075fd0b74Schristos* objdump now accepts --debugging-tags to print the debug information in a
59175fd0b74Schristos  format compatible with ctags tool.
59275fd0b74Schristos
59375fd0b74Schristos* objcopy and strip now accept --only-keep-debug to create a file containing
59475fd0b74Schristos  those sections that would be stripped out by --strip-debug.  The idea is that
59575fd0b74Schristos  this can be used in conjunction with the --add-gnu-debuglink switch to create
59675fd0b74Schristos  a two part program distribution - one a stripped executable and the other the
59775fd0b74Schristos  debugging info.
59875fd0b74Schristos
59975fd0b74Schristos* objcopy now accepts --add-gnu-debuglink=<file> to insert a .gnu_debuglink
60075fd0b74Schristos  section into a (presumably stripped) executable.  This allows the debug
60175fd0b74Schristos  information for the file to be held in a separate file.
60275fd0b74Schristos
60375fd0b74Schristos* BFD marks the sections .comment and .note as 'n' in the BSD/POSIX
60475fd0b74Schristos  single-character representation.  This can be checked by running nm
60575fd0b74Schristos  with the -a switch.
60675fd0b74Schristos
60775fd0b74SchristosChanges in 2.14:
60875fd0b74Schristos
60975fd0b74Schristos* Added --info switch to objcopy and strip.
61075fd0b74Schristos
61175fd0b74Schristos* Support for Vitesse IQ2000 added by Red Hat.
61275fd0b74Schristos
61375fd0b74Schristos* Added 'S' encoding to strings to allow the display of 8-bit characters.
61475fd0b74Schristos
61575fd0b74Schristos* Added --prefix-symbols=<text>, --prefix-sections=<text> and
61675fd0b74Schristos  --prefix-alloc-sections=<text> to objcopy.
61775fd0b74Schristos
61875fd0b74Schristos* readelf can handle the extensions to the DWARF2 spec used by the Unified
61975fd0b74Schristos  Parallel C compiler.
62075fd0b74Schristos
62175fd0b74Schristos* BFD no longer declares a "boolean" type, to avoid clashes with other
62275fd0b74Schristos  headers that declare the same.  Users of BFD should replace boolean,
62375fd0b74Schristos  false and true, with int, 0 and 1, or define their own boolean type.
62475fd0b74Schristos
62575fd0b74Schristos* Support for IP2K added by Denis Chertykov.
62675fd0b74Schristos
62775fd0b74SchristosChanges in 2.13:
62875fd0b74Schristos
62975fd0b74Schristos* Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400
63075fd0b74Schristos  and FR500 included.
63175fd0b74Schristos
63275fd0b74SchristosChanges in version 2.12:
63375fd0b74Schristos
63475fd0b74Schristos* Support for Don Knuth's MMIX, by Hans-Peter Nilsson.
63575fd0b74Schristos
63675fd0b74Schristos* size: Add --totals to display summary of sizes (Berkeley format only).
63775fd0b74Schristos
63875fd0b74Schristos* readelf: Add --wide option to not break section header or segment listing
63975fd0b74Schristos  lines to fit into 80 columns.
64075fd0b74Schristos
64175fd0b74Schristos* strings: Add --encoding to display wide character strings.  By Markus Kuhn.
64275fd0b74Schristos
64375fd0b74Schristos* objcopy: Add --rename-section to change section names.
64475fd0b74Schristos
64575fd0b74Schristos* readelf: Support added for DWARF 2.1 extensions.  Support added for
64675fd0b74Schristos  displaying the contents of .debug.macinfo sections.
64775fd0b74Schristos
648012573ebSchristos* New command-line switches added to objcopy to allow symbols to be kept as
64975fd0b74Schristos  global symbols, and also to specify files containing lists of such symbols.
65075fd0b74Schristos  by Honda Hiroki.
65175fd0b74Schristos
65275fd0b74Schristos* Support for OpenRISC by Johan Rydberg.
65375fd0b74Schristos
654012573ebSchristos* New command-line switch to objcopy --alt-machine-code which creates a binary
65575fd0b74Schristos  with an alternate machine code if one is defined in the architecture
65675fd0b74Schristos  description.  Only supported for ELF targets.  By Alexandre Oliva.
65775fd0b74Schristos
658012573ebSchristos* New command-line switch to objcopy -B (or --binary-architecture) which sets
65975fd0b74Schristos  the architecture of the output file to the given argument.  This option only
66075fd0b74Schristos  makes sense, if the input target is binary.  Otherwise it is ignored.
66175fd0b74Schristos  By Stefan Geuken.
66275fd0b74Schristos
66375fd0b74Schristos* Support for PDP-11 by Lars Brinkhoff.
66475fd0b74Schristos
66575fd0b74SchristosChanges in binutils 2.11:
66675fd0b74Schristos
66775fd0b74Schristos* Add support for ARM v5t and v5te architectures and Intel's XScale ARM
66875fd0b74Schristos  extenstions.
66975fd0b74Schristos
670012573ebSchristos* Add --srec-len and --srec-forceS3 command-line switch to objcopy.
67175fd0b74Schristos  By Luciano Gemme.
67275fd0b74Schristos
67375fd0b74Schristos* Support for the MIPS32, by Anders Norlander.
67475fd0b74Schristos
67575fd0b74Schristos* Support for the i860, by Jason Eckhardt.
67675fd0b74Schristos
67775fd0b74Schristos* Support for CRIS (Axis Communications ETRAX series).
67875fd0b74Schristos
67975fd0b74SchristosChanges in binutils 2.10:
68075fd0b74Schristos
68175fd0b74Schristos* Support for 64-bit ELF on HPPA.
68275fd0b74Schristos
683012573ebSchristos* New command-line switch to objdump --file-start-context which shows the
68475fd0b74Schristos  entire file contents up to the source line first encountered for a given
68575fd0b74Schristos  file.
68675fd0b74Schristos
687012573ebSchristos* New command-line switch to objdump -M (or --disassembler-options) which takes
68875fd0b74Schristos  a parameter which can then be interpreted on a per-target basis by the
68975fd0b74Schristos  disassembler.  Used by ARM targets to select register name sets, ISA, APCS or
69075fd0b74Schristos  raw verions.
69175fd0b74Schristos
69275fd0b74Schristos* objdump support for -mi386:intel which causes disassembly to be displayed
69375fd0b74Schristos  with intel syntax.
69475fd0b74Schristos
69575fd0b74Schristos* New program: readelf.  This displays the contents of ELF format files,
69675fd0b74Schristos  regardless of target machine.
69775fd0b74Schristos
69875fd0b74Schristos* objcopy now takes --change-section-lma, --change-section-vma, and
69975fd0b74Schristos  --change-section-address options.  The old --adjust-section-vma option is
70075fd0b74Schristos  equivalent to --change-section-address.  The other --adjust-* options are now
70175fd0b74Schristos  renamed to --change-*, although --adjust-* continues to work.
70275fd0b74Schristos
70375fd0b74Schristos* objcopy has a --redefine-sym option that lets you rename symbols.
70475fd0b74Schristos
70575fd0b74Schristos* objcopy now takes a -j/--only-section option to copy only the specified
70675fd0b74Schristos  sections.
70775fd0b74Schristos
70875fd0b74Schristos* dlltool now supports the IMPORTS command.
70975fd0b74Schristos
71075fd0b74Schristos* dlltool now takes --export-all-symbols, --no-export-all-symbols,
71175fd0b74Schristos  --exclude-symbols, and --no-default-excludes options.
71275fd0b74Schristos
71375fd0b74SchristosChanges in binutils 2.9:
71475fd0b74Schristos
71575fd0b74Schristos* Added windres program, which can be used to manipulate resources in WIN32
71675fd0b74Schristos  files as used on Windows 95 and Windows NT.
71775fd0b74Schristos
71875fd0b74Schristos* The objcopy --gap-fill and --pad-to options operate on the LMA rather than
71975fd0b74Schristos  the VMA of the sections.
72075fd0b74Schristos
72175fd0b74Schristos* Added S modifier to ar to not build a symbol table.
72275fd0b74Schristos
72375fd0b74SchristosChanges in binutils 2.8:
72475fd0b74Schristos
72575fd0b74Schristos* The objdump disassembly format has been changed, and hopefully improved.  Use
72675fd0b74Schristos  the new --prefix-addresses option to get the old format.  There are also new
72775fd0b74Schristos  --disassemble-zeroes and --no-show-raw-insn options which affect disassembler
72875fd0b74Schristos  output.
72975fd0b74Schristos
73075fd0b74Schristos* Formats may now be specified as configuration triplets.  For example,
73175fd0b74Schristos  objdump -b i386-pc-linux.  The triplets are not passed through config.sub,
73275fd0b74Schristos  so they must be in canonical form.
73375fd0b74Schristos
73475fd0b74Schristos* Added new addr2line program.  This uses the debugging information to convert
73575fd0b74Schristos  an address into a file name and line number within a program.
73675fd0b74Schristos
73775fd0b74Schristos* Added --change-leading-char argument to objcopy.
73875fd0b74Schristos
73975fd0b74Schristos* Added --weaken argument to objcopy.
74075fd0b74Schristos
74175fd0b74Schristos* objdump --dynamic-reloc now works on ELF executables and shared libraries.
74275fd0b74Schristos
74375fd0b74Schristos* Added --adjust-vma option to objdump.
74475fd0b74Schristos
74575fd0b74Schristos* Added -C/--demangle option to objdump.
74675fd0b74Schristos
74775fd0b74Schristos* Added -p/--preserve-dates option to strip and objcopy.
74875fd0b74Schristos
74975fd0b74SchristosChanges in binutils 2.7:
75075fd0b74Schristos
75175fd0b74Schristos* Added --enable-shared and --enable-commonbfdlib options to configure.
75275fd0b74Schristos
75375fd0b74Schristos* Added --debugging argument to objdump and objcopy.
75475fd0b74Schristos
75575fd0b74Schristos* Added --defined-only argument to nm.
75675fd0b74Schristos
75775fd0b74Schristos* Added --remove-leading-char argument to objcopy.
75875fd0b74Schristos
75975fd0b74Schristos* The objdump --line-numbers option is now meaningful with --reloc.
76075fd0b74Schristos
76175fd0b74Schristos* Added --line-numbers option to nm.
76275fd0b74Schristos
76375fd0b74Schristos* Added --endian/-EB/-EL option to objdump.
76475fd0b74Schristos
76575fd0b74Schristos* Added support for Alpha OpenVMS/AXP.
76675fd0b74Schristos
76775fd0b74SchristosChanges in binutils 2.6:
76875fd0b74Schristos
76975fd0b74Schristos* Added -N/--strip-symbol and -K/--keep-symbol arguments to strip and objcopy.
77075fd0b74Schristos
77175fd0b74Schristos* Added several arguments to objcopy to provide some control over how the new
77275fd0b74Schristos  file is laid out in memory.  Also added binary output format to BFD to permit
77375fd0b74Schristos  generating plain binary files.
77475fd0b74Schristos
77575fd0b74Schristos* Added --start-address and --stop-address options to objdump.
77675fd0b74Schristos
77775fd0b74Schristos* ar and ranlib now work on AIX.  The tools are now built by default on AIX.
77875fd0b74Schristos
77975fd0b74SchristosChanges in binutils 2.5:
78075fd0b74Schristos
78175fd0b74Schristos* Changed objdump -dr to dump the relocs interspersed with the assembly
78275fd0b74Schristos  listing, for a more useful listing of relocatable files.
78375fd0b74Schristos
78475fd0b74Schristos* Changed objdump -d/--disassemble to only disassemble SEC_CODE sections.
78575fd0b74Schristos  Added -D/--disassemble-all option to disassemble all sections.
78675fd0b74Schristos
78775fd0b74Schristos* Added --size-sort option to nm.
78875fd0b74Schristos
78975fd0b74Schristos* strip and objcopy should now be able to handle dynamically linked ELF
79075fd0b74Schristos  executables.
79175fd0b74Schristos
79275fd0b74SchristosChanges in binutils 2.4:
79375fd0b74Schristos
79475fd0b74Schristos* Support for HP-PA (by Jeff Law), i386 Mach (by David Mackenzie), RS/6000 and
79575fd0b74Schristos  PowerPC (except ar and ranlib; by Ian Taylor).
79675fd0b74Schristos
79775fd0b74Schristos* Support for Irix 5.
79875fd0b74Schristos
79975fd0b74Schristos* Programs `strip' and `objcopy' will not attempt to write dynamically linked
80075fd0b74Schristos  ELF output files, since BFD currently can't create them properly.
80175fd0b74Schristos
80275fd0b74SchristosChanges in binutils 2.3:
80375fd0b74Schristos
80475fd0b74Schristos* A new --stabs argument has been added to objdump to dump stabs sections in
80575fd0b74Schristos  ELF and COFF files.
80675fd0b74Schristos
80775fd0b74Schristos* A new program, nlmconv, has been added.  It can convert object files into
80875fd0b74Schristos  Novell NetWare Loadable Modules.
80975fd0b74Schristos
81075fd0b74Schristos* The strings program has been added.
81175fd0b74Schristos
81275fd0b74SchristosChanges in binutils 2.2:
81375fd0b74Schristos
81475fd0b74Schristos* The 'copy' program has been renamed to 'objcopy', for consistency with
81575fd0b74Schristos  'objdump', and because 'copy' might more plausibly be used as a synonym for
81675fd0b74Schristos  'cp'.
81775fd0b74Schristos
81875fd0b74Schristos* The new stand-alone program c++filt is a filter that converts encoded
81975fd0b74Schristos  (mangled) C++ assembly-level identifiers to user-level names.  (Note: This
82075fd0b74Schristos  may get moved to the gcc distribution.)
82175fd0b74Schristos
82275fd0b74Schristos* nm -o on an archive now prefixes each line with the archive name, matching
82375fd0b74Schristos  the output from BSD nm.
82475fd0b74Schristos
82575fd0b74Schristos* ar (and ld) can now read (but not write) BSD4.4-style archives.
82675fd0b74Schristos
82775fd0b74Schristos* New support for H8500, Z8000, and the Hitach SH.
82875fd0b74Schristos
82975fd0b74Schristos* Dis-assembler interface changed to allow sharing with gdb.
83075fd0b74Schristos
83175fd0b74Schristos* There is new Elf code, but it is not yet ready for general use.
83275fd0b74Schristos
83375fd0b74Schristos* There is the beginnings of a test suite.
83475fd0b74Schristos
83575fd0b74SchristosChanges in binutils 2.1:
83675fd0b74Schristos
83775fd0b74Schristos* There is now support for writing ECOFF files, so ld and the other utilities
83875fd0b74Schristos  should work on Risc/Ultrix and Irix.  Please let us know how well this works.
83975fd0b74Schristos
84075fd0b74Schristos* ar now automatically creates a symbol table (a __.SYMDEF member, in the BSD
84175fd0b74Schristos  version), if there are any object files in the archive.  So running ranlib is
84275fd0b74Schristos  now redundant (unless the non-standard q command is used).  This is required
84375fd0b74Schristos  for Posix.2 conformance.
84475fd0b74Schristos
84575fd0b74Schristos* The archive-reading code now reads both BSD-style and SYSV-style archives
84675fd0b74Schristos  independently of the selected target format.  This is to encourage people to
84775fd0b74Schristos  switch to SYSV-format, which has a number of advantages.
84875fd0b74Schristos
84975fd0b74Schristos* The strip and copy programs now have options to remove debug-symbols only
85075fd0b74Schristos  and/or local symbols only.  They now also support long options.
85175fd0b74Schristos
85275fd0b74Schristos
853*e992f068SchristosCopyright (C) 2012-2022 Free Software Foundation, Inc.
85475fd0b74Schristos
85575fd0b74SchristosCopying and distribution of this file, with or without modification,
85675fd0b74Schristosare permitted in any medium without royalty provided the copyright
85775fd0b74Schristosnotice and this notice are preserved.
85875fd0b74Schristos
85975fd0b74SchristosLocal variables:
86075fd0b74Schristosfill-column: 79
86175fd0b74SchristosEnd:
862