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