2011-04-18 Kai Tietz <ktietz@redhat.com>
[external/binutils.git] / ld / ChangeLog
1 2011-04-18  Kai Tietz  <ktietz@redhat.com>
2
3         * deffilep.y (def_pool_str): New type.
4         (pool_strs): Local static.
5         (def_pool_alloc): Local function.
6         (def_pool_strdup): Likewise.
7         (def_pool_free): Likewise.
8         (opt_name): Replace xmalloc/xstrdup by
9         def_pool_alloc/def_pool_strdup.
10         (dot_name): Likewise.
11         (anylang_id): Likewise.
12         (def_lex): Likewise.
13         (def_file_parse): Call def_pool_free on
14         exit and cleanup directives elements.
15         (def_file_add_directive): Call def_pool_free.
16
17 2011-04-18  Paul Brook  <paul@codesourcery.com>
18
19         * emulparams/elf32_tic6x_le.sh: Define OTHER_READONLY_SECTIONS
20         for unwinding tables.
21
22 2011-04-18  Alan Modra  <amodra@gmail.com>
23
24         PR ld/12365
25         PR ld/12672
26         * ldfile.c (ldfile_try_open_bfd): Don't attempt any plugin action
27         when no_more_claiming.
28         * ldmain.c (add_archive_element): Likewise.
29         (multiple_definition): Remove plugin_multiple_definition call.
30         (notice): Remove plugin_notice call.
31         * ldlang.c (lang_list_insert_after, void lang_list_remove_tail): Move.
32         Delete prototype.
33         (plugin_insert): New static var.
34         (open_input_bfds): Only rescan libs after plugin insert point.
35         (lang_gc_sections): Omit plugin claimed files.
36         (lang_process): Set plugin_insert.  Only rescan when plugin adds
37         objects.
38         * plugin.h (no_more_claiming): Declare.
39         (plugin_notice, plugin_multiple_definition): Don't declare.
40         * plugin.c: Formatting.
41         (orig_notice_all, orig_allow_multiple_defs, orig_callbacks,
42         plugin_callbacks): New static vars.
43         (no_more_claiming): Make global.
44         (plugin_cached_allow_multiple_defs): Delete.
45         (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy .text section,
46         use newer bfd_make_section variant.  Make COMMON section too.
47         Error handling.  Correct setting of gp size.
48         (asymbol_from_plugin_symbol): Properly cast last arg of concat.
49         (message): Likewise for ACONCAT.
50         (asymbol_from_plugin_symbol): Use our COMMON section.
51         (get_symbols): When report_plugin_symbols, show visibility too.
52         (init_non_ironly_hash): Move.  Don't test non_ironly_hash.
53         (plugin_load_plugins): Save state of linker callbacks, set up to
54         call plugin_notice instead.  Call init_non_ironly_hash here.
55         (plugin_call_all_symbols_read): Set plugin_multiple_definition in
56         plugin callbacks.
57         (plugin_notice): Rewrite.
58         (plugin_multiple_definition): Make static, call original callback.
59
60 2011-04-15  Alan Modra  <amodra@gmail.com>
61
62         PR ld/12672
63         * ldlang.c (enum open_bfd_mode): New.
64         (open_input_bfds): Replace "force" param with "mode".  Reload
65         archives for rescan.  Update all callers.
66         (lang_process): Make another open_input_bfds pass for plugins.
67
68 2011-04-13  Kai Tietz  <ktietz@redhat.com>
69
70         PR binutils/12658
71         * deffile.h (def_file_add_export): Add is_dup argument.
72         (def_file_add_import): Likewise.
73         * deffilep.y (are_names_equal): New helper.
74         (cmp_export_elem): New helper.
75         (find_export_in_list): Add search routine for exports.
76         (def_file_add_export): Check for duplicates.
77         (cmp_import_elem): New helper.
78         (find_import_in_list): Add search routine for imports.
79         (def_file_add_import): Check for duplicates.
80         (def_exports): Handle duplicates.
81         (def_imports): Likewise.
82         * pe-dll.c (process_def_file_and_drectve): Likewise.
83         (pe_implied_import_dll): Likewise.
84
85 2011-04-11  Chris Quenelle  <chris.quenelle@oracle.com>
86
87         * scripttempl/elf.sc (.exception_ranges): Add new section.
88
89 2011-04-08  Hector Oron  <hector.oron@gmail.com>
90
91         PR ld/12643
92         * configure.tgt: Add support for arm-*-gnueabihf targets.
93
94 2011-04-07  Eric B. Weddington  <eric.weddington@atmel.com>
95
96         * Makefile.in: Regenerate. Remove stray eavrtiny10 rules.
97
98 2011-04-07  Joseph Myers  <joseph@codesourcery.com>
99
100         * configure.tgt: Remove stray ;;.
101
102 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
103
104         * configure.tgt (thumb-*-linux-* | thumb-*-uclinux*,
105         strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*,
106         thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe,
107         xscale-*-coff, xscale-*-elf): Remove targets.
108
109 2011-03-31  H.J. Lu  <hongjiu.lu@intel.com>
110
111         * configure.tgt: Add elf_l1om to targ_extra_libpath for
112          x86_64-*-linux-*.
113
114         * emulparams/elf_l1om.sh: Remove duplicates.
115
116 2011-03-31  Bernd Schmidt  <bernds@codesourcery.com>
117
118         * emulparams/elf32_tic6x_le.sh (BIG_OUTPUT_FORMAT, EXTRA_EM_FILE,
119         GENERATE_SHLIB_SCRIPT): New defines.
120         (TEXT_START_ADDR): Define differently depending on target.
121         (.got): Redefine to include "*(.dsbt)".
122         (SDATA_START_SYMBOLS): Remove, replace with
123         (OTHER_GOT_SYMBOLS): New.
124         (OTHER_BSS_SECTIONS): Define only for ELF targets.
125         * emultempl/tic6xdsbt.em: New file.
126         * gen-doc.texi: Set C6X.
127         * ld.texinfo: Likewise.
128         (Options specific to C6X uClinux targets): New section.
129
130 2011-03-29  Alan Modra  <amodra@gmail.com>
131
132         PR ld/12613
133         * ldlex.l (lex_warn_invalid): Don't assume char is unsigned.
134
135 2011-03-26  John Marino  <binutils@marino.st>
136
137         * configure.host: Update *-*-dragonfly* host entry.
138         * configure.tgt: Update *-*-dragonfly* target entry.
139         * ldlex.l: Prevent redefinition of YY_NO_UNPUT.
140
141 2011-03-28  Joseph Myers  <joseph@codesourcery.com>
142
143         * configure.in: Check for windows.h, not Windows.h.
144         * configure: Regenerate.
145         * plugin.c: Include windows.h, not Windows.h.
146
147 2011-03-25  Eric B. Weddington  <eric.weddington@atmel.com>
148
149         * Makefile.in: Regenerate.
150
151 2011-03-23  Joseph Myers  <joseph@codesourcery.com>
152
153         * lexsup.c (parse_args): Only set report_plugin_symbols if plugins
154         are enabled.  Mark level as possibly unused.
155
156 2011-03-22  Eric B. Weddington  <eric.weddington@atmel.com>
157
158         * Makefile.am (ALL_EMULATION_SOURCES): Add AVR XMEGA architectures.
159         (eavrxmega?.c): Likewise.
160         * configure.tgt (targ_extra_emuls): Likewise.
161         * emulparams/avrxmega1.sh: New file.
162         * emulparams/avrxmega2.sh: Likewise.
163         * emulparams/avrxmega3.sh: Likewise.
164         * emulparams/avrxmega4.sh: Likewise.
165         * emulparams/avrxmega5.sh: Likewise.
166         * emulparams/avrxmega6.sh: Likewise.
167         * emulparams/avrxmega7.sh: Likewise.
168         * emultempl/avrelf.em (avr_elf_${EMULATION_NAME}_before_allocation):
169         Add avrxmega6, avrxmega7 to list of architectures for no stubs.
170
171 2011-03-21  Eric B. Weddington  <eric.weddington@atmel.com>
172
173         * scripttempl/avr.sc: Add fuse, lock, and signature memory regions.
174
175 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
176
177         * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Check
178         eh->target_internal.
179
180 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
181
182         * emultempl/armelf.em (arm_elf_before_allocation): Check dynobj
183         instead of dynamic_sections_created.
184
185 2011-03-10  Dave Korn  <dave.korn.cygwin@gmail.com>
186
187         * plugin.c (get_symbols): Use wrapped lookup for undefined symbols.
188
189 2011-03-10  Dave Korn  <dave.korn.cygwin@gmail.com>
190
191         * ldlang.c (lang_check): Don't run checks on dummy IR BFDs.
192
193 2011-03-10  Dave Korn  <dave.korn.cygwin@gmail.com>
194
195         * ldlang.h (lang_input_statement_type): Add new 'claim_archive' flag,
196         wrapping both it and 'claim' flag in #ifdef ENABLE_PLUGINS.
197         * ldmain.c (add_archive_element): Set it if the member is claimed.
198         * ldlang.c (new_afile): Initialise claim_archive and claimed members.
199         (find_replacements_insert_point): New helper function.
200         (lang_process): After adding and opening replacement files passed
201         from plugin, splice them into correct place in statement list and
202         file chains to preserve critical link order.
203         (lang_list_insert_after): New helper function.
204         (lang_list_remove_tail): Likewise.
205
206 2011-03-10  Dave Korn  <dave.korn.cygwin@gmail.com>
207
208         * plugin.c (IRONLY_SUFFIX): Revise to nicely human-readable form.
209         (IRONLY_SUFFIX_LEN): Delete.
210         (plugin_get_ir_dummy_bfd): Don't append IRONLY_SUFFIX.
211         (is_ir_dummy_bfd): Don't look for suffix; check claimed flag of
212         enclosing lang input statement instead.
213
214 2011-03-10  Dave Korn  <dave.korn.cygwin@gmail.com>
215
216         * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Preserve
217         alignment of input sections when creating orphan output sections
218         during relocatable link.
219         * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
220
221 2011-03-04  H.J. Lu  <hongjiu.lu@intel.com>
222
223         * ld.texinfo: Document --verbose[=NUMBER].
224
225         * lexsup.c (ld_options): Update --verbose.
226         (parse_args): Set report_plugin_symbols.
227
228         * plugin.c (report_plugin_symbols): New.
229         (get_symbols): Report plugin symbols if report_plugin_symbols
230         is TRUE.
231
232         * plugin.h (report_plugin_symbols): New.
233
234 2011-03-01  H.J. Lu  <hongjiu.lu@intel.com>
235
236         PR ld/12529
237         * testplug.c: Don't include "filenames.h".
238         (onclaim_file): Don't use filename_cmp.
239
240 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
241
242         * emultempl/beos.em (sort_by_file_name): Use filename_(n)cmp.
243         * emultempl/elf32.em (gld${EMULATION_NAME}_vercheck):
244         Likewise.
245         (gld${EMULATION_NAME}_stat_needed): Likewise.
246         (gld${EMULATION_NAME}_check_needed): Likewise.
247         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise.
248         (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
249         * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise.
250         (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
251         * ldfile.c (ldfile_open_file): Likewise.
252         * ldlang.c (wild_sort): Likewise.
253         (lookup_name): Likewise.
254         (check_excluded_libs): Likewise.
255         * ldmisc.c (vfinfo): Likewise.
256         * pe-dll.c (libnamencmp): Likewise.
257         (auto_export): Likewise.
258         (pe_dll_generate_implib): Likewise.
259         * testplug.c (onclaim_file): Likewise.
260
261 2011-02-24  H.J. Lu  <hongjiu.lu@intel.com>
262
263         PR ld/12507
264         * plugin.c (get_symbols): Don't check entry symbol here.
265         (init_non_ironly_hash): Add entry_symbol chain into
266         non_ironly_hash.
267
268 2011-02-24  H.J. Lu  <hongjiu.lu@intel.com>
269
270         PR ld/12507
271         * plugin.c (get_symbols): Don't mark entry symbol IR only.
272
273 2011-02-18  John David Anglin  <dave.anglin@nrc-cnnrc.gc.ca>
274
275         PR ld/12376
276         emulparams/hppalinux.sh (DATA_ADDR): Define.
277         (SHLIB_DATA_ADDR): Likewise.
278
279 2011-02-16  H.J. Lu  <hongjiu.lu@intel.com>
280
281         * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX): Changed to
282         x32 for x32.
283
284 2011-02-15  Kai Tietz  <kai.tietz@onevision.com>
285
286         * pe-dll.c (process_def_file_and_drectve): Don't strip
287         leading underscore from symbol by calling bfd_find_version_for_sym.
288
289 2011-02-14  Mike Frysinger  <vapier@gentoo.org>
290
291         * ldlang.c (lang_vers_match): Declare a new c_sym, assign it to
292         the bfd_demangle of sym, change users of sym to c_sym when not
293         already demangling, and free when done.  Change callers of
294         cplus_demangle to bfd_demangle.
295
296 2011-02-14  Alan Modra  <amodra@gmail.com>
297
298         * plugin.c (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy
299         .text section, use newer bfd_make_section variant.  Error handling.
300         Correct setting of gp size.
301         (asymbol_from_plugin_symbol): Properly cast last arg of concat.
302         (message): Likewise for ACONCAT.
303         (get_symbols): Formatting.
304
305 2011-02-14  Alan Modra  <amodra@gmail.com>
306
307         * ldmain.c (remove_output): Rename to..
308         (ld_cleanup): ..this. Call bfd_cache_close_all and plugin_call_cleanup.
309         (main): Adjust.
310         * plugin.c (plugin_call_cleanup): Make global.
311         (plugin_load_plugins): Don't register plugin_call_cleanup with xatexit.
312         * plugin.h (plugin_call_cleanup): Declare.
313
314 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
315
316         * configure: Regenerate.
317
318 2011-02-10  Alan Modra  <amodra@gmail.com>
319
320         * scripttempl/armbpabi.sc: Revert 2010-11-02  H.J. Lu.
321         * scripttempl/avr.sc: Likewise.
322         * scripttempl/elf32cr16.sc: Likewise.
323         * scripttempl/elf32crx.sc: Likewise.
324         * scripttempl/elf32msp430.sc: Likewise.
325         * scripttempl/elf32msp430_3.sc: Likewise.
326         * scripttempl/elf32sh-symbian.sc: Likewise.
327         * scripttempl/elf64hppa.sc: Likewise.
328         * scripttempl/elf_chaos.sc: Likewise.
329         * scripttempl/elfd10v.sc: Likewise.
330         * scripttempl/elfd30v.sc: Likewise.
331         * scripttempl/elfi370.sc: Likewise.
332         * scripttempl/elfm68hc11.sc: Likewise.
333         * scripttempl/elfm68hc12.sc: Likewise.
334         * scripttempl/elfxtensa.sc: Likewise.
335         * scripttempl/ip2k.sc: Likewise.
336         * scripttempl/iq2000.sc: Likewise.
337         * scripttempl/mep.sc: Likewise.
338         * scripttempl/mmo.sc: Likewise.
339         * scripttempl/v850.sc: Likewise.
340         * scripttempl/xstormy16.sc: Likewise.
341         * scripttempl/elf.sc: Revert 2010-10-29  H.J. Lu.
342
343 2011-01-22  H.J. Lu  <hongjiu.lu@intel.com>
344
345         * Makefile.am (CXX): Removed.
346
347         * configure.in: Add AC_PROG_CXX.
348
349         * Makefile.in: Regenerated.
350         * configure: Likewise.
351
352 2011-01-22  Richard Sandiford  <rdsandiford@googlemail.com>
353
354         * plugin.c (plugin_get_ir_dummy_bfd): Copy across the bfd's
355         private data and GP size.
356
357 2011-01-21  Alan Modra  <amodra@gmail.com>
358
359         * ldexp.c (fold_binary): Set result section for arithmetic and
360         logical operations to NULL when both operands are in same section.
361         * ld.texinfo (Expression Section): Describe this.
362
363 2011-01-14  Alan Modra  <amodra@gmail.com>
364
365         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
366         attempt to put non-alloc orphans before debug sections, just place
367         them after .comment.
368
369 2011-01-14  J. Park  <grassman@gmail.com>
370
371         PR ld/12339
372         * ldlang.c (sort_def_symbol): Handle bfd_link_hash_warning symbols.
373
374 2011-01-14  Alan Modra  <amodra@gmail.com>
375
376         * Makefile.am: Sort emulation rules.
377         (eelf32am33lin.c): Delete.
378         (ALL_EMULATION_SOURCES): Sort, add missing entries.
379         (ALL_64_EMULATION_SOURCES): Likewise.
380         * Makefile.in: Regenerate.
381
382 2011-01-13  Alan Modra  <amodra@gmail.com>
383
384         PR ld/12356
385         * ld.texinfo (Miscellaneous Commands): Describe LD_FEATURE.
386         (Expression Section): Update.
387         * ld.h (ld_config_type): Add sane_expr.
388         * ldgram.y (ifile_p1): Add LD_FEATURE.
389         * ldlex.l (LD_FEATYRE): New.
390         * ldemul.c (after_parse_default): Delete code handling ld_compatibility.
391         * ldexp.h (struct ldexp_control): Delete uses_defined.
392         * ldexp.c: Remove all uses of uses_defined.
393         (fold_name): Test config.sane_expr rather than ld_compatibility.
394         (exp_fold_tree_1): Likewise.  Adjust handling of assignments
395         during first phase.
396         * ldlang.h (ld_compatibility): Delete.
397         (lang_ld_feature): Declare.
398         * ldlang.c (ld_compatibility): Delete.
399         (open_input_bfds): Only handle assignments for --defsym.
400         (lang_ld_feature): New function.
401
402         PR ld/12356
403         * ldexp.h (exp_assop): Delete.
404         (exp_assign, exp_defsym): Declare.
405         * ldexp.c (exp_assop): Make static, handle all assignment variations.
406         (exp_assign, exp_defsym): New functions.
407         (exp_provide): Use exp_assop.
408         * ldgram.y (defsym_expr): Use exp_defsym.
409         * ldctor.c, * ldgram.y, * ldlang.c, * mri.c, * emultempl/beos.em,
410         * emultempl/pe.em, * emultempl/pep.em, * emultempl/spuelf.em,
411         * emultempl/xtensaelf.em: Update exp_assop -> exp_assign.
412
413 2011-01-12  Alan Modra  <amodra@gmail.com>
414
415         PR ld/12380
416         * ldexp.h (enum phase_enum): Comment.  Add exp_dataseg_done.
417         * ldexp.c (fold_unary <DATA_SEGMENT_END>): Rearrange code.  Test
418         for exp_dataseg_done rather than expld.phase == lang_final_phase_enum
419         to detect when we've finished sizing sections.
420         (fold_binary <DATA_SEGMENT_ALIGN>): Likewise.
421         (fold_binary <DATA_SEGMENT_RELRO_END>): Likewise.  Also test
422         that we are not inside an output section statement.
423         * ldlang.c (lang_size_sections): Set exp_dataseg_done on exit if
424         not exp_dataseg_relro_adjust or exp_dataseg_adjust.  Don't set
425         lang_final_phase_enum here.
426         (lang_process): Set lang_final_phase_enum here.
427
428 2011-01-10  Nick Clifton  <nickc@redhat.com>
429
430         * po/da.po: Updated Danish translation.
431
432 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
433
434         * ldlang.c (startup_file): Removed.
435         (lang_startup): Updated.
436
437 2011-01-05  H.J. Lu  <hongjiu.lu@intel.com>
438
439         PR ld/12364
440         * plugin.c (get_symbols): Check if owner_sec->owner is NULL
441         before accessing its flags field.
442
443 2011-01-01  H.J. Lu  <hongjiu.lu@intel.com>
444
445         * ldver.c (ldversion): Update copyright to 2011.
446
447 For older changes see ChangeLog-2010
448 \f
449 Local Variables:
450 mode: change-log
451 left-margin: 8
452 fill-column: 74
453 version-control: never
454 End: