X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2FChangeLog;h=10836b053f0e8b6a1ee58f35b70f3516c49c6ab0;hb=94bf3a11ec367f7c9fb94149acc9eaf141ed3de0;hp=43858f4e9673c4c54244ea91b3eda6d01944df61;hpb=c518ddd883441751e093e29f37702057d8d9f930;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ChangeLog b/ld/ChangeLog index 43858f4e96..10836b053f 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,610 @@ +2010-12-06 H.J. Lu + + * lexsup.c (ld_options): Add -flto and -flto-partition= for + GCC LTO option compatibility. + +2010-12-06 H.J. Lu + + PR ld/12288 + * plugin.c (message): Don't add the trailing `\n' for + LDPL_ERROR. + +2010-12-06 H.J. Lu + + PR ld/12288 + * testplug.c: Remove the trailing `\n' from TV_MESSAGE. + +2010-12-06 Dmitry Gorbachev + + PR ld/12288 + * plugin.c (message): Use putchar for the trailing `\n'. + +2010-12-06 H.J. Lu + Dmitry Gorbachev + + PR ld/12289 + * ldmain.c (main): Don't call plugin_call_cleanup. + + * plugin.c (plugin_call_cleanup): Make it static. + (message): Don't call plugin_call_cleanup. + (plugin_load_plugins): Call xatexit with plugin_call_cleanup. + +2010-12-05 H.J. Lu + + PR ld/12289 + * plugin.c (message): Call plugin_call_cleanup on fatal + error. + +2010-12-05 H.J. Lu + + * plugin.c (message): Add a space after `:' in error message. + +2010-12-05 H.J. Lu + + * plugin.c (asymbol_from_plugin_symbol): Add the trailing `\n' + to einfo. + (get_symbols): Likewise. + (plugin_notice): Likewise. + (plugin_multiple_definition): Likewise. + +2010-12-05 H.J. Lu + + PR ld/12288 + * plugin.c (message): Add the trailing `\n'. + +2010-12-05 H.J. Lu + + * ldfile.c (ldfile_open_file_search): Check maybe_archive instead + of is_archive. + * emultempl/aix.em: Likewise. + * emultempl/elf32.em: Likewise. + * emultempl/linux.em: Likewise. + * emultempl/pe.em: Likewise. + * emultempl/pep.em: Likewise. + * emultempl/sunos.em: Likewise. + * emultempl/vms.em: Likewise. + + * ldlang.c (new_afile): Set maybe_archive instead of is_archive.. + + * ldlang.h (lang_input_statement_struct): Replace is_archive + with maybe_archive. + +2010-12-05 H.J. Lu + + PR ld/12277 + * plugin.c (asymbol_from_plugin_symbol): Properly convert LTO + plugin visibility to ELF visibility. + (is_visible_from_outside): Re-indent. + +2010-12-04 Alan Modra + + * ldlang.c (lang_size_sections_1): Align lma using same alignment + as for vma. + +2010-12-03 H.J. Lu + + * lexsup.c (ld_options): Fix a typo in comments. + +2010-12-01 H.J. Lu + + * plugin.h: Re-indent. + +2010-11-30 Joel Sherrill + + * configure.tgt: Add sparc64-rtems. + +2010-11-26 Alan Modra + + * po/ja.po: Update. + +2010-11-25 Alan Modra + + * po/bg.po: Update. + * po/es.po: Update. + * po/fi.po: Update. + * po/ja.po: New. + * po/zh_CN.po: Update. + +2010-11-25 Jan Hubicka + + * scripttempl/elf.sc: Group .text.exit, text.startup and .text.hot + sections. + +2010-11-23 Matthias Klose + + * configure.ac: For --enable-gold, handle value `default' instead of + `both*'. Always install ld as ld.gold, install as ld if gold is + the default. + * configure: Regenerate. + +2010-11-21 H.J. Lu + + * ldfile.c: Re-indent plugin code. + * ldlang.c: Likewise. + * ldmain.c: Likewise. + * plugin.c: Likewise. + +2010-11-20 H.J. Lu + + PR ld/12246 + * plugin.c (asymbol_from_plugin_symbol): Set alignment of + common symbol to 1 for For ELF targets. + +2010-11-20 H.J. Lu + + PR ld/12247 + * lexsup.c (parse_args): Properly report loading plugin error. + +2010-11-19 Dave Korn + + * plugin.c (is_visible_from_outside): New function. + (get_symbols): Use it. + +2010-11-16 Jie Zhang + + * Makefile.am (eelf32bfinfd.c, eelf32bfin.c): Depend on bfin.em. + * Makefile.in: Regenerated. + * emulparams/bfin.sh (EXTRA_EM_FILE): Set. + * emulparams/elf32bfinfd.sh (EXTRA_EM_FILE): Likewise. + * emultempl/bfin.em: New. + +2010-11-16 Yasuaki Taniguchi + + * emultempl/pe.em (_list_options): Correct typo. + * emultempl/pep.em (_list_options): Likewise. + +2010-11-08 Thomas Schwinge + + * configure.host: Add stanza for *-*-gnu*. + +2010-11-05 Pierre Muller + + * emultempl/spuelf.em (new_tmp_file): Fix wrong first parameter. + +2010-11-05 Tristan Gingold + + * po/ld.pot: Regenerate + * po/POTFILES.in: Regenerate + +2010-11-05 Tristan Gingold + + * NEWS: Add marker for 2.21. + +2010-11-05 Dave Korn + + * plugin.h (plugin_active_plugins_p): New prototype. + (is_ir_dummy_bfd): Delete prototype. + * plugin.c: Fix formatting issues. + (is_ir_dummy_bfd): Make static. + (plugin_active_plugins_p): New function. + * ldfile.c (ldfile_try_open_bfd): Use it to save work if no plugins + are loaded. Always close file descriptor after claim handler returns. + * ldmain.c (add_archive_element): Likewise. + +2010-11-05 Alan Modra + + * ldlang.c (lang_add_section): Distinguish ELF treatment of NOLOAD. + (map_input_to_output_sections): Likewise. + (lang_size_sections_1): Likewise. + (IGNORE_SECTION): Don't test SEC_NEVER_LOAD. + (lang_check_section_addresses): Likewise. + +2010-11-04 Kai Tietz + + * scripttempl/pe.sc (.debug_types): New. + * scripttempl/pep.sc: Likewise. + +2010-11-04 Alan Modra + + * plugin.c (is_ir_dummy_bfd): Don't segfault on NULL abfd. + +2010-11-03 Nick Clifton + + PR ld/12001 + * ldlang.c (ldlang_def_chain_list): New variable. Contains a list + of symbols defined via the --defsym command line option and + currently waiting assignment. + (insert_defined): Add a defined symbol to the symbol table. + (ldlang_add_def): Add a entry to the ldlang_def_chain_list. + (lang_place_defineds): Walk ldlang_def_chain_list defining the + symbols. + (lang_process): Call lang_place_defineds. + (lang_add_assignment): If the assignment has come from a --defsym + command line option then call lang_add_def. + +2010-11-03 Alan Modra + + * Makefile.am (eelf64hppa.c): Correct dependencies. + * Makefile.in: Regenerate. + +2010-11-02 H.J. Lu + + * scripttempl/armbpabi.sc: Include compressed DWARF debug + sections. + * scripttempl/avr.sc: Likewise. + * scripttempl/elf32cr16.sc: Likewise. + * scripttempl/elf32crx.sc: Likewise. + * scripttempl/elf32msp430.sc: Likewise. + * scripttempl/elf32msp430_3.sc: Likewise. + * scripttempl/elf32sh-symbian.sc: Likewise. + * scripttempl/elf64hppa.sc: Likewise. + * scripttempl/elf_chaos.sc: Likewise. + * scripttempl/elfd10v.sc: Likewise. + * scripttempl/elfd30v.sc: Likewise. + * scripttempl/elfi370.sc: Likewise. + * scripttempl/elfm68hc11.sc: Likewise. + * scripttempl/elfm68hc12.sc: Likewise. + * scripttempl/elfxtensa.sc: Likewise. + * scripttempl/ip2k.sc: Likewise. + * scripttempl/iq2000.sc: Likewise. + * scripttempl/mep.sc: Likewise. + * scripttempl/mmo.sc: Likewise. + * scripttempl/v850.sc: Likewise. + * scripttempl/xstormy16.sc: Likewise. + +2010-10-29 H.J. Lu + + * ldfile.c (ldfile_try_open_bfd): Set BFD_DECOMPRESS after + bfd_openr returns. + * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Likewise. + + * scripttempl/elf.sc: Include compressed DWARF debug sections. + +2010-10-28 Alan Modra + + * ldfile.c (find_scripts_dir): Don't look in absolute SCRIPTDIR. + +2010-10-28 Matthias Klose + + * ld.texinfo: Add directory section for info document. + * ldint.texinfo: Likewise. + +2010-10-28 Alan Modra + + * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): For + --no-undefined-version, don't report dot sym versions added by ld. + +2010-10-28 Alan Modra + + * ldlang.h (ldlang_add_undef): Add cmdline param. + * ldlang.c (undef_from_cmdline): New var. + (ldlang_add_undef): Add cmdline param. Set undef_from_cmdline. + (lang_end): Really require -e or -u from command line on + relocatable --gc-sections. + * ldemul.c (after_parse_default): Adjust ldlang_add_undef call. + * ldgram.y (extern_name_list_body): Likewise. + * lexsup.c (parse_args): Likewise. + * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Likewise. + +2010-10-25 Alan Modra + + * plugin.c (plugin_get_ir_dummy_bfd): Set bfd_use_reserved_id. + Formatting. + +2010-10-22 Rainer Orth + + * emulparams/elf32_sparc_sol2.sh (OUTPUT_FORMAT): Set to + elf32-sparc-sol2. + * emulparams/elf64_sparc_sol2.sh (OUTPUT_FORMAT): Set to + elf64-sparc-sol2. + +2010-10-22 Alan Modra + + * ldwrite.c (build_link_order ): Don't + output when section has no contents. + (build_link_order ): Likewise. + +2010-10-21 Joseph Myers + + * emulparams/elf32_tic6x_le.sh (ATTRS_SECTIONS): Use + .c6xabi.attributes, not __TI_build_attributes. + +2010-10-20 Dave Korn + + * plugin.c (get_symbols): Check symbol type correctly. + +2010-10-15 Dave Korn + + * configure.in: If can't be found, try for + * configure: Regenerate. + * config.in: Likewise. + * plugin.c [!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlopen): Provide + trival LoadLibrary-based replacement for Windows systems. + [!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlsym): Likewise trivial + replacement based on GetProcAddress. + [!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlsym): Likewise FreeLibrary. + * sysdep.h: Don't infer presence of from ENABLE_PLUGINS + anymore, use its own guard. + +2010-10-15 Dave Korn + + * plugin.c (add_input_file): Take copy of input string. + (add_input_library): Likewise. + (set_extra_library_path): Likewise. + +2010-10-14 Dave Korn + + Apply LD plugin patch series (part 6/6). + * ldlang.c (load_symbols): Handle bfd subsitution when calling the + add_archive_element callback. + * ldmain.c (add_archive_element)[ENABLE_PLUGINS]: Offer the archive + member to the plugins and if claimed set "subsbfd" output parameter to + point to the dummy IR-only BFD. + +2010-10-14 Dave Korn + + Apply LD plugin patch series (part 5/6). + * plugin.c (asymbol_from_plugin_symbol): If the bfd is an ELF bfd, + find the elf symbol data and set the visibility in the st_other field. + +2010-10-14 Dave Korn + + Apply LD plugin patch series (part 4/6). + * ldlang.c (lang_process)[ENABLE_PLUGINS]: Move invocation of + plugin_call_all_symbols_read to before setting of gc_sym_list, and + open any new input files that may have been added during it. + * ldmain.c (multiple_definition)[ENABLE_PLUGINS]: Call out to + plugin_multiple_definition and let it have first say over what to do + with the clashing definitions. + * plugin.c (no_more_claiming): New boolean variable. + (plugin_cached_allow_multiple_defs): Likewise. + (add_input_file): Implement. + (add_input_library): Likewise. + (set_extra_library_path): Likewise. + (plugin_call_claim_file): Don't do anything when no_more_claiming set. + (plugin_call_all_symbols_read): Set it. Disable link info + "allow_multiple_definition" flag, but cache its value. + (plugin_multiple_definition): New function. + * plugin.h (plugin_multiple_definition): Add prototype. + * testplug.c (addfile_enum_t): New enumerated typedef. + (add_file_t): New struct typedef. + (addfiles_list): New variable. + (addfiles_tail_chain_ptr): Likewise. + (record_add_file): New function. + (parse_option): Parse "add:", "lib:" and "dir:" options and call it. + (onall_symbols_read): Iterate the list of new files, libs and dirs, + adding them. + +2010-10-14 Dave Korn + + Apply LD plugin patch series (part 3/6). + * ldmain.c (notice)[ENABLE_PLUGINS]: Call plugin_notice. + * plugin.c (non_ironly_hash): Add new bfd hash table. + (plugin_load_plugins): Exit early if no plugins to load. If plugins + do load successfully, set notice_all flag in link info. + (get_symbols): Implement. + (plugin_load_plugins): Exit early if no plugins to load, else after + loading plugins successfully enable notice_all mode. + (init_non_ironly_hash): Lazily init non_ironly_hash table. + (plugin_notice): Record symbols referenced from non-IR files in the + non_ironly_hash. Suppress tracing, cref generation and nocrossrefs + tracking for symbols from dummy IR bfds. + * plugin.h: Fix formatting. + (plugin_notice): Add prototype. + * testplug.c (dumpresolutions): New global var. + (parse_options): Accept "dumpresolutions". + (onall_symbols_read): Get syms and dump resolutions if it was given. + +2010-10-14 Dave Korn + + Apply LD plugin patch series (part 2/6). + * ldfile.c (ldfile_try_open_bfd)[ENABLE_PLUGINS]: Don't return early + during compat checks if they pass, instead offer any successfully + opened and accepted file to the plugin claim file hooks chain. Create + a dummy bfd to accept symbols added by the plugin, if the plugin + claims the file. + * ldlang.c (lang_process)[ENABLE_PLUGINS]: Call plugin all symbols + read hook chain before ldemul_after_open. + * ldlang.h (struct lang_input_statement_struct): Add new single-bit + 'claimed' flag. + * plugin.c (IRONLY_SUFFIX): New macro for dummy bfd file suffix. + (IRONLY_SUFFIX_LEN): Length of the above string. + (plugin_get_ir_dummy_bfd): New function to create the dummy bfd used + to store symbols for ir-only files. + (is_ir_dummy_bfd): New function to check if a bfd is ir-only. + (asymbol_from_plugin_symbol): New function converts symbol formats. + (add_symbols): Call it to convert plugin syms to bfd syms and add + them to the dummy bfd. + * plugin.h: Add missing include guards. + (plugin_get_ir_dummy_bfd): Add prototype. + (is_ir_dummy_bfd): Likewise. + * testplug.c (TV_MESSAGE): New helper macro. + (struct claim_file): New struct. + (claim_file_t): New typedef. + (tag_names[]): Make static and const. + (claimfiles_list): New variable. + (claimfiles_tail_chain_ptr): Likewise. + (last_claimfile): Likewise. + (record_claim_file): Record a file to claim on a singly-linked list. + (parse_symdefstr): Parse an ASCII representation of a symbol from a + plugin option into the fields of a struct ld_plugin_symbol. + (record_claimed_file_symbol): Use it to parse plugin option for + adding a symbol. + (parse_option): Parse claim file and add symbol options. + (dump_tv_tag): Use TV_MESSAGE. + (onload): Likewise. + (onclaim_file): Make static. Use TV_MESSAGE. Scan list of files to + claim and claim this file if required, adding any symbols specified. + (onall_symbols_read): Make static and use TV_MESSAGE. + (oncleanup): Likewise. + +2010-10-14 Dave Korn + + Apply LD plugin patch series (part 1/6). + * configure.in: Add AC_CHECKs for file io and dlfcn headers and + functions and AC_SEARCH for -ldl. + (enable_plugins): New shell variable set if above tests find dlopen + functionality. + (ENABLE_PLUGINS): Add related automake conditional. + * configure: Regenerate. + * config.in: Likewise. + * Makefile.am (PLUGIN_C): Declare plugin C source file, conditional + on ENABLE_PLUGINS being defined. + (PLUGIN_H): Likewise for header file. + (PLUGIN_OBJECT): Likewise for object file. + (PLUGIN_CFLAGS): Likewise -D flag required to compile plugin support. + (AM_CPPFLAGS): Use PLUGIN_CFLAGS. + (CFILES): Use PLUGIN_C. + (HFILES): Use PLUGIN_H. + (OFILES): Use PLUGIN_OBJECT. + (ld_new_SOURCES): Use PLUGIN_C. + (noinst_LTLIBRARIES)[ENABLE_PLUGINS]: Declare test plugin. + (libldtestplug_la_SOURCES)[ENABLE_PLUGINS]: Add automake definition + for test plugin. + (libldtestplug_la_CFLAGS)[ENABLE_PLUGINS]: Likewise. + (libldtestplug_la_LDFLAGS)[ENABLE_PLUGINS]: Likewise. + * Makefile.in: Regenerate. + * sysdep.h: Include stdarg.h, unistd.h and one of fcntl.h or + sys/file.h where available. Include dlfcn.h when ENABLE_PLUGINS. + (O_RDONLY): Supply default definition likewise to bfd's sysdep.h + (O_WRONLY): Likewise. + (O_RDWR): Likewise. + (O_ACCMODE): Likewise. + (O_BINARY): Likewise. + (SEEK_SET): Likewise. + (SEEK_CUR): Likewise. + (SEEK_END): Likewise. + * ldmisc.c (vfinfo): Make non-static. Add %p format char. + * ldmisc.h (vfinfo): Declare extern prototype. + * lexsup.c (enum option_values)[ENABLE_PLUGINS]: Add new entries for + OPTION_PLUGIN and OPTION_PLUGIN_OPT. + (ld_options[])[ENABLE_PLUGINS]: Add option data for the above two. + (parse_args)[ENABLE_PLUGINS]: Handle them, and load all plugins once + option parsing is complete. + * ldmain.c (main)[ENABLE_PLUGINS]: Call plugin cleanup hooks just + after lang_finish. + * plugin.c: New source file. + * plugin.h: Likewise new header. + * testplug.c: New source file. + +2010-10-12 Rainer Orth + + * emultempl/solaris2.em (elf_solaris2_before_allocation): Renamed + basever_syms to global_syms. + Emit global_syms into .dynamic section for all executables and + shared objects. + (elf_solaris2_after_allocation): New function. + (LDEMUL_AFTER_ALLOCATION): Use it. + * emulparams/solaris2.sh: New file. + * emulparams/elf32_sparc_sol2.sh: Use it. + * emulparams/elf64_sparc_sol2.sh: Likewise. + * emulparams/elf_i386_sol2.sh: Likewise. + * emulparams/elf_x86_64_sol2.sh: Likewise. + * Makefile.am (eelf32_sparc_sol2.c): Depend on + $(srcdir)/emulparams/solaris2.sh. + (eelf64_sparc_sol2.c): Likewise. + (eelf_x86_64_sol2.c): Likewise. + (eelf_i386_sol2.c): Likewise. + * Makefile.in: Regenerate. + +2010-10-06 Nick Clifton + + * ld.texinfo: Update description of computation of VMA and LMA + addresses for output sections. + +2010-10-06 Ralf Wildenhues + + * Makefile.am (ALL_64_EMULATIONS): Fix typo in last commit. + * Makefile.in: Regenerate. + + * Makefile.am (ALL_EMULATIONS): Rewrite in terms of ... + (ALL_EMULATION_SOURCES): ... this new variable. + (ALL_64_EMULATIONS): Rewrite in terms of ... + (ALL_64_EMULATION_SOURCES): ... this new variable. + (EXTRA_ld_new_SOURCES): Rewrite in terms of the _SOURCES + variables. + (eelf32microblaze.c): Fix indentation. + * Makefile.in: Regenerate. + +2010-10-04 Bernd Schmidt + + * emultempl/xtensaelf.em (replace_insn_sec_with_prop_sec): Use + _bfd_elf_single_rel_hdr. + +2010-10-01 Alan Modra + + PR ld/12066 + * ldexp.c (fold_name): Treat absolute symbols as plain numbers. + * ld.texinfo (Expression Section): Don't say absolute symbols + are addresses. + +2010-09-29 Alan Modra + + * ldlang.c (lang_place_orphans): Zero vma when relocatable or non-load + section for orphans handled here. + +2010-09-27 Ralf Wildenhues + + * configure: Regenerate. + +2010-09-23 Dave Korn + + * scripttempl/armcoff.sc: Revert 2010-09-22 change. + +2010-09-23 Alan Modra + + * ldlang.c (lang_add_section): Don't copy SEC_RELOC from input + to output section on a final link. + +2010-09-22 Kai Tietz + + * ldlang.c (lang_add_section): Allow for debugging + section to be marked as noload but to keep content. + (IGNORE_SECTION): Likewise. + (lang_check_section_addresses): Likewise. + * ldwrite.c (build_link_order): Likewise. + + * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add + idata to orphan set. + * emultempl/pep.em: Likewise. + * scripttempl/armcoff.sc: Separate idata + and add __IAT_start__ and __IAT_end__ labels. + * scripttempl/pe.sc: Likewise. + * scripttempl/pep.sc: Likewise. + +2010-09-20 David S. Miller + + * emulparams/elf32_sparc.sh: Set NOP to 0x01000000 + +2010-09-16 Alan Modra + + * ld.texinfo (NOLOAD): Do not erroneously state that contents will + appear in output file. + * ldlang.c (lang_add_section): Clear SEC_HAS_CONTENTS on noload + unless SEC_COFF_SHARED_LIBRARY. + (map_input_to_output_sections): Don't set SEC_HAS_CONTENTS for noload + output sections. + (lang_size_sections_1): Don't test SEC_NEVER_LOAD when deciding + to update dot in region. Ditto when setting SEC_ALLOC if dot + advanced due to assignment. + * ldwrite.c (build_link_order): Don't test SEC_NEVER_LOAD. + +2010-09-15 Kai Tietz + + * scripttempl/pep.sc: Add .xdata segment and + put into .pdata all segments beginning with .pdata. + +2010-09-10 Alan Modra + + PR ld/11931 + * ldlang.h (lang_for_each_statement_worker): Declare. + * ldlang.c (lang_for_each_statement_worker): Make global. Don't + recurse into children of output_section_statement with constraint + set to -1. + (print_assignment): Handle NULL output_section->bfd_section. + (lang_size_sections_1): Ignore output section statement address + when constraint is -1. + * emultempl/xtensaelf.em (lang_for_each_statement_worker): Delete. + +2010-09-09 Tristan Gingold + + * NEWS: Add a entry for alpha-vms. + +2010-09-07 Andrew Burgess + + * ldwrite.c (clone_section): Call bfd_copy_private_section_data on + newly cloned section. + 2010-09-02 Richard Henderson * configure.tgt (x86_64-*-mingw*): Add 32-bit pe emulations too.