* pe-dll.c (generate_reloc): Don't emit a base reloc for an
[external/binutils.git] / ld / ChangeLog
1 2011-10-13  Dave Korn  <dave.korn.cygwin@gmail.com>
2
3         * pe-dll.c (generate_reloc): Don't emit a base reloc for an
4         underlying BFD reloc that will be discarded in eh_frame data.
5
6 2011-10-10  Nick Clifton  <nickc@redhat.com>
7
8         * po/bg.po: Updated Bulgarian translation.
9         * po/es.po: Updated Spanish translation.
10         * po/fi.po: Updated Finnish translation.
11         * po/fr.po: Updated French translation.
12
13 2011-10-10  Alan Modra  <amodra@gmail.com>
14
15         * ldmain.c (main): Move code twiddling various config and link_info
16         bits to..
17         * lexsup.c (parse_args): ..here.  Move plugin_load_plugins call
18         into main.
19         * plugin.c (set_tv_header): Test link_info.executable, not
20         link_info.shared.
21         (is_visible_from_outside): Likewise.  Delete redundant
22         is_ir_dummy_bfd check and "section" parameter.
23
24 2011-10-10  Alan Modra  <amodra@gmail.com>
25
26         * emultempl/ppc64elf.em (ppc_add_stub_section): Align to 32 bytes.
27
28 2011-10-09  Alan Modra  <amodra@gmail.com>
29
30         * emultempl/ppc64elf.em (ppc_create_output_section_statements): Add
31         missing colon to error message.
32         (ppc_before_allocation): Likewise.
33
34 2011-10-06  Alan Modra  <amodra@gmail.com>
35
36         PR ld/13229
37         * plugin.c (tv_header_tags): Add LDPT_GET_SYMBOLS_V2.
38         (set_tv_header): Handle it.  Adjust LDPT_GET_SYMBOLS.  Return void.
39         (get_symbols): Add def_ironly_exp param.  Return that value for
40         syms exported from shared libs.
41         (get_symbols_v1, get_symbols_v2): New wrapper functions.
42         * testplug.c: Update for above changes.
43
44 2011-09-27  Kai Tietz  <ktietz@redhat.com>
45
46         * scripttempl/pe.sc (.text): Add support for
47         .gnu.linkonce.t.* section.
48         (.debug_info): Only use .gnu.linkonce.wi.* for
49         relocating.
50         * scripttempl/pep.sc: Likewise.
51
52 2011-09-22  Tristan Gingold  <gingold@adacore.com>
53
54         * NEWS: Add marker for 2.22.
55
56 2011-09-20  Alan Modra  <amodra@gmail.com>
57
58         PR ld/13201
59         * ldlang.h (lang_input_statement_type): Add "reload" bitfield.
60         Clarify comments.
61         * ldlang.c (new_afile): Init new field.
62         (load_symbols): Don't call ldlang_add_file when reloading.
63         (open_input_bfds): Reload as-needed libs during plugin rescan.
64
65 2011-09-15  H.J. Lu  <hongjiu.lu@intel.com>
66
67         PR ld/12975
68         * ldlang.c (lang_elf_version_info): Removed.
69         (lang_register_vers_node): Replace lang_elf_version_info with
70         link_info.version_info.
71         (lang_add_vers_depend): Likewise.
72         * pe-dll.c (process_def_file_and_drectve): Likewise.
73         * emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise.
74
75         * ldlang.h (lang_elf_version_info): Removed.
76
77         * plugin.c  (is_visible_from_outside): Check if symbol is hidden
78         by version script.
79
80         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
81         Remove lang_elf_version_info.
82
83 2011-09-15  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
84
85         PR ld/13183
86         * ldmain.c (add_archive_element): Support thin archive member
87         for LTO.
88
89 2011-08-26  Nick Clifton  <nickc@redhat.com>
90
91         * po/es.po: Updated Spanish translation.
92
93 2011-08-26  Nick Clifton  <nickc@redhat.com>
94
95         * NEWS: Mention that --no-copy-dt-needed-entries is now the
96         default.
97
98 2011-08-22  Michael Matz  <matz@suse.de>
99
100         * ldmain.c (add_DT_NEEDED_for_dynamic): Default to FALSE.
101         * ld.texinfo (--copy-dt-needed-entries): Mention new default.
102
103 2011-08-17  Alan Modra  <amodra@gmail.com>
104
105         PR ld/12762
106         * ldlang.c (section_already_linked): Revert 2011-07-09 changes.
107         * plugin.c: Likewise.
108         (asymbol_from_plugin_symbol): Create linkonce section for syms
109         with comdat_key.
110
111 2011-08-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
112
113         * emultempl/armelf.em (fix_arm1176): New variable.
114         (arm_elf_create_output_section_statements): Pass
115         fix_arm1176 option to bfd backend.
116         (OPTION_FIX_ARM1176): New define.
117         (OPTION_NO_FIX_ARM1176): Likewise.
118         (PARSE_AND_LIST_LONGOPTS): Add new command line options.
119         (PARSE_AND_LIST_OPTIONS): Likewise.
120         (PARSE_AND_LIST_ARGS_CASES): Likewise.
121         * ld.texinfo: Document new command line options.
122
123 2011-08-09  Alan Modra  <amodra@gmail.com>
124
125         PR ld/13066
126         * plugin.c (add_symbols): Revert 2011-08-05.
127
128 2011-08-06  Kai Tietz  <ktietz@redhat.com>
129
130         * scripttempl/pep.sc: Add .debug_macro section.
131         * scripttempl/pe.sc: Likewise.
132
133 2011-08-05  Alan Modra  <amodra@gmail.com>
134
135         PR ld/12762
136         * plugin.c (add_symbols): Exclude comdat_key symbols from symbol
137         table if already seen.
138
139 2011-08-04  H.J. Lu  <hongjiu.lu@intel.com>
140
141         * ldmain.c (main): Replace remove_output with ld_cleanup in
142         comments.
143
144 2011-07-26  Alan Modra  <amodra@gmail.com>
145
146         * emulparams/elf32ppc.sh: Source plt_unwind.sh.
147         * emulparams/elf64ppc.sh: Likewise.
148         * emultempl/ppc32elf.em (OPTION_NO_TLS_OPT): Adjust.
149         (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
150         PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
151         existing values.
152         * emultempl/ppc64elf.em (OPTION_STUBGROUP_SIZE): Adjust.
153         (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
154         PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
155         existing values.
156
157 2011-07-22  H.J. Lu  <hongjiu.lu@intel.com>
158
159         * Makefile.am (ALL_64_EMULATIONS): Add eelf_k1om.o and
160         eelf_k1om_fbsd.o
161         (eelf_k1om.c): New.
162         (eelf_k1om_fbsd.c): Likewise.
163         * Makefile.in: Regenerated.
164
165         * configure.tgt (targ64_extra_emuls): Add elf_k1om if elf_x86_64
166         is supported.  Add elf_k1om_fbsd if elf_x86_64_fbsd is supported.
167         (targ_extra_emuls): Likewise.
168
169         * emulparams/elf_k1om.sh: New.
170         * emulparams/elf_k1om_fbsd.sh: Likewise.
171
172 2011-07-16  Roland McGrath  <roland@hack.frob.com>
173
174         * ld.h (args_type): New field print_output_format.
175         * lexsup.c (enum option_values, ld_options, parse_args):
176         Handle --print-output-format.
177         * ldmain.c (main): Implement --print-output-format.
178         * ld.texinfo (Options): Document it.
179
180         * ldlang.c (lang_get_output_target): Don't return current_target
181         when it's NULL.
182
183 2011-07-15  Alan Modra  <amodra@gmail.com>
184
185         * Makefile.am (e*.c): Sort.
186         * Makefile.in: Regenerate.
187
188 2011-07-14  Alan Modra  <amodra@gmail.com>
189
190         * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option,
191         gld${EMULATION_NAME}_list_options): Don't condition -z relro
192         and -z norelro on COMMONPAGESIZE being defined.
193
194 2011-07-14  Alan Modra  <amodra@gmail.com>
195
196         * emultempl/ppc64elf.em (plt_static_chain): New var.
197         (gld${EMULATION_NAME}_after_allocation): Pass to ppc64_elf_size_stubs.
198         (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
199         PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Handle
200         --plt-static-chain and --no-plt-static-chain.
201
202 2011-07-14  Alan Modra  <amodra@gmail.com>
203
204         * emultempl/elf32.em (gld${EMULATION_NAME}_add_options,
205         gld${EMULATION_NAME}_handle_option, gld${EMULATION_NAME}_list_options):
206         Provide --build-id, -z defs, -z muldefs, -z max-page-size,
207         -z common-page-size, -z execstack, -z noexecstack for all targets.
208         Add help for --exclude-libs.
209         (OPTION_LD_GENERATED_UNWIND_INFO,
210         OPTION_NO_LD_GENERATED_UNWIND_INFO): Move this..
211         (gld${EMULATION_NAME}_handle_option): ..and code handling
212         --ld-generated-unwind-info and --no-ld-generated-unwind-info..
213         * emulparams/plt_unwind.sh: ..to here.  New file.  Add help.
214         * emulparams/elf32_x86_64.sh: Include plt_unwind.sh.
215         * emulparams/elf_i386.sh: Likewise.
216         * emulparams/elf_i386_chaos.sh: Likewise.
217         * emulparams/elf_i386_ldso.sh: Likewise.
218         * emulparams/elf_l1om.sh: Likewise.
219         * emulparams/elf_x86_64.sh: Likewise.
220
221 2011-07-11  Catherine Moore  <clm@codesourcery.com>
222
223         * ld.h (section_flag_list): Add field to struct wildcard_spec.
224         * ld.texinfo (INPUT_SECTION_FLAGS): Document.
225         * ldgram.y (flag_info_list, flag_info): Add to union.
226         (INPUT_SECTION_FLAGS): New token.
227         (wildcard_spec): Initialize section_flag_list to NULL for
228         each alternative.
229         (sect_flag_list, sect_flags): New rules.
230         (input_section_spec_no_keep): Add alternatives to recognize
231         sect_flags.
232         * ldlang.c (walk_wild_consider_section): Initialize
233         section_flag_info field of the section struct.
234         (lang_add_section): Check input section flags.
235         (lang_add_wild): Initialize section_flag_list field of
236         the statement struct.
237         * ldlang.h (lang_input_statement_struct): Add section_flag_list field.
238         (lang_wild_statement_struct): Likewise.
239         * ldlex.l (INPUT_SECTION_FLAGS): New token.
240         * mri.c (mri_draw_tree): Initialize section_flag_list to NULL.
241         * NEWS: Announce INPUT_SECTION_FLAGS enhancement.
242
243 2011-07-09  H.J. Lu  <hongjiu.lu@intel.com>
244
245         PR ld/12942
246         * ldlang.c (section_already_linked): Pass "struct already_linked *"
247         to bfd_section_already_linked.
248         (lang_process): Set link_info.loading_lto_outputs before
249         loading LTO outputs.
250         * plugin.c: Include "libbfd.h".
251         (add_symbols): Call bfd_section_already_linked with comdat_key.
252
253 2011-06-20  H.J. Lu  <hongjiu.lu@intel.com>
254
255         * configure.tgt: Revert x32 change.
256
257 2011-06-20  Jakub Jelinek  <jakub@redhat.com>
258
259         PR ld/12570
260         * emultempl/elf32.em (OPTION_LD_GENERATED_UNWIND_INFO,
261         OPTION_NO_LD_GENERATED_UNWIND_INFO): Define.
262         (gld${EMULATION_NAME}_handle_option): Handle
263         --ld-generated-unwind-info and --no-ld-generated-unwind-info.
264         * ld.texinfo (--ld-generated-unwind-info,
265         --no-ld-generated-unwind-info): Document.
266
267 2011-06-19  H.J. Lu  <hongjiu.lu@intel.com>
268
269         * configure.tgt: Support x32.
270
271 2011-06-15  Nick Clifton  <nickc@redhat.com>
272
273         * NEWS: Mention addition of TILEPRO and TIKE-Gx support.
274
275 2011-06-13  Walter Lee  <walt@tilera.com>
276
277         * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx.c and
278         eelf32tilepro.c.
279         (ALL_64_EMULATION_SOURCES): Add eelf64tilegx.c.
280         (eelf32tilegx.c): New target.
281         (eelf32tilepro.c): Likewise.
282         (eelf64tilegx.c): Likewise.
283         * Makefile.in: Regenerate.
284         * configure.tgt: Handle tilegx-*-* and tilepro-*-*.
285         * emulparams/elf32tilegx.sh: New file.
286         * emulparams/elf64tilegx.sh: New file.
287         * emulparams/elf32tilepro.sh: New file.
288
289 2011-06-13  Alan Modra  <amodra@gmail.com>
290
291         * ldlang.c (sort_def_symbol, lang_one_common): Don't handle
292         warning symbols here.
293         * emultempl/pe.em (pr_sym): Remove redundant test.
294         * emultempl/pep.em (pr_sym): Likewise.
295
296 2011-06-09  Nick Clifton  <nickc@redhat.com>
297
298         PR ld/12845
299         * emultempl/mipself.em (mips_add_stub_section): Do not add stubs
300         for sections that have been removed by garbage collection.
301
302 2011-06-08  Alan Modra  <amodra@gmail.com>
303
304         * ldlang.c (lang_one_common): Handle warning symbols.
305
306 2011-06-07  Nick Clifton  <nickc@redhat.com>
307
308         * configure.tgt: Accept any V850 architecture.
309
310 2011-06-03  Nick Clifton  <nickc@redhat.com>
311
312         * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32am33lin.c
313         Add rule to build eelf32am33lin.c
314         * Makefile.in: Regenerate.
315
316 2011-06-02  Nick Clifton  <nickc@redhat.com>
317
318         * lexsup.c: Fix spelling mistake in comment.
319         * scripttempl/epocpe.sc: Likewise.
320         * scripttempl/i386beos.sc: Likewise.
321         * scripttempl/mcorepe.sc: Likewise.
322         * scripttempl/pe.sc: Likewise.
323         * scripttempl/pep.sc: Likewise.
324         * po/ld.pot: Regenerate.
325
326 2011-05-27  Nick Clifton  <nickc@redhat.com>
327
328         * scripttempl/v850.sc (_heap_start): Provide.
329
330 2011-05-23  Alan Modra  <amodra@gmail.com>
331
332         * ldmisc.c (vfinfo): Add %H.
333         * ldmain.c (reloc_overflow): Use %H rather than %C.
334         (reloc_dangerous, unattached_reloc): Likewise.
335
336 2011-05-23  Alan Modra  <amodra@gmail.com>
337
338         PR 12763
339         * ldlang.c (lang_output_section_find_by_flags): Match orphan .sdata2
340         like sections to existing .sdata2, and similarly for orphan TLS
341         sections.
342         * emultempl/elf32.em (place_orphan): Exclude .tbss from orphan_bss.
343
344 2011-05-17  Tomohiro Kashiwada  <kikairoya@gmail.com>
345
346         PR ld/12759
347         * emultempl/rxelf.em (ignore_lma): New variable.
348         (rx_elf_create_output_section_statements): Pass the setiing of
349         ignore_lma to bfd_elf32_rx_set_target_flags.
350         (OPTION_IGNORE_LMA): Define.
351         (OPTION_NO_IGNORE_LMA): Define.
352         (PARSE_AND_LIST_LONGOPTS): Add ignore lma.
353         (PARSE_AND_LIST_OPTIONS): Add ignore lma.
354         (PARSE_AND_LIST_ARGS_CASES): Add ignore lma.
355
356 2011-05-17  Alan Modra  <amodra@gmail.com>
357
358         PR ld/12760
359         * ldmain.c (notice): Add "flags" and "string" param.
360         * plugin.c (plugin_notice): Likewise.  Handle indirect, warning
361         and constructor syms.
362
363 2010-05-16  Daniel Jacobowitz  <dan@codesourcery.com>
364
365         * ldlang.c (print_assignment): Use the symbol's section if we
366         use its value.
367         * ldexp.c (exp_fold_tree_1): Skip self-assignment.  Expand
368         comment on copying symbol type.
369
370 2011-05-16  H.J. Lu  <hongjiu.lu@intel.com>
371
372         PR ld/12760
373         * plugin.c (plugin_notice): Set u.undef.abfd for symbols made
374         undefweak.
375
376 2011-05-16  Alan Modra  <amodra@gmail.com>
377
378         * ldlang.c (lang_leave_output_section_statement): Don't copy
379         previous lma_region if given address.
380
381 2011-05-13  Bernd Schmidt  <bernds@codesourcery.com>
382
383         (eelf32_tic6x_linux_be.c, eelf32_tic6x_linux_le.c,
384         eelf32_tic6x_elf_be.c, eelf32_tic6x_elf_le.c): New rules.
385         * Makefile.am (ALL_EMULATIONS): Add these files.
386         (eelf32_tic6x_be.c, eelf32_tic6x_le.c): Depend on tic6xdsbt.em.
387         * Makefile.in: Regenerated.
388         * emultempl/tic6xdsbt.em (is_tic6x_target): Allow more tic6x target
389         vectors.
390         * emulparams/elf32_tic6x_elf_be.sh: New file.
391         * emulparams/elf32_tic6x_elf_le.sh: New file.
392         * emulparams/elf32_tic6x_linux_be.sh: New file.
393         * emulparams/elf32_tic6x_linux_le.sh: New file.
394         * configure.tgt (tic6x-*-elf, tic6x-*-uclinux): New.
395         (tic6x-*-*): Replaced by these.
396
397 2011-05-13  Jan Beulich  <jbeulich@novell.com>
398
399         * configure.tgt: Add targets x86_64-*-pe and x86_64-*-pep.
400
401 2011-05-09  Paul Brook  <paul@codesourcery.com>
402
403         * emultempl/tic6xdsbt.em (merge_exidx_entries): New.
404         (compare_output_sec_vma): New function.
405         (gld${EMULATION_NAME}_after_allocation): New function.
406         (OPTION_NO_MERGE_EXIDX_ENTRIES): Define.
407         (PARSE_AND_LIST_OPTIONS): Add --no-merge-exidx-entries.
408         (PARSE_AND_LIST_ARGS_CASES): Add OPTION_NO_MERGE_EXIDX_ENTRIES.
409         (LDEMUL_AFTER_ALLOCATION): Set.
410         * ld.texinfo: Document c6x --no-merge-exidx-entries.
411
412 2011-05-07  Dave Korn  <dave.korn.cygwin@gmail.com>
413
414         PR ld/12365
415         * scripttempl/pe.sc (__rt_psrelocs_start): New symbol definition.
416         (__rt_psrelocs_end): Likewise.
417         (__rt_psrelocs_size): Likewise difference between the above.
418         (__RUNTIME_PSEUDO_RELOC_LIST_END__): Move outside .rdata section
419         immediately after end of pseudo-reloc data.
420         (___RUNTIME_PSEUDO_RELOC_LIST_END___): Likewise.
421         (__RUNTIME_PSEUDO_RELOC_LIST__): Move outside .rdata section and
422         calculate backward from list end.
423         (___RUNTIME_PSEUDO_RELOC_LIST___): Likewise.
424         * scripttempl/pep.sc: Likewise.
425
426 2011-05-06  Tristan Gingold  <gingold@adacore.com>
427
428         * scripttempl/alphavms.sc (CODE): Add *$CODE*.
429
430 2011-05-04  Tristan Gingold  <gingold@adacore.com>
431
432         * emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Add
433         LDEMUL_ADD_OPTIONS and LDEMUL_HANDLE_OPTION.
434         * emultempl/vms.em (OPTION_IDENTIFICATION): New macro.
435         (gld${EMULATION_NAME}_add_options): New function.
436         (gld${EMULATION_NAME}_list_options): Ditto.
437         (gld${EMULATION_NAME}_handle_option): Ditto.
438         (LDEMUL_ADD_OPTIONS, LDEMUL_HANDLE_OPTION)
439         (LDEMUL_LIST_OPTIONS): Define.
440
441 2011-05-04  Alan Modra  <amodra@gmail.com>
442
443         PR ld/12726
444         * ldexp.h (lang_phase_type): Add lang_assigning_phase_enum.
445         * ldexp.c (exp_fold_tree_1): Correct assign to dot comment.  Don't
446         assign to dot when lang_assigning_phase_enum.
447         * ldlang.h (lang_do_assignments): Update prototype.
448         * ldlang.c (lang_do_assignments): Add phase parameter.  Update all
449         callers.
450         * pe-dll.c (pe_dll_fill_sections, pe_exe_fill_sections): Update
451         lang_do_assignments calls.
452
453 2011-04-28  Daniel C. Klauer  <daniel.c.klauer@web.de>
454
455         PR ld/12614
456         * emultempl/pe.em (_after_open): Correctly check whether symbol is
457         in undef list.
458
459 2011-04-26  Kai Tietz  <ktietz@redhat.com>
460
461         * scripttempl/pe.sc: Handle .eh_frame($|.)* sections.
462         * scripttempl/pep.sc: Likewise.
463
464 2011-04-24  Alan Modra  <amodra@gmail.com>
465
466         PR ld/12365
467         PR ld/12696
468         * ldmain.c (notice): Delete "name" param, add "h".
469         * plugin.c (plugin_notice): Likewise.  Set non_ir_ref.  Handle
470         redefinitions of IR symbols in real BFDs.
471         (plugin_multiple_definition, plugin_multiple_common): Delete.
472         (non_ironly_hash, init_non_ironly_hash): Delete.
473         (is_visible_from_outside): Traverse entry_symbol chain.
474         (get_symbols): Use non_ir_ref flag rather than hash lookup.
475
476 2011-04-21  Tristan Gingold  <gingold@adacore.com>
477
478         * scripttempl/alphavms.sc: Add dwarf2 embedding marks.
479
480 2011-04-20  Tristan Gingold  <gingold@adacore.com>
481
482         * emultempl/aix.em (_add_options): Ignore -bbigtoc switch.
483
484 2011-04-20  Alan Modra  <amodra@gmail.com>
485
486         * ld.h (ld_config_type <hash_table_size>): Make it an unsigned long.
487
488 2011-04-20  Alan Modra  <amodra@gmail.com>
489
490         PR ld/12365
491         * ldfile.c (ldfile_try_open_bfd): Move code creating and switching
492         to plugin IR BFD..
493         * ldmain.c (add_archive_element): ..and similar code here..
494         * plugin.c (plugin_maybe_claim): ..to here.  New function.
495         (plugin_call_claim_file): Make static.
496         (asymbol_from_plugin_symbol): Set ELF st_shndx for common syms.
497         (plugin_multiple_common): New function.
498         (plugin_call_all_symbols_read): Hook in plugin_multiple_common.
499         * plugin.h (plugin_call_claim_file): Don't declare.
500         (plugin_maybe_claim): Declare.
501
502 2011-04-20  Alan Modra  <amodra@gmail.com>
503
504         PR ld/12365
505         * ldmain.c (multiple_definition): Take a bfd_link_hash_entry
506         pointer arg rather than "name", "obfd", "osec", "oval".  Add code
507         removed from linker.c.  Hack around xcofflink.c oddity in
508         passing NULL nbfd.
509         (multiple_common): Similarly.
510         * plugin.c (orig_allow_multiple_defs): Delete.
511         (plugin_call_all_symbols_read): Don't twiddle allow_multiple_definition.
512         (plugin_multiple_definition): Update.
513
514 2011-04-18  Kai Tietz  <ktietz@redhat.com>
515
516         * deffilep.y (def_aligncomm): Avoid duplets.
517
518         * deffilep.y (def_pool_str): New type.
519         (pool_strs): Local static.
520         (def_pool_alloc): Local function.
521         (def_pool_strdup): Likewise.
522         (def_pool_free): Likewise.
523         (opt_name): Replace xmalloc/xstrdup by
524         def_pool_alloc/def_pool_strdup.
525         (dot_name): Likewise.
526         (anylang_id): Likewise.
527         (def_lex): Likewise.
528         (def_file_parse): Call def_pool_free on
529         exit and cleanup directives elements.
530         (def_file_add_directive): Call def_pool_free.
531
532 2011-04-18  Paul Brook  <paul@codesourcery.com>
533
534         * emulparams/elf32_tic6x_le.sh: Define OTHER_READONLY_SECTIONS
535         for unwinding tables.
536
537 2011-04-18  Alan Modra  <amodra@gmail.com>
538
539         PR ld/12365
540         PR ld/12672
541         * ldfile.c (ldfile_try_open_bfd): Don't attempt any plugin action
542         when no_more_claiming.
543         * ldmain.c (add_archive_element): Likewise.
544         (multiple_definition): Remove plugin_multiple_definition call.
545         (notice): Remove plugin_notice call.
546         * ldlang.c (lang_list_insert_after, void lang_list_remove_tail): Move.
547         Delete prototype.
548         (plugin_insert): New static var.
549         (open_input_bfds): Only rescan libs after plugin insert point.
550         (lang_gc_sections): Omit plugin claimed files.
551         (lang_process): Set plugin_insert.  Only rescan when plugin adds
552         objects.
553         * plugin.h (no_more_claiming): Declare.
554         (plugin_notice, plugin_multiple_definition): Don't declare.
555         * plugin.c: Formatting.
556         (orig_notice_all, orig_allow_multiple_defs, orig_callbacks,
557         plugin_callbacks): New static vars.
558         (no_more_claiming): Make global.
559         (plugin_cached_allow_multiple_defs): Delete.
560         (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy .text section,
561         use newer bfd_make_section variant.  Make COMMON section too.
562         Error handling.  Correct setting of gp size.
563         (asymbol_from_plugin_symbol): Properly cast last arg of concat.
564         (message): Likewise for ACONCAT.
565         (asymbol_from_plugin_symbol): Use our COMMON section.
566         (get_symbols): When report_plugin_symbols, show visibility too.
567         (init_non_ironly_hash): Move.  Don't test non_ironly_hash.
568         (plugin_load_plugins): Save state of linker callbacks, set up to
569         call plugin_notice instead.  Call init_non_ironly_hash here.
570         (plugin_call_all_symbols_read): Set plugin_multiple_definition in
571         plugin callbacks.
572         (plugin_notice): Rewrite.
573         (plugin_multiple_definition): Make static, call original callback.
574
575 2011-04-15  Alan Modra  <amodra@gmail.com>
576
577         PR ld/12672
578         * ldlang.c (enum open_bfd_mode): New.
579         (open_input_bfds): Replace "force" param with "mode".  Reload
580         archives for rescan.  Update all callers.
581         (lang_process): Make another open_input_bfds pass for plugins.
582
583 2011-04-13  Kai Tietz  <ktietz@redhat.com>
584
585         PR binutils/12658
586         * deffile.h (def_file_add_export): Add is_dup argument.
587         (def_file_add_import): Likewise.
588         * deffilep.y (are_names_equal): New helper.
589         (cmp_export_elem): New helper.
590         (find_export_in_list): Add search routine for exports.
591         (def_file_add_export): Check for duplicates.
592         (cmp_import_elem): New helper.
593         (find_import_in_list): Add search routine for imports.
594         (def_file_add_import): Check for duplicates.
595         (def_exports): Handle duplicates.
596         (def_imports): Likewise.
597         * pe-dll.c (process_def_file_and_drectve): Likewise.
598         (pe_implied_import_dll): Likewise.
599
600 2011-04-11  Chris Quenelle  <chris.quenelle@oracle.com>
601
602         * scripttempl/elf.sc (.exception_ranges): Add new section.
603
604 2011-04-08  Hector Oron  <hector.oron@gmail.com>
605
606         PR ld/12643
607         * configure.tgt: Add support for arm-*-gnueabihf targets.
608
609 2011-04-07  Eric B. Weddington  <eric.weddington@atmel.com>
610
611         * Makefile.in: Regenerate. Remove stray eavrtiny10 rules.
612
613 2011-04-07  Joseph Myers  <joseph@codesourcery.com>
614
615         * configure.tgt: Remove stray ;;.
616
617 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
618
619         * configure.tgt (thumb-*-linux-* | thumb-*-uclinux*,
620         strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*,
621         thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe,
622         xscale-*-coff, xscale-*-elf): Remove targets.
623
624 2011-03-31  H.J. Lu  <hongjiu.lu@intel.com>
625
626         * configure.tgt: Add elf_l1om to targ_extra_libpath for
627         x86_64-*-linux-*.
628
629         * emulparams/elf_l1om.sh: Remove duplicates.
630
631 2011-03-31  Bernd Schmidt  <bernds@codesourcery.com>
632
633         * emulparams/elf32_tic6x_le.sh (BIG_OUTPUT_FORMAT, EXTRA_EM_FILE,
634         GENERATE_SHLIB_SCRIPT): New defines.
635         (TEXT_START_ADDR): Define differently depending on target.
636         (.got): Redefine to include "*(.dsbt)".
637         (SDATA_START_SYMBOLS): Remove, replace with
638         (OTHER_GOT_SYMBOLS): New.
639         (OTHER_BSS_SECTIONS): Define only for ELF targets.
640         * emultempl/tic6xdsbt.em: New file.
641         * gen-doc.texi: Set C6X.
642         * ld.texinfo: Likewise.
643         (Options specific to C6X uClinux targets): New section.
644
645 2011-03-29  Alan Modra  <amodra@gmail.com>
646
647         PR ld/12613
648         * ldlex.l (lex_warn_invalid): Don't assume char is unsigned.
649
650 2011-03-26  John Marino  <binutils@marino.st>
651
652         * configure.host: Update *-*-dragonfly* host entry.
653         * configure.tgt: Update *-*-dragonfly* target entry.
654         * ldlex.l: Prevent redefinition of YY_NO_UNPUT.
655
656 2011-03-28  Joseph Myers  <joseph@codesourcery.com>
657
658         * configure.in: Check for windows.h, not Windows.h.
659         * configure: Regenerate.
660         * plugin.c: Include windows.h, not Windows.h.
661
662 2011-03-25  Eric B. Weddington  <eric.weddington@atmel.com>
663
664         * Makefile.in: Regenerate.
665
666 2011-03-23  Joseph Myers  <joseph@codesourcery.com>
667
668         * lexsup.c (parse_args): Only set report_plugin_symbols if plugins
669         are enabled.  Mark level as possibly unused.
670
671 2011-03-22  Eric B. Weddington  <eric.weddington@atmel.com>
672
673         * Makefile.am (ALL_EMULATION_SOURCES): Add AVR XMEGA architectures.
674         (eavrxmega?.c): Likewise.
675         * configure.tgt (targ_extra_emuls): Likewise.
676         * emulparams/avrxmega1.sh: New file.
677         * emulparams/avrxmega2.sh: Likewise.
678         * emulparams/avrxmega3.sh: Likewise.
679         * emulparams/avrxmega4.sh: Likewise.
680         * emulparams/avrxmega5.sh: Likewise.
681         * emulparams/avrxmega6.sh: Likewise.
682         * emulparams/avrxmega7.sh: Likewise.
683         * emultempl/avrelf.em (avr_elf_${EMULATION_NAME}_before_allocation):
684         Add avrxmega6, avrxmega7 to list of architectures for no stubs.
685
686 2011-03-21  Eric B. Weddington  <eric.weddington@atmel.com>
687
688         * scripttempl/avr.sc: Add fuse, lock, and signature memory regions.
689
690 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
691
692         * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Check
693         eh->target_internal.
694
695 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
696
697         * emultempl/armelf.em (arm_elf_before_allocation): Check dynobj
698         instead of dynamic_sections_created.
699
700 2011-03-10  Dave Korn  <dave.korn.cygwin@gmail.com>
701
702         * plugin.c (get_symbols): Use wrapped lookup for undefined symbols.
703
704 2011-03-10  Dave Korn  <dave.korn.cygwin@gmail.com>
705
706         * ldlang.c (lang_check): Don't run checks on dummy IR BFDs.
707
708 2011-03-10  Dave Korn  <dave.korn.cygwin@gmail.com>
709
710         * ldlang.h (lang_input_statement_type): Add new 'claim_archive' flag,
711         wrapping both it and 'claim' flag in #ifdef ENABLE_PLUGINS.
712         * ldmain.c (add_archive_element): Set it if the member is claimed.
713         * ldlang.c (new_afile): Initialise claim_archive and claimed members.
714         (find_replacements_insert_point): New helper function.
715         (lang_process): After adding and opening replacement files passed
716         from plugin, splice them into correct place in statement list and
717         file chains to preserve critical link order.
718         (lang_list_insert_after): New helper function.
719         (lang_list_remove_tail): Likewise.
720
721 2011-03-10  Dave Korn  <dave.korn.cygwin@gmail.com>
722
723         * plugin.c (IRONLY_SUFFIX): Revise to nicely human-readable form.
724         (IRONLY_SUFFIX_LEN): Delete.
725         (plugin_get_ir_dummy_bfd): Don't append IRONLY_SUFFIX.
726         (is_ir_dummy_bfd): Don't look for suffix; check claimed flag of
727         enclosing lang input statement instead.
728
729 2011-03-10  Dave Korn  <dave.korn.cygwin@gmail.com>
730
731         * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Preserve
732         alignment of input sections when creating orphan output sections
733         during relocatable link.
734         * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
735
736 2011-03-04  H.J. Lu  <hongjiu.lu@intel.com>
737
738         * ld.texinfo: Document --verbose[=NUMBER].
739
740         * lexsup.c (ld_options): Update --verbose.
741         (parse_args): Set report_plugin_symbols.
742
743         * plugin.c (report_plugin_symbols): New.
744         (get_symbols): Report plugin symbols if report_plugin_symbols
745         is TRUE.
746
747         * plugin.h (report_plugin_symbols): New.
748
749 2011-03-01  H.J. Lu  <hongjiu.lu@intel.com>
750
751         PR ld/12529
752         * testplug.c: Don't include "filenames.h".
753         (onclaim_file): Don't use filename_cmp.
754
755 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
756
757         * emultempl/beos.em (sort_by_file_name): Use filename_(n)cmp.
758         * emultempl/elf32.em (gld${EMULATION_NAME}_vercheck):
759         Likewise.
760         (gld${EMULATION_NAME}_stat_needed): Likewise.
761         (gld${EMULATION_NAME}_check_needed): Likewise.
762         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise.
763         (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
764         * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise.
765         (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
766         * ldfile.c (ldfile_open_file): Likewise.
767         * ldlang.c (wild_sort): Likewise.
768         (lookup_name): Likewise.
769         (check_excluded_libs): Likewise.
770         * ldmisc.c (vfinfo): Likewise.
771         * pe-dll.c (libnamencmp): Likewise.
772         (auto_export): Likewise.
773         (pe_dll_generate_implib): Likewise.
774         * testplug.c (onclaim_file): Likewise.
775
776 2011-02-24  H.J. Lu  <hongjiu.lu@intel.com>
777
778         PR ld/12507
779         * plugin.c (get_symbols): Don't check entry symbol here.
780         (init_non_ironly_hash): Add entry_symbol chain into
781         non_ironly_hash.
782
783 2011-02-24  H.J. Lu  <hongjiu.lu@intel.com>
784
785         PR ld/12507
786         * plugin.c (get_symbols): Don't mark entry symbol IR only.
787
788 2011-02-18  John David Anglin  <dave.anglin@nrc-cnnrc.gc.ca>
789
790         PR ld/12376
791         emulparams/hppalinux.sh (DATA_ADDR): Define.
792         (SHLIB_DATA_ADDR): Likewise.
793
794 2011-02-16  H.J. Lu  <hongjiu.lu@intel.com>
795
796         * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX): Changed to
797         x32 for x32.
798
799 2011-02-15  Kai Tietz  <kai.tietz@onevision.com>
800
801         * pe-dll.c (process_def_file_and_drectve): Don't strip
802         leading underscore from symbol by calling bfd_find_version_for_sym.
803
804 2011-02-14  Mike Frysinger  <vapier@gentoo.org>
805
806         * ldlang.c (lang_vers_match): Declare a new c_sym, assign it to
807         the bfd_demangle of sym, change users of sym to c_sym when not
808         already demangling, and free when done.  Change callers of
809         cplus_demangle to bfd_demangle.
810
811 2011-02-14  Alan Modra  <amodra@gmail.com>
812
813         * plugin.c (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy
814         .text section, use newer bfd_make_section variant.  Error handling.
815         Correct setting of gp size.
816         (asymbol_from_plugin_symbol): Properly cast last arg of concat.
817         (message): Likewise for ACONCAT.
818         (get_symbols): Formatting.
819
820 2011-02-14  Alan Modra  <amodra@gmail.com>
821
822         * ldmain.c (remove_output): Rename to..
823         (ld_cleanup): ..this. Call bfd_cache_close_all and plugin_call_cleanup.
824         (main): Adjust.
825         * plugin.c (plugin_call_cleanup): Make global.
826         (plugin_load_plugins): Don't register plugin_call_cleanup with xatexit.
827         * plugin.h (plugin_call_cleanup): Declare.
828
829 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
830
831         * configure: Regenerate.
832
833 2011-02-10  Alan Modra  <amodra@gmail.com>
834
835         * scripttempl/armbpabi.sc: Revert 2010-11-02  H.J. Lu.
836         * scripttempl/avr.sc: Likewise.
837         * scripttempl/elf32cr16.sc: Likewise.
838         * scripttempl/elf32crx.sc: Likewise.
839         * scripttempl/elf32msp430.sc: Likewise.
840         * scripttempl/elf32msp430_3.sc: Likewise.
841         * scripttempl/elf32sh-symbian.sc: Likewise.
842         * scripttempl/elf64hppa.sc: Likewise.
843         * scripttempl/elf_chaos.sc: Likewise.
844         * scripttempl/elfd10v.sc: Likewise.
845         * scripttempl/elfd30v.sc: Likewise.
846         * scripttempl/elfi370.sc: Likewise.
847         * scripttempl/elfm68hc11.sc: Likewise.
848         * scripttempl/elfm68hc12.sc: Likewise.
849         * scripttempl/elfxtensa.sc: Likewise.
850         * scripttempl/ip2k.sc: Likewise.
851         * scripttempl/iq2000.sc: Likewise.
852         * scripttempl/mep.sc: Likewise.
853         * scripttempl/mmo.sc: Likewise.
854         * scripttempl/v850.sc: Likewise.
855         * scripttempl/xstormy16.sc: Likewise.
856         * scripttempl/elf.sc: Revert 2010-10-29  H.J. Lu.
857
858 2011-01-22  H.J. Lu  <hongjiu.lu@intel.com>
859
860         * Makefile.am (CXX): Removed.
861
862         * configure.in: Add AC_PROG_CXX.
863
864         * Makefile.in: Regenerated.
865         * configure: Likewise.
866
867 2011-01-22  Richard Sandiford  <rdsandiford@googlemail.com>
868
869         * plugin.c (plugin_get_ir_dummy_bfd): Copy across the bfd's
870         private data and GP size.
871
872 2011-01-21  Alan Modra  <amodra@gmail.com>
873
874         * ldexp.c (fold_binary): Set result section for arithmetic and
875         logical operations to NULL when both operands are in same section.
876         * ld.texinfo (Expression Section): Describe this.
877
878 2011-01-14  Alan Modra  <amodra@gmail.com>
879
880         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
881         attempt to put non-alloc orphans before debug sections, just place
882         them after .comment.
883
884 2011-01-14  J. Park  <grassman@gmail.com>
885
886         PR ld/12339
887         * ldlang.c (sort_def_symbol): Handle bfd_link_hash_warning symbols.
888
889 2011-01-14  Alan Modra  <amodra@gmail.com>
890
891         * Makefile.am: Sort emulation rules.
892         (eelf32am33lin.c): Delete.
893         (ALL_EMULATION_SOURCES): Sort, add missing entries.
894         (ALL_64_EMULATION_SOURCES): Likewise.
895         * Makefile.in: Regenerate.
896
897 2011-01-13  Alan Modra  <amodra@gmail.com>
898
899         PR ld/12356
900         * ld.texinfo (Miscellaneous Commands): Describe LD_FEATURE.
901         (Expression Section): Update.
902         * ld.h (ld_config_type): Add sane_expr.
903         * ldgram.y (ifile_p1): Add LD_FEATURE.
904         * ldlex.l (LD_FEATYRE): New.
905         * ldemul.c (after_parse_default): Delete code handling ld_compatibility.
906         * ldexp.h (struct ldexp_control): Delete uses_defined.
907         * ldexp.c: Remove all uses of uses_defined.
908         (fold_name): Test config.sane_expr rather than ld_compatibility.
909         (exp_fold_tree_1): Likewise.  Adjust handling of assignments
910         during first phase.
911         * ldlang.h (ld_compatibility): Delete.
912         (lang_ld_feature): Declare.
913         * ldlang.c (ld_compatibility): Delete.
914         (open_input_bfds): Only handle assignments for --defsym.
915         (lang_ld_feature): New function.
916
917         PR ld/12356
918         * ldexp.h (exp_assop): Delete.
919         (exp_assign, exp_defsym): Declare.
920         * ldexp.c (exp_assop): Make static, handle all assignment variations.
921         (exp_assign, exp_defsym): New functions.
922         (exp_provide): Use exp_assop.
923         * ldgram.y (defsym_expr): Use exp_defsym.
924         * ldctor.c, * ldgram.y, * ldlang.c, * mri.c, * emultempl/beos.em,
925         * emultempl/pe.em, * emultempl/pep.em, * emultempl/spuelf.em,
926         * emultempl/xtensaelf.em: Update exp_assop -> exp_assign.
927
928 2011-01-12  Alan Modra  <amodra@gmail.com>
929
930         PR ld/12380
931         * ldexp.h (enum phase_enum): Comment.  Add exp_dataseg_done.
932         * ldexp.c (fold_unary <DATA_SEGMENT_END>): Rearrange code.  Test
933         for exp_dataseg_done rather than expld.phase == lang_final_phase_enum
934         to detect when we've finished sizing sections.
935         (fold_binary <DATA_SEGMENT_ALIGN>): Likewise.
936         (fold_binary <DATA_SEGMENT_RELRO_END>): Likewise.  Also test
937         that we are not inside an output section statement.
938         * ldlang.c (lang_size_sections): Set exp_dataseg_done on exit if
939         not exp_dataseg_relro_adjust or exp_dataseg_adjust.  Don't set
940         lang_final_phase_enum here.
941         (lang_process): Set lang_final_phase_enum here.
942
943 2011-01-10  Nick Clifton  <nickc@redhat.com>
944
945         * po/da.po: Updated Danish translation.
946
947 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
948
949         * ldlang.c (startup_file): Removed.
950         (lang_startup): Updated.
951
952 2011-01-05  H.J. Lu  <hongjiu.lu@intel.com>
953
954         PR ld/12364
955         * plugin.c (get_symbols): Check if owner_sec->owner is NULL
956         before accessing its flags field.
957
958 2011-01-01  H.J. Lu  <hongjiu.lu@intel.com>
959
960         * ldver.c (ldversion): Update copyright to 2011.
961
962 For older changes see ChangeLog-2010
963 \f
964 Local Variables:
965 mode: change-log
966 left-margin: 8
967 fill-column: 74
968 version-control: never
969 End: