daily update
[deliverable/binutils-gdb.git] / ld / NEWS
CommitLineData
252b5132 1-*- text -*-
cf88bb9f 2
1fe1f39c
NC
3* Support for the crx-elf target added.
4
5* Support for the sh-symbian-elf target added.
6
2d643429
NC
7* A new linker command line switch has been added which allows the hash table
8 size to be set to a suitable prime value near to its argument. This switch
9 is --hash-size=<NUMBER>. Also if the switch --reduce-memory-overheads is
10 used, and --hash-size has not been used, then the default value will be set
11 to 1021.
12
35835446
JR
13* Linker map files are now generated with an O(N) algorithm for finding symbols
14 that are defined in each section. This uses about 40% more memory for
15 symbols than the old O(N^2) algorithm. You can use the new
16 --reduce-memory-overheads option to select the old algorithm; this option
17 might also be used in the future to select similar tradeoffs.
18
2d643429
NC
19Changes in 2.15:
20
26d2d8a2
BF
21* New PE --large-address-aware option to indicate executables support virtual
22 addresses greater than 2 gigabytes.
23
1b169501
BF
24* DWARF 2 support for i386pe added.
25
c894ddfb
HPN
26* The linker script operator DEFINED() will now yield 1 only for a symbol that
27 is defined before the statement where DEFINED is used.
28
7a7f4e42
CD
29* The MIPS --embedded-relocs (used to embed relocations into binaries for
30 Embedded-PIC code) is deprecated and will be removed in a future release.
31
0949843d
NC
32* cr16c support added by NSC.
33
6edf0760
NC
34* m32r Linux (ELF) support added by Renesas.
35
560e09e9
NC
36* Improved linker's handling of unresolved symbols. The switch
37 --unresolved-symbols=<method> has been added to tell the linker when it
38 should report them and the switch --warn-unresolved-symbols has been added to
39 make reports be issued as warning messages rather than errors.
40
43c58ae6
CD
41Changes in 2.14:
42
e8fd7476
NC
43* Added support for Xtensa architecture.
44
9c8ebd6a
DJ
45* Added --with-sysroot configure switch to specify a target system root, for
46 linking against a target filesystem image.
47
312b768e
NC
48* Added --accept-unknown-linker-format to restore old linker behaviour (pre
49 2.14) of silently accepting and linking in any files in an unknown binary
50 file format.
51
63fd3b82
NC
52* Added --no-omagic to undo the effects of the -N option.
53
004d9caf
NC
54* Support for Texas Instruments TMS320C4x and TMS320C3x series of
55 DSP's contributed by Michael Hayes and Svein E. Seldal.
026df7c5 56
8e523c23
NC
57* Added --with-lib-path configure switch to specify default value for
58 LIB_PATH.
59
7e392df6
NC
60* ARM port to QNX operating system added by Graeme Peterson.
61
cf88bb9f
NC
62* IP2K support added by Denis Chertykov.
63
2cbb2eef
NC
64Changes in 2.13:
65
66* Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400
67 and FR500 included.
7d553a40 68
37020578
JT
69Changes in version 2.13:
70
71* DEC VAX ELF support, by Matt Thomas.
72
9a66911f
NC
73Changes in version 2.12:
74
49fda6c8
HPN
75* Support for Don Knuth's MMIX, by Hans-Peter Nilsson.
76
3b16e843
NC
77* Support for the OpenRISC 32-bit embedded processor by OpenCores.
78
8bd621d8
AM
79* Support for -z nocopyreloc in the x86 ELF linker, which disables
80 production of copy relocs. Warning: using this option may result in
81 non-sharable applications.
5b343f5a 82
db6751f2
JJ
83* Support for -z combreloc in the ELF linker, which puts dynamic
84 relocations against the same symbol together, so that dynamic linker
85 can use an one-entry symbol lookup cache.
86
87* Support for ELF SHF_MERGE section merging, by Jakub Jelinek.
88
9a66911f
NC
89Changes in version 2.11:
90
b8355149
JH
91* Support for AMD x86-64 architecture, by Jan Hubicka, SuSE Labs.
92
18e03609
NC
93* Support added for eliminating duplicate DWARF2 debug information by
94 having the compiler generate the information in sections called
95 .gnu.linkonce.wi.XXXX where XXXX is a checksum for the contents. The
96 linker then merges these sections together into the normal .debug_info
97 section.
252b5132 98
ec4eb78a
L
99* The native ELF linker now searches the directories in DT_RUNPATH or
100 DT_RPATH of a shared library for shared libraries needed by it.
101
2d30b3da
TW
102* TI C54x support, by Timothy Wall.
103
176355da
NC
104* Added command line switch --section-start to set the start address of any
105 specified section.
106
a712da20
NC
107* Added ability to emit full relocation information in linked executables,
108 enabled by --emit-relocs. Some post-linkage optimization tools need
109 this information in order to be able to correctly identify and perform
110 symbol relative addressing in the event of changes in section contents
111 (instructions being added or deleted, extending data sections, etc.)
112
22b36938
JE
113* Support for i860, by Jason Eckhardt (preliminary, alpha quality).
114
5bcac8a4
HPN
115* Support for CRIS (Axis Communications ETRAX series).
116
500800ca
NC
117* Support for PDP-11 and 2.11BSD a.out format, by Lars Brinkhoff.
118
919e4093
AM
119Changes in version 2.10:
120
5948916f
TW
121* Added AT> to the linker script language to allow load-time allocation of
122 sections into regions.
123
252b5132
RH
124* Added garbage collection of unused sections, enabled by --gc-sections.
125 It does require a bit of backend support; currently implemented are
4667035e
AM
126 arm-elf, avr-elf, d10v-elf, fr30-elf, i386-elf, m32r-elf, m68k-elf,
127 mcore-elf, mips-elf, mn10300-elf, ppc-elf, sh-elf, sparc-elf, and v850-elf.
987fd5b4 128 Others will ignore the option.
252b5132
RH
129
130* Added SORT to the linker script language to permit sorting sections by file
131 name or section name.
132
133* Added EXTERN to the linker script language as an equivalent to the -u
134 command-line option.
135
136* Added ASSERT to the linker script language.
137
277c9afe
ILT
138* Added EXCLUDE_FILE to the linker script language for further control over
139 wildcard file names.
140
252b5132 141* Added -O option to optimize linker output (as of this writing, this only
500800ca 142 affects ELF shared library generation).
252b5132
RH
143
144* The -e option now accepts a number as well as a symbol name.
145
2575273d
ILT
146* Added --no-undefined option to disallow undefined symbols when creating a
147 shared library.
148
9b1d3b78
ILT
149* The linker now issues a warning, not an error, for an undefined symbol when
150 using -Bsymbolic; use the new --no-undefined option to get the old
151 behaviour.
152
252b5132
RH
153* Added --demangle and --no-demangle options.
154
155Changes in version 2.9:
156
157* Added SQUAD to the linker script language.
158
159* New option --no-warn-mismatch.
160
161* The MEMORY command now parses the attributes to determine where sections that
162 are not placed in a specific memory region are placed.
163
164Changes in version 2.8:
165
166* Linker scripts may now contain shell wildcard characters for file and section
167 names.
168
169* The linker now supports symbol versions in ELF.
170
171* The NOCROSSREFS command was added to the linker script language.
172
173* The LOADADDR expression was added to the linker script language.
174
175* MAX and MIN functions were added to the linker script language.
176
177* The OVERLAY construct was added to the linker script language.
178
179* New option --warn-section-align to warn when the address of an output section
180 changes due to alignment of an input section.
181
182* New options --filter/-F and --auxiliary/-f.
183
184Changes in version 2.7:
185
186* New option --cref to print out a cross reference table.
187
188* New option --wrap SYMBOL.
189
190* New option --no-whole-archive, to turn off the effect of --whole-archive.
191
192* Input sections assigned to the output section /DISCARD/ in the linker script
193 are not included in the output file.
194
195* The SunOS and ELF linkers now merge stabs debugging information which uses
196 the N_BINCL and N_EINCL stab types. This reduces the amount of debugging
197 information generated.
198
199Changes in version 2.6:
200
201* When an ELF section name is representable as a C identifier (this is not true
202of most ELF section names), the linker will automatically define symbols
203__start_SECNAME and __stop_SECNAME, where SECNAME is the section name, at the
204beginning and the end of the section. This is used by glibc.
205
206* When an ELF section named .gnu.warning is encountered in an input file, the
207contents of the section are displayed as an error message, and the section is
208not copied into the output file. This is used by glibc.
209
210* When an ELF section named .gnu.warning.SYMBOL is encountered in an input
211file, and the symbol SYMBOL is referenced by some object file, the contents of
212the section are displayed as an error message. The section is not copied into
1049f94e 213the output file, unless doing a relocatable or shared link. This is used by
252b5132
RH
214glibc.
215
216* New options -split-by-reloc and -split-by-file.
217
218* The linker now supports linking PIC compiled code on SPARC SunOS. It can
219also create SPARC SunOS shared libraries, and, like the native SunOS linker,
220will do so whenever there is an undefined symbol in the link and neither the -e
221nor the -r option was used.
222
223* The -rpath option may be used on SunOS to set the list of directories to be
224searched at run time. This overrides the default of building the list from the
225-L options.
226
227* The COFF linker now combines debugging information for structs, unions, and
228enums, so that even if the same type is defined in multiple input files it will
229only be defined once in the output file. The --traditional-format switch will
230prevent this optimization.
231
232Changes in version 2.5:
233
234* The linker now supports linking against SunOS shared libraries. It still can
235not link SunOS PIC (Position Independent Code) files, so it can not be used to
07f3b6ad 236generate shared libraries.
252b5132
RH
237
238* The linker now supports linking against ELF shared libraries for the i386
239(UnixWare) and SPARC (Solaris). It can also link ELF PIC files, and can be
240used to generate shared libraries. Shared library generation is not well
241tested; please report any problems encountered. The linker is now enabled for
242Solaris again.
243
244* Eric Youngdale has contributed Linux support code, including linking against
245Linux a.out shared libraries. The linker produces Linux QMAGIC binaries.
246
247* The ELF backend has been converted to the new linker code. To use the new
248ELF linker, each particular target requires a relocation function. So far,
249this function has been written for i386 (UnixWare), SPARC (Solaris) MIPS (Irix
2505), and HPPA ELF targets.
251
252* The -( (--start-group) and -) (--end-group) options have been added to
253support searching a group of archives as though they were a single archive.
254This can also be used in a linker script, as GROUP ( files ).
255
256* When a file is named on the command line, and the linker does not recognize
257it as an object file, the linker will now treat the file as a linker script
258file. A linker script named in this way augments, but does not replace, the
259default linker script.
260
261* The -warn-once option was added. It causes the linker to only warn once per
262undefined symbol, rather than once per reference.
263
264* The COFF backend has been converted to the new linker code. As with ELF, to
265use the new linker, each particular target requires a relocation function. So
266far, this function has been written for the i386, m68k, a29k and SH targets.
267
268* The -V flag was made a synonym for -v, for SVR4 compatibility. The old -V
269behaviour is available via --verbose.
270
271Changes in version 2.4:
272
273* New linker code, by Steve Chamberlain and Ian Taylor. For a.out and ecoff
274 formats (so far), this should result in considerable savings in time
275 and memory used while linking; slightly poorer performance than
276 before for formats not converted yet.
277
278* Command-line parsing is no longer done with flex. This means
279 oddball characters in filenames won't get treated as argument
280 separators.
281
282* HP-PA ELF support, by Jeff Law. (No SOM support yet.)
283
284* Mach i386 support, by David Mackenzie.
285
286* Irix 4 shared libraries are now supported (Irix 5 uses ELF, and ELF shared
287 libraries are not yet supported).
288
289* COFF shared libraries (as on SCO) should work as well.
290
291* The linker is disabled for Solaris. (Actually, it was in 2.3 also, I just
292 forgot to note it.) Some of their C library routines don't work when
293 statically linked, and the GNU linker doesn't support dynamic linking yet.
294
295Changes in version 2.3:
296
297* Weak symbols are now supported.
298
299* ELF support has been added. The linker has been bootstrapped on
300 UnixWare and Solaris.
301
302* Alpha OSF/1 support has been added (non dynamic linking only).
303
304Changes in version 2.2:
305
306* The `bfd' library has been updated to reduce a.out-format string
307 table size. The effect of this is that files linked from many input
308 files with duplicate symbols (`-g' debugging records, or identical
309 static symbols) should be much smaller.
310
311Changes in version 2.1:
312
313* The ld -ySYMBOL flag (to trace references to SYMBOL) is now implemented.
314
315* There is now support for writing ECOFF files, so ld and the
316 other utilities should work on Risc/Ultrix and Irix.
317
318\f
319Local variables:
320fill-column: 79
321End:
This page took 0.282768 seconds and 4 git commands to generate.