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