xref: /openbsd/gnu/usr.bin/binutils/binutils/NEWS (revision 007c2a45)
12159047fSniklas-*- text -*-
22159047fSniklas
3*007c2a45Smiod* objcopy and strip can now take wildcard patterns in symbol names specified on
4*007c2a45Smiod  the command line provided that the --wildcard switch is used to enable them.
5*007c2a45Smiod
6*007c2a45Smiod* readelf can now parse archives.
7*007c2a45Smiod
8*007c2a45Smiod* objdump now accepts --debugging-tags to print the debug information in a
9*007c2a45Smiod  format compatible with ctags tool.
10*007c2a45Smiod
11*007c2a45Smiod* objcopy and strip now accept --only-keep-debug to create a file containing
12*007c2a45Smiod  those sections that would be stripped out by --strip-debug.  The idea is that
13*007c2a45Smiod  this can be used in conjunction with the --add-gnu-debuglink switch to create
14*007c2a45Smiod  a two part program distribution - one a stripped executable and the other the
15*007c2a45Smiod  debugging info.
16*007c2a45Smiod
17*007c2a45Smiod* objcopy now accepts --add-gnu-debuglink=<file> to insert a .gnu_debuglink
18*007c2a45Smiod  section into a (presumably stripped) executable.  This allows the debug
19*007c2a45Smiod  information for the file to be held in a separate file.
20*007c2a45Smiod
21*007c2a45Smiod* BFD marks the sections .comment and .note as 'n' in the BSD/POSIX
22*007c2a45Smiod  single-character representation.  This can be checked by running nm
23*007c2a45Smiod  with the -a switch.
24*007c2a45Smiod
25*007c2a45SmiodChanges in 2.14:
26*007c2a45Smiod
27c074d1c9Sdrahn* Added --info switch to objcopy and strip.
28c074d1c9Sdrahn
29c074d1c9Sdrahn* Support for Vitesse IQ2000 added by Red Hat.
30c074d1c9Sdrahn
31c074d1c9Sdrahn* Added 'S' encoding to strings to allow the display of 8-bit characters.
32c074d1c9Sdrahn
33c074d1c9Sdrahn* Added --prefix-symbols=<text>, --prefix-sections=<text> and
34c074d1c9Sdrahn  --prefix-alloc-sections=<text> to objcopy.
35c074d1c9Sdrahn
36c074d1c9Sdrahn* readelf can handle the extensions to the DWARF2 spec used by the Unified
37c074d1c9Sdrahn  Parallel C compiler.
38c074d1c9Sdrahn
39c074d1c9Sdrahn* BFD no longer declares a "boolean" type, to avoid clashes with other
40c074d1c9Sdrahn  headers that declare the same.  Users of BFD should replace boolean,
41c074d1c9Sdrahn  false and true, with int, 0 and 1, or define their own boolean type.
42c074d1c9Sdrahn
43c074d1c9Sdrahn* Support for IP2K added by Denis Chertykov.
44c074d1c9Sdrahn
45c074d1c9SdrahnChanges in 2.13:
46c074d1c9Sdrahn
47c074d1c9Sdrahn* Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400
48c074d1c9Sdrahn  and FR500 included.
49c074d1c9Sdrahn
50c074d1c9SdrahnChanges in version 2.12:
51c074d1c9Sdrahn
52c074d1c9Sdrahn* Support for Don Knuth's MMIX, by Hans-Peter Nilsson.
53c074d1c9Sdrahn
54c074d1c9Sdrahn* size: Add --totals to display summary of sizes (Berkeley format only).
55c074d1c9Sdrahn
56c074d1c9Sdrahn* readelf: Add --wide option to not break section header or segment listing
57c074d1c9Sdrahn  lines to fit into 80 columns.
58c074d1c9Sdrahn
59c074d1c9Sdrahn* strings: Add --encoding to display wide character strings.  By Markus Kuhn.
60c074d1c9Sdrahn
61c074d1c9Sdrahn* objcopy: Add --rename-section to change section names.
62c074d1c9Sdrahn
63c074d1c9Sdrahn* readelf: Support added for DWARF 2.1 extensions.  Support added for
64c074d1c9Sdrahn  displaying the contents of .debug.macinfo sections.
65c074d1c9Sdrahn
66b55d4692Sfgsch* New command line switches added to objcopy to allow symbols to be kept as
67b55d4692Sfgsch  global symbols, and also to specify files containing lists of such symbols.
68b55d4692Sfgsch  by Honda Hiroki.
69b55d4692Sfgsch
70c074d1c9Sdrahn* Support for OpenRISC by Johan Rydberg.
71c074d1c9Sdrahn
72c074d1c9Sdrahn* New command line switch to objcopy --alt-machine-code which creates a binary
73c074d1c9Sdrahn  with an alternate machine code if one is defined in the architecture
74c074d1c9Sdrahn  description.  Only supported for ELF targets.  By Alexandre Oliva.
75c074d1c9Sdrahn
76c074d1c9Sdrahn* New command line switch to objcopy -B (or --binary-architecture) which sets
77c074d1c9Sdrahn  the architecture of the output file to the given argument.  This option only
78c074d1c9Sdrahn  makes sense, if the input target is binary.  Otherwise it is ignored.
79c074d1c9Sdrahn  By Stefan Geuken.
80c074d1c9Sdrahn
81c074d1c9Sdrahn* Support for PDP-11 by Lars Brinkhoff.
82c074d1c9Sdrahn
83b55d4692SfgschChanges in binutils 2.11:
84b55d4692Sfgsch
85b55d4692Sfgsch* Add support for ARM v5t and v5te architectures and Intel's XScale ARM
86b55d4692Sfgsch  extenstions.
87b55d4692Sfgsch
88b55d4692Sfgsch* Add --srec-len and --srec-forceS3 command line switch to objcopy.
89b55d4692Sfgsch  By Luciano Gemme.
90b55d4692Sfgsch
91b55d4692Sfgsch* Support for the MIPS32, by Anders Norlander.
92b55d4692Sfgsch
93b55d4692Sfgsch* Support for the i860, by Jason Eckhardt.
94b55d4692Sfgsch
95b55d4692Sfgsch* Support for CRIS (Axis Communications ETRAX series).
96b55d4692Sfgsch
97b305b0f1SespieChanges in binutils 2.10:
98b305b0f1Sespie
99b55d4692Sfgsch* Support for 64-bit ELF on HPPA.
100b55d4692Sfgsch
101b305b0f1Sespie* New command line switch to objdump --file-start-context which shows the
102b305b0f1Sespie  entire file contents up to the source line first encountered for a given
103b305b0f1Sespie  file.
104b305b0f1Sespie
105b305b0f1Sespie* New command line switch to objdump -M (or --disassembler-options) which takes
106b305b0f1Sespie  a parameter which can then be interpreted on a per-target basis by the
107b305b0f1Sespie  disassembler.  Used by ARM targets to select register name sets, ISA, APCS or
108b305b0f1Sespie  raw verions.
109b305b0f1Sespie
110b305b0f1Sespie* objdump support for -mi386:intel which causes disassembly to be displayed
111b305b0f1Sespie  with intel syntax.
112b305b0f1Sespie
113b305b0f1Sespie* New program: readelf.  This displays the contents of ELF format files,
114b305b0f1Sespie  regardless of target machine.
115b305b0f1Sespie
116b305b0f1Sespie* objcopy now takes --change-section-lma, --change-section-vma, and
117b305b0f1Sespie  --change-section-address options.  The old --adjust-section-vma option is
118b305b0f1Sespie  equivalent to --change-section-address.  The other --adjust-* options are now
119b305b0f1Sespie  renamed to --change-*, although --adjust-* continues to work.
120b305b0f1Sespie
121b305b0f1Sespie* objcopy has a --redefine-sym option that lets you rename symbols.
122b305b0f1Sespie
123b305b0f1Sespie* objcopy now takes a -j/--only-section option to copy only the specified
124b305b0f1Sespie  sections.
125b305b0f1Sespie
126b305b0f1Sespie* dlltool now supports the IMPORTS command.
127b305b0f1Sespie
128b305b0f1Sespie* dlltool now takes --export-all-symbols, --no-export-all-symbols,
129b305b0f1Sespie  --exclude-symbols, and --no-default-excludes options.
130b305b0f1Sespie
131b305b0f1SespieChanges in binutils 2.9:
132b305b0f1Sespie
133b305b0f1Sespie* Added windres program, which can be used to manipulate resources in WIN32
134b305b0f1Sespie  files as used on Windows 95 and Windows NT.
135b305b0f1Sespie
136b305b0f1Sespie* The objcopy --gap-fill and --pad-to options operate on the LMA rather than
137b305b0f1Sespie  the VMA of the sections.
138b305b0f1Sespie
139b305b0f1Sespie* Added S modifier to ar to not build a symbol table.
140b305b0f1Sespie
141b305b0f1SespieChanges in binutils 2.8:
142e93f7393Sniklas
143e93f7393Sniklas* The objdump disassembly format has been changed, and hopefully improved.  Use
144b305b0f1Sespie  the new --prefix-addresses option to get the old format.  There are also new
145b305b0f1Sespie  --disassemble-zeroes and --no-show-raw-insn options which affect disassembler
146b305b0f1Sespie  output.
147e93f7393Sniklas
148e93f7393Sniklas* Formats may now be specified as configuration triplets.  For example,
149e93f7393Sniklas  objdump -b i386-pc-linux.  The triplets are not passed through config.sub,
150e93f7393Sniklas  so they must be in canonical form.
151e93f7393Sniklas
152b305b0f1Sespie* Added new addr2line program.  This uses the debugging information to convert
153b305b0f1Sespie  an address into a file name and line number within a program.
154b305b0f1Sespie
155e93f7393Sniklas* Added --change-leading-char argument to objcopy.
156e93f7393Sniklas
157b305b0f1Sespie* Added --weaken argument to objcopy.
158b305b0f1Sespie
159b305b0f1Sespie* objdump --dynamic-reloc now works on ELF executables and shared libraries.
160b305b0f1Sespie
161b305b0f1Sespie* Added --adjust-vma option to objdump.
162b305b0f1Sespie
163b305b0f1Sespie* Added -C/--demangle option to objdump.
164b305b0f1Sespie
165b305b0f1Sespie* Added -p/--preserve-dates option to strip and objcopy.
166b305b0f1Sespie
167b305b0f1SespieChanges in binutils 2.7:
168c88b1d6cSniklas
169c88b1d6cSniklas* Added --enable-shared and --enable-commonbfdlib options to configure.
170c88b1d6cSniklas
171c88b1d6cSniklas* Added --debugging argument to objdump and objcopy.
172c88b1d6cSniklas
173c88b1d6cSniklas* Added --defined-only argument to nm.
174c88b1d6cSniklas
175c88b1d6cSniklas* Added --remove-leading-char argument to objcopy.
176c88b1d6cSniklas
1770c6d0228Sniklas* The objdump --line-numbers option is now meaningful with --reloc.
1780c6d0228Sniklas
1790c6d0228Sniklas* Added --line-numbers option to nm.
1800c6d0228Sniklas
1810c6d0228Sniklas* Added --endian/-EB/-EL option to objdump.
1820c6d0228Sniklas
1830c6d0228Sniklas* Added support for Alpha OpenVMS/AXP.
1840c6d0228Sniklas
185b305b0f1SespieChanges in binutils 2.6:
1862159047fSniklas
1872159047fSniklas* Added -N/--strip-symbol and -K/--keep-symbol arguments to strip and objcopy.
1882159047fSniklas
1892159047fSniklas* Added several arguments to objcopy to provide some control over how the new
1902159047fSniklas  file is laid out in memory.  Also added binary output format to BFD to permit
1912159047fSniklas  generating plain binary files.
1922159047fSniklas
1932159047fSniklas* Added --start-address and --stop-address options to objdump.
1942159047fSniklas
1952159047fSniklas* ar and ranlib now work on AIX.  The tools are now built by default on AIX.
1962159047fSniklas
197b305b0f1SespieChanges in binutils 2.5:
1982159047fSniklas
1992159047fSniklas* Changed objdump -dr to dump the relocs interspersed with the assembly
200*007c2a45Smiod  listing, for a more useful listing of relocatable files.
2012159047fSniklas
2022159047fSniklas* Changed objdump -d/--disassemble to only disassemble SEC_CODE sections.
2032159047fSniklas  Added -D/--disassemble-all option to disassemble all sections.
2042159047fSniklas
2052159047fSniklas* Added --size-sort option to nm.
2062159047fSniklas
2072159047fSniklas* strip and objcopy should now be able to handle dynamically linked ELF
2082159047fSniklas  executables.
2092159047fSniklas
210b305b0f1SespieChanges in binutils 2.4:
2112159047fSniklas
2122159047fSniklas* Support for HP-PA (by Jeff Law), i386 Mach (by David Mackenzie), RS/6000 and
2132159047fSniklas  PowerPC (except ar and ranlib; by Ian Taylor).
2142159047fSniklas
2152159047fSniklas* Support for Irix 5.
2162159047fSniklas
2172159047fSniklas* Programs `strip' and `objcopy' will not attempt to write dynamically linked
2182159047fSniklas  ELF output files, since BFD currently can't create them properly.
2192159047fSniklas
220b305b0f1SespieChanges in binutils 2.3:
2212159047fSniklas
2222159047fSniklas* A new --stabs argument has been added to objdump to dump stabs sections in
2232159047fSniklas  ELF and COFF files.
2242159047fSniklas
2252159047fSniklas* A new program, nlmconv, has been added.  It can convert object files into
2262159047fSniklas  Novell NetWare Loadable Modules.
2272159047fSniklas
2282159047fSniklas* The strings program has been added.
2292159047fSniklas
230b305b0f1SespieChanges in binutils 2.2:
2312159047fSniklas
2322159047fSniklas* The 'copy' program has been renamed to 'objcopy', for consistency with
2332159047fSniklas  'objdump', and because 'copy' might more plausibly be used as a synonym for
2342159047fSniklas  'cp'.
2352159047fSniklas
2362159047fSniklas* The new stand-alone program c++filt is a filter that converts encoded
2372159047fSniklas  (mangled) C++ assembly-level identifiers to user-level names.  (Note: This
2382159047fSniklas  may get moved to the gcc distribution.)
2392159047fSniklas
2402159047fSniklas* nm -o on an archive now prefixes each line with the archive name, matching
2412159047fSniklas  the output from BSD nm.
2422159047fSniklas
2432159047fSniklas* ar (and ld) can now read (but not write) BSD4.4-style archives.
2442159047fSniklas
2452159047fSniklas* New support for H8500, Z8000, and the Hitach SH.
2462159047fSniklas
2472159047fSniklas* Dis-assembler interface changed to allow sharing with gdb.
2482159047fSniklas
2492159047fSniklas* There is new Elf code, but it is not yet ready for general use.
2502159047fSniklas
2512159047fSniklas* There is the beginnings of a test suite.
2522159047fSniklas
253b305b0f1SespieChanges in binutils 2.1:
2542159047fSniklas
2552159047fSniklas* There is now support for writing ECOFF files, so ld and the other utilities
2562159047fSniklas  should work on Risc/Ultrix and Irix.  Please let us know how well this works.
2572159047fSniklas
2582159047fSniklas* ar now automatically creates a symbol table (a __.SYMDEF member, in the BSD
2592159047fSniklas  version), if there are any object files in the archive.  So running ranlib is
2602159047fSniklas  now redundant (unless the non-standard q command is used).  This is required
2612159047fSniklas  for Posix.2 conformance.
2622159047fSniklas
2632159047fSniklas* The archive-reading code now reads both BSD-style and SYSV-style archives
2642159047fSniklas  independently of the selected target format.  This is to encourage people to
2652159047fSniklas  switch to SYSV-format, which has a number of advantages.
2662159047fSniklas
2672159047fSniklas* The strip and copy programs now have options to remove debug-symbols only
2682159047fSniklas  and/or local symbols only.  They now also support long options.
2692159047fSniklas
2702159047fSniklas
2712159047fSniklasLocal variables:
2722159047fSniklasfill-column: 79
2732159047fSniklasEnd:
274