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