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