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