
1: -*- text -*- 2: * Resolved 37 coding problems in bfd including static array overruns, null 3: pointer dereferences and use of a malloc buffer after it has been freed, as 4: revealed by static analysis donated by Coverity, Inc. (http://scan.coverity.com). 5: 6: * The binutils sources are now released under version 3 of the GNU General 7: Public License. 8: 9: * A new tool "windmc" has been added for some targets. This is a message 10: compiler which attempts to be compatible with the MS version. 11: 12: * Add codepage support to the windres tool. It now supports many new 13: resource types (e.g. MANIFEST, TOOLBAR, etc). The output generation 14: for binary files is done now via bfd itself. The endianess problems 15: for different hosts are solved. Dumps of .res files can now be 16: re-compiled by windres without lossing resources or compilation errors. 17: Some problems on dialog resource translations are corrected. 18: 19: * Add --extract-symbol command line option to objcopy, which will 20: strip everything out of an ordinary object file or executable except 21: for its symbol table. Files containing just symbols can be useful 22: to some OSes. 23: 24: Changes in 2.17: 25: 26: * Add "-x NAME" to readelf in addition to "-x NUMBER". 27: 28: * Add -i and -t switches to cxxfilt. -i disables the display of implementation 29: specific extra demangling information (if any) and -t disables the demangling 30: of types. 31: 32: * Add support for the "@<file>" syntax to the command lines of all tools, so 33: that extra switches can be read from <file>. 34: 35: * Add "-W/--dwarf" to objdump to display the contents of the DWARF 36: debug sections. 37: 38: * Add "-t/--section-details" to readelf to display section details. 39: "-N/--full-section-name" is deprecated. 40: 41: * powerpc-linux ld now supports a variant form of PLT and GOT for the security 42: conscious. This form will automatically be chosen when ld detects that all 43: code in regular object files was generated by gcc -msecure-plt. The old PLT 44: and GOT may be forced by a new ld option, --bss-plt. 45: 46: * Add "-i/--inlines" to addr2line to print enclosing scope information 47: for inlined function chains, back to first non-inlined function. 48: 49: * Add "-N/--full-section-name" to readelf to display full section name. 50: 51: * Add "-M entry:<addr>" switch to objdump to specify a function entry address 52: when disassembling VAX binaries. 53: 54: * Add "--globalize-symbol <name>" and "--globalize-symbols <filename>" switches 55: to objcopy to convert local symbols into global symbols. 56: 57: * gprof now allows input files to have histogram records for 58: several memory ranges, provided those ranges are disjoint. 59: 60: Changes in 2.16: 61: 62: * Add "-g/--section-groups" to readelf to display section groups. 63: 64: * objcopy recognizes two new options --strip-unneeded-symbol and 65: --strip-unneeded-symbols, namely for use together with the wildcard 66: matching the original --strip-symbol/--strip-symbols provided, but 67: retaining any symbols matching but needed by relocations. 68: 69: * readelf can now display address ranges from .debug_range sections. This 70: happens automatically when a DW_AT_range attribute is encountered. The 71: command line switch --debug-dump=Ranges (or -wR) can also be used to display 72: the contents of the .debug_range section. 73: 74: * nm and objdump now have a switch "--special-syms" to enable the displaying of 75: symbols which the target considers to be special. By default these symbols 76: are no longer displayed. Currently the only special symbols are the Mapping 77: symbols used by the ARM port to mark transitions between text and data and 78: between ARM and THUMB code. 79: 80: * dlltool has a switch "--ext-prefix-alias <prefix>" to generate additional 81: import and export symbols with <preifx> prepended to them. 82: 83: Changes in 2.15: 84: 85: * objcopy for MIPS targets now accepts "-M no-aliases" as an option to the 86: disassembler to print the "raw" mips instruction mnemonic instead of some 87: pseudo instruction name. I.E. print "daddu" or "or" instead of "move", 88: "sll" instead of "nop", etc. 89: 90: * objcopy and strip can now take wildcard patterns in symbol names specified on 91: the command line provided that the --wildcard switch is used to enable them. 92: 93: * readelf can now parse archives. 94: 95: * objdump now accepts --debugging-tags to print the debug information in a 96: format compatible with ctags tool. 97: 98: * objcopy and strip now accept --only-keep-debug to create a file containing 99: those sections that would be stripped out by --strip-debug. The idea is that 100: this can be used in conjunction with the --add-gnu-debuglink switch to create 101: a two part program distribution - one a stripped executable and the other the 102: debugging info. 103: 104: * objcopy now accepts --add-gnu-debuglink=<file> to insert a .gnu_debuglink 105: section into a (presumably stripped) executable. This allows the debug 106: information for the file to be held in a separate file. 107: 108: * BFD marks the sections .comment and .note as 'n' in the BSD/POSIX 109: single-character representation. This can be checked by running nm 110: with the -a switch. 111: 112: Changes in 2.14: 113: 114: * Added --info switch to objcopy and strip. 115: 116: * Support for Vitesse IQ2000 added by Red Hat. 117: 118: * Added 'S' encoding to strings to allow the display of 8-bit characters. 119: 120: * Added --prefix-symbols=<text>, --prefix-sections=<text> and 121: --prefix-alloc-sections=<text> to objcopy. 122: 123: * readelf can handle the extensions to the DWARF2 spec used by the Unified 124: Parallel C compiler. 125: 126: * BFD no longer declares a "boolean" type, to avoid clashes with other 127: headers that declare the same. Users of BFD should replace boolean, 128: false and true, with int, 0 and 1, or define their own boolean type. 129: 130: * Support for IP2K added by Denis Chertykov. 131: 132: Changes in 2.13: 133: 134: * Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400 135: and FR500 included. 136: 137: Changes in version 2.12: 138: 139: * Support for Don Knuth's MMIX, by Hans-Peter Nilsson. 140: 141: * size: Add --totals to display summary of sizes (Berkeley format only). 142: 143: * readelf: Add --wide option to not break section header or segment listing 144: lines to fit into 80 columns. 145: 146: * strings: Add --encoding to display wide character strings. By Markus Kuhn. 147: 148: * objcopy: Add --rename-section to change section names. 149: 150: * readelf: Support added for DWARF 2.1 extensions. Support added for 151: displaying the contents of .debug.macinfo sections. 152: 153: * New command line switches added to objcopy to allow symbols to be kept as 154: global symbols, and also to specify files containing lists of such symbols. 155: by Honda Hiroki. 156: 157: * Support for OpenRISC by Johan Rydberg. 158: 159: * New command line switch to objcopy --alt-machine-code which creates a binary 160: with an alternate machine code if one is defined in the architecture 161: description. Only supported for ELF targets. By Alexandre Oliva. 162: 163: * New command line switch to objcopy -B (or --binary-architecture) which sets 164: the architecture of the output file to the given argument. This option only 165: makes sense, if the input target is binary. Otherwise it is ignored. 166: By Stefan Geuken. 167: 168: * Support for PDP-11 by Lars Brinkhoff. 169: 170: Changes in binutils 2.11: 171: 172: * Add support for ARM v5t and v5te architectures and Intel's XScale ARM 173: extenstions. 174: 175: * Add --srec-len and --srec-forceS3 command line switch to objcopy. 176: By Luciano Gemme. 177: 178: * Support for the MIPS32, by Anders Norlander. 179: 180: * Support for the i860, by Jason Eckhardt. 181: 182: * Support for CRIS (Axis Communications ETRAX series). 183: 184: Changes in binutils 2.10: 185: 186: * Support for 64-bit ELF on HPPA. 187: 188: * New command line switch to objdump --file-start-context which shows the 189: entire file contents up to the source line first encountered for a given 190: file. 191: 192: * New command line switch to objdump -M (or --disassembler-options) which takes 193: a parameter which can then be interpreted on a per-target basis by the 194: disassembler. Used by ARM targets to select register name sets, ISA, APCS or 195: raw verions. 196: 197: * objdump support for -mi386:intel which causes disassembly to be displayed 198: with intel syntax. 199: 200: * New program: readelf. This displays the contents of ELF format files, 201: regardless of target machine. 202: 203: * objcopy now takes --change-section-lma, --change-section-vma, and 204: --change-section-address options. The old --adjust-section-vma option is 205: equivalent to --change-section-address. The other --adjust-* options are now 206: renamed to --change-*, although --adjust-* continues to work. 207: 208: * objcopy has a --redefine-sym option that lets you rename symbols. 209: 210: * objcopy now takes a -j/--only-section option to copy only the specified 211: sections. 212: 213: * dlltool now supports the IMPORTS command. 214: 215: * dlltool now takes --export-all-symbols, --no-export-all-symbols, 216: --exclude-symbols, and --no-default-excludes options. 217: 218: Changes in binutils 2.9: 219: 220: * Added windres program, which can be used to manipulate resources in WIN32 221: files as used on Windows 95 and Windows NT. 222: 223: * The objcopy --gap-fill and --pad-to options operate on the LMA rather than 224: the VMA of the sections. 225: 226: * Added S modifier to ar to not build a symbol table. 227: 228: Changes in binutils 2.8: 229: 230: * The objdump disassembly format has been changed, and hopefully improved. Use 231: the new --prefix-addresses option to get the old format. There are also new 232: --disassemble-zeroes and --no-show-raw-insn options which affect disassembler 233: output. 234: 235: * Formats may now be specified as configuration triplets. For example, 236: objdump -b i386-pc-linux. The triplets are not passed through config.sub, 237: so they must be in canonical form. 238: 239: * Added new addr2line program. This uses the debugging information to convert 240: an address into a file name and line number within a program. 241: 242: * Added --change-leading-char argument to objcopy. 243: 244: * Added --weaken argument to objcopy. 245: 246: * objdump --dynamic-reloc now works on ELF executables and shared libraries. 247: 248: * Added --adjust-vma option to objdump. 249: 250: * Added -C/--demangle option to objdump. 251: 252: * Added -p/--preserve-dates option to strip and objcopy. 253: 254: Changes in binutils 2.7: 255: 256: * Added --enable-shared and --enable-commonbfdlib options to configure. 257: 258: * Added --debugging argument to objdump and objcopy. 259: 260: * Added --defined-only argument to nm. 261: 262: * Added --remove-leading-char argument to objcopy. 263: 264: * The objdump --line-numbers option is now meaningful with --reloc. 265: 266: * Added --line-numbers option to nm. 267: 268: * Added --endian/-EB/-EL option to objdump. 269: 270: * Added support for Alpha OpenVMS/AXP. 271: 272: Changes in binutils 2.6: 273: 274: * Added -N/--strip-symbol and -K/--keep-symbol arguments to strip and objcopy. 275: 276: * Added several arguments to objcopy to provide some control over how the new 277: file is laid out in memory. Also added binary output format to BFD to permit 278: generating plain binary files. 279: 280: * Added --start-address and --stop-address options to objdump. 281: 282: * ar and ranlib now work on AIX. The tools are now built by default on AIX. 283: 284: Changes in binutils 2.5: 285: 286: * Changed objdump -dr to dump the relocs interspersed with the assembly 287: listing, for a more useful listing of relocatable files. 288: 289: * Changed objdump -d/--disassemble to only disassemble SEC_CODE sections. 290: Added -D/--disassemble-all option to disassemble all sections. 291: 292: * Added --size-sort option to nm. 293: 294: * strip and objcopy should now be able to handle dynamically linked ELF 295: executables. 296: 297: Changes in binutils 2.4: 298: 299: * Support for HP-PA (by Jeff Law), i386 Mach (by David Mackenzie), RS/6000 and 300: PowerPC (except ar and ranlib; by Ian Taylor). 301: 302: * Support for Irix 5. 303: 304: * Programs `strip' and `objcopy' will not attempt to write dynamically linked 305: ELF output files, since BFD currently can't create them properly. 306: 307: Changes in binutils 2.3: 308: 309: * A new --stabs argument has been added to objdump to dump stabs sections in 310: ELF and COFF files. 311: 312: * A new program, nlmconv, has been added. It can convert object files into 313: Novell NetWare Loadable Modules. 314: 315: * The strings program has been added. 316: 317: Changes in binutils 2.2: 318: 319: * The 'copy' program has been renamed to 'objcopy', for consistency with 320: 'objdump', and because 'copy' might more plausibly be used as a synonym for 321: 'cp'. 322: 323: * The new stand-alone program c++filt is a filter that converts encoded 324: (mangled) C++ assembly-level identifiers to user-level names. (Note: This 325: may get moved to the gcc distribution.) 326: 327: * nm -o on an archive now prefixes each line with the archive name, matching 328: the output from BSD nm. 329: 330: * ar (and ld) can now read (but not write) BSD4.4-style archives. 331: 332: * New support for H8500, Z8000, and the Hitach SH. 333: 334: * Dis-assembler interface changed to allow sharing with gdb. 335: 336: * There is new Elf code, but it is not yet ready for general use. 337: 338: * There is the beginnings of a test suite. 339: 340: Changes in binutils 2.1: 341: 342: * There is now support for writing ECOFF files, so ld and the other utilities 343: should work on Risc/Ultrix and Irix. Please let us know how well this works. 344: 345: * ar now automatically creates a symbol table (a __.SYMDEF member, in the BSD 346: version), if there are any object files in the archive. So running ranlib is 347: now redundant (unless the non-standard q command is used). This is required 348: for Posix.2 conformance. 349: 350: * The archive-reading code now reads both BSD-style and SYSV-style archives 351: independently of the selected target format. This is to encourage people to 352: switch to SYSV-format, which has a number of advantages. 353: 354: * The strip and copy programs now have options to remove debug-symbols only 355: and/or local symbols only. They now also support long options. 356: 357: ^L 358: Local variables: 359: fill-column: 79 360: End: