X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gold%2FChangeLog;h=70376251cbff44ac77c5df8b52d593f6c55038ee;hb=5edd166e7df6843077b800b2c55a97ea89ce6dcd;hp=4e4b6907259796c5c110a3baaba0f1c7cf2153c1;hpb=a18f591e924ea296bbf8f7fbdff40cbb07e98b21;p=deliverable%2Fbinutils-gdb.git diff --git a/gold/ChangeLog b/gold/ChangeLog index 4e4b690725..70376251cb 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,155 @@ +2008-07-24 Ian Lance Taylor + + PR 6048 + * ehframe.cc (Eh_frame::add_ehframe_input_section): Check whether + this->eh_frame_hdr_ is NULL before using it. + + * dynobj.cc (Versions::Versions): Update comment. + + * dynobj.cc (Versions::Versions): If there is an soname, use it as + the base version name. + + * stringpool.cc (Stringpool_template::add_with_length): Set key to + array size plus one. + (Stringpool_template::set_string_offsets): Subtract one from key + before using it as an array index. + (Stringpool_template::get_offset_with_length): Likewise. + (Stringpool_template::write_to_buffer): Likewise. + * stringpool.h (Stringpool_template::get_offset_from_key): + Likewise. + +2008-07-23 Ian Lance Taylor + + PR 6658 + * object.h (Merged_symbol_value::value): Do our best to handle a + negative addend. + + PR 6647 + * script.cc (Version_script_info::get_versions): Don't add empty + version tag to return value. + (Version_script_info::get_symbol_version_helper): Change return + type to bool. Add pversion parameter. Change all callers. + (script_register_vers_node): Don't require a non-NULL tag. + * script.h (class Version_script_info): Update declarations. + (Version_script_info::get_symbol_version): Change return type to + bool. Add version parameter. Change all callers. + * symtab.cc (Sized_symbol::add_from_relobj): Rework version + handling. Handle an empty version from a version script. + (Symbol_table::define_special_symbol): Likewise. + * testsuite/ver_test_10.script: New file. + * testsuite/ver_test_10.sh: New file. + * testsuite/Makefile.am (check_SCRIPTS): Add ver_test_10.sh. + (check_DATA): Add ver_test_10.syms. + (ver_test_10.syms, ver_test_10.so): New target. + * testsuite/Makefile.in: Rebuild. + +2008-07-23 Simon Baldwin + + * symtab.cc (Symbol_table::sized_write_symbol): Only set st_size + to zero for undefined symbols from dynamic libraries. + +2008-07-23 Ian Lance Taylor + + * symtab.cc (Symbol_table::resolve): Remove version parameter. + Change all callers. + * symtab.h (class Symbol_table): Update declaration. + * testsuite/ver_test_9.cc: New file. + * testsuite/Makefile.am (check_PROGRAMS): Add ver_test_9. + (ver_test_9_SOURCES, ver_test_9_DEPENDENCIES): Define. + (ver_test_9_LDFLAGS, ver_test_9_LDADD): Define. + (ver_test_9.so, ver_test_9.o): New targets. + * testsuite/Makefile.in: Rebuild. + +2008-07-22 Ian Lance Taylor + + * options.h (class General_options): Define --check-sections. + * layout.cc (Layout::set_segment_offsets): Handle + --check-sections. + + * options.h (class General_options): Define -n/--nmagic and + -N/--omagic. + * options.cc (General_options::finalize): For -n/--nmagic or + -N/--omagic, set -static. + * layout.cc (Layout::attach_allocated_section_to_segment): If + -N/--omagic, don't put read-only and read-write sections in + different segments. + (Layout::find_first_load_seg): If -N/--omagic, don't insist on + finding a read-only segment. + (Layout::set_segment_offsets): If -N/--omagic or -n/--nmagic, + don't set the minimum segment alignment to the common page size, + and don't set the file offset to the address modulo the page size. + * script-sections.cc (Script_sections::create_segments): If + -n/--omagic, don't put read-only and read-write sections in + different segments. + + * cref.cc: New file. + * cref.h: New file. + * options.h (class General_options): Add --print-symbol-counts. + * main.cc (main): Issue defined symbol report if requested. + * archive.cc (Archive::interpret_header): Make into a const member + function. + (Archive::add_symbols): Call Input_objects::archive_start and + archive_stop. + (Archive::const_iterator): Define new class. + (Archive::begin, Archive::end): New functions. + (Archive::include_all_members): Rewrite to use iterator. + (Archive::count_members): New function. + * archive.h (class Archive): Update declarations. + (Archive::filename): New function. + * object.cc: Include "cref.h". + (Sized_relobj::Sized_relobj): Initialize defined_count_. + (Sized_relobj::do_get_global_symbol_counts): New function. + (Input_objects::add_object): Add object to cross-referencer. + (Input_objects::archive_start): New function. + (Input_objects::archive_stop): New function. + (Input_objects::print_symbol_counts): New function. + * object.h: Declare Cref and Archive. + (Object::get_global_symbol_counts): New function. + (Object::do_get_global_symbol_counts): New pure virtual function. + (class Sized_relobj): Add defined_count_ field. Update + declarations. + (class Input_objects): Add cref_ field. Update constructor. + Update declarations. + * dynobj.cc (Sized_dynobj::Sized_dynobj): Initialize symbols_ and + defined_count_. + (Sized_dynobj::do_add_symbols): Allocate symbols_ if printing + symbol counts. + (Sized_dynobj::do_get_global_symbol_counts): New function. + * dynobj.h (class Sized_dynobj): Add fields symbols_ and + defined_count_. Update declarations. Define Symbols typedef. + * symtab.cc (Symbol_table::add_from_relobj): Add defined + parameter. Change all callers. + (Symbol_table::add_from_dynobj): Add sympointers and defined + parameters. Change all callers. + * symtab.h (class Symbol_table): Update declarations. + * Makefile.am (CCFILES): Add cref.cc. + (HFILES): Add cref.h. + * Makefile.in: Rebuild. + +2008-07-22 Simon Baldwin + + * symtab.cc (Symbol_table::sized_write_symbol): Set symbol size + to zero when writing undefined symbols. + +2008-07-22 Ian Lance Taylor + + * output.cc (Output_section::add_input_section): Don't try to + merge empty merge sections. + +2008-07-21 Craig Silverstein + + * symtab.cc (Symbol_table::warn_about_undefined_dynobj_symbol): + Include symbol version in error message. + +2008-07-20 Chris Demetriou + + * configure.ac (gold_cv_c_random_seed): New configured variable. + (RANDOM_SEED_CFLAGS): New substituted variable. + * Makefile.am (AM_CFLAGS, AM_CXXFLAGS): Add $(RANDOM_SEED_CFLAGS). + * configure: Rebuild. + * Makefile.in: Likewise. + * testsuite/Makefile.in: Likewise. + 2008-07-18 Ian Lance Taylor * symtab.cc (Symbol_table::add_from_object): Rewrite the case @@ -188,7 +340,7 @@ * reduced_debug_output.cc: New file. * reduced_debug_output.h: New file. - * options.h (class General_optoins): Add --strip-debug-non-line. + * options.h (class General_options): Add --strip-debug-non-line. * options.cc (General_options::finalize): Add strip_debug_non_line to the strip heirarchy. * layout.h (class Layout): Add debug_abbrev_ and debug_info_