ld/
[platform/upstream/binutils.git] / ld / ChangeLog
1 2012-05-26  Alan Modra  <amodra@gmail.com>
2
3         * ldlex.h (enum option_values): Move from..
4         * lexsup.c: ..here.
5         * emultempl/ppc32elf.em: Include ldlex.h.
6         (PARSE_AND_LIST_ARGS_CASES): Disable optimisations when
7         --traditional-format.
8         * emultempl/ppc64elf.em: Likewise.
9
10 2012-05-25  Alan Modra  <amodra@gmail.com>
11
12         PR ld/13909
13         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Handle
14         multiple .eh_frame sections attached to bfd.
15
16 2012-05-23  Cary Coutant  <ccoutant@google.com>
17
18         * scripttempl/armbpabi.sc: Match .data.rel.ro.* sections more
19         carefully.  Fix typo where .rela.data.rel.ro matches
20         .rel.data.rel.ro.
21         * scripttempl/mep.sc: Likewise.
22         * scripttempl/elf.sc: Match .data.rel.ro.* sections more carefully.
23         * scripttempl/elf64hppa.sc: Likewise.
24         * scripttempl/elfxtensa.sc: Likewise.
25
26 2012-05-17  Daniel Richard G.  <skunk@iskunk.org>
27             Nick Clifton  <nickc@redhat.com>
28
29         PR 14072
30         * configure.in: Add check that sysdep.h has been included before
31         any system header files.
32         * configure: Regenerate.
33         * config.in: Regenerate.
34         * sysdep.h: Generate an error if included before config.h.
35
36 2012-05-16  Sergio Durigan Junior  <sergiodj@redhat.com>
37
38         * emultempl/m68hc1xelf.em (hook_in_stub): Pass proper `bfd'
39         as the first argument for `bfd_get_section_name'.
40
41 2012-05-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>
42
43         PR ld/14069
44         * emultempl/elf32.em: Include *-*-gnu* targets in ld.so.conf
45         support.
46
47 2012-05-15  James Murray <jsm@jsm-net.demon.co.uk>
48
49         * NEWS: Mention the support for S12X processors.
50
51 2012-05-14  James Lemke  <jwlemke@codesourcery.com>
52
53         * ldlang.c (walk_wild_consider_section): Don't copy section_flag_list.
54         Pass it to callback.
55         (walk_wild_section_general): Pass section_flag_list to callback.
56         (lang_add_section): Add sflag_list parm.
57         Move out logic to keep / omit a section & call bfd_lookup_section_flags.
58         (output_section_callback_fast): Add sflag_list parm.
59         Add new parm to lang_add_section calls.
60         (output_section_callback): Likewise.
61         (check_section_callback): Add sflag_list parm.
62         (lang_place_orphans): Add new parm to lang_add_section calls.
63         (gc_section_callback): Add sflag_list parm.
64         (find_relro_section_callback): Likewise.
65         * ldlang.h (callback_t): Add flag_info parm.
66         (lang_add_section): Add sflag_list parm.
67         * emultempl/armelf.em (elf32_arm_add_stub_section):
68         Add lang_add_section parm.
69         * emultempl/beos.em (gld*_place_orphan): Likewise.
70         * emultempl/elf32.em (gld*_place_orphan): Likewise.
71         * emultempl/hppaelf.em (hppaelf_add_stub_section): Likewise.
72         * emultempl/m68hc1xelf.em (m68hc11elf_add_stub_section): Likewise.
73         * emultempl/mipself.em (mips_add_stub_section): Likewise.
74         * emultempl/mmo.em (mmo_place_orphan): Likewise.
75         * emultempl/pe.em (gld_*_place_orphan): Likewise.
76         * emultempl/pep.em (gld_*_place_orphan): Likewise.
77         * emultempl/ppc64elf.em (ppc_add_stub_section): Likewise.
78         * emultempl/spuelf.em (spu_place_special_section): Likewise.
79         * emultempl/vms.em (vms_place_orphan): Likewise.
80
81 2012-05-14  Catherine Moore  <clm@codesourcery.com>
82
83         * NEWS:  Mention PowerPC VLE port.
84
85 2012-05-11  Daniel Richard G.  <skunk@iskunk.org>
86
87         PR binutils/14028
88         * configure.in: Invoke ACX_HEADER_STRING.
89         * configure: Regenerate.
90         * config.in: Regenerate.
91         * sysdep.h: If STRINGS_WITH_STRING is defined then include both
92         string.h and strings.h.
93
94 2012-05-08  Alan Modra  <amodra@gmail.com>
95
96         * Makefile.am (check_DEJAGNU): Export LC_ALL=C in place of other
97         LC and LANG environment vars.
98         * Makefile.in: Regenerate.
99
100 2012-05-07  Tristan Gingold  <gingold@adacore.com>
101
102         * pe-dll.c (udef_table): Make it static.
103
104 2012-05-05  Alan Modra  <amodra@gmail.com>
105
106         * pe-dll.c (process_def_file_and_drectve): Use bfd_und_section_ptr.
107         (generate_reloc): Use bfd_abs_section_ptr.
108
109 2012-05-04  H.J. Lu  <hongjiu.lu@intel.com>
110
111         * configure.tgt: Support x86_64-*-linux-gnux32.
112
113 2012-05-03  Sean Keys  <skeys@ipdatasys.com>
114
115         * Makefile.am (ALL_EMULATIONS): Added new emulation for XGATE
116         and XGATE (elf).
117         * Makefile.in: Rebuild.
118         * configure.tgt: Recognize XGATE.
119         * scripttempl/elfxgate.sc: New file, mostly cloned from m68hc12.
120         * emulparams/xgateelf: New emulation, mostly cloned from m68hc12.
121         * NEWS: Mention new support.
122
123 2012-04-26  Hans-Peter Nilsson  <hp@axis.com>
124
125         Make bfd asserts cause linker errors.
126         * ldmain.c (default_bfd_assert_handler): New variable.
127         (ld_bfd_assert_handler): New function.
128         (main): Call bfd_set_assert_handler.
129
130 2012-04-24  Alan Modra  <amodra@gmail.com>
131
132         * ldlang.c (size_input_section): Use sec_info_type rather than
133         usrdata->flags.just_syms.
134         * ldwrite.c (build_link_order): Likewise.
135         * emultempl/hppaelf.em (build_section_lists): Likewise.
136         * emultempl/ppc64elf.em (build_toc_list): Likewise.
137         * emultempl/armelf.em (build_section_lists): Likewise.
138         (after_allocation): Update for renamed sec_info_type value.
139         * emultempl/tic6xdsbt.em: Likewise.
140
141 2012-04-12  Roland McGrath  <mcgrathr@google.com>
142
143         * configure.tgt (arm*-*-nacl*, arm*b-*-nacl*): Handle them.
144         * emulparams/armelf_nacl.sh: New file.
145         * emulparams/armelfb_nacl.sh: New file.
146         * Makefile.am (ALL_EMULATION_SOURCES): Add earmelf_nacl.c
147         and earmelfb_nacl.c here.
148         (earmelf_nacl.c, earmelfb_nacl.c): New targets.
149         * Makefile.in: Regenerated.
150
151 2012-04-11  Tristan Gingold  <gingold@adacore.com>
152
153         * scripttempl/ia64vms.sc: New file.
154         * emultempl/vms.em (_before_parse): Support for ia64.
155         (elf64-ia64-vms): New fragment for ia64.
156         * emulparams/elf64_ia64_vms.sh: New file.
157         * configure.tgt (ia64-*-*vms*): Add.
158         * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64_ia64_vms.c
159         (eelf64_ia64_vms.c): New rule.
160         * Makefile.in: Regenerate.
161
162 2012-04-06  Roland McGrath  <mcgrathr@google.com>
163
164         * configure.in (AC_CHECK_HEADERS): Add locale.h.
165         * config.in: Regenerate.
166         * configure: Regenerate.
167
168 2012-04-05  Nick Clifton  <nickc@redhat.com>
169
170         * configure.in (AC_CHECK_FUNCS): Add setlocale.
171         (AM_LC_MESSAGES): Add.
172         * aclocal.m4: Regenerate.
173         * config.in: Regenerate.
174         * configure: Regenerate.
175
176 2012-04-03  Roland McGrath  <mcgrathr@google.com>
177
178         * configure.tgt (i[3-7]86-*-nacl*, x86_64-*-nacl*): Handle them.
179         * emulparams/elf_nacl.sh: New file.
180         * emulparams/elf_i386_nacl.sh: New file.
181         * emulparams/elf32_x86_64_nacl.sh: New file.
182         * emulparams/elf_x86_64_nacl.sh: New file.
183         * Makefile.am (ALL_EMULATION_SOURCES): Add eelf_i386_nacl.c here.
184         (ALL_64_EMULATION_SOURCES): Add eelf32_x86_64_nacl.c and
185         eelf_x86_64_nacl.c here.
186         (eelf_i386_nacl.c, eelf32_x86_64_nacl.c, eelf_x86_64_nacl.c):
187         New targets.
188         * Makefile.in: Regenerated.
189
190         * scripttempl/elf.sc: Handle SEPARATE_CODE cases.
191
192 2012-04-02  Mike Frysinger  <vapier@gentoo.org>
193
194         * ldmisc.c (vfinfo): Assign new local str to fmt.  Delete
195         putc call.  If str and fmt are different, call fwrite on
196         the difference.
197
198 2012-03-30  Nick Clifton  <nickc@redhat.com>
199
200         * po/vi.po: Updated Vietnamese translation.
201
202 2012-03-27  Roland McGrath  <mcgrathr@google.com>
203
204         * configure.in: Set want64 on a 64-bit host regardless of
205         --enable-targets=all.
206         * configure: Regenerated.
207
208 2012-03-26  Tristan Gingold  <gingold@adacore.com>
209
210         * lexsup.c (parse_args): Add a missing '\n'.
211
212 2012-03-25  Alan Modra  <amodra@gmail.com>
213
214         * ldemul.c (before_allocation_default): Revert last change.
215         * ldlang.c (lang_add_section): Likewise.
216         (strip_excluded_output_sections): Don't strip output sections with
217         user input sections when emitrelocations, unless all are SEC_EXCLUDE.
218
219 2012-03-23  Alan Modra  <amodra@gmail.com>
220
221         * ldemul.c (before_allocation_default): When emitrelocations,
222         don't strip sections..
223         * ldlang.c (lang_add_section): ..and don't set up map_head, map_tail.
224
225 2012-03-14  Kai Tietz  <ktietz@redhat.com>
226             Pascal Obry  <pascal@obry.net>
227
228         * pe-dll.c (found_sym): New static variable.
229         (undef_count): Likewise.
230         (key_value): New structure.
231         (undef_sort_cmp): Compare routine for qsort/bsearch.
232         (pe_find_cdecl_alias_match): Add new argument.
233         (pe_undef_alias_cdecl_match): Removed.
234         (pe_undef_count): New helper routine.
235         (pe_create_undef_table): Likewise.
236         (pe_process_import_defs): Use pe_create_undef_table and
237         new pe_undef_alias_cdecl_match function.
238
239 2012-03-14  Alan Modra  <amodra@gmail.com>
240
241         PR ld/13839
242         * ldexp.c (fold_name): Ignore undefined symbols when assigning to
243         dot in mark phase.
244         (exp_fold_tree_1): Evaluate assignment to dot expressions even when
245         discarding result, for side effects.  Fix typo in error message.
246
247 2012-03-08  Tristan Gingold  <gingold@adacore.com>
248
249         * ldexp.c (exp_print_tree): Special case for SEGMENT_START.
250         (exp_print_token): Constify.
251
252 2012-03-08  Alan Modra  <amodra@gmail.com>
253
254         PR ld/10340
255         * ldfile.c (is_sysrooted_pathname): Remove notsame param.
256         (ldfile_add_library_path): Don't set sysrooted flag.
257         (ldfile_open_file_search): Likewise, and don't copy them.
258         (try_open): Delete exten and code handling such.  Add sysrooted
259         param and return whether path is in sysroot.
260         (ldfile_find_command_file): Delete extend param.  Add sysrooted
261         param.  Rename local var.  Update try_open calls.
262         (ldfile_open_command_file_1): Pass sysrooted to lex_push_file.
263         * ldfile.h (search_dirs_type): Remove sysrooted field.
264         * ldlang.c (new_afile): Always set sysrooted from input_flags.
265         (load_symbols): Don't set input_flags.sysrooted.
266         * ldlang.h (struct lang_input_statement_flags): Revise sysrooted
267         comment.
268         * ldlex.h (lex_push_file): Update prototype.
269         * ldlex.l (sysrooted_stack): New array.
270         (EOF): Pop input_flags.sysrooted.
271         (lex_push_file): Add sysrooted param.  Save and set
272         input_flags.sysrooted.
273
274 2012-03-06  Alan Modra  <amodra@gmail.com>
275
276         * ldlang.h (struct lang_input_statement_flags): New, extract from..
277         (lang_input_statement_type): ..here.  New field "flags".
278         (input_flags): Declare.
279         (missing_file): Delete.
280         * ldmain.h (whole_archive): Delete.
281         (add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
282         * ld.h (ld_config_type <dynamic_link>): Delete.
283         * ldmain.c (whole_archive): Delete.
284         (add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
285         * ldlang.c (missing_file, ldlang_sysrooted_script): Delete.
286         (input_flags): New variable.  Replace all uses of config.dynamic_link,
287         missing_file, ldlang_sysrooted_script, whole_archive,
288         add_DT_NEEDED_for_regular and add_DT_NEEDED_for_dynamic with fields
289         from here.
290         * ldfile.c: Likewise.
291         * ldgram.y: Likewise.
292         * ldmain.c: Likewise.
293         * ldwrite.c: Likewise.
294         * lexsup.c: Likewise.
295         * plugin.c: Likewise.
296         * emultempl/aix.em: Likewise.
297         * emultempl/armelf.em: Likewise.
298         * emultempl/elf32.em: Likewise.
299         * emultempl/hppaelf.em: Likewise.
300         * emultempl/linux.em: Likewise.
301         * emultempl/pe.em: Likewise.
302         * emultempl/pep.em: Likewise.
303         * emultempl/ppc64elf.em: Likewise.
304         * emultempl/scoreelf.em: Likewise.
305         * emultempl/spuelf.em: Likewise.
306         * emultempl/sunos.em: Likewise.
307         * emultempl/vms.em: Likewise.
308         * ldlang.c (new_afile): Use memset to init zero fields.
309         (load_symbols): Simplify save and restore of flags around command
310         file processing.
311         * ldfile.c (is_sysrooted_pathname): Tidy.
312
313 2012-03-05  Hans-Peter Nilsson  <hp@axis.com>
314
315         * configure.tgt (mips64*el-*-freebsd*, mips64*-*-freebsd*)
316         (mips*el-*-freebsd*, mips*-*-freebsd*): Correct triplets by
317         replacing trailing "-*" with "*".
318
319 2012-02-25  Walter Lee  <walt@tilera.com>
320
321         * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx_be.c.
322         (ALL_64_EMULATION_SOURCES): Add eelf64tilegx_be.c.
323         (eelf32tilegx_be.c): Add rule to build this file.
324         (eelf64tilegx_be.c): Ditto.
325         * Makefile.in: Regenerate.
326         * configure.tgt (tilegx-*-*): Support big endian.
327         (tilegxbe-*-*): New.
328         * emulparams/elf32tilegx.sh (OUTPUT_FORMAT): Rename.
329         (BIG_OUTPUT_FORMAT): Define.
330         (LITTLE_OUTPUT_FORMAT): Define.
331         * emulparams/elf32tilegx_be.sh: New.
332         * emulparams/elf64tilegx.sh (OUTPUT_FORMAT): Rename.
333         (BIG_OUTPUT_FORMAT): Define.
334         (LITTLE_OUTPUT_FORMAT): Define.
335         * emulparams/elf64tilegx_be.sh: New.
336
337 2012-02-24  Kai Tietz  <ktietz@redhat.com>
338
339         PR binutils/13710
340         * deffilep.y (keyword_as_name): Disable LIBRARY
341         keyword.
342
343 2012-02-22  Alan Modra  <amodra@gmail.com>
344
345         PR ld/13683
346         * ldlang.c (lang_process): Rerun lang_do_assignments before
347         starting garbage collection.
348         * ldexp.c (fold_name): Generate a reloc for defined symbols
349         found without an associated output section during the mark phase.
350         (exp_fold_tree_1): Continue processing an expression, even if we
351         are unable to fold it, if we are in the first two evaluation
352         phases.
353         * ldexp.h (enum lang_phase_type): Add descriptions of the phases.
354
355 2012-02-19  Kai Tietz  <ktietz@redhat.com>
356
357         * deffilep.y (cmp_import_elem): Sort first by module name.
358         * pe-dll.c (process_def_file_and_drectve): Free strings
359         from removed export-element.
360         (add_bfd_to_link): Optimize loop on import-elements and lower
361         allocated memory.
362         (pe_implied_import_dll): Pass NULL instead of 0 for pointer
363         argument.
364
365 2012-02-18  Hans-Peter Nilsson  <hp@axis.com>
366
367         * ldmisc.c (vfinfo <%S>): Use same type and avoid cast for
368         temporary variable node used for NULL argument.
369
370 2012-02-18  Alan Modra  <amodra@gmail.com>
371
372         PR ld/13343
373         * ld.h (parsing_defsym): Delete.
374         * ldexp.c (exp_intop, exp_bigintop, exp_relop): Set type.filename.
375         (fold_binary, fold_name, exp_fold_tree_1, exp_get_vma, exp_get_fill,
376         exp_get_abs_int): Add tree arg for %S in error messages.  Don't
377         fudge lineno.
378         (exp_binop, exp_unop, exp_nameop, exp_assop, exp_assert): Copy
379         type.filename from sub-tree.
380         (exp_trinop): Likewise, and use "cond" rather than "lhs".
381         * ldexp.h (node_type): Add filename field to struct.
382         * ldfile.c (ldfile_input_filename): Delete.  Remove all refs.
383         * ldfile.h (ldfile_input_filename): Delete.
384         * ldgram.y (phdr_type, phdr_qualifiers, yyerror): Add NULL arg for
385         %S in error messages.
386         * ldemul.c (syslib_default, hll_default): Likewise.
387         * ldlang.c (lang_memory_region_lookup, lang_memory_region_alias,
388         lang_get_regions, lang_new_phdr): Likewise.
389         (lang_size_sections_1): Pass addr_tree for %S.
390         * ldlex.h (lex_redirect): Update prototype.
391         (ldlex_filename): Declare.
392         * ldlex.l (<EOF>): Don't set ldfile_input_filename.
393         (lex_redirect): Add fake_filename and count params.  Push
394         fake_filename to file_name_stack and init lineno from count.
395         (ldlex_filename): New function.
396         (lex_warn_invalid): Use above.
397         * ldmain.c (main): Update lex_redirect call.
398         * ldmisc.c (vfinfo <%S>): Take file name and line number from
399         etree_type arg, or use current if arg is NULL.
400         * lexsup.c (parsing_defsym): Delete.
401         (parse_args <OPTION_DEFSYM>): Update lex_redirect call.
402
403 2012-02-13  Kai Tietz  <ktietz@redhat.com>
404
405         * deffilep.y (find_export_in_list): Set is_indent for
406         first or last element, if identical.
407         (find_import_in_list): Likewise.
408
409 2012-02-11  Kai Tietz  <ktietz@redhat.com>
410
411         * deffilep.y (%union): New type id_const.
412         (opt_name2): New rule.
413         (keyword_as_name): New rule.
414         (dot_name): Replaced by opt_name2 rule.
415         (opt_name): Adjust rule.
416         (opt_equal_name): Likewise.
417
418 2012-02-11  Pascal Obry  <pascal@obry.net>
419
420         * pe-dll.c (auto_export): Use bsearch to speed up scan of exports
421         table.
422         (process_def_file_and_drectve): Maintain sorting of exports table
423         after stripping leading @ signs.
424
425 2012-02-09  Alan Modra  <amodra@gmail.com>
426
427         * ldgram.y (input_section_spec_no_keep): Don't ignore sect_flags.
428
429 2012-01-31  H.J. Lu  <hongjiu.lu@intel.com>
430
431         PR ld/13616
432         * emulparams/elf32_x86_64.sh: Remove NOP.
433         * emulparams/elf_i386.sh: Likewise.
434         * emulparams/elf_i386_be.sh: Likewise.
435         * emulparams/elf_i386_ldso.sh: Likewise.
436         * emulparams/elf_i386_vxworks.sh: Likewise.
437         * emulparams/elf_k1om.sh: Likewise.
438         * emulparams/elf_l1om.sh: Likewise.
439         * emulparams/elf_x86_64.sh: Likewise.
440
441         * ldlang.c (zero_fill): Initialized to 0.
442
443         * ldwrite.c (build_link_order): Set data size to linker odrder
444         size when they are the same.
445
446         * scripttempl/elf.sc: Don't specify fill if NOP is undefined.
447
448 2012-01-17  Alan Modra  <amodra@gmail.com>
449
450         * ldver.c (ldversion): Update copyright message year.
451
452 2012-01-15  Alan Modra  <amodra@gmail.com>
453
454         PR ld/12758
455         * ldlang.c (lang_process): Don't reopen all files, just those
456         newly added by plugin.
457
458 2012-01-11  Alan Modra  <amodra@gmail.com>
459
460         * emultempl/ppc64elf.em (PARSE_AND_LIST_PROLOGUE,
461         PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
462         PARSE_AND_LIST_ARGS_CASES): Handle --{no-,}plt-thread-safe and
463         --{no-,}plt-align.
464         (plt_thread_safe, plt_stub_align): New vars.
465         (gld${EMULATION_NAME}_after_allocation): Pass them to
466         ppc64_elf_size_stubs.  Align stub sections according to plt_stub_align.
467         * ld.texinfo: Document new command line options, and an old
468         undocumented option.
469
470 2012-01-09  Roland McGrath  <mcgrathr@google.com>
471
472         * configure.in: Use AM_ZLIB.
473         * configure: Regenerated.
474
475 For older changes see ChangeLog-2011
476 \f
477 Local Variables:
478 mode: change-log
479 left-margin: 8
480 fill-column: 74
481 version-control: never
482 End: