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