aboutsummaryrefslogtreecommitdiff
path: root/ld/ChangeLog
blob: 9c728aee74605b9e06a3d32dd5e2063629675927 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
2014-03-14  Romain Geissler  <romain.geissler@amadeus.com>
	    Alan Modra  <amodra@gmail.com>

	* ldlang.h (full_name_provided): New input flag.
	* ldlang.c (new_afile): Don't use lang_input_file_is_search_file_enum
	for -l:namespec.  Instead use lang_input_file_is_l_enum with
	full_name_provided flag.
	* ldlfile.c (ldfile_open_file_search): Don't complete lib name if
	full_name_provided flag is set.
	* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
	Handle full_name_provided libraries.  Tidy EXTRA_SHLIB_EXTENSION
	support.  Set DT_NEEDED for -l:namespec as namespec.
	* emultempl/aix.em (ppc_after_open_output): Handle full_name_provided.
	* emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
	Don't handle full_name_provided libraries.
	* emultempl/pe.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
	* emultempl/pep.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
	* emultempl/vms.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.

2014-03-12  Alan Modra  <amodra@gmail.com>

	* Makefile.in: Regenerate.

2014-03-05  Alan Modra  <amodra@gmail.com>

	Update copyright years.

2014-03-04  Nick Clifton  <nickc@redhat.com>

	* Makefile.am (ALL_EMUL_EXTRA_BINARIES): Remove default-manifest.
	* Makefile.in: Regenerate.

2014-02-27  Yuri Gribov  <y.gribov@samsung.com>

	* emultempl/armelf.em (OPTION_LONG_PLT): Define.
	(PARSE_AND_LIST_LONGOPTS): Add long-plt.
	(PARSE_AND_LIST_OPTIONS): Likewise.
	(PARSE_AND_LIST_ARGS_CASES): Handle long-plt.
	* ld.texinfo: Document --long-plt.

2014-02-27  Alan Modra  <amodra@gmail.com>

	* emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and
	use ppc32elf.em.
	* emultempl/ppc32elf.em (ppc_after_open): Don't compile for
	vxworks.
	(LDEMUL_AFTER_OPEN): Don't set for vxworks.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude
	-secure-plt, -bss-plt and -sdata-got when vxworks.

2014-02-27  Nick Clifton  <nickc@redhat.com>

	* configure.in (all_emul_extra_binaries): New variable.  Populated
	by invoking configure.tgt.
	(EMUL_EXTRA_BINARIES): New substitution.
	* configure: Regenerate.
	* configure.tgt (target_extra_binaries): New variable.  Set to
	default-manifest.o for Cygwin and MinGW targets.
	* Makefile.am (EMUL_EXTRA_BINARIES): New variable.  Initialised
	by the configure script.
	(ALL_EMUL_EXTRA_BINARIES): New variable.
	(default-manifest.o): New rule to build the default manifest.
	(ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
	(install-data-local): Add EMUL_EXTRA_BINARIES.
	* Makefile.in: Regenerate.
	* ld.texinfo: Document default manifest support.
	* emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
	* emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
	* emultempl/default-manifest.rc: New file.
	* scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
	* scripttempl/pep.sc (R_RSRC): Likewise.

2014-02-26  Dan Mick  <dan.mick@inktank.com>

	PR ld/16569
	* ldcref.c (cref_sort_array): Compare unmangled names unless
	demanglng has been requiested.
	(output_one_cref): Output unmangled name unless demangling has
	been requested.

2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.

2014-02-19  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc64elf.em (params): Init new field.
	(ppc_create_output_section_statements): Set params.save_restore_funcs
	default.
	(PARSE_AND_LIST_*): Add support for --save-restore-funcs and
	--no-save-restore-funcs.

2014-02-17  Alan Modra  <amodra@gmail.com>

	* emultemps/ppc64elf.em (params): New static struct replacing
	various other static vars.  Adjust code throughout file.

2014-02-17  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc32elf.em (ppc_after_open_output): Really enable
	ppc476 workaround for ld -r.

2014-02-12  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc32elf.em (pagesize): New static var.
	(ppc_after_open_output): Set params.pagesize_p2 from pagesize.
	(PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.

2014-02-11  Andrew Pinski  <apinski@cavium.com>

	* emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32.
	(ELF_INTERPRETER_NAME): Define.
	* emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define.

2014-02-10  Alan Modra  <amodra@gmail.com>

	* po/ld.pot: Regenerate.

2014-02-03  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
	plt_style): Delete.  Adjust all refs to instead use..
	(params): ..this.  New variable.
	(ppc_after_open_output): New function.  Tweak params and pass to
	ppc_elf_link_params.
	(ppc_after_open): Adjust ppc_elf_select_plt_layout call.
	(ppc_before_allocation): Adjust ppc_elf_tls_setup call.  Enable
	relaxation for ppc476 workaround.
	(PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
	(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.

2014-02-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
	* ld/ldlang.c (lang_size_sections_1): Add dotdelta
	variable which reflects the VMA change due to alignment
	requirements.  Use dotdelta do change the LMA if
	ALIGN_WITH_INPUT is requested.

2014-02-01  Hans-Peter Nilsson  <hp@bitrange.com>

	* emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
	call to bfd_set_section_vma exposed by recent bfd_set_section_vma
	change.

2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>

	* Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
	* Makefile.in: Regenerated.
	* emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
	* emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
	* emultempl/nios2elf.em: New file.
	* gen-doc.texi (NIOSII): Set.
	* ld.texinfo (NIOSII): Set.

2014-01-28  Nick Clifton  <nickc@redhat.com>

	* Makefile.am: Remove obsolete MSP430 emulations.
	* configure.tgt: Likewise.
	* emulparams/msp430all.sh: Likewise.
	* Makefile.in: Regenerate.

2014-01-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/16498
	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
	orphaned TLS section handling.

2014-01-24  Alan Modra  <amodra@gmail.com>

	* ldlang.c (lang_output_section_find_by_flags): Be careful to
	test look->bfd_section->flags if available rather than
	look->flags.  Separate SEC_THREAD_LOCAL handling from
	SEC_READONLY loop, and rewrite.

2014-01-22  Alan Modra  <amodra@gmail.com>

	* ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
	(lang_init): Initialise them.
	(lang_print_asneeded): New function.
	(lang_process): Call lang_print_asneeded.
	* ldlang.h (struct asneeded_minfo): New.
	(asneeded_list_tail): Declare.
	* ldmain.c (add_archive_element): Improve archive map heading.
	* ldmisc.c (minfo): Stash --as-needed info.

2014-01-22  Alan Modra  <amodra@gmail.com>

	* ld.h (struct map_symbol_def): Move to..
	* ldlang.h: ..here.
	* ldlang.c (print_assignment): Don't set expld.assign_name to dot.

2014-01-22  Alan Modra  <amodra@gmail.com>

	* ld.texinfo (Output Section Discarding): Mention assigning to dot
	as a way of keeping otherwise empty sections.
	* ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
	is_dot_plus_0, is_align_conditional): New predicates.
	(exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
	output section, except for some special cases.
	* scripttempl/elfmicroblaze.sc: Use canonical form to align at
	end of .heap and .stack.

2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.

2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.

2014-01-20  Alan Modra  <amodra@gmail.com>

	* ldlang.h (struct lang_definedness_hash_entry): Add by_object and
	by_script.  Make iteration a single bit field.
	(lang_track_definedness, lang_symbol_definition_iteration): Delete.
	(lang_symbol_defined): Declare.
	* ldlang.c (lang_statement_iteration): Expand comment a little.
	(lang_init <lang_definedness_table>): Make it bigger.
	(lang_track_definedness, lang_symbol_definition): Delete.
	(lang_definedness_newfunc): Update.
	(lang_symbol_defined): New function.
	(lang_update_definedness): Create entries here.  Do track whether
	script definition of symbol is valid, even when also defined in
	an object file.
	* ldexp.c (fold_name <DEFINED>): Update.
	(fold_name <NAME>): Allow self-assignment for absolute symbols
	defined in a linker script.

2014-01-20  Guy Martin <gmsoft@tuxicoman.be>
	    Alan Modra  <amodra@gmail.com>

	* ldlang.h (lang_output_section_get): Define.
	* ldlang.c (lang_output_section_get): Likewise.
	(init_os): Set the output_section userdata to the output
	section statement.
	* emultempl/hppaelf.em: Use lang_output_section_get instead of
	lang_output_section_find where applicable.
	* emultempl/aarch64elf.em: Likewise.
	* emultempl/aix.em: Likewise.
	* emultempl/armelf.em: Likewise.
	* emultempl/m68hc1xelf.em: Likewise.
	* emultempl/metagelf.em: Likewise.
	* emultempl/mipself.em: Likewise.
	* emultempl/ppc64elf.em: Likewise.
	* emultempl/spuelf.em: Likewise.

2014-01-17  Alan Modra  <amodra@gmail.com>

	* genscripts.sh (COMPILE_IN): Don't set if already set.
	* emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
	COMPILE_IN=no.
	* emulparams/nds32elf16m.sh: Likewise.
	* emulparams/nds32elf_linux.sh: Likewise.
	* emultempl/aix.em: Test COMPILE_IN value is "yes".
	* emultempl/armcoff.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/generic.em: Likewise.
	* emultempl/gld960.em: Likewise.
	* emultempl/gld960c.em: Likewise.
	* emultempl/linux.em: Likewise.
	* emultempl/lnk960.em: Likewise.
	* emultempl/m68kcoff.em: Likewise.
	* emultempl/sunos.em: Likewise.
	* emultempl/ticoff.em: Likewise.

2014-01-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/16456
	* genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
	suffix.
	* emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
	for elf32_x86_64 emulation.
	* emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
	for elf_i386 emulation.

2014-01-16  Alan Modra  <amodra@gmail.com>

	* ld.h (fat_section_userdata_type, get_userdata): Move to..
	* ldlang.h (input_section_userdata_type, get_userdata): ..here.
	* ldlang.c (init_map_userdata): Delete.  Fold into..
	(sort_def_symbol): ..here.  Don't attach input section userdata
	to output sections or global bfd sections.
	(lang_map): Don't pre-allocate input section userdata.
	(init_os): Don't allocate userdata for output sections.
	(print_all_symbols): Update.

2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>

	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
	Silence uninitialized warning on ehdr_start_save with older
	GCC.

2014-01-15  Alan Modra  <amodra@gmail.com>

	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
	__ehdr_start before size_dynamic_sections and restore afterwards.

2014-01-10  Alan Modra  <amodra@gmail.com>

	PR ld/14207
	PR ld/16322
	PR binutils/16323
	* ldlang.c (lang_size_sections): Remove unneeded RELRO base
	adjust.  Tidy comments.
	* ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.

2014-01-10  Hans-Peter Nilsson  <hp@axis.com>

	* emulparams/crislinux.sh (COMMONPAGESIZE): Define.

2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/14207
	PR ld/16322
	PR binutils/16323
	* ldlang.c (lang_size_sections): Properly align RELRO base.

2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>

	* ldver.c (ldversion): Update copyright year to 2014.

For older changes see ChangeLog-2013

Copyright (C) 2014 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:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End: