X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=binutils%2FNEWS;h=88b048995a8fe4fac320fd54cda4172c0c9a5450;hb=f76d79580efea856298d9e5b9a91746be875f1b1;hp=0c52b4bb562521b47bdd5cfe8b01e6e813c5e9cf;hpb=bcf32829aff66021b9309b1f738d54f24dfa6a8e;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/NEWS b/binutils/NEWS index 0c52b4bb56..88b048995a 100644 --- a/binutils/NEWS +++ b/binutils/NEWS @@ -1,5 +1,394 @@ -*- text -*- +* 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[=] option to objdump which if present, + provides a prefix to source code lines displayed in a disassembly. + +* Add --set-section-alignment = 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 =[
:][,] + +* 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 + '== ' 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 + 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= command-line option. + +* The gprof program has been given a new command-line option: + --external-symbols-table= 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 to + report an error when the import library is associated with + multiple DLLs. + +* Added --identify option to dlltool, which determines the + name of the DLL associated with the specified . + +* 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 "@" syntax to the command lines of all tools, so + that extra switches can be read from . + +* 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:" switch to objdump to specify a function entry address + when disassembling VAX binaries. + +* Add "--globalize-symbol " and "--globalize-symbols " 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 @@ -7,7 +396,7 @@ * 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 + 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 @@ -21,6 +410,11 @@ 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. @@ -38,7 +432,7 @@ Changes in 2.15: * objcopy now accepts --add-gnu-debuglink= 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. @@ -84,17 +478,17 @@ Changes in version 2.12: * 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 +* 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 +* 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 +* 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. @@ -106,7 +500,7 @@ 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. +* Add --srec-len and --srec-forceS3 command-line switch to objcopy. By Luciano Gemme. * Support for the MIPS32, by Anders Norlander. @@ -119,11 +513,11 @@ Changes in binutils 2.10: * Support for 64-bit ELF on HPPA. -* New command line switch to objdump --file-start-context which shows the +* 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. -* 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. @@ -289,6 +683,12 @@ Changes in binutils 2.1: and/or local symbols only. They now also support long options. +Copyright (C) 2012-2019 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: