-*- text -*-
+* Binutils now supports debuginfod, an HTTP server for distributing
+ ELF/DWARF debugging information as well as source code. When built with
+ debuginfod, readelf and objdump can automatically query debuginfod
+ servers for separate debug files when they otherwise cannot be found.
+ To build binutils with debuginfod, pass --with-debuginfod to configure.
+ This requires libdebuginfod, the debuginfod client library. debuginfod
+ is distributed with elfutils, starting with version 0.178. For more
+ information see https://sourceware.org/elfutils.
+
+* Add --output option to the "ar" program. This option can be used to specify
+ the output directory when extracting members from an archive.
+
+* Add --keep-section option to objcopy and strip. This option keeps the
+ specified section from being removed.
+
+Changes in 2.33:
+
+* Add --source-comment[=<txt>] option to objdump which if present,
+ provides a prefix to source code lines displayed in a disassembly.
+
+* Add --set-section-alignment <section-name>=<align> option to objcopy to allow
+ the changing of section alignments.
+
+* Add --verilog-data-width option to objcopy for verilog targets to control
+ width of data elements in verilog hex format.
+
+* Add support for the Armv8.1-M Mainline and M-profile Vector Extension (MVE)
+ instructions.
+
+* The separate debug info file options of readelf (--debug-dump=links
+ and --debug-dump=follow) and objdump (--dwarf=links and
+ --dwarf=follow-links) will now display and/or follow multiple links if
+ more than one are present in a file. (This usually happens when gcc's
+ -gsplit-dwarf option is used).
+
+ In addition objdump's --dwarf=follow-links now also affects its other
+ display options, so that for example, when combined with --syms it will
+ cause the symbol tables in any linked debug info files to also be
+ displayed. In addition when combined with --disassemble the --dwarf=
+ follow-links option will ensure that any symbol tables in the linked
+ files are read and used when disassembling code in the main file.
+
+ * Add support for dumping types encoded in the Compact Type Format
+ to objdump and readelf.
+
+Changes in 2.32:
+
+* The addr2line, c++filt, nm and objdump tools now have a limit on the
+ maximum amount of recursion that is allowed whilst demangling strings.
+ The value for this limit is defined by the DEMANGLE_RECRUSE_LIMIT
+ constant declared in the include/demangle.h header file. At the time
+ of writing this constant has the value of 2048.
+
+ The --no-recurse-limit option can be used to remove the limit, restoring
+ the behaviour of earlier versions of these tools. This may be needed in
+ order to dmangle truly complicated names, but it also leaves the tools
+ vulnerable to stack exhaustion from maliciously constructed mangled names.
+
+* Objdump's --disassemble option can now take a parameter, specifying the
+ starting symbol for disassembly. Disassembly will continue from this
+ symbol up to the next symbol or the end of the function.
+
+* The MIPS port now supports the Loongson 2K1000 processor which implements
+ the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE, Loongson-ext ASE,
+ Loongson-ext2 ASE and MSA ASE instructions. Add -march=gs264e option for
+ Loongson 2K1000 processor.
+
+* The MIPS port now supports the Loongson 3A2000/3A3000 processor which
+ implements the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE,
+ Loongson-ext ASE and Loongson-ext2 ASE instructions. Add -march=gs464e
+ option for Loongson 3A2000/3A3000 processor.
+
+* The MIPS port now supports the Loongson 3A1000 processor, aka Loongson3a,
+ which implements the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE
+ and Loongson-ext ASE instructions. Add -march=gs464 option for Loongson
+ 3A1000 processor, The -march=loongson3a is an alias of -march=gs464 for
+ compatibility.
+
+* The size tool now has a new output format '--format=GNU' or '-G'. The
+ results are displayed in a similar manor to the default berkeley layout,
+ except read-only data is counted in the data column, not the text column.
+ Additionally the total is only included once.
+
+Changes in 2.31:
+
+* Add support for disassembling netronome Flow Processor (NFP) firmware files.
+
+* The AArch64 port now supports showing disassembly notes which are emitted
+ when inconsistencies are found with the instruction that may result in the
+ instruction being invalid. These can be turned on with the option -M notes
+ to objdump.
+
+* The AArch64 port now emits warnings when a combination of an instruction and
+ a named register could be invalid.
+
+* Added O modifier to ar to display member offsets inside an archive
+
+Changes in 2.30:
+
+* Add --debug-dump=links option to readelf and --dwarf=links option to objdump
+ which displays the contents of any .gnu_debuglink or .gnu_debugaltlink
+ sections.
+
+ Add a --debug-dump=follow-links option to readelf and a --dwarf=follow-links
+ option to objdump which causes indirect links into separate debug info files
+ to be followed when dumping other DWARF sections.
+
+Changes in 2.29:
+
+* The MIPS port now supports microMIPS eXtended Physical Addressing (XPA)
+ instructions for assembly and disassembly.
+
+* The MIPS port now supports the microMIPS Release 5 ISA for assembly and
+ disassembly.
+
+* The MIPS port now supports the Imagination interAptiv MR2 processor,
+ which implements the MIPS32r3 ISA, the MIPS16e2 ASE as well as a couple
+ of implementation-specific regular MIPS and MIPS16e2 ASE instructions.
+
+* The SPARC port now supports the SPARC M8 processor, which implements the
+ Oracle SPARC Architecture 2017.
+
+* The MIPS port now supports the MIPS16e2 ASE for assembly and disassembly.
+
+* Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX.
+
+* Add support for the wasm32 ELF conversion of the WebAssembly file format.
+
+* Add --inlines option to objdump, which extends the --line-numbers option
+ so that inlined functions will display their nesting information.
+
+* Add --merge-notes options to objcopy to reduce the size of notes in
+ a binary file by merging and deleting redundant notes.
+
+* Add support for locating separate debug info files using the build-id
+ method, where the separate file has a name based upon the build-id of
+ the original file.
+
+Changes in 2.28:
+
+* This version of binutils fixes a problem with PowerPC VLE 16A and 16D
+ relocations which were functionally swapped, for example,
+ R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D
+ performed like R_PPC_VLE_HA16A. This could have been fixed by
+ renumbering relocations, which would keep object files created by an
+ older version of gas compatible with a newer ld. However, that would
+ require an ABI update, affecting other assemblers and linkers that
+ create and process the relocations correctly. It is recommended that
+ all VLE object files be recompiled, but ld can modify the relocations
+ if --vle-reloc-fixup is passed to ld. If the new ld command-line
+ option is not used, ld will ld warn on finding relocations inconsistent
+ with the instructions being relocated.
+
+* The nm program has a new command-line option (--with-version-strings)
+ which will display a symbol's version information, if any, after the
+ symbol's name.
+
+* The ARC port of objdump now accepts a -M option to specify the extra
+ instruction class(es) that should be disassembled.
+
+* The --remove-section option for objcopy and strip now accepts section
+ patterns starting with an exclamation point to indicate a non-matching
+ section. A non-matching section is removed from the set of sections
+ matched by an earlier --remove-section pattern.
+
+* The --only-section option for objcopy now accepts section patterns
+ starting with an exclamation point to indicate a non-matching section.
+ A non-matching section is removed from the set of sections matched by
+ an earlier --only-section pattern.
+
+* New --remove-relocations=SECTIONPATTERN option for objcopy and strip.
+ This option can be used to remove sections containing relocations.
+ The SECTIONPATTERN is the section to which the relocations apply, not
+ the relocation section itself.
+
+Changes in 2.27:
+
+* Add a configure option, --enable-64-bit-archive, to force use of a
+ 64-bit format when creating an archive symbol index.
+
+* Add --elf-stt-common= option to objcopy for ELF targets to control
+ whether to convert common symbols to the STT_COMMON type.
+
+Changes in 2.26:
+
+* Add option to objcopy to insert new symbols into a file:
+ --add-symbol <name>=[<section>:]<value>[,<flags>]
+
+* Add support for the ARC EM/HS, and ARC600/700 architectures.
+
+* Extend objcopy --compress-debug-sections option to support
+ --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] for ELF
+ targets.
+
+* Add --update-section option to objcopy.
+
+* Add --output-separator option to strings.
+
+Changes in 2.25:
+
+* Add --data option to strings to only print strings in loadable, initialized
+ data sections. Change the default behaviour to be --all, but add a new
+ configure time option of --disable-default-strings-all to restore the old
+ default behaviour.
+
+* Add --include-all-whitespace to strings.
+
+* Add --dump-section option to objcopy.
+
+* Add support for the Andes NDS32.
+
+Changes in 2.24:
+
+* Objcopy now supports wildcard characters in command-line options that take
+ section names.
+
+* Add support for Altera Nios II.
+
+Changes in 2.23:
+
+* Add support for the VLE extension to the PowerPC architecture.
+
+* Add support for x64 Windows target of the delayed-load-library.
+
+* Add support for the Renesas RL78 architecture.
+
+Changes in 2.22:
+
+* Add support for displaying the contents of .debug.macro sections.
+
+* Add --preprocessor-arg option to windres to specify additional options
+ passed to preprocessor.
+
+* Add --dwarf-start and --dwarf-end to readelf and objdump. These are used by
+ the new Emacs mode, see dwarf-mode.el.
+
+* Add support for the Tilera TILEPro and TILE-Gx architectures.
+
+changes in 2.21:
+
+* Add --interleave-width option to objcopy to allowing copying a range of
+ bytes from the input to the output with the --interleave option.
+
+* Add support for the TMS320C6000 (TI C6X) processor family.
+
+* Readelf can now display ARM unwind tables (.ARM.exidx / .ARM.extab) using
+ the -u / --unwind option.
+
+* Add --dyn-syms to readelf to dump dynamic symbol table.
+
+* A new tool - elfedit - has been added to directly manipulate ELF format
+ binaries.
+
+* Add to dlltool .def file feature of aliasing PE internal symbol name by
+ '== <ID>' option.
+
+* Add a new command-line option -a / --addresses to addr2line to display the
+ address before function name or source filename.
+
+* Add a new command-line option -p / --pretty-print to addr2line to have
+ a more human readable output.
+
+* The hppa/som targets can now be compiled on any host.
+
+Changes in 2.20:
+
+* Add support for delay importing to dlltool. Use the --output-delaylib <file>
+ switch to create a delay-import library. The resulting app will load the dll
+ as soon as the first function is called. It will link to __delayLoadHelper2()
+ from the static delayimp library, which will import LoadLibraryA and
+ GetProcAddress from kernel32.
+
+* Add a new command-line option, --insn-width=WIDTH, to objdump to specify
+ number of bytes to be displayed on a single line when disassembling
+ instructions.
+
+* Readelf can now display the relocated contents of a section as a sequence
+ of bytes via the --relocated-dump=<name|number> command-line option.
+
+* The gprof program has been given a new command-line option:
+ --external-symbols-table=<filename> which reads in symbols from a specified
+ file.
+
+* The plugin target has been added to bfd. It can load the same shared objects
+ used by gold and uses them to provide basic support for new file formats.
+
+* The verilog memory hex dump file format is now supported as an output format
+ for objcopy.
+
+* Add --file-alignment, --heap, --image-base, --section-alignment,
+ --stack and --subsystem command-line options to objcopy, which will
+ set PE optional header.
+
+* Option --dwarf/-W of objdump is now as flexible as readelf --debug-dump/-w.
+
+* --as-needed now links in a dynamic library if it satisfies undefined
+ symbols in regular objects, or in other dynamic libraries. In the
+ latter case the library is not linked if it is found in a DT_NEEDED
+ entry of one of the libraries already linked.
+
+* Added --prefix=PREFIX and --prefix-strip=LEVEL switches to objdump to
+ add absolute paths for -S.
+
+* Add new option --use-nul-prefixed-import-tables to dlltool to allow fall-
+ back to old import table generation with null element prefix.
+
+* Added --identify-strict switch to cause --identify <implib> to
+ report an error when the import library is associated with
+ multiple DLLs.
+
+* Added --identify <implib> option to dlltool, which determines the
+ name of the DLL associated with the specified <implib>.
+
+* Support for PowerPC booke64 instructions has been removed. The assembler no
+ longer accepts -mbooke32 or -mbooke64 and the disassembler no longer accepts
+ -Mbooke32 or -Mbooke64. Instead, -mbooke and -Mbooke should be used.
+
+Changes in 2.19:
+
+* Added -wL switch to dump decoded contents of .debug_line.
+
+* Added support for "thin" archives which contain pathnames pointing to
+ object files rather than the files themselves and which contain a
+ flattened symbol index for all objects, and archives, which have been
+ added to the archive.
+
+* Added -F switch to objdump to include file offsets in the disassembly.
+
+* Added -c switch to readelf to allow string dumps of archive symbol index.
+
+* Support for SSE5 has been added to the i386 port.
+
+* Added -p switch to readelf to allow string dumps of sections.
+
+Changes in 2.18:
+
+* Resolved 37 coding problems in bfd including static array overruns, null
+ pointer dereferences and use of a malloc buffer after it has been freed, as
+ revealed by static analysis donated by Coverity, Inc. (http://scan.coverity.com).
+
+* The binutils sources are now released under version 3 of the GNU General
+ Public License.
+
+* A new tool "windmc" has been added for some targets. This is a message
+ compiler which attempts to be compatible with the MS version.
+
+* Add codepage support to the windres tool. It now supports many new
+ resource types (e.g. MANIFEST, TOOLBAR, etc). The output generation
+ for binary files is done now via bfd itself. The endianess problems
+ for different hosts are solved. Dumps of .res files can now be
+ re-compiled by windres without lossing resources or compilation errors.
+ Some problems on dialog resource translations are corrected.
+
+* Add --extract-symbol command-line option to objcopy, which will
+ strip everything out of an ordinary object file or executable except
+ for its symbol table. Files containing just symbols can be useful
+ to some OSes.
+
+Changes in 2.17:
+
+* Add "-x NAME" to readelf in addition to "-x NUMBER".
+
+* Add -i and -t switches to cxxfilt. -i disables the display of implementation
+ specific extra demangling information (if any) and -t disables the demangling
+ of types.
+
+* Add support for the "@<file>" syntax to the command lines of all tools, so
+ that extra switches can be read from <file>.
+
+* Add "-W/--dwarf" to objdump to display the contents of the DWARF
+ debug sections.
+
+* Add "-t/--section-details" to readelf to display section details.
+ "-N/--full-section-name" is deprecated.
+
+* powerpc-linux ld now supports a variant form of PLT and GOT for the security
+ conscious. This form will automatically be chosen when ld detects that all
+ code in regular object files was generated by gcc -msecure-plt. The old PLT
+ and GOT may be forced by a new ld option, --bss-plt.
+
+* Add "-i/--inlines" to addr2line to print enclosing scope information
+ for inlined function chains, back to first non-inlined function.
+
+* Add "-N/--full-section-name" to readelf to display full section name.
+
+* Add "-M entry:<addr>" switch to objdump to specify a function entry address
+ when disassembling VAX binaries.
+
+* Add "--globalize-symbol <name>" and "--globalize-symbols <filename>" switches
+ to objcopy to convert local symbols into global symbols.
+
+* gprof now allows input files to have histogram records for
+ several memory ranges, provided those ranges are disjoint.
+
+Changes in 2.16:
+
+* Add "-g/--section-groups" to readelf to display section groups.
+
+* objcopy recognizes two new options --strip-unneeded-symbol and
+ --strip-unneeded-symbols, namely for use together with the wildcard
+ matching the original --strip-symbol/--strip-symbols provided, but
+ retaining any symbols matching but needed by relocations.
+
+* readelf can now display address ranges from .debug_range sections. This
+ happens automatically when a DW_AT_range attribute is encountered. The
+ command-line switch --debug-dump=Ranges (or -wR) can also be used to display
+ the contents of the .debug_range section.
+
+* nm and objdump now have a switch "--special-syms" to enable the displaying of
+ symbols which the target considers to be special. By default these symbols
+ are no longer displayed. Currently the only special symbols are the Mapping
+ symbols used by the ARM port to mark transitions between text and data and
+ between ARM and THUMB code.
+
+* dlltool has a switch "--ext-prefix-alias <prefix>" to generate additional
+ import and export symbols with <preifx> prepended to them.
+
+Changes in 2.15:
+
+* objcopy for MIPS targets now accepts "-M no-aliases" as an option to the
+ disassembler to print the "raw" mips instruction mnemonic instead of some
+ pseudo instruction name. I.E. print "daddu" or "or" instead of "move",
+ "sll" instead of "nop", etc.
+
+* objcopy and strip can now take wildcard patterns in symbol names specified on
+ the command line provided that the --wildcard switch is used to enable them.
+
+* readelf can now parse archives.
+
+* objdump now accepts --debugging-tags to print the debug information in a
+ format compatible with ctags tool.
+
+* objcopy and strip now accept --only-keep-debug to create a file containing
+ those sections that would be stripped out by --strip-debug. The idea is that
+ this can be used in conjunction with the --add-gnu-debuglink switch to create
+ a two part program distribution - one a stripped executable and the other the
+ debugging info.
+
+* objcopy now accepts --add-gnu-debuglink=<file> to insert a .gnu_debuglink
+ section into a (presumably stripped) executable. This allows the debug
+ information for the file to be held in a separate file.
+
+* BFD marks the sections .comment and .note as 'n' in the BSD/POSIX
+ single-character representation. This can be checked by running nm
+ with the -a switch.
+
+Changes in 2.14:
+
+* Added --info switch to objcopy and strip.
+
+* Support for Vitesse IQ2000 added by Red Hat.
+
+* Added 'S' encoding to strings to allow the display of 8-bit characters.
+
+* Added --prefix-symbols=<text>, --prefix-sections=<text> and
+ --prefix-alloc-sections=<text> to objcopy.
+
+* readelf can handle the extensions to the DWARF2 spec used by the Unified
+ Parallel C compiler.
+
+* BFD no longer declares a "boolean" type, to avoid clashes with other
+ headers that declare the same. Users of BFD should replace boolean,
+ false and true, with int, 0 and 1, or define their own boolean type.
+
+* Support for IP2K added by Denis Chertykov.
+
+Changes in 2.13:
+
+* Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400
+ and FR500 included.
+
+Changes in version 2.12:
+
+* Support for Don Knuth's MMIX, by Hans-Peter Nilsson.
+
+* size: Add --totals to display summary of sizes (Berkeley format only).
+
+* readelf: Add --wide option to not break section header or segment listing
+ lines to fit into 80 columns.
+
+* strings: Add --encoding to display wide character strings. By Markus Kuhn.
+
+* objcopy: Add --rename-section to change section names.
+
+* readelf: Support added for DWARF 2.1 extensions. Support added for
+ displaying the contents of .debug.macinfo sections.
+
+* New command-line switches added to objcopy to allow symbols to be kept as
+ global symbols, and also to specify files containing lists of such symbols.
+ by Honda Hiroki.
+
+* Support for OpenRISC by Johan Rydberg.
+
+* New command-line switch to objcopy --alt-machine-code which creates a binary
+ with an alternate machine code if one is defined in the architecture
+ description. Only supported for ELF targets. By Alexandre Oliva.
+
+* New command-line switch to objcopy -B (or --binary-architecture) which sets
+ the architecture of the output file to the given argument. This option only
+ makes sense, if the input target is binary. Otherwise it is ignored.
+ By Stefan Geuken.
+
+* Support for PDP-11 by Lars Brinkhoff.
+
+Changes in binutils 2.11:
+
+* Add support for ARM v5t and v5te architectures and Intel's XScale ARM
+ extenstions.
+
+* Add --srec-len and --srec-forceS3 command-line switch to objcopy.
+ By Luciano Gemme.
+
+* Support for the MIPS32, by Anders Norlander.
+
* Support for the i860, by Jason Eckhardt.
+* Support for CRIS (Axis Communications ETRAX series).
+
Changes in binutils 2.10:
-* New command line switch to objdump --file-start-context which shows the
+* Support for 64-bit ELF on HPPA.
+
+* New command-line switch to objdump --file-start-context which shows the
entire file contents up to the source line first encountered for a given
- file.
+ file.
-* New command line switch to objdump -M (or --disassembler-options) which takes
+* New command-line switch to objdump -M (or --disassembler-options) which takes
a parameter which can then be interpreted on a per-target basis by the
disassembler. Used by ARM targets to select register name sets, ISA, APCS or
raw verions.
-
+
* objdump support for -mi386:intel which causes disassembly to be displayed
with intel syntax.
Changes in binutils 2.5:
* Changed objdump -dr to dump the relocs interspersed with the assembly
- listing, for a more useful listing of relocateable files.
+ listing, for a more useful listing of relocatable files.
* Changed objdump -d/--disassemble to only disassemble SEC_CODE sections.
Added -D/--disassemble-all option to disassemble all sections.
and/or local symbols only. They now also support long options.
\f
+Copyright (C) 2012-2020 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+
Local variables:
fill-column: 79
End: