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