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