]> Git Repo - binutils.git/blob - binutils/NEWS
nm: Add --quiet to suppress "no symbols" diagnostic
[binutils.git] / binutils / NEWS
1 -*- text -*-
2
3 * Readelf and objdump can now display and use the contents of .debug_sup
4   sections.
5
6 * Readelf and objdump will now follow links to separate debug info files by
7   default.  This behaviour can be stopped via the use of the new -wN or
8   --debug-dump=no-follow-links options for readelf and the -WN or
9   --dwarf=no-follow-links options for objdump.  Also the old behaviour can be
10   restored by the use of the --enable-follow-debug-links=no configure time
11   option.
12
13 * Nm has a new command line option: --quiet.  This suppresses "no symbols"
14   diagnostic.
15
16 Changes in 2.36:
17
18 * Update elfedit and readelf with LAM_U48 and LAM_U57 support.
19
20 * Nm has a new command line option: --ifunc-chars=CHARS.  This specifies a
21   string of one or two characters.  The first character is used as the type
22   character when displaying global ifunc symbols.  The second character, if
23   present is used when displaying local ifunc symbols.
24
25   In addition a new configure time option --enable-f-for-ifunc-symbols has been
26   created, which if used will change nm's default characters for ifunc symbols
27   from i (both local and global) to F (global) and f (local).
28
29 * The ar tool's previously unused l modifier is now used for specifying
30   dependencies of a static library. The arguments of this option
31   (or --record-libdeps long form option) will be stored verbatim in the
32   __.LIBDEP member of the archive, which the linker may read at link time.
33
34 * Readelf can now display the contents of LTO symbol table sections when asked
35   to do so via the --lto-syms command line option.
36
37 * Readelf now accepts the -C command line option to enable the demangling of
38   symbol names.  In addition the --demangle=<style>, --no-demangle,
39   --recurse-limit and --no-recurse-limit options are also now availale.
40
41 * Add support for the SHF_GNU_RETAIN ELF section flag.
42   This flag specifies that the section should not be garbage collected by the
43   linker.
44
45 Changes in 2.35:
46
47 * Changed readelf's display of symbol names when wide mode is not enabled.
48   If the name is too long it will be truncated and the last five characters
49   replaced with "[...]".  The old behaviour of displaying 5 more characters but
50   not indicating that truncation has happened can be restored by the use of the
51   -T or --silent-truncation options.
52
53 * X86 NaCl target support is removed.
54
55 * The readelf tool now has a -L or --lint or --enable-checks option which turns
56   on warning messages about possible problems with the file(s) being examined.
57   These checks include things like zero-sized sections, which are allowed by
58   the ELF standard but which nevertheless might be of concern if the user
59   was expecting them to actually contain something.
60
61 Changes in 2.34:
62
63 * Binutils now supports debuginfod, an HTTP server for distributing
64   ELF/DWARF debugging information as well as source code. When built with
65   debuginfod, readelf and objdump can automatically query debuginfod
66   servers for separate debug files when they otherwise cannot be found.
67   To build binutils with debuginfod, pass --with-debuginfod to configure.
68   This requires libdebuginfod, the debuginfod client library. debuginfod
69   is distributed with elfutils, starting with version 0.178. For more
70   information see https://sourceware.org/elfutils.
71
72 * Add --output option to the "ar" program.  This option can be used to specify
73   the output directory when extracting members from an archive.
74
75 * Add --keep-section option to objcopy and strip.  This option keeps the
76   specified section from being removed.
77
78  * Add visualization of jumps inside a function by drawing an ascii character
79    graph between the address and the disassembler column.  Enabled via the
80    --visualize-jumps command line option for objdump.  Currently supported by
81    the x86, x86_64, and ARM targets.  The output looks something like this:
82
83   c6:   |  |     \----------> be 00 00 00 00            mov    $0x0,%esi
84   cb:   |  |           /----> 48 8b 3d 00 00 00 00      mov    0x0(%rip),%rdi        # d2 <main+0xd2>
85   d2:   |  |           |      31 c0                     xor    %eax,%eax
86   d4:   |  |           |  /-- e8 00 00 00 00            callq  d9 <main+0xd9>
87   d9:   |  |           |  \-> bf 02 00 00 00            mov    $0x2,%edi
88   de:   |  +-----------|----- e8 00 00 00 00            callq  e3 <main+0xe3>
89   e3:   |  \-----------|----> 48 89 da                  mov    %rbx,%rdx
90   e6:   |              |      be 00 00 00 00            mov    $0x0,%esi
91   eb:   |              \----- eb de                     jmp    cb <main+0xcb>
92   ed:   \-------------------> 48 8b 16                  mov    (%rsi),%rdx
93
94   Additional arguments to the --visualize-jumps option add colors to the
95   output.
96
97 Changes in 2.33:
98
99 * Add --source-comment[=<txt>] option to objdump which if present,
100   provides a prefix to source code lines displayed in a disassembly.
101
102 * Add --set-section-alignment <section-name>=<align> option to objcopy to allow
103   the changing of section alignments.
104
105 * Add --verilog-data-width option to objcopy for verilog targets to control
106   width of data elements in verilog hex format.
107
108 * Add support for the Armv8.1-M Mainline and M-profile Vector Extension (MVE)
109   instructions.
110
111 * The separate debug info file options of readelf (--debug-dump=links
112   and --debug-dump=follow) and objdump (--dwarf=links and
113   --dwarf=follow-links) will now display and/or follow multiple links if
114   more than one are present in a file.  (This usually happens when gcc's
115   -gsplit-dwarf option is used).
116
117   In addition objdump's --dwarf=follow-links now also affects its other
118   display options, so that for example, when combined with --syms it will
119   cause the symbol tables in any linked debug info files to also be
120   displayed.  In addition when combined with --disassemble the --dwarf=
121   follow-links option will ensure that any symbol tables in the linked
122   files are read and used when disassembling code in the main file.
123
124  * Add support for dumping types encoded in the Compact Type Format
125    to objdump and readelf.
126
127 Changes in 2.32:
128
129 * The addr2line, c++filt, nm and objdump tools now have a limit on the
130   maximum amount of recursion that is allowed whilst demangling strings.
131   The value for this limit is defined by the DEMANGLE_RECRUSE_LIMIT
132   constant declared in the include/demangle.h header file.  At the time
133   of writing this constant has the value of 2048.
134
135   The --no-recurse-limit option can be used to remove the limit, restoring
136   the behaviour of earlier versions of these tools.  This may be needed in
137   order to dmangle truly complicated names, but it also leaves the tools
138   vulnerable to stack exhaustion from maliciously constructed mangled names.
139
140 * Objdump's --disassemble option can now take a parameter, specifying the
141   starting symbol for disassembly.  Disassembly will continue from this
142   symbol up to the next symbol or the end of the function.
143
144 * The MIPS port now supports the Loongson 2K1000 processor which implements
145   the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE, Loongson-ext ASE,
146   Loongson-ext2 ASE and MSA ASE instructions. Add -march=gs264e option for
147   Loongson 2K1000 processor.
148
149 * The MIPS port now supports the Loongson 3A2000/3A3000 processor which
150   implements the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE,
151   Loongson-ext ASE and Loongson-ext2 ASE instructions. Add -march=gs464e
152   option for Loongson 3A2000/3A3000 processor.
153
154 * The MIPS port now supports the Loongson 3A1000 processor, aka Loongson3a,
155   which implements the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE
156   and Loongson-ext ASE instructions. Add -march=gs464 option for Loongson
157   3A1000 processor, The -march=loongson3a is an alias of -march=gs464 for
158   compatibility.
159
160 * The size tool now has a new output format '--format=GNU' or '-G'.  The
161   results are displayed in a similar manor to the default berkeley layout,
162   except read-only data is counted in the data column, not the text column.
163   Additionally the total is only included once.
164
165 Changes in 2.31:
166
167 * Add support for disassembling netronome Flow Processor (NFP) firmware files.
168
169 * The AArch64 port now supports showing disassembly notes which are emitted
170   when inconsistencies are found with the instruction that may result in the
171   instruction being invalid.  These can be turned on with the option -M notes
172   to objdump.
173
174 * The AArch64 port now emits warnings when a combination of an instruction and
175   a named register could be invalid.
176
177 * Added O modifier to ar to display member offsets inside an archive
178
179 Changes in 2.30:
180
181 * Add --debug-dump=links option to readelf and --dwarf=links option to objdump
182   which displays the contents of any .gnu_debuglink or .gnu_debugaltlink
183   sections.
184
185   Add a --debug-dump=follow-links option to readelf and a --dwarf=follow-links
186   option to objdump which causes indirect links into separate debug info files
187   to be followed when dumping other DWARF sections.
188
189 Changes in 2.29:
190
191 * The MIPS port now supports microMIPS eXtended Physical Addressing (XPA)
192   instructions for assembly and disassembly.
193
194 * The MIPS port now supports the microMIPS Release 5 ISA for assembly and
195   disassembly.
196
197 * The MIPS port now supports the Imagination interAptiv MR2 processor,
198   which implements the MIPS32r3 ISA, the MIPS16e2 ASE as well as a couple
199   of implementation-specific regular MIPS and MIPS16e2 ASE instructions.
200
201 * The SPARC port now supports the SPARC M8 processor, which implements the
202   Oracle SPARC Architecture 2017.
203
204 * The MIPS port now supports the MIPS16e2 ASE for assembly and disassembly.
205
206 * Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX.
207
208 * Add support for the wasm32 ELF conversion of the WebAssembly file format.
209
210 * Add --inlines option to objdump, which extends the --line-numbers option
211   so that inlined functions will display their nesting information.
212
213 * Add --merge-notes options to objcopy to reduce the size of notes in
214   a binary file by merging and deleting redundant notes.
215
216 * Add support for locating separate debug info files using the build-id
217   method, where the separate file has a name based upon the build-id of
218   the original file.
219
220 Changes in 2.28:
221
222 * This version of binutils fixes a problem with PowerPC VLE 16A and 16D
223   relocations which were functionally swapped, for example,
224   R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D
225   performed like R_PPC_VLE_HA16A.  This could have been fixed by
226   renumbering relocations, which would keep object files created by an
227   older version of gas compatible with a newer ld.  However, that would
228   require an ABI update, affecting other assemblers and linkers that
229   create and process the relocations correctly.  It is recommended that
230   all VLE object files be recompiled, but ld can modify the relocations
231   if --vle-reloc-fixup is passed to ld.  If the new ld command-line
232   option is not used, ld will ld warn on finding relocations inconsistent
233   with the instructions being relocated.
234
235 * The nm program has a new command-line option (--with-version-strings)
236   which will display a symbol's version information, if any, after the
237   symbol's name.
238
239 * The ARC port of objdump now accepts a -M option to specify the extra
240   instruction class(es) that should be disassembled.
241
242 * The --remove-section option for objcopy and strip now accepts section
243   patterns starting with an exclamation point to indicate a non-matching
244   section.  A non-matching section is removed from the set of sections
245   matched by an earlier --remove-section pattern.
246
247 * The --only-section option for objcopy now accepts section patterns
248   starting with an exclamation point to indicate a non-matching section.
249   A non-matching section is removed from the set of sections matched by
250   an earlier --only-section pattern.
251
252 * New --remove-relocations=SECTIONPATTERN option for objcopy and strip.
253   This option can be used to remove sections containing relocations.
254   The SECTIONPATTERN is the section to which the relocations apply, not
255   the relocation section itself.
256
257 Changes in 2.27:
258
259 * Add a configure option, --enable-64-bit-archive, to force use of a
260   64-bit format when creating an archive symbol index.
261
262 * Add --elf-stt-common= option to objcopy for ELF targets to control
263   whether to convert common symbols to the STT_COMMON type.
264
265 Changes in 2.26:
266
267 * Add option to objcopy to insert new symbols into a file:
268   --add-symbol <name>=[<section>:]<value>[,<flags>]
269
270 * Add support for the ARC EM/HS, and ARC600/700 architectures.
271
272 * Extend objcopy --compress-debug-sections option to support
273   --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] for ELF
274   targets.
275
276 * Add --update-section option to objcopy.
277
278 * Add --output-separator option to strings.
279
280 Changes in 2.25:
281
282 * Add --data option to strings to only print strings in loadable, initialized
283   data sections.  Change the default behaviour to be --all, but add a new
284   configure time option of --disable-default-strings-all to restore the old
285   default behaviour.
286
287 * Add --include-all-whitespace to strings.
288
289 * Add --dump-section option to objcopy.
290
291 * Add support for the Andes NDS32.
292
293 Changes in 2.24:
294
295 * Objcopy now supports wildcard characters in command-line options that take
296   section names.
297
298 * Add support for Altera Nios II.
299
300 Changes in 2.23:
301
302 * Add support for the VLE extension to the PowerPC architecture.
303
304 * Add support for x64 Windows target of the delayed-load-library.
305
306 * Add support for the Renesas RL78 architecture.
307
308 Changes in 2.22:
309
310 * Add support for displaying the contents of .debug.macro sections.
311
312 * Add --preprocessor-arg option to windres to specify additional options
313   passed to preprocessor.
314
315 * Add --dwarf-start and --dwarf-end to readelf and objdump.  These are used by
316   the new Emacs mode, see dwarf-mode.el.
317
318 * Add support for the Tilera TILEPro and TILE-Gx architectures.
319
320 changes in 2.21:
321
322 * Add --interleave-width option to objcopy to allowing copying a range of
323   bytes from the input to the output with the --interleave option.
324
325 * Add support for the TMS320C6000 (TI C6X) processor family.
326
327 * Readelf can now display ARM unwind tables (.ARM.exidx / .ARM.extab) using
328   the -u / --unwind option.
329
330 * Add --dyn-syms to readelf to dump dynamic symbol table.
331
332 * A new tool - elfedit - has been added to directly manipulate ELF format
333   binaries.
334
335 * Add to dlltool .def file feature of aliasing PE internal symbol name by
336   '== <ID>' option.
337
338 * Add a new command-line option -a / --addresses to addr2line to display the
339   address before function name or source filename.
340
341 * Add a new command-line option -p / --pretty-print to addr2line to have
342   a more human readable output.
343
344 * The hppa/som targets can now be compiled on any host.
345
346 Changes in 2.20:
347
348 * Add support for delay importing to dlltool.  Use the --output-delaylib <file>
349   switch to create a delay-import library.  The resulting app will load the dll
350   as soon as the first function is called.  It will link to __delayLoadHelper2()
351   from the static delayimp library, which will import LoadLibraryA and
352   GetProcAddress from kernel32.
353
354 * Add a new command-line option, --insn-width=WIDTH, to objdump to specify
355   number of bytes to be displayed on a single line when disassembling
356   instructions.
357
358 * Readelf can now display the relocated contents of a section as a sequence
359   of bytes via the --relocated-dump=<name|number> command-line option.
360
361 * The gprof program has been given a new command-line option:
362   --external-symbols-table=<filename> which reads in symbols from a specified
363   file.
364
365 * The plugin target has been added to bfd. It can load the same shared objects
366   used by gold and uses them to provide basic support for new file formats.
367
368 * The verilog memory hex dump file format is now supported as an output format
369   for objcopy.
370
371 * Add --file-alignment, --heap, --image-base, --section-alignment,
372   --stack and --subsystem command-line options to objcopy, which will
373   set PE optional header.
374
375 * Option --dwarf/-W of objdump is now as flexible as readelf --debug-dump/-w.
376
377 * --as-needed now links in a dynamic library if it satisfies undefined
378   symbols in regular objects, or in other dynamic libraries.  In the
379   latter case the library is not linked if it is found in a DT_NEEDED
380   entry of one of the libraries already linked.
381
382 * Added --prefix=PREFIX and --prefix-strip=LEVEL switches to objdump to
383   add absolute paths for -S.
384
385 * Add new option --use-nul-prefixed-import-tables to dlltool to allow fall-
386   back to old import table generation with null element prefix.
387
388 * Added --identify-strict switch to cause --identify <implib> to
389   report an error when the import library is associated with
390   multiple DLLs.
391
392 * Added --identify <implib> option to dlltool, which determines the
393   name of the DLL associated with the specified <implib>.
394
395 * Support for PowerPC booke64 instructions has been removed.  The assembler no
396   longer accepts -mbooke32 or -mbooke64 and the disassembler no longer accepts
397   -Mbooke32 or -Mbooke64.  Instead, -mbooke and -Mbooke should be used.
398
399 Changes in 2.19:
400
401 * Added -wL switch to dump decoded contents of .debug_line.
402
403 * Added support for "thin" archives which contain pathnames pointing to
404   object files rather than the files themselves and which contain a
405   flattened symbol index for all objects, and archives, which have been
406   added to the archive.
407
408 * Added -F switch to objdump to include file offsets in the disassembly.
409
410 * Added -c switch to readelf to allow string dumps of archive symbol index.
411
412 * Support for SSE5 has been added to the i386 port.
413
414 * Added -p switch to readelf to allow string dumps of sections.
415
416 Changes in 2.18:
417
418 * Resolved 37 coding problems in bfd including static array overruns, null
419   pointer dereferences and use of a malloc buffer after it has been freed, as
420   revealed by static analysis donated by Coverity, Inc. (http://scan.coverity.com).
421
422 * The binutils sources are now released under version 3 of the GNU General
423   Public License.
424
425 * A new tool "windmc" has been added for some targets.  This is a message
426   compiler which attempts to be compatible with the MS version.
427
428 * Add codepage support to the windres tool.  It now supports many new
429   resource types (e.g. MANIFEST, TOOLBAR, etc).  The output generation
430   for binary files is done now via bfd itself.  The endianess problems
431   for different hosts are solved.  Dumps of .res files can now be
432   re-compiled by windres without lossing resources or compilation errors.
433   Some problems on dialog resource translations are corrected.
434
435 * Add --extract-symbol command-line option to objcopy, which will
436   strip everything out of an ordinary object file or executable except
437   for its symbol table.  Files containing just symbols can be useful
438   to some OSes.
439
440 Changes in 2.17:
441
442 * Add "-x NAME" to readelf in addition to "-x NUMBER".
443
444 * Add -i and -t switches to cxxfilt.  -i disables the display of implementation
445   specific extra demangling information (if any) and -t disables the demangling
446   of types.
447
448 * Add support for the "@<file>" syntax to the command lines of all tools, so
449   that extra switches can be read from <file>.
450
451 * Add "-W/--dwarf" to objdump to display the contents of the DWARF
452   debug sections.
453
454 * Add "-t/--section-details" to readelf to display section details.
455   "-N/--full-section-name" is deprecated.
456
457 * powerpc-linux ld now supports a variant form of PLT and GOT for the security
458   conscious.  This form will automatically be chosen when ld detects that all
459   code in regular object files was generated by gcc -msecure-plt.  The old PLT
460   and GOT may be forced by a new ld option, --bss-plt.
461
462 * Add "-i/--inlines" to addr2line to print enclosing scope information
463   for inlined function chains, back to first non-inlined function.
464
465 * Add "-N/--full-section-name" to readelf to display full section name.
466
467 * Add "-M entry:<addr>" switch to objdump to specify a function entry address
468   when disassembling VAX binaries.
469
470 * Add "--globalize-symbol <name>" and "--globalize-symbols <filename>" switches
471   to objcopy to convert local symbols into global symbols.
472
473 * gprof now allows input files to have histogram records for
474   several memory ranges, provided those ranges are disjoint.
475
476 Changes in 2.16:
477
478 * Add "-g/--section-groups" to readelf to display section groups.
479
480 * objcopy recognizes two new options --strip-unneeded-symbol and
481   --strip-unneeded-symbols, namely for use together with the wildcard
482   matching the original --strip-symbol/--strip-symbols provided, but
483   retaining any symbols matching but needed by relocations.
484
485 * readelf can now display address ranges from .debug_range sections.  This
486   happens automatically when a DW_AT_range attribute is encountered.  The
487   command-line switch --debug-dump=Ranges (or -wR) can also be used to display
488   the contents of the .debug_range section.
489
490 * nm and objdump now have a switch "--special-syms" to enable the displaying of
491   symbols which the target considers to be special.  By default these symbols
492   are no longer displayed.  Currently the only special symbols are the Mapping
493   symbols used by the ARM port to mark transitions between text and data and
494   between ARM and THUMB code.
495
496 * dlltool has a switch "--ext-prefix-alias <prefix>" to generate additional
497   import and export symbols with <preifx> prepended to them.
498
499 Changes in 2.15:
500
501 * objcopy for MIPS targets now accepts "-M no-aliases" as an option to the
502   disassembler to print the "raw" mips instruction mnemonic instead of some
503   pseudo instruction name.  I.E. print "daddu" or "or" instead of "move",
504   "sll" instead of "nop", etc.
505
506 * objcopy and strip can now take wildcard patterns in symbol names specified on
507   the command line provided that the --wildcard switch is used to enable them.
508
509 * readelf can now parse archives.
510
511 * objdump now accepts --debugging-tags to print the debug information in a
512   format compatible with ctags tool.
513
514 * objcopy and strip now accept --only-keep-debug to create a file containing
515   those sections that would be stripped out by --strip-debug.  The idea is that
516   this can be used in conjunction with the --add-gnu-debuglink switch to create
517   a two part program distribution - one a stripped executable and the other the
518   debugging info.
519
520 * objcopy now accepts --add-gnu-debuglink=<file> to insert a .gnu_debuglink
521   section into a (presumably stripped) executable.  This allows the debug
522   information for the file to be held in a separate file.
523
524 * BFD marks the sections .comment and .note as 'n' in the BSD/POSIX
525   single-character representation.  This can be checked by running nm
526   with the -a switch.
527
528 Changes in 2.14:
529
530 * Added --info switch to objcopy and strip.
531
532 * Support for Vitesse IQ2000 added by Red Hat.
533
534 * Added 'S' encoding to strings to allow the display of 8-bit characters.
535
536 * Added --prefix-symbols=<text>, --prefix-sections=<text> and
537   --prefix-alloc-sections=<text> to objcopy.
538
539 * readelf can handle the extensions to the DWARF2 spec used by the Unified
540   Parallel C compiler.
541
542 * BFD no longer declares a "boolean" type, to avoid clashes with other
543   headers that declare the same.  Users of BFD should replace boolean,
544   false and true, with int, 0 and 1, or define their own boolean type.
545
546 * Support for IP2K added by Denis Chertykov.
547
548 Changes in 2.13:
549
550 * Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400
551   and FR500 included.
552
553 Changes in version 2.12:
554
555 * Support for Don Knuth's MMIX, by Hans-Peter Nilsson.
556
557 * size: Add --totals to display summary of sizes (Berkeley format only).
558
559 * readelf: Add --wide option to not break section header or segment listing
560   lines to fit into 80 columns.
561
562 * strings: Add --encoding to display wide character strings.  By Markus Kuhn.
563
564 * objcopy: Add --rename-section to change section names.
565
566 * readelf: Support added for DWARF 2.1 extensions.  Support added for
567   displaying the contents of .debug.macinfo sections.
568
569 * New command-line switches added to objcopy to allow symbols to be kept as
570   global symbols, and also to specify files containing lists of such symbols.
571   by Honda Hiroki.
572
573 * Support for OpenRISC by Johan Rydberg.
574
575 * New command-line switch to objcopy --alt-machine-code which creates a binary
576   with an alternate machine code if one is defined in the architecture
577   description.  Only supported for ELF targets.  By Alexandre Oliva.
578
579 * New command-line switch to objcopy -B (or --binary-architecture) which sets
580   the architecture of the output file to the given argument.  This option only
581   makes sense, if the input target is binary.  Otherwise it is ignored.
582   By Stefan Geuken.
583
584 * Support for PDP-11 by Lars Brinkhoff.
585
586 Changes in binutils 2.11:
587
588 * Add support for ARM v5t and v5te architectures and Intel's XScale ARM
589   extenstions.
590
591 * Add --srec-len and --srec-forceS3 command-line switch to objcopy.
592   By Luciano Gemme.
593
594 * Support for the MIPS32, by Anders Norlander.
595
596 * Support for the i860, by Jason Eckhardt.
597
598 * Support for CRIS (Axis Communications ETRAX series).
599
600 Changes in binutils 2.10:
601
602 * Support for 64-bit ELF on HPPA.
603
604 * New command-line switch to objdump --file-start-context which shows the
605   entire file contents up to the source line first encountered for a given
606   file.
607
608 * New command-line switch to objdump -M (or --disassembler-options) which takes
609   a parameter which can then be interpreted on a per-target basis by the
610   disassembler.  Used by ARM targets to select register name sets, ISA, APCS or
611   raw verions.
612
613 * objdump support for -mi386:intel which causes disassembly to be displayed
614   with intel syntax.
615
616 * New program: readelf.  This displays the contents of ELF format files,
617   regardless of target machine.
618
619 * objcopy now takes --change-section-lma, --change-section-vma, and
620   --change-section-address options.  The old --adjust-section-vma option is
621   equivalent to --change-section-address.  The other --adjust-* options are now
622   renamed to --change-*, although --adjust-* continues to work.
623
624 * objcopy has a --redefine-sym option that lets you rename symbols.
625
626 * objcopy now takes a -j/--only-section option to copy only the specified
627   sections.
628
629 * dlltool now supports the IMPORTS command.
630
631 * dlltool now takes --export-all-symbols, --no-export-all-symbols,
632   --exclude-symbols, and --no-default-excludes options.
633
634 Changes in binutils 2.9:
635
636 * Added windres program, which can be used to manipulate resources in WIN32
637   files as used on Windows 95 and Windows NT.
638
639 * The objcopy --gap-fill and --pad-to options operate on the LMA rather than
640   the VMA of the sections.
641
642 * Added S modifier to ar to not build a symbol table.
643
644 Changes in binutils 2.8:
645
646 * The objdump disassembly format has been changed, and hopefully improved.  Use
647   the new --prefix-addresses option to get the old format.  There are also new
648   --disassemble-zeroes and --no-show-raw-insn options which affect disassembler
649   output.
650
651 * Formats may now be specified as configuration triplets.  For example,
652   objdump -b i386-pc-linux.  The triplets are not passed through config.sub,
653   so they must be in canonical form.
654
655 * Added new addr2line program.  This uses the debugging information to convert
656   an address into a file name and line number within a program.
657
658 * Added --change-leading-char argument to objcopy.
659
660 * Added --weaken argument to objcopy.
661
662 * objdump --dynamic-reloc now works on ELF executables and shared libraries.
663
664 * Added --adjust-vma option to objdump.
665
666 * Added -C/--demangle option to objdump.
667
668 * Added -p/--preserve-dates option to strip and objcopy.
669
670 Changes in binutils 2.7:
671
672 * Added --enable-shared and --enable-commonbfdlib options to configure.
673
674 * Added --debugging argument to objdump and objcopy.
675
676 * Added --defined-only argument to nm.
677
678 * Added --remove-leading-char argument to objcopy.
679
680 * The objdump --line-numbers option is now meaningful with --reloc.
681
682 * Added --line-numbers option to nm.
683
684 * Added --endian/-EB/-EL option to objdump.
685
686 * Added support for Alpha OpenVMS/AXP.
687
688 Changes in binutils 2.6:
689
690 * Added -N/--strip-symbol and -K/--keep-symbol arguments to strip and objcopy.
691
692 * Added several arguments to objcopy to provide some control over how the new
693   file is laid out in memory.  Also added binary output format to BFD to permit
694   generating plain binary files.
695
696 * Added --start-address and --stop-address options to objdump.
697
698 * ar and ranlib now work on AIX.  The tools are now built by default on AIX.
699
700 Changes in binutils 2.5:
701
702 * Changed objdump -dr to dump the relocs interspersed with the assembly
703   listing, for a more useful listing of relocatable files.
704
705 * Changed objdump -d/--disassemble to only disassemble SEC_CODE sections.
706   Added -D/--disassemble-all option to disassemble all sections.
707
708 * Added --size-sort option to nm.
709
710 * strip and objcopy should now be able to handle dynamically linked ELF
711   executables.
712
713 Changes in binutils 2.4:
714
715 * Support for HP-PA (by Jeff Law), i386 Mach (by David Mackenzie), RS/6000 and
716   PowerPC (except ar and ranlib; by Ian Taylor).
717
718 * Support for Irix 5.
719
720 * Programs `strip' and `objcopy' will not attempt to write dynamically linked
721   ELF output files, since BFD currently can't create them properly.
722
723 Changes in binutils 2.3:
724
725 * A new --stabs argument has been added to objdump to dump stabs sections in
726   ELF and COFF files.
727
728 * A new program, nlmconv, has been added.  It can convert object files into
729   Novell NetWare Loadable Modules.
730
731 * The strings program has been added.
732
733 Changes in binutils 2.2:
734
735 * The 'copy' program has been renamed to 'objcopy', for consistency with
736   'objdump', and because 'copy' might more plausibly be used as a synonym for
737   'cp'.
738
739 * The new stand-alone program c++filt is a filter that converts encoded
740   (mangled) C++ assembly-level identifiers to user-level names.  (Note: This
741   may get moved to the gcc distribution.)
742
743 * nm -o on an archive now prefixes each line with the archive name, matching
744   the output from BSD nm.
745
746 * ar (and ld) can now read (but not write) BSD4.4-style archives.
747
748 * New support for H8500, Z8000, and the Hitach SH.
749
750 * Dis-assembler interface changed to allow sharing with gdb.
751
752 * There is new Elf code, but it is not yet ready for general use.
753
754 * There is the beginnings of a test suite.
755
756 Changes in binutils 2.1:
757
758 * There is now support for writing ECOFF files, so ld and the other utilities
759   should work on Risc/Ultrix and Irix.  Please let us know how well this works.
760
761 * ar now automatically creates a symbol table (a __.SYMDEF member, in the BSD
762   version), if there are any object files in the archive.  So running ranlib is
763   now redundant (unless the non-standard q command is used).  This is required
764   for Posix.2 conformance.
765
766 * The archive-reading code now reads both BSD-style and SYSV-style archives
767   independently of the selected target format.  This is to encourage people to
768   switch to SYSV-format, which has a number of advantages.
769
770 * The strip and copy programs now have options to remove debug-symbols only
771   and/or local symbols only.  They now also support long options.
772
773 \f
774 Copyright (C) 2012-2021 Free Software Foundation, Inc.
775
776 Copying and distribution of this file, with or without modification,
777 are permitted in any medium without royalty provided the copyright
778 notice and this notice are preserved.
779
780 Local variables:
781 fill-column: 79
782 End:
This page took 0.067167 seconds and 4 git commands to generate.