X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=binutils%2FNEWS;h=76c4dd760b5908b780105af6e370eaaac4241eec;hb=7d02540ab73206249779ced77a6abe0be156442e;hp=7e0322cf2f7d5d30e39dae5c0a6693fc50e7f21f;hpb=11548211825849412a1a924a5fa10c426bc9be00;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/NEWS b/binutils/NEWS index 7e0322cf2f..d90d889c59 100644 --- a/binutils/NEWS +++ b/binutils/NEWS @@ -1,6 +1,507 @@ -*- text -*- -Changes since binutils 2.6 +* 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. + +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 + 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 " to generate additional + import and export symbols with 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= 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=, --prefix-sections= and + --prefix-alloc-sections= 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: + +* 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. + +* 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. + +* New program: readelf. This displays the contents of ELF format files, + regardless of target machine. + +* objcopy now takes --change-section-lma, --change-section-vma, and + --change-section-address options. The old --adjust-section-vma option is + equivalent to --change-section-address. The other --adjust-* options are now + renamed to --change-*, although --adjust-* continues to work. + +* objcopy has a --redefine-sym option that lets you rename symbols. + +* objcopy now takes a -j/--only-section option to copy only the specified + sections. + +* dlltool now supports the IMPORTS command. + +* dlltool now takes --export-all-symbols, --no-export-all-symbols, + --exclude-symbols, and --no-default-excludes options. + +Changes in binutils 2.9: + +* Added windres program, which can be used to manipulate resources in WIN32 + files as used on Windows 95 and Windows NT. + +* The objcopy --gap-fill and --pad-to options operate on the LMA rather than + the VMA of the sections. + +* Added S modifier to ar to not build a symbol table. + +Changes in binutils 2.8: + +* The objdump disassembly format has been changed, and hopefully improved. Use + the new --prefix-addresses option to get the old format. There are also new + --disassemble-zeroes and --no-show-raw-insn options which affect disassembler + output. + +* Formats may now be specified as configuration triplets. For example, + objdump -b i386-pc-linux. The triplets are not passed through config.sub, + so they must be in canonical form. + +* Added new addr2line program. This uses the debugging information to convert + an address into a file name and line number within a program. + +* Added --change-leading-char argument to objcopy. + +* Added --weaken argument to objcopy. + +* objdump --dynamic-reloc now works on ELF executables and shared libraries. + +* Added --adjust-vma option to objdump. + +* Added -C/--demangle option to objdump. + +* Added -p/--preserve-dates option to strip and objcopy. + +Changes in binutils 2.7: * Added --enable-shared and --enable-commonbfdlib options to configure. @@ -12,7 +513,13 @@ Changes since binutils 2.6 * The objdump --line-numbers option is now meaningful with --reloc. -Changes since binutils 2.5 +* Added --line-numbers option to nm. + +* Added --endian/-EB/-EL option to objdump. + +* Added support for Alpha OpenVMS/AXP. + +Changes in binutils 2.6: * Added -N/--strip-symbol and -K/--keep-symbol arguments to strip and objcopy. @@ -24,10 +531,10 @@ Changes since binutils 2.5 * ar and ranlib now work on AIX. The tools are now built by default on AIX. -Changes since binutils 2.4 +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. @@ -37,7 +544,7 @@ Changes since binutils 2.4 * strip and objcopy should now be able to handle dynamically linked ELF executables. -Changes since binutils 2.3 +Changes in binutils 2.4: * Support for HP-PA (by Jeff Law), i386 Mach (by David Mackenzie), RS/6000 and PowerPC (except ar and ranlib; by Ian Taylor). @@ -47,7 +554,7 @@ Changes since binutils 2.3 * Programs `strip' and `objcopy' will not attempt to write dynamically linked ELF output files, since BFD currently can't create them properly. -Changes since binutils 2.2 +Changes in binutils 2.3: * A new --stabs argument has been added to objdump to dump stabs sections in ELF and COFF files. @@ -57,7 +564,7 @@ Changes since binutils 2.2 * The strings program has been added. -Changes since binutils 2.1 +Changes in binutils 2.2: * The 'copy' program has been renamed to 'objcopy', for consistency with 'objdump', and because 'copy' might more plausibly be used as a synonym for @@ -80,7 +587,7 @@ Changes since binutils 2.1 * There is the beginnings of a test suite. -Changes since binutils 2.0 +Changes in binutils 2.1: * There is now support for writing ECOFF files, so ld and the other utilities should work on Risc/Ultrix and Irix. Please let us know how well this works. @@ -98,6 +605,12 @@ Changes since binutils 2.0 and/or local symbols only. They now also support long options. +Copyright (C) 2012-2018 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: