150df06cab63dfcaba747c749bbb42782cdf6e7f
[platform/upstream/binutils.git] / ld / ChangeLog
1 2014-04-22  Christian Svensson  <blue@cmd.nu>
2
3         * Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
4         * configure.tgt: Likewise.
5         * emulparams/elf32or1k.sh: New file.
6         * emulparams/elf32or1k_linux.sh: New file.
7         * emulparams/elf32openrisc.sh: Delete.
8         * emulparams/or32.sh: Delete.
9         * emulparams/or32elf.sh: Delete.
10         * scripttempl/or32.sc: Delete.
11         * Makefile.in: Regenerate.
12
13 2014-04-21  Richard Henderson  <rth@redhat.com>
14
15         * emultempl/alphaelf.em (alpha_after_parse): Enable 2 relax passes.
16
17 2014-04-16  Steve Ellcey  <sellcey@mips.com>
18
19         * emultempl/elf32.em: Include safe-ctype.h.
20
21 2014-04-16  Steve Ellcey  <sellcey@mips.com>
22
23         * ldbuildid.c (generate_build_id): Add ATTRIBUTE_UNUSED to size arg.
24
25 2014-04-09  Nick Clifton  <nickc@redhat.com>
26
27         * Makefile.am (default-manifest.o): Remove rule.
28         (EMUL_EXTRA_BINARIES): Delete.
29         (ALL_EMUL_EXTRA_BINARIES): Delete.
30         (ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES.
31         (install-data-local): Remove EMUL_EXTRA_BINARIES.
32         * Makefile.in: Regenerate.
33         * configure.in (all_emul_extra_binaries): Delete.
34         (EMUL_EXTRA_BINARIES): Remove.
35         * configure: Regenerate.
36         * configure.tgt (target_extra_binaries): Delete.
37         * emultempl/default-manifest.rc: Delete.
38         * ld.texinfo: Remove discussion of default manifest.
39         * emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete.
40         * emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete.
41
42 2014-04-09  Alan Modra  <amodra@gmail.com>
43
44         * emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h.
45         * emultempl/nds32elf.em: Include bfd_stdint.h.
46         * po/POTFILES.in: Regenerate.
47
48 2014-04-09  Alan Modra  <amodra@gmail.com>
49
50         * emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions.
51         (LDEMUL_FINISH): Define.
52
53 2014-04-08  Nick Clifton  <nickc@redhat.com>
54
55         * scripttempl/pe.sc (R_RSRC): Remove default manifest.
56         * scripttempl/pep.sc (R_RSRC): Remove default manifest.
57
58 2014-04-08  Jon TURNEY  <jon.turney@dronecode.org.uk>
59
60         * emultempl/elf32.em (id_note_section_size, read_hex, write_build_id):
61         Move code for parsing build-id option and calculating the build-id to...
62         * ldbuildid.c: New file.
63         * ldbuildid.h: New file.
64         * Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new
65         files.
66         * Makefile.in: Regenerate.
67         * ld.texinfo: Update --build-id description to mention COFF
68         support.
69         * NEWS: Mention support for COFF build ids.
70         * emultempl/pe.em (gld${EMULATION_NAME}_handle_option):
71         (pecoff_checksum_contents, write_build_id, setup_build_id)
72         (gld_${EMULATION_NAME}_after_open):  Handle and implement
73         build-id option.
74         * emultempl/pep.em: Likewise.
75
76 2014-04-04  Cary Coutant  <ccoutant@google.com>
77
78         PR gold/16804
79         * ld.texinfo: Document optional comma following output section
80         command and overlay command.
81
82 2014-04-04  Alan Modra  <amodra@gmail.com>
83
84         * ldlang.c (lang_size_sections_1 <lang_input_section_enum>): Use
85         current "fill", not "output_section_statement->fill".
86
87 2014-03-31  Nick Clifton  <nickc@redhat.com>
88
89         PR ld/16744
90         * emultempl/elf32.em (_after_open): Create a .note.GNU-stack
91         section when performing a relocatable link with -z [no]execstack
92         specified.
93
94 2014-03-27  H.J. Lu  <hongjiu.lu@intel.com>
95
96         PR ld/16756
97         * ldmain.c (symbol_warning): New function.
98         (warning_callback): Use it.  Scan all input files for a reference
99         to SYMBOL.
100
101 2014-03-21  Christopher Faylor  <me.cygwin2013@cgf.cx>
102
103         * ld.texinfo: Document change in handling of --enable-auto-image-base.
104         * emultempl/pe.em (pe_auto_image_base): Set to default base.
105         (gld_${EMULATION_NAME}_list_options): Change usage message to reflect
106         optional --enable-auto-image-base argument.
107         (gld${EMULATION_NAME}_handle_option): Handle optional
108         --enable-auto-image-base argument.
109         (compute_dll_image_base): Eliminate constant.  Use pe_auto_image_base.
110
111 2014-03-19  Nick Clifton  <nickc@redhat.com>
112
113         * Makefile.am (default-manifest.o): Use WINDRES_FOR_TARGET.
114         * Makefile.in: Regenerate.
115         * emultempl/default-manifest.rc: Fix typo.
116         * scripttempl/pe.sc (R_RSRC): Fix default-manifest exclusion.
117         (.rsrc): Add SUBALIGN(4).  Remove SORT.
118         * scripttempl/pep.sc: Likewise.
119
120 2014-03-17  Christopher Faylor  <me.cygwin2014@cgf.cx>
121
122         * Makefile.am: Use host version of windres.
123         * Makefile.in: Regenerate.
124
125 2014-03-14  Romain Geissler  <romain.geissler@amadeus.com>
126             Alan Modra  <amodra@gmail.com>
127
128         * ldlang.h (full_name_provided): New input flag.
129         * ldlang.c (new_afile): Don't use lang_input_file_is_search_file_enum
130         for -l:namespec.  Instead use lang_input_file_is_l_enum with
131         full_name_provided flag.
132         * ldlfile.c (ldfile_open_file_search): Don't complete lib name if
133         full_name_provided flag is set.
134         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
135         Handle full_name_provided libraries.  Tidy EXTRA_SHLIB_EXTENSION
136         support.  Set DT_NEEDED for -l:namespec as namespec.
137         * emultempl/aix.em (ppc_after_open_output): Handle full_name_provided.
138         * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
139         Don't handle full_name_provided libraries.
140         * emultempl/pe.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
141         * emultempl/pep.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
142         * emultempl/vms.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
143
144 2014-03-12  Alan Modra  <amodra@gmail.com>
145
146         * Makefile.in: Regenerate.
147
148 2014-03-05  Alan Modra  <amodra@gmail.com>
149
150         Update copyright years.
151
152 2014-03-04  Nick Clifton  <nickc@redhat.com>
153
154         * Makefile.am (ALL_EMUL_EXTRA_BINARIES): Remove default-manifest.
155         * Makefile.in: Regenerate.
156
157 2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
158
159         * emultempl/armelf.em (OPTION_LONG_PLT): Define.
160         (PARSE_AND_LIST_LONGOPTS): Add long-plt.
161         (PARSE_AND_LIST_OPTIONS): Likewise.
162         (PARSE_AND_LIST_ARGS_CASES): Handle long-plt.
163         * ld.texinfo: Document --long-plt.
164
165 2014-02-27  Alan Modra  <amodra@gmail.com>
166
167         * emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and
168         use ppc32elf.em.
169         * emultempl/ppc32elf.em (ppc_after_open): Don't compile for
170         vxworks.
171         (LDEMUL_AFTER_OPEN): Don't set for vxworks.
172         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude
173         -secure-plt, -bss-plt and -sdata-got when vxworks.
174
175 2014-02-27  Nick Clifton  <nickc@redhat.com>
176
177         * configure.in (all_emul_extra_binaries): New variable.  Populated
178         by invoking configure.tgt.
179         (EMUL_EXTRA_BINARIES): New substitution.
180         * configure: Regenerate.
181         * configure.tgt (target_extra_binaries): New variable.  Set to
182         default-manifest.o for Cygwin and MinGW targets.
183         * Makefile.am (EMUL_EXTRA_BINARIES): New variable.  Initialised
184         by the configure script.
185         (ALL_EMUL_EXTRA_BINARIES): New variable.
186         (default-manifest.o): New rule to build the default manifest.
187         (ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
188         (install-data-local): Add EMUL_EXTRA_BINARIES.
189         * Makefile.in: Regenerate.
190         * ld.texinfo: Document default manifest support.
191         * emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
192         * emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
193         * emultempl/default-manifest.rc: New file.
194         * scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
195         * scripttempl/pep.sc (R_RSRC): Likewise.
196
197 2014-02-26  Dan Mick  <dan.mick@inktank.com>
198
199         PR ld/16569
200         * ldcref.c (cref_sort_array): Compare unmangled names unless
201         demanglng has been requiested.
202         (output_one_cref): Output unmangled name unless demangling has
203         been requested.
204
205 2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
206             H.J. Lu  <hongjiu.lu@intel.com>
207
208         * emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.
209
210 2014-02-19  Alan Modra  <amodra@gmail.com>
211
212         * emultempl/ppc64elf.em (params): Init new field.
213         (ppc_create_output_section_statements): Set params.save_restore_funcs
214         default.
215         (PARSE_AND_LIST_*): Add support for --save-restore-funcs and
216         --no-save-restore-funcs.
217
218 2014-02-17  Alan Modra  <amodra@gmail.com>
219
220         * emultemps/ppc64elf.em (params): New static struct replacing
221         various other static vars.  Adjust code throughout file.
222
223 2014-02-17  Alan Modra  <amodra@gmail.com>
224
225         * emultempl/ppc32elf.em (ppc_after_open_output): Really enable
226         ppc476 workaround for ld -r.
227
228 2014-02-12  Alan Modra  <amodra@gmail.com>
229
230         * emultempl/ppc32elf.em (pagesize): New static var.
231         (ppc_after_open_output): Set params.pagesize_p2 from pagesize.
232         (PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.
233
234 2014-02-11  Andrew Pinski  <apinski@cavium.com>
235
236         * emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32.
237         (ELF_INTERPRETER_NAME): Define.
238         * emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define.
239
240 2014-02-10  Alan Modra  <amodra@gmail.com>
241
242         * po/ld.pot: Regenerate.
243
244 2014-02-03  Alan Modra  <amodra@gmail.com>
245
246         * emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
247         plt_style): Delete.  Adjust all refs to instead use..
248         (params): ..this.  New variable.
249         (ppc_after_open_output): New function.  Tweak params and pass to
250         ppc_elf_link_params.
251         (ppc_after_open): Adjust ppc_elf_select_plt_layout call.
252         (ppc_before_allocation): Adjust ppc_elf_tls_setup call.  Enable
253         relaxation for ppc476 workaround.
254         (PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
255         (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
256
257 2014-02-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
258
259         * ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
260         * ld/ldlang.c (lang_size_sections_1): Add dotdelta
261         variable which reflects the VMA change due to alignment
262         requirements.  Use dotdelta do change the LMA if
263         ALIGN_WITH_INPUT is requested.
264
265 2014-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
266
267         * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
268         call to bfd_set_section_vma exposed by recent bfd_set_section_vma
269         change.
270
271 2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
272
273         * Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
274         * Makefile.in: Regenerated.
275         * emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
276         * emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
277         * emultempl/nios2elf.em: New file.
278         * gen-doc.texi (NIOSII): Set.
279         * ld.texinfo (NIOSII): Set.
280
281 2014-01-28  Nick Clifton  <nickc@redhat.com>
282
283         * Makefile.am: Remove obsolete MSP430 emulations.
284         * configure.tgt: Likewise.
285         * emulparams/msp430all.sh: Likewise.
286         * Makefile.in: Regenerate.
287
288 2014-01-24  H.J. Lu  <hongjiu.lu@intel.com>
289
290         PR ld/16498
291         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
292         orphaned TLS section handling.
293
294 2014-01-24  Alan Modra  <amodra@gmail.com>
295
296         * ldlang.c (lang_output_section_find_by_flags): Be careful to
297         test look->bfd_section->flags if available rather than
298         look->flags.  Separate SEC_THREAD_LOCAL handling from
299         SEC_READONLY loop, and rewrite.
300
301 2014-01-22  Alan Modra  <amodra@gmail.com>
302
303         * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
304         (lang_init): Initialise them.
305         (lang_print_asneeded): New function.
306         (lang_process): Call lang_print_asneeded.
307         * ldlang.h (struct asneeded_minfo): New.
308         (asneeded_list_tail): Declare.
309         * ldmain.c (add_archive_element): Improve archive map heading.
310         * ldmisc.c (minfo): Stash --as-needed info.
311
312 2014-01-22  Alan Modra  <amodra@gmail.com>
313
314         * ld.h (struct map_symbol_def): Move to..
315         * ldlang.h: ..here.
316         * ldlang.c (print_assignment): Don't set expld.assign_name to dot.
317
318 2014-01-22  Alan Modra  <amodra@gmail.com>
319
320         * ld.texinfo (Output Section Discarding): Mention assigning to dot
321         as a way of keeping otherwise empty sections.
322         * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
323         is_dot_plus_0, is_align_conditional): New predicates.
324         (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
325         output section, except for some special cases.
326         * scripttempl/elfmicroblaze.sc: Use canonical form to align at
327         end of .heap and .stack.
328
329 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
330
331         * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
332
333 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
334
335         * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
336
337 2014-01-20  Alan Modra  <amodra@gmail.com>
338
339         * ldlang.h (struct lang_definedness_hash_entry): Add by_object and
340         by_script.  Make iteration a single bit field.
341         (lang_track_definedness, lang_symbol_definition_iteration): Delete.
342         (lang_symbol_defined): Declare.
343         * ldlang.c (lang_statement_iteration): Expand comment a little.
344         (lang_init <lang_definedness_table>): Make it bigger.
345         (lang_track_definedness, lang_symbol_definition): Delete.
346         (lang_definedness_newfunc): Update.
347         (lang_symbol_defined): New function.
348         (lang_update_definedness): Create entries here.  Do track whether
349         script definition of symbol is valid, even when also defined in
350         an object file.
351         * ldexp.c (fold_name <DEFINED>): Update.
352         (fold_name <NAME>): Allow self-assignment for absolute symbols
353         defined in a linker script.
354
355 2014-01-20  Guy Martin <gmsoft@tuxicoman.be>
356             Alan Modra  <amodra@gmail.com>
357
358         * ldlang.h (lang_output_section_get): Define.
359         * ldlang.c (lang_output_section_get): Likewise.
360         (init_os): Set the output_section userdata to the output
361         section statement.
362         * emultempl/hppaelf.em: Use lang_output_section_get instead of
363         lang_output_section_find where applicable.
364         * emultempl/aarch64elf.em: Likewise.
365         * emultempl/aix.em: Likewise.
366         * emultempl/armelf.em: Likewise.
367         * emultempl/m68hc1xelf.em: Likewise.
368         * emultempl/metagelf.em: Likewise.
369         * emultempl/mipself.em: Likewise.
370         * emultempl/ppc64elf.em: Likewise.
371         * emultempl/spuelf.em: Likewise.
372
373 2014-01-17  Alan Modra  <amodra@gmail.com>
374
375         * genscripts.sh (COMPILE_IN): Don't set if already set.
376         * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
377         COMPILE_IN=no.
378         * emulparams/nds32elf16m.sh: Likewise.
379         * emulparams/nds32elf_linux.sh: Likewise.
380         * emultempl/aix.em: Test COMPILE_IN value is "yes".
381         * emultempl/armcoff.em: Likewise.
382         * emultempl/elf32.em: Likewise.
383         * emultempl/generic.em: Likewise.
384         * emultempl/gld960.em: Likewise.
385         * emultempl/gld960c.em: Likewise.
386         * emultempl/linux.em: Likewise.
387         * emultempl/lnk960.em: Likewise.
388         * emultempl/m68kcoff.em: Likewise.
389         * emultempl/sunos.em: Likewise.
390         * emultempl/ticoff.em: Likewise.
391
392 2014-01-16  H.J. Lu  <hongjiu.lu@intel.com>
393
394         PR ld/16456
395         * genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
396         suffix.
397         * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
398         for elf32_x86_64 emulation.
399         * emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
400         for elf_i386 emulation.
401
402 2014-01-16  Alan Modra  <amodra@gmail.com>
403
404         * ld.h (fat_section_userdata_type, get_userdata): Move to..
405         * ldlang.h (input_section_userdata_type, get_userdata): ..here.
406         * ldlang.c (init_map_userdata): Delete.  Fold into..
407         (sort_def_symbol): ..here.  Don't attach input section userdata
408         to output sections or global bfd sections.
409         (lang_map): Don't pre-allocate input section userdata.
410         (init_os): Don't allocate userdata for output sections.
411         (print_all_symbols): Update.
412
413 2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
414
415         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
416         Silence uninitialized warning on ehdr_start_save with older
417         GCC.
418
419 2014-01-15  Alan Modra  <amodra@gmail.com>
420
421         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
422         __ehdr_start before size_dynamic_sections and restore afterwards.
423
424 2014-01-10  Alan Modra  <amodra@gmail.com>
425
426         PR ld/14207
427         PR ld/16322
428         PR binutils/16323
429         * ldlang.c (lang_size_sections): Remove unneeded RELRO base
430         adjust.  Tidy comments.
431         * ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
432
433 2014-01-10  Hans-Peter Nilsson  <hp@axis.com>
434
435         * emulparams/crislinux.sh (COMMONPAGESIZE): Define.
436
437 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
438
439         PR ld/14207
440         PR ld/16322
441         PR binutils/16323
442         * ldlang.c (lang_size_sections): Properly align RELRO base.
443
444 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
445
446         * ldver.c (ldversion): Update copyright year to 2014.
447
448 For older changes see ChangeLog-2013
449 \f
450 Copyright (C) 2014 Free Software Foundation, Inc.
451
452 Copying and distribution of this file, with or without modification,
453 are permitted in any medium without royalty provided the copyright
454 notice and this notice are preserved.
455
456 Local Variables:
457 mode: change-log
458 left-margin: 8
459 fill-column: 74
460 version-control: never
461 End: