aarch64: Add support for GNU indirect functions.
[platform/upstream/binutils.git] / ld / ChangeLog-2012
1 2012-12-18  Roland McGrath  <mcgrathr@google.com>
2
3         * ld.texinfo (Options): Describe -Trodata-segment.
4         * ldlex.h (enum option_values): Add OPTION_TRODATA_SEGMENT.
5         * lexsup.c (ld_options, parse_args): Handle -Trodata-segment.
6         * scripttempl/elf.sc (RODATA_ADDR, SHLIB_RODATA_ADDR): Wrap
7         SEGMENT_START("rodata-segment", ...) + SIZEOF_HEADERS around the value.
8
9 2012-12-17  Nick Clifton  <nickc@redhat.com>
10
11         * MAINTAINERS: Add copyright notice.
12         * Makefile.am: Likewise.
13         * NEWS: Likewise.
14         * README: Likewise.
15         * configure.host: Likewise.
16         * configure.in: Likewise.
17         * gen-doc.texi: Likewise.
18         * h8-doc.texi: Likewise.
19         * ldlex-wrapper.c: Likewise.
20         * emulparams/README: Likewise.
21         * emultempl/README: Likewise.
22         * scripttempl/README: Likewise.
23         * Makefile.in: Regenerate.
24
25 2012-12-17  Alan Modra  <amodra@gmail.com>
26
27         PR ld/14962
28         * ldexp.h (struct ldexp_control): Add "assign_name".
29         * ldexp.c (fold_name <NAME>): Compare and clear assign_name on match.
30         (exp_fold_tree_1): Remove existing code testing for self assignment.
31         Instead set and test expld.assign_name.
32         * ldlang.c (scan_for_self_assignment): Delete.
33         (print_assignment): Instead set and test expld.assign_name.
34
35 2012-12-11  Roland McGrath  <mcgrathr@google.com>
36
37         * emulparams/elf_nacl.sh (nacl_rodata_addr): New shell function.
38         (RODATA_ADDR, SHLIB_RODATA_ADDR): Use it to base the calculation
39         on SEGMENT_START("text-segment", ...) rather than ... alone.
40         * Makefile.am (earmelf_nacl.c, earmelfb_nacl.c): Add missing
41         dependency on $(srcdir)/emulparams/elf_nacl.sh.
42         * Makefile.in: Regenerate.
43
44 2012-12-05  H.J. Lu  <hongjiu.lu@intel.com>
45
46         PR ld/14915
47         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Also
48         check DT_NEEDED entries when creating shared object with
49         --copy-dt-needed-entries.
50
51 2012-12-05  Leif Ekblad  <leif@rdos.net>
52
53         * configure.tgt: Add x86_64-*-rdos.
54
55 2012-12-03  H.J. Lu  <hongjiu.lu@intel.com>
56
57         PR ld/14904
58         * ldmain.c (main): Don't check plugin_load_plugins return.
59
60         * lexsup.c (parse_args): Don't check plugin_opt_plugin return.
61
62         * plugin.c (dlerror): New.  Defined if HAVE_DLFCN_H isn't
63         defined.
64         (plugin_opt_plugin): Change return type to void.  Stop on
65         dlopen error and report error with dlerror ().
66         (plugin_load_plugins): Change return type to void.  Stop on
67         dlsym error and report error with dlerror ().  Don't use
68         set_plugin_error.
69         (plugin_call_cleanup): Issue an error for each plugin.
70
71         * plugin.h (plugin_opt_plugin): Change return type to void.
72         (plugin_load_plugins): Likewise.
73
74 2012-11-30  Joern Rennecke <joern.rennecke@embecosm.com>
75
76         * scripttempl/epiphany_4x4.sc, emulparams/elf32epiphany_4x4.sh: Add.
77         * emultempl/epiphanyelf_4x4.em: Likewise.
78         * configure.tgt: Add elf32epiphany_4x4 support.
79         * Makefile.am: Likewise.
80         * Makefile.in: Regenerate.
81
82 2012-11-29  Maciej W. Rozycki  <macro@codesourcery.com>
83
84         * Makefile.in: Regenerate.
85
86 2012-11-27  Nick Clifton  <nickc@redhat.com>
87
88         PR ld/14776
89         * ld.texinfo: Fix spelling mistakes.
90
91 2012-11-26  Roland McGrath  <mcgrathr@google.com>
92
93         * emultempl/aarch64elf.em (gld${EMULATION_NAME}_before_parse):
94         Copy last elf32.em here too.
95         * emultempl/armelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
96         * emultempl/mmixelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
97         * emultempl/scoreelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
98
99 2012-11-21  Roland McGrath  <mcgrathr@google.com>
100
101         * ld.h (ld_config_type): New flag member separate_code.
102         * emultempl/elf32.em
103         (gld${EMULATION_NAME}_before_parse): Set it based on $SEPARATE_CODE.
104         * ldlang.c (ldlang_override_segment_assignment): If it's set, then
105         always return TRUE when SEC_CODE differs between the sections.
106
107 2012-11-20  H.J. Lu  <hongjiu.lu@intel.com>
108
109         * ld.texinfo: Document "-z global".
110
111         * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Support
112         "-z global".
113         (gld${EMULATION_NAME}_list_options): Likewise.
114
115 2012-11-15  Maxim Kuvyrkov  <maxim@codesourcery.com>
116
117         Port lib32 arrangement from Debian.
118         * emulparams/elf_i386.sh: Include lib32 directories in library search
119         path.
120
121 2012-11-15  Simon Baldwin  <simonb@google.com>
122
123         * ldmain.c (main): Add start_sbrk set to sbrk(0) on entry.
124         On exit, compute data size as the delta between current
125         sbrk(0) and start_sbrk.
126
127 2012-11-09  Nick Clifton  <nickc@redhat.com>
128
129         * emultempl/rxelf.em (no_flag_mismatch_warnings): Initialise to
130         true.
131         (PARSE_AND_LIST_LONGOPTS): Add flag-mismatch-warnings.
132         (PARSE_AND_LIST_ARG_CASES): Add support for
133         --flag-mismatch-warnings.
134
135         * Makefile.am: (ALL_EMULATION_SOURCES): Add ev850_rh850.c.
136         * Makefile.in: Regenerate.
137         * configure.tgt (v850*-*-*): Make v850_rh850 the default
138         emulation. Add vanilla v850 as an extra emulation.
139         * emulparams/v850_rh850.sh: New file.
140         * scripttempl/v850_rh850.sc: New file.
141
142 2012-11-09  Edgar E. Iglesias <edgar.iglesias@gmail.com>
143
144         * Makefile.am: Add eelf32microblazeel.c and eelf32mbel_linux.c.
145         * Makefile.in: Regenerated.
146         * configure.tgt: Add microblazeel and set endian per target.
147         * emulparams/elf32mb_linux.sh: Add OUTPUT_FORMAT.
148         * emulparams/elf32microblaze.sh: Likewise.
149         * emulparams/elf32mbel_linux.sh: New file.
150         * emulparams/elf32microblazeel.sh: Likewise.
151
152 2012-11-09  H.J. Lu  <hongjiu.lu@intel.com>
153
154         * testplug.c (record_add_file): Remove trailing redundant `;'.
155
156 2012-11-05  Alan Modra  <amodra@gmail.com>
157
158         * configure.in: Apply 2012-09-10 change to config.in here.
159
160 2012-11-01  Nathan Sidwell  <nathan@codesourcery.com>
161
162         * emultempl/elf32.em: Print stacksize help.
163
164 2012-11-01  Alan Modra  <amodra@gmail.com>
165
166         * ldlang.c (insert_pad): Correct output section size calculation.
167         (lang_size_sections_1): Likewise for lang_data_statement and
168         lang_reloc_statement.
169
170 2012-10-29  Alan Modra  <amodra@gmail.com>
171
172         * configure.tgt (powerpcle-pe,winnt,cygwin): Add deffilep.o
173         and pe-dll.o.
174
175 2012-10-24  H.J. Lu  <hongjiu.lu@intel.com>
176
177         * ld.h (command_line): Remove
178         disable_target_specific_optimizations.
179         (RELAXATION_DISABLED_BY_DEFAULT): Removed.
180         (RELAXATION_DISABLED_BY_USER): Likewise.
181         (RELAXATION_ENABLED): Likewise.
182         (DISABLE_RELAXATION): Likewise.
183         (ENABLE_RELAXATION): Likewise.
184
185         * ldmain.c (main): Updated.
186
187         * ldmain.h (RELAXATION_DISABLED_BY_DEFAULT): New macro.
188         (RELAXATION_DISABLED_BY_USER): Likewise.
189         (RELAXATION_ENABLED): Likewise.
190         (DISABLE_RELAXATION): Likewise.
191         (ENABLE_RELAXATION): Likewise.
192
193 2012-10-23  Nathan Sidwell  <nathan@codesourcery.com>
194
195         * ld.texinfo (stack-size): New option.
196         * emultempl/elf32.em: Add stack-size option.
197
198 2012-10-22  Jan Beich  <jbeich@tormail.org>
199             Alan Modra  <amodra@gmail.com>
200
201         PR ld/14426
202         * ldlex.h (option_values): Add OPTION_IGNORE_UNRESOLVED_SYMBOL.
203         * lexsup.c (parse_args): Likewise.
204         (ld_options): Describe --ignore-unresolved-symbol.
205         * ldmain.h (add_ignoresym): Declare.
206         * ldmain.c (add_ignoresym): New function, extracted from..
207         (undefined_symbol): ..here.  Return if the symbol is in ignore_hash.
208         (constructor_callback): Don't use global link_info here.
209         (reloc_overflow): Likewise.
210
211 2012-10-22  Alan Modra  <amodra@gmail.com>
212
213         * plugin.c (plugin_load_plugins): Warning fix.
214
215 2012-10-18  Kai Tietz  <ktietz@redhat.com>
216
217         PR binutils/14067
218         * NEWS: Menition new feature.
219         * scripttempl/pep.sc: Add zdebug sections.
220         * scripttempl/pe.sc: L
221
222 2012-09-19  Steve Ellcey  <sellcey@mips.com>
223
224         * configure.tgt: Add mips*-mti-elf* target.
225
226 2012-09-17  Alan Modra  <amodra@gmail.com>
227
228         * ld.texinfo (Expression Section): Correct description of
229         conversions for a binary operation involving an absolute symbol
230         and a number.
231
232 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
233
234         * configure: Regenerate.
235
236 2012-09-13  Anthony Green  <green@moxielogic.com>
237
238         * emulparams/elf32moxie.sh (BIG_OUTPUT_FORMAT,
239         LITTLE_OUTPUT_FORMAT): Define.
240         (OUTPUT_FORMAT): Change to elf32-bigmoxie.
241         (EMBEDDED): Define.
242
243 2012-09-12  DJ Delorie  <dj@redhat.com>
244
245         * emulparams/elf32rx.sh (OTHER_READONLY_SECTIONS): Add W_* sections.
246
247 2012-09-10  Matthias Klose  <doko@ubuntu.com>
248
249         * config.in: Disable sanity check for kfreebsd.
250
251 2012-09-10  H.J. Lu  <hongjiu.lu@intel.com>
252
253         * configure: Regenerated.
254
255 2012-09-10  Iain Sandoe  <iain@codesourcery.com>
256             Alan Modra  <amodra@gmail.com>
257
258         * configure.tgt (powerpc-*-elf, et al): Define targ_extra_libpath.
259         Correct whitespace.
260         (powerpcle-*-elf, et al): Likewise.  Correct targ_extra_emuls.
261
262 2012-09-10  Iain Sandoe  <iain@codesourcery.com>
263
264         * configure.tgt (powerpc-*-elf, et al): Define targ64_extra_emuls
265         and targ64_extra_libpath.
266         (powerpcle-*-elf, et al): Likewise.
267
268 2012-09-09  Hans-Peter Nilsson  <hp@bitrange.com>
269
270         * emultempl/mmo.em (mmo_place_orphan): Rewrite to also attach
271         orphan sections to .data and .bss output sections, not just .text.
272         When giving up on finding a suitable output section, attach to any
273         output section other than .MMIX.reg_contents, if it exists.
274         * scripttempl/mmo.sc: Move output debug sections to just before
275         .MMIX.reg_contents.  Add .gnu.attributes.  Add new . = . NOP
276         assignments and move end-of-section provide-symbols after them
277         to force the end-of-section symbols to the address after orphan
278         placement.  Add SORT_NONE to .init and .fini sections.
279
280 2012-08-30  H.J. Lu  <hongjiu.lu@intel.com>
281
282         PR ld/14525
283         * scripttempl/elf.sc: Also provide __executable_start for PIE.
284
285 2012-08-17  Kai Tietz  <ktietz@redhat.com>
286
287         PR ld/14326
288         * scripttempl/pe.sc: Add _etext symbol.
289
290 2012-08-14  Nick Clifton  <nickc@redhat.com>
291
292         * configure.in (ALL_LINGUGAS): Add uk.
293         * configure: Regenerate.
294         * po/uk.po: New Ukranian translation.
295
296 2012-08-13  Ian Bolton  <ian.bolton@arm.com>
297             Laurent Desnogues  <laurent.desnogues@arm.com>
298             Jim MacArthur  <jim.macarthur@arm.com>
299             Marcus Shawcroft  <marcus.shawcroft@arm.com>
300             Nigel Stephens  <nigel.stephens@arm.com>
301             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
302             Richard Earnshaw  <rearnsha@arm.com>
303             Sofiane Naci  <sofiane.naci@arm.com>
304             Tejas Belagod  <tejas.belagod@arm.com>
305             Yufeng Zhang  <yufeng.zhang@arm.com>
306
307         * Makefile.am: Add AArch64.
308         * Makefile.in: Regenerate.
309         * configure.tgt: Add AArch64.
310         * emulparams/aarch64elf.sh: New file.
311         * emulparams/aarch64elfb.sh: New file.
312         * emulparams/aarch64linux.sh: New file.
313         * emulparams/aarch64linuxb.sh: New file.
314         * emultempl/aarch64elf.em: New file.
315         * NEWS: Mention the new feature.
316
317 2012-08-09  Nick Clifton  <nickc@redhat.com>
318
319         * po/vi.po: Updated Vietnamese translation.
320
321 2012-08-07  Daniel Green  <venix1@gmail.com>
322
323         * scripttempl/pe.sc (R_TLS): Add .tls$AAA and .tls$ZZZ.
324         * scripttempl/pep.sc (R_TLS): Add .tls$AAA and .tls$ZZZ.
325
326 2012-08-07  Nick Clifton  <nickc@redhat.com>
327
328         * po/ja.po: Updated Japanese translation.
329
330 2012-08-06  Maciej W. Rozycki  <macro@codesourcery.com>
331
332         * emulparams/elf32bmip.sh: Make _gp hidden.
333         * emulparams/elf32bmipn32-defs.sh: Likewise.
334         * emulparams/elf32mipswindiss.sh: Likewise.
335         * scripttempl/mips.sc: Likewise.
336
337 2012-08-06  Maciej W. Rozycki  <macro@codesourcery.com>
338
339         * ldexp.h (etree_union): Add defsym member to the assign member
340         structure.
341         (exp_assign): Add hidden argument to prototype.
342         * ldexp.c (exp_fold_tree_1): Use the defsym member to handle
343         --defsym symbols.
344         (exp_assop): Add defsym argument, initialize the defsym member
345         of the assign structure.
346         (exp_assign): Handle hidden symbols.
347         (exp_defsym): Update to use the defsym argument to exp_assop.
348         (exp_provide): Update to handle the defsym argument to exp_assop.
349         * ldlex.l (HIDDEN): New token.
350         * ldgram.y (HIDDEN): Likewise.
351         (assignment, section): Update calls to exp_assign.
352         * ldctor.c (ldctor_build_sets): Likewise.
353         * mri.c (mri_format): Likewise.
354         * ldlang.c (lang_insert_orphan, lang_leave_overlay): Likewise.
355         (open_input_bfds): Remove --defsym symbols special case.
356         * emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Update
357         call to exp_assign.
358         * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
359         * emultempl/pep.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
360         * emultempl/spuelf.em (spu_place_special_section): Likewise.
361         * emultempl/xtensaelf.em (ld_xtensa_insert_page_offsets):
362         Likewise.
363         * ld.texinfo (Assigning Values to Symbols): Add HIDDEN.
364         (HIDDEN): New subsection.
365
366 2012-07-31  H.J. Lu  <hongjiu.lu@intel.com>
367
368         PR ld/14156
369         * ldlang.c (wild_sort): Properly handle by_none.
370
371         * scripttempl/elf.sc: Add SORT_NONE to .init and .fini sections.
372         * scripttempl/elf32msp430.sc: Likewise.
373         * scripttempl/elf32msp430_3.sc: Likewise.
374         * scripttempl/elfd10v.sc: Likewise.
375         * scripttempl/elfd30v.sc: Likewise.
376         * scripttempl/elfxtensa.sc: Likewise.
377
378 2012-07-30  Nick Clifton  <nickc@redhat.com>
379
380         * po/ld.pot: Updated template.
381         * po/bg.po: Updated Bulgarian translation.
382         * po/es.po: Updated Spanish translation.
383         * po/fi.po: Updated Finnish translation.
384
385 2012-07-27  Mike Frysinger  <vapier@gentoo.org>
386
387         * configure.in (BFD_VERSION): Run bfd/configure --version and
388         parse the output of that.
389         * configure: Regenerate.
390
391 2012-07-27  Tristan Gingold  <gingold@adacore.com>
392
393         * NEWS: Add marker for 2.23.
394
395 2012-07-24  Jan Waclawek <konfera@efton.sk>
396
397         PR ld/14058
398         * emultempl/avrelf.em (avr_elf_after_allocation): Call
399         elf32_avr_size_stubs with is_prealloc_run as TRUE.
400
401 2012-07-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
402
403         * emulparams/elf_s390.sh (IREL_IN_PLT): Define.
404         * emulparams/elf64_s390.sh (IREL_IN_PLT): Define.
405
406 2012-07-13  Nick Clifton  <nickc@redhat.com>
407
408         PR ld/14357
409         * ldmain.c (trace_file_tries): Rename to 'verbose'.
410         * ldfile.c: Likewise.
411         * ldlang.c: Likewise.
412         * ldmain.h: Likewise.
413         * lexsup.c: Likewise.
414         * emultempl/elf32.em: Likewise.
415         * emultemp/spuelf.em: Likewise.
416         * pe-dll.c (pe_dll_generate_implib): Only print creation message
417         in verbose mode.
418
419 2012-07-10  H.J. Lu  <hongjiu.lu@intel.com>
420
421         PR ld/14156
422         * NEWS: Mention SORT_NONE.
423
424         * ld.h (sort_type): Add by_none.
425
426         * ld.texinfo: Document SORT_NONE.
427
428         * ldgram.y: Handle SORT_NONE.
429
430         * ldlang.c (update_wild_statements): Handle by_none.  Don't
431         sort .init/.fini sections.
432
433         * ldlex.l: Add SORT_NONE.
434
435 2012-07-02  H.J. Lu  <hongjiu.lu@intel.com>
436
437         * ld.texinfo: Replace __end_SECNAME with __stop_SECNAME.
438
439 2012-06-29  Nick Clifton  <nickc@redhat.com>
440
441         * scripttempl/alphavms.sc: Add .debug_macro section.
442         * scripttempl/elf.sc: Likewise.
443         * scripttempl/elf64hppa.sc: Likewise.
444         * scripttempl/elf_chaos.sc: Likewise.
445         * scripttempl/elfxtensa.sc: Likewise.
446         * scripttempl/ia64vms.sc: Likewise.
447
448         * scripttempl/armbpabi.sc: Add .debug_pubtypes, .debug_ranges and
449         .debug_macro sections.
450         * scripttempl/avr.sc: Likewise.
451         * scripttempl/elf32cr16.sc: Likewise.
452         * scripttempl/elf32crx.sc: Likewise.
453         * scripttempl/elf32msp430.sc: Likewise.
454         * scripttempl/elf32msp430_3.sc: Likewise.
455         * scripttempl/elf32sh-symbian.sc: Likewise.
456         * scripttempl/elfd30v.sc: Likewise.
457         * scripttempl/elfi370.sc: Likewise.
458         * scripttempl/elfm68hc11.sc: Likewise.
459         * scripttempl/elfm68hc12.sc: Likewise.
460         * scripttempl/elfxgate.sc: Likewise.
461         * scripttempl/i386beos.sc: Likewise.
462         * scripttempl/i386go32.sc: Likewise.
463         * scripttempl/ip2k.sc: Likewise.
464         * scripttempl/iq2000.sc: Likewise.
465         * scripttempl/mep.sc: Likewise.
466         * scripttempl/mmo.sc: Likewise.
467         * scripttempl/v850.sc: Likewise.
468         * scripttempl/xstormy16.sc: Likewise.
469
470 2012-06-28  H.J. Lu  <hongjiu.lu@intel.com>
471
472         * ldlang.c (update_wild_statements): Remove redundant statement.
473
474 2012-06-25  Alan Modra  <amodra@gmail.com>
475
476         * ldlang.c (load_symbols): Close file and set flags.loaded
477         after parsing script file.
478         (open_input_bfds): Don't segv on closed script.
479
480 2012-06-24  H.J. Lu  <hongjiu.lu@intel.com>
481
482         * configure.tgt: Enable elf_k1om for x86_64-*-linux-gnux32.
483         Remove x32 in tdir_i386linux and tdir_elf_i386.
484
485 2012-06-22  Roland McGrath  <mcgrathr@google.com>
486
487         * NEWS: Mention __ehdr_start.
488
489 2012-06-21  Alan Modra  <amodra@gmail.com>
490
491         * ldlang.c (lang_insert_orphan): Don't make __start_<sec> symbol
492         absolute, and remove unnecessary alignment.
493
494 2012-06-16  Alan Modra  <amodra@gmail.com>
495
496         * ldlang.h (lang_output_section_statement_type): Add after_end field.
497         (lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
498         (section_for_dot): Declare.
499         * ldlang.c (lang_size_sections_1): Correct comment.
500         (current_section): Move earlier.
501         (current_assign, prefer_next_section): New static vars.
502         (lang_do_assignments_1): Add found_end param.  Detect _end
503         assignment to set found_end.  Set os->after_end.  Set above statics.
504         (lang_do_assignments): Adjust lang_do_assignments_1 call.  Init
505         vars.
506         (section_for_dot): New function.
507         (lang_set_startof): Don't make an absolute symbol.
508         (lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
509         * ldexp.c (new_rel_from_abs): Use section_for_dot.
510         * emultempl/lnk960.em (symbol_at_beginning_of): New function.
511         (symbol_at_end_of): Likewise.
512         (lnk960_after_allocation): Use them.
513         * scripttempl/elf.sc: Precede OTHER_GOT_SYMBOLS with . = .; and
514         likewise before __bss_start.
515
516 2012-06-14  H.J. Lu  <hongjiu.lu@intel.com>
517
518         * plugin.c (set_tv_header): Handle link_info.pie.
519
520 2012-06-11  Alan Modra  <amodra@gmail.com>
521
522         PR ld/14215
523         * ldexp.c (fold_name <SIZEOF, ALIGNOF>): Allow forward section
524         references.
525         * emulparams/elf32_x86_64.sh (SEPARATE_GOTPLT): Depend on size of
526         .got.plt.
527         * emulparams/elf32mb_linux.sh (SEPARATE_GOTPLT): Likewise.
528         * emulparams/elf32tilegx.sh (SEPARATE_GOTPLT): Likewise.
529         * emulparams/elf32tilepro.sh (SEPARATE_GOTPLT): Likewise.
530         * emulparams/elf64tilegx.sh (SEPARATE_GOTPLT): Likewise.
531         * emulparams/elf_i386.sh (SEPARATE_GOTPLT): Likewise.
532         * emulparams/elf_k1om.sh (SEPARATE_GOTPLT): Likewise.
533         * emulparams/elf_l1om.sh (SEPARATE_GOTPLT): Likewise.
534         * emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Likewise.
535
536 2012-06-07  Georg-Johann Lay  <avr@gjlay.de>
537
538         PR 13697
539         * scripttempl/avr.sc (.data): Keep it.
540
541 2012-06-02  Andreas Schwab  <schwab@linux-m68k.org>
542
543         * Makefile.am (TEXINFO_TEX): Remove $(top_srcdir) prefix.
544         * Makefile.in: Regenerate.
545
546 2012-05-30  Alan Modra  <amodra@gmail.com>
547
548         * ldlang.h (lang_output_section_statement_type): Rename
549         "section_relative_symbol" field to "update_dot".
550         * ldlang.c: Update all uses.
551         (strip_excluded_output_sections): Don't test update_dot_tree here..
552         (lang_leave_overlay): ..set update_dot here.
553
554 2012-05-26  Alan Modra  <amodra@gmail.com>
555
556         * ldlex.h (enum option_values): Move from..
557         * lexsup.c: ..here.
558         * emultempl/ppc32elf.em: Include ldlex.h.
559         (PARSE_AND_LIST_ARGS_CASES): Disable optimisations when
560         --traditional-format.
561         * emultempl/ppc64elf.em: Likewise.
562
563 2012-05-25  Alan Modra  <amodra@gmail.com>
564
565         PR ld/13909
566         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Handle
567         multiple .eh_frame sections attached to bfd.
568
569 2012-05-23  Cary Coutant  <ccoutant@google.com>
570
571         * scripttempl/armbpabi.sc: Match .data.rel.ro.* sections more
572         carefully.  Fix typo where .rela.data.rel.ro matches
573         .rel.data.rel.ro.
574         * scripttempl/mep.sc: Likewise.
575         * scripttempl/elf.sc: Match .data.rel.ro.* sections more carefully.
576         * scripttempl/elf64hppa.sc: Likewise.
577         * scripttempl/elfxtensa.sc: Likewise.
578
579 2012-05-17  Daniel Richard G.  <skunk@iskunk.org>
580             Nick Clifton  <nickc@redhat.com>
581
582         PR 14072
583         * configure.in: Add check that sysdep.h has been included before
584         any system header files.
585         * configure: Regenerate.
586         * config.in: Regenerate.
587         * sysdep.h: Generate an error if included before config.h.
588
589 2012-05-16  Sergio Durigan Junior  <sergiodj@redhat.com>
590
591         * emultempl/m68hc1xelf.em (hook_in_stub): Pass proper `bfd'
592         as the first argument for `bfd_get_section_name'.
593
594 2012-05-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>
595
596         PR ld/14069
597         * emultempl/elf32.em: Include *-*-gnu* targets in ld.so.conf
598         support.
599
600 2012-05-15  James Murray <jsm@jsm-net.demon.co.uk>
601
602         * NEWS: Mention the support for S12X processors.
603
604 2012-05-14  James Lemke  <jwlemke@codesourcery.com>
605
606         * ldlang.c (walk_wild_consider_section): Don't copy section_flag_list.
607         Pass it to callback.
608         (walk_wild_section_general): Pass section_flag_list to callback.
609         (lang_add_section): Add sflag_list parm.
610         Move out logic to keep / omit a section & call bfd_lookup_section_flags.
611         (output_section_callback_fast): Add sflag_list parm.
612         Add new parm to lang_add_section calls.
613         (output_section_callback): Likewise.
614         (check_section_callback): Add sflag_list parm.
615         (lang_place_orphans): Add new parm to lang_add_section calls.
616         (gc_section_callback): Add sflag_list parm.
617         (find_relro_section_callback): Likewise.
618         * ldlang.h (callback_t): Add flag_info parm.
619         (lang_add_section): Add sflag_list parm.
620         * emultempl/armelf.em (elf32_arm_add_stub_section):
621         Add lang_add_section parm.
622         * emultempl/beos.em (gld*_place_orphan): Likewise.
623         * emultempl/elf32.em (gld*_place_orphan): Likewise.
624         * emultempl/hppaelf.em (hppaelf_add_stub_section): Likewise.
625         * emultempl/m68hc1xelf.em (m68hc11elf_add_stub_section): Likewise.
626         * emultempl/mipself.em (mips_add_stub_section): Likewise.
627         * emultempl/mmo.em (mmo_place_orphan): Likewise.
628         * emultempl/pe.em (gld_*_place_orphan): Likewise.
629         * emultempl/pep.em (gld_*_place_orphan): Likewise.
630         * emultempl/ppc64elf.em (ppc_add_stub_section): Likewise.
631         * emultempl/spuelf.em (spu_place_special_section): Likewise.
632         * emultempl/vms.em (vms_place_orphan): Likewise.
633
634 2012-05-14  Catherine Moore  <clm@codesourcery.com>
635
636         * NEWS:  Mention PowerPC VLE port.
637
638 2012-05-11  Daniel Richard G.  <skunk@iskunk.org>
639
640         PR binutils/14028
641         * configure.in: Invoke ACX_HEADER_STRING.
642         * configure: Regenerate.
643         * config.in: Regenerate.
644         * sysdep.h: If STRINGS_WITH_STRING is defined then include both
645         string.h and strings.h.
646
647 2012-05-08  Alan Modra  <amodra@gmail.com>
648
649         * Makefile.am (check_DEJAGNU): Export LC_ALL=C in place of other
650         LC and LANG environment vars.
651         * Makefile.in: Regenerate.
652
653 2012-05-07  Tristan Gingold  <gingold@adacore.com>
654
655         * pe-dll.c (udef_table): Make it static.
656
657 2012-05-05  Alan Modra  <amodra@gmail.com>
658
659         * pe-dll.c (process_def_file_and_drectve): Use bfd_und_section_ptr.
660         (generate_reloc): Use bfd_abs_section_ptr.
661
662 2012-05-04  H.J. Lu  <hongjiu.lu@intel.com>
663
664         * configure.tgt: Support x86_64-*-linux-gnux32.
665
666 2012-05-03  Sean Keys  <skeys@ipdatasys.com>
667
668         * Makefile.am (ALL_EMULATIONS): Added new emulation for XGATE
669         and XGATE (elf).
670         * Makefile.in: Rebuild.
671         * configure.tgt: Recognize XGATE.
672         * scripttempl/elfxgate.sc: New file, mostly cloned from m68hc12.
673         * emulparams/xgateelf: New emulation, mostly cloned from m68hc12.
674         * NEWS: Mention new support.
675
676 2012-04-26  Hans-Peter Nilsson  <hp@axis.com>
677
678         Make bfd asserts cause linker errors.
679         * ldmain.c (default_bfd_assert_handler): New variable.
680         (ld_bfd_assert_handler): New function.
681         (main): Call bfd_set_assert_handler.
682
683 2012-04-24  Alan Modra  <amodra@gmail.com>
684
685         * ldlang.c (size_input_section): Use sec_info_type rather than
686         usrdata->flags.just_syms.
687         * ldwrite.c (build_link_order): Likewise.
688         * emultempl/hppaelf.em (build_section_lists): Likewise.
689         * emultempl/ppc64elf.em (build_toc_list): Likewise.
690         * emultempl/armelf.em (build_section_lists): Likewise.
691         (after_allocation): Update for renamed sec_info_type value.
692         * emultempl/tic6xdsbt.em: Likewise.
693
694 2012-04-12  Roland McGrath  <mcgrathr@google.com>
695
696         * configure.tgt (arm*-*-nacl*, arm*b-*-nacl*): Handle them.
697         * emulparams/armelf_nacl.sh: New file.
698         * emulparams/armelfb_nacl.sh: New file.
699         * Makefile.am (ALL_EMULATION_SOURCES): Add earmelf_nacl.c
700         and earmelfb_nacl.c here.
701         (earmelf_nacl.c, earmelfb_nacl.c): New targets.
702         * Makefile.in: Regenerated.
703
704 2012-04-11  Tristan Gingold  <gingold@adacore.com>
705
706         * scripttempl/ia64vms.sc: New file.
707         * emultempl/vms.em (_before_parse): Support for ia64.
708         (elf64-ia64-vms): New fragment for ia64.
709         * emulparams/elf64_ia64_vms.sh: New file.
710         * configure.tgt (ia64-*-*vms*): Add.
711         * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64_ia64_vms.c
712         (eelf64_ia64_vms.c): New rule.
713         * Makefile.in: Regenerate.
714
715 2012-04-06  Roland McGrath  <mcgrathr@google.com>
716
717         * configure.in (AC_CHECK_HEADERS): Add locale.h.
718         * config.in: Regenerate.
719         * configure: Regenerate.
720
721 2012-04-05  Nick Clifton  <nickc@redhat.com>
722
723         * configure.in (AC_CHECK_FUNCS): Add setlocale.
724         (AM_LC_MESSAGES): Add.
725         * aclocal.m4: Regenerate.
726         * config.in: Regenerate.
727         * configure: Regenerate.
728
729 2012-04-03  Roland McGrath  <mcgrathr@google.com>
730
731         * configure.tgt (i[3-7]86-*-nacl*, x86_64-*-nacl*): Handle them.
732         * emulparams/elf_nacl.sh: New file.
733         * emulparams/elf_i386_nacl.sh: New file.
734         * emulparams/elf32_x86_64_nacl.sh: New file.
735         * emulparams/elf_x86_64_nacl.sh: New file.
736         * Makefile.am (ALL_EMULATION_SOURCES): Add eelf_i386_nacl.c here.
737         (ALL_64_EMULATION_SOURCES): Add eelf32_x86_64_nacl.c and
738         eelf_x86_64_nacl.c here.
739         (eelf_i386_nacl.c, eelf32_x86_64_nacl.c, eelf_x86_64_nacl.c):
740         New targets.
741         * Makefile.in: Regenerated.
742
743         * scripttempl/elf.sc: Handle SEPARATE_CODE cases.
744
745 2012-04-02  Mike Frysinger  <vapier@gentoo.org>
746
747         * ldmisc.c (vfinfo): Assign new local str to fmt.  Delete
748         putc call.  If str and fmt are different, call fwrite on
749         the difference.
750
751 2012-03-30  Nick Clifton  <nickc@redhat.com>
752
753         * po/vi.po: Updated Vietnamese translation.
754
755 2012-03-27  Roland McGrath  <mcgrathr@google.com>
756
757         * configure.in: Set want64 on a 64-bit host regardless of
758         --enable-targets=all.
759         * configure: Regenerated.
760
761 2012-03-26  Tristan Gingold  <gingold@adacore.com>
762
763         * lexsup.c (parse_args): Add a missing '\n'.
764
765 2012-03-25  Alan Modra  <amodra@gmail.com>
766
767         * ldemul.c (before_allocation_default): Revert last change.
768         * ldlang.c (lang_add_section): Likewise.
769         (strip_excluded_output_sections): Don't strip output sections with
770         user input sections when emitrelocations, unless all are SEC_EXCLUDE.
771
772 2012-03-23  Alan Modra  <amodra@gmail.com>
773
774         * ldemul.c (before_allocation_default): When emitrelocations,
775         don't strip sections..
776         * ldlang.c (lang_add_section): ..and don't set up map_head, map_tail.
777
778 2012-03-14  Kai Tietz  <ktietz@redhat.com>
779             Pascal Obry  <pascal@obry.net>
780
781         * pe-dll.c (found_sym): New static variable.
782         (undef_count): Likewise.
783         (key_value): New structure.
784         (undef_sort_cmp): Compare routine for qsort/bsearch.
785         (pe_find_cdecl_alias_match): Add new argument.
786         (pe_undef_alias_cdecl_match): Removed.
787         (pe_undef_count): New helper routine.
788         (pe_create_undef_table): Likewise.
789         (pe_process_import_defs): Use pe_create_undef_table and
790         new pe_undef_alias_cdecl_match function.
791
792 2012-03-14  Alan Modra  <amodra@gmail.com>
793
794         PR ld/13839
795         * ldexp.c (fold_name): Ignore undefined symbols when assigning to
796         dot in mark phase.
797         (exp_fold_tree_1): Evaluate assignment to dot expressions even when
798         discarding result, for side effects.  Fix typo in error message.
799
800 2012-03-08  Tristan Gingold  <gingold@adacore.com>
801
802         * ldexp.c (exp_print_tree): Special case for SEGMENT_START.
803         (exp_print_token): Constify.
804
805 2012-03-08  Alan Modra  <amodra@gmail.com>
806
807         PR ld/10340
808         * ldfile.c (is_sysrooted_pathname): Remove notsame param.
809         (ldfile_add_library_path): Don't set sysrooted flag.
810         (ldfile_open_file_search): Likewise, and don't copy them.
811         (try_open): Delete exten and code handling such.  Add sysrooted
812         param and return whether path is in sysroot.
813         (ldfile_find_command_file): Delete extend param.  Add sysrooted
814         param.  Rename local var.  Update try_open calls.
815         (ldfile_open_command_file_1): Pass sysrooted to lex_push_file.
816         * ldfile.h (search_dirs_type): Remove sysrooted field.
817         * ldlang.c (new_afile): Always set sysrooted from input_flags.
818         (load_symbols): Don't set input_flags.sysrooted.
819         * ldlang.h (struct lang_input_statement_flags): Revise sysrooted
820         comment.
821         * ldlex.h (lex_push_file): Update prototype.
822         * ldlex.l (sysrooted_stack): New array.
823         (EOF): Pop input_flags.sysrooted.
824         (lex_push_file): Add sysrooted param.  Save and set
825         input_flags.sysrooted.
826
827 2012-03-06  Alan Modra  <amodra@gmail.com>
828
829         * ldlang.h (struct lang_input_statement_flags): New, extract from..
830         (lang_input_statement_type): ..here.  New field "flags".
831         (input_flags): Declare.
832         (missing_file): Delete.
833         * ldmain.h (whole_archive): Delete.
834         (add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
835         * ld.h (ld_config_type <dynamic_link>): Delete.
836         * ldmain.c (whole_archive): Delete.
837         (add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
838         * ldlang.c (missing_file, ldlang_sysrooted_script): Delete.
839         (input_flags): New variable.  Replace all uses of config.dynamic_link,
840         missing_file, ldlang_sysrooted_script, whole_archive,
841         add_DT_NEEDED_for_regular and add_DT_NEEDED_for_dynamic with fields
842         from here.
843         * ldfile.c: Likewise.
844         * ldgram.y: Likewise.
845         * ldmain.c: Likewise.
846         * ldwrite.c: Likewise.
847         * lexsup.c: Likewise.
848         * plugin.c: Likewise.
849         * emultempl/aix.em: Likewise.
850         * emultempl/armelf.em: Likewise.
851         * emultempl/elf32.em: Likewise.
852         * emultempl/hppaelf.em: Likewise.
853         * emultempl/linux.em: Likewise.
854         * emultempl/pe.em: Likewise.
855         * emultempl/pep.em: Likewise.
856         * emultempl/ppc64elf.em: Likewise.
857         * emultempl/scoreelf.em: Likewise.
858         * emultempl/spuelf.em: Likewise.
859         * emultempl/sunos.em: Likewise.
860         * emultempl/vms.em: Likewise.
861         * ldlang.c (new_afile): Use memset to init zero fields.
862         (load_symbols): Simplify save and restore of flags around command
863         file processing.
864         * ldfile.c (is_sysrooted_pathname): Tidy.
865
866 2012-03-05  Hans-Peter Nilsson  <hp@axis.com>
867
868         * configure.tgt (mips64*el-*-freebsd*, mips64*-*-freebsd*)
869         (mips*el-*-freebsd*, mips*-*-freebsd*): Correct triplets by
870         replacing trailing "-*" with "*".
871
872 2012-02-25  Walter Lee  <walt@tilera.com>
873
874         * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx_be.c.
875         (ALL_64_EMULATION_SOURCES): Add eelf64tilegx_be.c.
876         (eelf32tilegx_be.c): Add rule to build this file.
877         (eelf64tilegx_be.c): Ditto.
878         * Makefile.in: Regenerate.
879         * configure.tgt (tilegx-*-*): Support big endian.
880         (tilegxbe-*-*): New.
881         * emulparams/elf32tilegx.sh (OUTPUT_FORMAT): Rename.
882         (BIG_OUTPUT_FORMAT): Define.
883         (LITTLE_OUTPUT_FORMAT): Define.
884         * emulparams/elf32tilegx_be.sh: New.
885         * emulparams/elf64tilegx.sh (OUTPUT_FORMAT): Rename.
886         (BIG_OUTPUT_FORMAT): Define.
887         (LITTLE_OUTPUT_FORMAT): Define.
888         * emulparams/elf64tilegx_be.sh: New.
889
890 2012-02-24  Kai Tietz  <ktietz@redhat.com>
891
892         PR binutils/13710
893         * deffilep.y (keyword_as_name): Disable LIBRARY
894         keyword.
895
896 2012-02-22  Alan Modra  <amodra@gmail.com>
897
898         PR ld/13683
899         * ldlang.c (lang_process): Rerun lang_do_assignments before
900         starting garbage collection.
901         * ldexp.c (fold_name): Generate a reloc for defined symbols
902         found without an associated output section during the mark phase.
903         (exp_fold_tree_1): Continue processing an expression, even if we
904         are unable to fold it, if we are in the first two evaluation
905         phases.
906         * ldexp.h (enum lang_phase_type): Add descriptions of the phases.
907
908 2012-02-19  Kai Tietz  <ktietz@redhat.com>
909
910         * deffilep.y (cmp_import_elem): Sort first by module name.
911         * pe-dll.c (process_def_file_and_drectve): Free strings
912         from removed export-element.
913         (add_bfd_to_link): Optimize loop on import-elements and lower
914         allocated memory.
915         (pe_implied_import_dll): Pass NULL instead of 0 for pointer
916         argument.
917
918 2012-02-18  Hans-Peter Nilsson  <hp@axis.com>
919
920         * ldmisc.c (vfinfo <%S>): Use same type and avoid cast for
921         temporary variable node used for NULL argument.
922
923 2012-02-18  Alan Modra  <amodra@gmail.com>
924
925         PR ld/13343
926         * ld.h (parsing_defsym): Delete.
927         * ldexp.c (exp_intop, exp_bigintop, exp_relop): Set type.filename.
928         (fold_binary, fold_name, exp_fold_tree_1, exp_get_vma, exp_get_fill,
929         exp_get_abs_int): Add tree arg for %S in error messages.  Don't
930         fudge lineno.
931         (exp_binop, exp_unop, exp_nameop, exp_assop, exp_assert): Copy
932         type.filename from sub-tree.
933         (exp_trinop): Likewise, and use "cond" rather than "lhs".
934         * ldexp.h (node_type): Add filename field to struct.
935         * ldfile.c (ldfile_input_filename): Delete.  Remove all refs.
936         * ldfile.h (ldfile_input_filename): Delete.
937         * ldgram.y (phdr_type, phdr_qualifiers, yyerror): Add NULL arg for
938         %S in error messages.
939         * ldemul.c (syslib_default, hll_default): Likewise.
940         * ldlang.c (lang_memory_region_lookup, lang_memory_region_alias,
941         lang_get_regions, lang_new_phdr): Likewise.
942         (lang_size_sections_1): Pass addr_tree for %S.
943         * ldlex.h (lex_redirect): Update prototype.
944         (ldlex_filename): Declare.
945         * ldlex.l (<EOF>): Don't set ldfile_input_filename.
946         (lex_redirect): Add fake_filename and count params.  Push
947         fake_filename to file_name_stack and init lineno from count.
948         (ldlex_filename): New function.
949         (lex_warn_invalid): Use above.
950         * ldmain.c (main): Update lex_redirect call.
951         * ldmisc.c (vfinfo <%S>): Take file name and line number from
952         etree_type arg, or use current if arg is NULL.
953         * lexsup.c (parsing_defsym): Delete.
954         (parse_args <OPTION_DEFSYM>): Update lex_redirect call.
955
956 2012-02-13  Kai Tietz  <ktietz@redhat.com>
957
958         * deffilep.y (find_export_in_list): Set is_indent for
959         first or last element, if identical.
960         (find_import_in_list): Likewise.
961
962 2012-02-11  Kai Tietz  <ktietz@redhat.com>
963
964         * deffilep.y (%union): New type id_const.
965         (opt_name2): New rule.
966         (keyword_as_name): New rule.
967         (dot_name): Replaced by opt_name2 rule.
968         (opt_name): Adjust rule.
969         (opt_equal_name): Likewise.
970
971 2012-02-11  Pascal Obry  <pascal@obry.net>
972
973         * pe-dll.c (auto_export): Use bsearch to speed up scan of exports
974         table.
975         (process_def_file_and_drectve): Maintain sorting of exports table
976         after stripping leading @ signs.
977
978 2012-02-09  Alan Modra  <amodra@gmail.com>
979
980         * ldgram.y (input_section_spec_no_keep): Don't ignore sect_flags.
981
982 2012-01-31  H.J. Lu  <hongjiu.lu@intel.com>
983
984         PR ld/13616
985         * emulparams/elf32_x86_64.sh: Remove NOP.
986         * emulparams/elf_i386.sh: Likewise.
987         * emulparams/elf_i386_be.sh: Likewise.
988         * emulparams/elf_i386_ldso.sh: Likewise.
989         * emulparams/elf_i386_vxworks.sh: Likewise.
990         * emulparams/elf_k1om.sh: Likewise.
991         * emulparams/elf_l1om.sh: Likewise.
992         * emulparams/elf_x86_64.sh: Likewise.
993
994         * ldlang.c (zero_fill): Initialized to 0.
995
996         * ldwrite.c (build_link_order): Set data size to linker odrder
997         size when they are the same.
998
999         * scripttempl/elf.sc: Don't specify fill if NOP is undefined.
1000
1001 2012-01-17  Alan Modra  <amodra@gmail.com>
1002
1003         * ldver.c (ldversion): Update copyright message year.
1004
1005 2012-01-15  Alan Modra  <amodra@gmail.com>
1006
1007         PR ld/12758
1008         * ldlang.c (lang_process): Don't reopen all files, just those
1009         newly added by plugin.
1010
1011 2012-01-11  Alan Modra  <amodra@gmail.com>
1012
1013         * emultempl/ppc64elf.em (PARSE_AND_LIST_PROLOGUE,
1014         PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
1015         PARSE_AND_LIST_ARGS_CASES): Handle --{no-,}plt-thread-safe and
1016         --{no-,}plt-align.
1017         (plt_thread_safe, plt_stub_align): New vars.
1018         (gld${EMULATION_NAME}_after_allocation): Pass them to
1019         ppc64_elf_size_stubs.  Align stub sections according to plt_stub_align.
1020         * ld.texinfo: Document new command line options, and an old
1021         undocumented option.
1022
1023 2012-01-09  Roland McGrath  <mcgrathr@google.com>
1024
1025         * configure.in: Use AM_ZLIB.
1026         * configure: Regenerated.
1027
1028 For older changes see ChangeLog-2011
1029 \f
1030 Copyright (C) 2012 Free Software Foundation, Inc.
1031
1032 Copying and distribution of this file, with or without modification,
1033 are permitted in any medium without royalty provided the copyright
1034 notice and this notice are preserved.
1035
1036 Local Variables:
1037 mode: change-log
1038 left-margin: 8
1039 fill-column: 74
1040 version-control: never
1041 End: