1 2012-06-24 H.J. Lu <hongjiu.lu@intel.com>
3 * configure.tgt: Enable elf_k1om for x86_64-*-linux-gnux32.
4 Remove x32 in tdir_i386linux and tdir_elf_i386.
6 2012-06-22 Roland McGrath <mcgrathr@google.com>
8 * NEWS: Mention __ehdr_start.
10 2012-06-21 Alan Modra <amodra@gmail.com>
12 * ldlang.c (lang_insert_orphan): Don't make __start_<sec> symbol
13 absolute, and remove unnecessary alignment.
15 2012-06-16 Alan Modra <amodra@gmail.com>
17 * ldlang.h (lang_output_section_statement_type): Add after_end field.
18 (lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
19 (section_for_dot): Declare.
20 * ldlang.c (lang_size_sections_1): Correct comment.
21 (current_section): Move earlier.
22 (current_assign, prefer_next_section): New static vars.
23 (lang_do_assignments_1): Add found_end param. Detect _end
24 assignment to set found_end. Set os->after_end. Set above statics.
25 (lang_do_assignments): Adjust lang_do_assignments_1 call. Init
27 (section_for_dot): New function.
28 (lang_set_startof): Don't make an absolute symbol.
29 (lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
30 * ldexp.c (new_rel_from_abs): Use section_for_dot.
31 * emultempl/lnk960.em (symbol_at_beginning_of): New function.
32 (symbol_at_end_of): Likewise.
33 (lnk960_after_allocation): Use them.
34 * scripttempl/elf.sc: Precede OTHER_GOT_SYMBOLS with . = .; and
35 likewise before __bss_start.
37 2012-06-14 H.J. Lu <hongjiu.lu@intel.com>
39 * plugin.c (set_tv_header): Handle link_info.pie.
41 2012-06-11 Alan Modra <amodra@gmail.com>
44 * ldexp.c (fold_name <SIZEOF, ALIGNOF>): Allow forward section
46 * emulparams/elf32_x86_64.sh (SEPARATE_GOTPLT): Depend on size of
48 * emulparams/elf32mb_linux.sh (SEPARATE_GOTPLT): Likewise.
49 * emulparams/elf32tilegx.sh (SEPARATE_GOTPLT): Likewise.
50 * emulparams/elf32tilepro.sh (SEPARATE_GOTPLT): Likewise.
51 * emulparams/elf64tilegx.sh (SEPARATE_GOTPLT): Likewise.
52 * emulparams/elf_i386.sh (SEPARATE_GOTPLT): Likewise.
53 * emulparams/elf_k1om.sh (SEPARATE_GOTPLT): Likewise.
54 * emulparams/elf_l1om.sh (SEPARATE_GOTPLT): Likewise.
55 * emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Likewise.
57 2012-06-07 Georg-Johann Lay <avr@gjlay.de>
60 * scripttempl/avr.sc (.data): Keep it.
62 2012-06-02 Andreas Schwab <schwab@linux-m68k.org>
64 * Makefile.am (TEXINFO_TEX): Remove $(top_srcdir) prefix.
65 * Makefile.in: Regenerate.
67 2012-05-30 Alan Modra <amodra@gmail.com>
69 * ldlang.h (lang_output_section_statement_type): Rename
70 "section_relative_symbol" field to "update_dot".
71 * ldlang.c: Update all uses.
72 (strip_excluded_output_sections): Don't test update_dot_tree here..
73 (lang_leave_overlay): ..set update_dot here.
75 2012-05-26 Alan Modra <amodra@gmail.com>
77 * ldlex.h (enum option_values): Move from..
79 * emultempl/ppc32elf.em: Include ldlex.h.
80 (PARSE_AND_LIST_ARGS_CASES): Disable optimisations when
82 * emultempl/ppc64elf.em: Likewise.
84 2012-05-25 Alan Modra <amodra@gmail.com>
87 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Handle
88 multiple .eh_frame sections attached to bfd.
90 2012-05-23 Cary Coutant <ccoutant@google.com>
92 * scripttempl/armbpabi.sc: Match .data.rel.ro.* sections more
93 carefully. Fix typo where .rela.data.rel.ro matches
95 * scripttempl/mep.sc: Likewise.
96 * scripttempl/elf.sc: Match .data.rel.ro.* sections more carefully.
97 * scripttempl/elf64hppa.sc: Likewise.
98 * scripttempl/elfxtensa.sc: Likewise.
100 2012-05-17 Daniel Richard G. <skunk@iskunk.org>
101 Nick Clifton <nickc@redhat.com>
104 * configure.in: Add check that sysdep.h has been included before
105 any system header files.
106 * configure: Regenerate.
107 * config.in: Regenerate.
108 * sysdep.h: Generate an error if included before config.h.
110 2012-05-16 Sergio Durigan Junior <sergiodj@redhat.com>
112 * emultempl/m68hc1xelf.em (hook_in_stub): Pass proper `bfd'
113 as the first argument for `bfd_get_section_name'.
115 2012-05-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
118 * emultempl/elf32.em: Include *-*-gnu* targets in ld.so.conf
121 2012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
123 * NEWS: Mention the support for S12X processors.
125 2012-05-14 James Lemke <jwlemke@codesourcery.com>
127 * ldlang.c (walk_wild_consider_section): Don't copy section_flag_list.
129 (walk_wild_section_general): Pass section_flag_list to callback.
130 (lang_add_section): Add sflag_list parm.
131 Move out logic to keep / omit a section & call bfd_lookup_section_flags.
132 (output_section_callback_fast): Add sflag_list parm.
133 Add new parm to lang_add_section calls.
134 (output_section_callback): Likewise.
135 (check_section_callback): Add sflag_list parm.
136 (lang_place_orphans): Add new parm to lang_add_section calls.
137 (gc_section_callback): Add sflag_list parm.
138 (find_relro_section_callback): Likewise.
139 * ldlang.h (callback_t): Add flag_info parm.
140 (lang_add_section): Add sflag_list parm.
141 * emultempl/armelf.em (elf32_arm_add_stub_section):
142 Add lang_add_section parm.
143 * emultempl/beos.em (gld*_place_orphan): Likewise.
144 * emultempl/elf32.em (gld*_place_orphan): Likewise.
145 * emultempl/hppaelf.em (hppaelf_add_stub_section): Likewise.
146 * emultempl/m68hc1xelf.em (m68hc11elf_add_stub_section): Likewise.
147 * emultempl/mipself.em (mips_add_stub_section): Likewise.
148 * emultempl/mmo.em (mmo_place_orphan): Likewise.
149 * emultempl/pe.em (gld_*_place_orphan): Likewise.
150 * emultempl/pep.em (gld_*_place_orphan): Likewise.
151 * emultempl/ppc64elf.em (ppc_add_stub_section): Likewise.
152 * emultempl/spuelf.em (spu_place_special_section): Likewise.
153 * emultempl/vms.em (vms_place_orphan): Likewise.
155 2012-05-14 Catherine Moore <clm@codesourcery.com>
157 * NEWS: Mention PowerPC VLE port.
159 2012-05-11 Daniel Richard G. <skunk@iskunk.org>
162 * configure.in: Invoke ACX_HEADER_STRING.
163 * configure: Regenerate.
164 * config.in: Regenerate.
165 * sysdep.h: If STRINGS_WITH_STRING is defined then include both
166 string.h and strings.h.
168 2012-05-08 Alan Modra <amodra@gmail.com>
170 * Makefile.am (check_DEJAGNU): Export LC_ALL=C in place of other
171 LC and LANG environment vars.
172 * Makefile.in: Regenerate.
174 2012-05-07 Tristan Gingold <gingold@adacore.com>
176 * pe-dll.c (udef_table): Make it static.
178 2012-05-05 Alan Modra <amodra@gmail.com>
180 * pe-dll.c (process_def_file_and_drectve): Use bfd_und_section_ptr.
181 (generate_reloc): Use bfd_abs_section_ptr.
183 2012-05-04 H.J. Lu <hongjiu.lu@intel.com>
185 * configure.tgt: Support x86_64-*-linux-gnux32.
187 2012-05-03 Sean Keys <skeys@ipdatasys.com>
189 * Makefile.am (ALL_EMULATIONS): Added new emulation for XGATE
191 * Makefile.in: Rebuild.
192 * configure.tgt: Recognize XGATE.
193 * scripttempl/elfxgate.sc: New file, mostly cloned from m68hc12.
194 * emulparams/xgateelf: New emulation, mostly cloned from m68hc12.
195 * NEWS: Mention new support.
197 2012-04-26 Hans-Peter Nilsson <hp@axis.com>
199 Make bfd asserts cause linker errors.
200 * ldmain.c (default_bfd_assert_handler): New variable.
201 (ld_bfd_assert_handler): New function.
202 (main): Call bfd_set_assert_handler.
204 2012-04-24 Alan Modra <amodra@gmail.com>
206 * ldlang.c (size_input_section): Use sec_info_type rather than
207 usrdata->flags.just_syms.
208 * ldwrite.c (build_link_order): Likewise.
209 * emultempl/hppaelf.em (build_section_lists): Likewise.
210 * emultempl/ppc64elf.em (build_toc_list): Likewise.
211 * emultempl/armelf.em (build_section_lists): Likewise.
212 (after_allocation): Update for renamed sec_info_type value.
213 * emultempl/tic6xdsbt.em: Likewise.
215 2012-04-12 Roland McGrath <mcgrathr@google.com>
217 * configure.tgt (arm*-*-nacl*, arm*b-*-nacl*): Handle them.
218 * emulparams/armelf_nacl.sh: New file.
219 * emulparams/armelfb_nacl.sh: New file.
220 * Makefile.am (ALL_EMULATION_SOURCES): Add earmelf_nacl.c
221 and earmelfb_nacl.c here.
222 (earmelf_nacl.c, earmelfb_nacl.c): New targets.
223 * Makefile.in: Regenerated.
225 2012-04-11 Tristan Gingold <gingold@adacore.com>
227 * scripttempl/ia64vms.sc: New file.
228 * emultempl/vms.em (_before_parse): Support for ia64.
229 (elf64-ia64-vms): New fragment for ia64.
230 * emulparams/elf64_ia64_vms.sh: New file.
231 * configure.tgt (ia64-*-*vms*): Add.
232 * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64_ia64_vms.c
233 (eelf64_ia64_vms.c): New rule.
234 * Makefile.in: Regenerate.
236 2012-04-06 Roland McGrath <mcgrathr@google.com>
238 * configure.in (AC_CHECK_HEADERS): Add locale.h.
239 * config.in: Regenerate.
240 * configure: Regenerate.
242 2012-04-05 Nick Clifton <nickc@redhat.com>
244 * configure.in (AC_CHECK_FUNCS): Add setlocale.
245 (AM_LC_MESSAGES): Add.
246 * aclocal.m4: Regenerate.
247 * config.in: Regenerate.
248 * configure: Regenerate.
250 2012-04-03 Roland McGrath <mcgrathr@google.com>
252 * configure.tgt (i[3-7]86-*-nacl*, x86_64-*-nacl*): Handle them.
253 * emulparams/elf_nacl.sh: New file.
254 * emulparams/elf_i386_nacl.sh: New file.
255 * emulparams/elf32_x86_64_nacl.sh: New file.
256 * emulparams/elf_x86_64_nacl.sh: New file.
257 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf_i386_nacl.c here.
258 (ALL_64_EMULATION_SOURCES): Add eelf32_x86_64_nacl.c and
259 eelf_x86_64_nacl.c here.
260 (eelf_i386_nacl.c, eelf32_x86_64_nacl.c, eelf_x86_64_nacl.c):
262 * Makefile.in: Regenerated.
264 * scripttempl/elf.sc: Handle SEPARATE_CODE cases.
266 2012-04-02 Mike Frysinger <vapier@gentoo.org>
268 * ldmisc.c (vfinfo): Assign new local str to fmt. Delete
269 putc call. If str and fmt are different, call fwrite on
272 2012-03-30 Nick Clifton <nickc@redhat.com>
274 * po/vi.po: Updated Vietnamese translation.
276 2012-03-27 Roland McGrath <mcgrathr@google.com>
278 * configure.in: Set want64 on a 64-bit host regardless of
279 --enable-targets=all.
280 * configure: Regenerated.
282 2012-03-26 Tristan Gingold <gingold@adacore.com>
284 * lexsup.c (parse_args): Add a missing '\n'.
286 2012-03-25 Alan Modra <amodra@gmail.com>
288 * ldemul.c (before_allocation_default): Revert last change.
289 * ldlang.c (lang_add_section): Likewise.
290 (strip_excluded_output_sections): Don't strip output sections with
291 user input sections when emitrelocations, unless all are SEC_EXCLUDE.
293 2012-03-23 Alan Modra <amodra@gmail.com>
295 * ldemul.c (before_allocation_default): When emitrelocations,
296 don't strip sections..
297 * ldlang.c (lang_add_section): ..and don't set up map_head, map_tail.
299 2012-03-14 Kai Tietz <ktietz@redhat.com>
300 Pascal Obry <pascal@obry.net>
302 * pe-dll.c (found_sym): New static variable.
303 (undef_count): Likewise.
304 (key_value): New structure.
305 (undef_sort_cmp): Compare routine for qsort/bsearch.
306 (pe_find_cdecl_alias_match): Add new argument.
307 (pe_undef_alias_cdecl_match): Removed.
308 (pe_undef_count): New helper routine.
309 (pe_create_undef_table): Likewise.
310 (pe_process_import_defs): Use pe_create_undef_table and
311 new pe_undef_alias_cdecl_match function.
313 2012-03-14 Alan Modra <amodra@gmail.com>
316 * ldexp.c (fold_name): Ignore undefined symbols when assigning to
318 (exp_fold_tree_1): Evaluate assignment to dot expressions even when
319 discarding result, for side effects. Fix typo in error message.
321 2012-03-08 Tristan Gingold <gingold@adacore.com>
323 * ldexp.c (exp_print_tree): Special case for SEGMENT_START.
324 (exp_print_token): Constify.
326 2012-03-08 Alan Modra <amodra@gmail.com>
329 * ldfile.c (is_sysrooted_pathname): Remove notsame param.
330 (ldfile_add_library_path): Don't set sysrooted flag.
331 (ldfile_open_file_search): Likewise, and don't copy them.
332 (try_open): Delete exten and code handling such. Add sysrooted
333 param and return whether path is in sysroot.
334 (ldfile_find_command_file): Delete extend param. Add sysrooted
335 param. Rename local var. Update try_open calls.
336 (ldfile_open_command_file_1): Pass sysrooted to lex_push_file.
337 * ldfile.h (search_dirs_type): Remove sysrooted field.
338 * ldlang.c (new_afile): Always set sysrooted from input_flags.
339 (load_symbols): Don't set input_flags.sysrooted.
340 * ldlang.h (struct lang_input_statement_flags): Revise sysrooted
342 * ldlex.h (lex_push_file): Update prototype.
343 * ldlex.l (sysrooted_stack): New array.
344 (EOF): Pop input_flags.sysrooted.
345 (lex_push_file): Add sysrooted param. Save and set
346 input_flags.sysrooted.
348 2012-03-06 Alan Modra <amodra@gmail.com>
350 * ldlang.h (struct lang_input_statement_flags): New, extract from..
351 (lang_input_statement_type): ..here. New field "flags".
352 (input_flags): Declare.
353 (missing_file): Delete.
354 * ldmain.h (whole_archive): Delete.
355 (add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
356 * ld.h (ld_config_type <dynamic_link>): Delete.
357 * ldmain.c (whole_archive): Delete.
358 (add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
359 * ldlang.c (missing_file, ldlang_sysrooted_script): Delete.
360 (input_flags): New variable. Replace all uses of config.dynamic_link,
361 missing_file, ldlang_sysrooted_script, whole_archive,
362 add_DT_NEEDED_for_regular and add_DT_NEEDED_for_dynamic with fields
364 * ldfile.c: Likewise.
365 * ldgram.y: Likewise.
366 * ldmain.c: Likewise.
367 * ldwrite.c: Likewise.
368 * lexsup.c: Likewise.
369 * plugin.c: Likewise.
370 * emultempl/aix.em: Likewise.
371 * emultempl/armelf.em: Likewise.
372 * emultempl/elf32.em: Likewise.
373 * emultempl/hppaelf.em: Likewise.
374 * emultempl/linux.em: Likewise.
375 * emultempl/pe.em: Likewise.
376 * emultempl/pep.em: Likewise.
377 * emultempl/ppc64elf.em: Likewise.
378 * emultempl/scoreelf.em: Likewise.
379 * emultempl/spuelf.em: Likewise.
380 * emultempl/sunos.em: Likewise.
381 * emultempl/vms.em: Likewise.
382 * ldlang.c (new_afile): Use memset to init zero fields.
383 (load_symbols): Simplify save and restore of flags around command
385 * ldfile.c (is_sysrooted_pathname): Tidy.
387 2012-03-05 Hans-Peter Nilsson <hp@axis.com>
389 * configure.tgt (mips64*el-*-freebsd*, mips64*-*-freebsd*)
390 (mips*el-*-freebsd*, mips*-*-freebsd*): Correct triplets by
391 replacing trailing "-*" with "*".
393 2012-02-25 Walter Lee <walt@tilera.com>
395 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx_be.c.
396 (ALL_64_EMULATION_SOURCES): Add eelf64tilegx_be.c.
397 (eelf32tilegx_be.c): Add rule to build this file.
398 (eelf64tilegx_be.c): Ditto.
399 * Makefile.in: Regenerate.
400 * configure.tgt (tilegx-*-*): Support big endian.
402 * emulparams/elf32tilegx.sh (OUTPUT_FORMAT): Rename.
403 (BIG_OUTPUT_FORMAT): Define.
404 (LITTLE_OUTPUT_FORMAT): Define.
405 * emulparams/elf32tilegx_be.sh: New.
406 * emulparams/elf64tilegx.sh (OUTPUT_FORMAT): Rename.
407 (BIG_OUTPUT_FORMAT): Define.
408 (LITTLE_OUTPUT_FORMAT): Define.
409 * emulparams/elf64tilegx_be.sh: New.
411 2012-02-24 Kai Tietz <ktietz@redhat.com>
414 * deffilep.y (keyword_as_name): Disable LIBRARY
417 2012-02-22 Alan Modra <amodra@gmail.com>
420 * ldlang.c (lang_process): Rerun lang_do_assignments before
421 starting garbage collection.
422 * ldexp.c (fold_name): Generate a reloc for defined symbols
423 found without an associated output section during the mark phase.
424 (exp_fold_tree_1): Continue processing an expression, even if we
425 are unable to fold it, if we are in the first two evaluation
427 * ldexp.h (enum lang_phase_type): Add descriptions of the phases.
429 2012-02-19 Kai Tietz <ktietz@redhat.com>
431 * deffilep.y (cmp_import_elem): Sort first by module name.
432 * pe-dll.c (process_def_file_and_drectve): Free strings
433 from removed export-element.
434 (add_bfd_to_link): Optimize loop on import-elements and lower
436 (pe_implied_import_dll): Pass NULL instead of 0 for pointer
439 2012-02-18 Hans-Peter Nilsson <hp@axis.com>
441 * ldmisc.c (vfinfo <%S>): Use same type and avoid cast for
442 temporary variable node used for NULL argument.
444 2012-02-18 Alan Modra <amodra@gmail.com>
447 * ld.h (parsing_defsym): Delete.
448 * ldexp.c (exp_intop, exp_bigintop, exp_relop): Set type.filename.
449 (fold_binary, fold_name, exp_fold_tree_1, exp_get_vma, exp_get_fill,
450 exp_get_abs_int): Add tree arg for %S in error messages. Don't
452 (exp_binop, exp_unop, exp_nameop, exp_assop, exp_assert): Copy
453 type.filename from sub-tree.
454 (exp_trinop): Likewise, and use "cond" rather than "lhs".
455 * ldexp.h (node_type): Add filename field to struct.
456 * ldfile.c (ldfile_input_filename): Delete. Remove all refs.
457 * ldfile.h (ldfile_input_filename): Delete.
458 * ldgram.y (phdr_type, phdr_qualifiers, yyerror): Add NULL arg for
459 %S in error messages.
460 * ldemul.c (syslib_default, hll_default): Likewise.
461 * ldlang.c (lang_memory_region_lookup, lang_memory_region_alias,
462 lang_get_regions, lang_new_phdr): Likewise.
463 (lang_size_sections_1): Pass addr_tree for %S.
464 * ldlex.h (lex_redirect): Update prototype.
465 (ldlex_filename): Declare.
466 * ldlex.l (<EOF>): Don't set ldfile_input_filename.
467 (lex_redirect): Add fake_filename and count params. Push
468 fake_filename to file_name_stack and init lineno from count.
469 (ldlex_filename): New function.
470 (lex_warn_invalid): Use above.
471 * ldmain.c (main): Update lex_redirect call.
472 * ldmisc.c (vfinfo <%S>): Take file name and line number from
473 etree_type arg, or use current if arg is NULL.
474 * lexsup.c (parsing_defsym): Delete.
475 (parse_args <OPTION_DEFSYM>): Update lex_redirect call.
477 2012-02-13 Kai Tietz <ktietz@redhat.com>
479 * deffilep.y (find_export_in_list): Set is_indent for
480 first or last element, if identical.
481 (find_import_in_list): Likewise.
483 2012-02-11 Kai Tietz <ktietz@redhat.com>
485 * deffilep.y (%union): New type id_const.
486 (opt_name2): New rule.
487 (keyword_as_name): New rule.
488 (dot_name): Replaced by opt_name2 rule.
489 (opt_name): Adjust rule.
490 (opt_equal_name): Likewise.
492 2012-02-11 Pascal Obry <pascal@obry.net>
494 * pe-dll.c (auto_export): Use bsearch to speed up scan of exports
496 (process_def_file_and_drectve): Maintain sorting of exports table
497 after stripping leading @ signs.
499 2012-02-09 Alan Modra <amodra@gmail.com>
501 * ldgram.y (input_section_spec_no_keep): Don't ignore sect_flags.
503 2012-01-31 H.J. Lu <hongjiu.lu@intel.com>
506 * emulparams/elf32_x86_64.sh: Remove NOP.
507 * emulparams/elf_i386.sh: Likewise.
508 * emulparams/elf_i386_be.sh: Likewise.
509 * emulparams/elf_i386_ldso.sh: Likewise.
510 * emulparams/elf_i386_vxworks.sh: Likewise.
511 * emulparams/elf_k1om.sh: Likewise.
512 * emulparams/elf_l1om.sh: Likewise.
513 * emulparams/elf_x86_64.sh: Likewise.
515 * ldlang.c (zero_fill): Initialized to 0.
517 * ldwrite.c (build_link_order): Set data size to linker odrder
518 size when they are the same.
520 * scripttempl/elf.sc: Don't specify fill if NOP is undefined.
522 2012-01-17 Alan Modra <amodra@gmail.com>
524 * ldver.c (ldversion): Update copyright message year.
526 2012-01-15 Alan Modra <amodra@gmail.com>
529 * ldlang.c (lang_process): Don't reopen all files, just those
530 newly added by plugin.
532 2012-01-11 Alan Modra <amodra@gmail.com>
534 * emultempl/ppc64elf.em (PARSE_AND_LIST_PROLOGUE,
535 PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
536 PARSE_AND_LIST_ARGS_CASES): Handle --{no-,}plt-thread-safe and
538 (plt_thread_safe, plt_stub_align): New vars.
539 (gld${EMULATION_NAME}_after_allocation): Pass them to
540 ppc64_elf_size_stubs. Align stub sections according to plt_stub_align.
541 * ld.texinfo: Document new command line options, and an old
544 2012-01-09 Roland McGrath <mcgrathr@google.com>
546 * configure.in: Use AM_ZLIB.
547 * configure: Regenerated.
549 For older changes see ChangeLog-2011
555 version-control: never