aboutsummaryrefslogtreecommitdiff
path: root/ld/ChangeLog
blob: 150df06cab63dfcaba747c749bbb42782cdf6e7f (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
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
2014-04-22  Christian Svensson  <blue@cmd.nu>

	* Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
	* configure.tgt: Likewise.
	* emulparams/elf32or1k.sh: New file.
	* emulparams/elf32or1k_linux.sh: New file.
	* emulparams/elf32openrisc.sh: Delete.
	* emulparams/or32.sh: Delete.
	* emulparams/or32elf.sh: Delete.
	* scripttempl/or32.sc: Delete.
	* Makefile.in: Regenerate.

2014-04-21  Richard Henderson  <rth@redhat.com>

	* emultempl/alphaelf.em (alpha_after_parse): Enable 2 relax passes.

2014-04-16  Steve Ellcey  <sellcey@mips.com>

	* emultempl/elf32.em: Include safe-ctype.h.

2014-04-16  Steve Ellcey  <sellcey@mips.com>

	* ldbuildid.c (generate_build_id): Add ATTRIBUTE_UNUSED to size arg.

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

	* Makefile.am (default-manifest.o): Remove rule.
	(EMUL_EXTRA_BINARIES): Delete.
	(ALL_EMUL_EXTRA_BINARIES): Delete.
	(ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES.
	(install-data-local): Remove EMUL_EXTRA_BINARIES.
	* Makefile.in: Regenerate.
	* configure.in (all_emul_extra_binaries): Delete.
	(EMUL_EXTRA_BINARIES): Remove.
	* configure: Regenerate.
	* configure.tgt (target_extra_binaries): Delete.
	* emultempl/default-manifest.rc: Delete.
	* ld.texinfo: Remove discussion of default manifest.
	* emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete.
	* emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete.

2014-04-09  Alan Modra  <amodra@gmail.com>

	* emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h.
	* emultempl/nds32elf.em: Include bfd_stdint.h.
	* po/POTFILES.in: Regenerate.

2014-04-09  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions.
	(LDEMUL_FINISH): Define.

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

	* scripttempl/pe.sc (R_RSRC): Remove default manifest.
	* scripttempl/pep.sc (R_RSRC): Remove default manifest.

2014-04-08  Jon TURNEY  <jon.turney@dronecode.org.uk>

	* emultempl/elf32.em (id_note_section_size, read_hex, write_build_id):
	Move code for parsing build-id option and calculating the build-id to...
	* ldbuildid.c: New file.
	* ldbuildid.h: New file.
	* Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new
	files.
	* Makefile.in: Regenerate.
	* ld.texinfo: Update --build-id description to mention COFF
	support.
	* NEWS: Mention support for COFF build ids.
	* emultempl/pe.em (gld${EMULATION_NAME}_handle_option):
	(pecoff_checksum_contents, write_build_id, setup_build_id)
	(gld_${EMULATION_NAME}_after_open):  Handle and implement
	build-id option.
	* emultempl/pep.em: Likewise.

2014-04-04  Cary Coutant  <ccoutant@google.com>

	PR gold/16804
	* ld.texinfo: Document optional comma following output section
	command and overlay command.

2014-04-04  Alan Modra  <amodra@gmail.com>

	* ldlang.c (lang_size_sections_1 <lang_input_section_enum>): Use
	current "fill", not "output_section_statement->fill".

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

	PR ld/16744
	* emultempl/elf32.em (_after_open): Create a .note.GNU-stack
	section when performing a relocatable link with -z [no]execstack
	specified.

2014-03-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/16756
	* ldmain.c (symbol_warning): New function.
	(warning_callback): Use it.  Scan all input files for a reference
	to SYMBOL.

2014-03-21  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* ld.texinfo: Document change in handling of --enable-auto-image-base.
	* emultempl/pe.em (pe_auto_image_base): Set to default base.
	(gld_${EMULATION_NAME}_list_options): Change usage message to reflect
	optional --enable-auto-image-base argument.
	(gld${EMULATION_NAME}_handle_option): Handle optional
	--enable-auto-image-base argument.
	(compute_dll_image_base): Eliminate constant.  Use pe_auto_image_base.

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

	* Makefile.am (default-manifest.o): Use WINDRES_FOR_TARGET.
	* Makefile.in: Regenerate.
	* emultempl/default-manifest.rc: Fix typo.
	* scripttempl/pe.sc (R_RSRC): Fix default-manifest exclusion.
	(.rsrc): Add SUBALIGN(4).  Remove SORT.
	* scripttempl/pep.sc: Likewise.

2014-03-17  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* Makefile.am: Use host version of windres.
	* Makefile.in: Regenerate.

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: