+2009-03-20 Mikolaj Zalewski <mikolajz@google.com>
+
+ * incremental.cc: New file.
+ * Makefile.am (CCFILES): Add incremental.cc.
+ * Makefile.in: Rebuild.
+
+2009-03-19 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * layout.cc (Layout::output_section_name): Preserve names
+ of '.note.' sections.
+
+2009-03-19 Ian Lance Taylor <iant@google.com>
+
+ * descriptors.cc (Descriptors::open): Check that the options are
+ valid before using them.
+
+2009-03-18 Ian Lance Taylor <iant@google.com>
+
+ * script-sections.h: Include <list>.
+ (class Script_sections): Change Sections_elements from std::vector
+ to std::list. Typedef public Elements_iterator. Add
+ orphan_section_placement_, data_segment_align_start_, and
+ saw_data_segment_align_ fields. Remove data_segment_align_index_
+ field.
+ * script-sections.cc (class Orphan_section_placement): New class.
+ (class Sections_element): Add virtual functions is_relro and
+ orphan_section_init. Remove virtual function place_orphan_here.
+ (class Output_section_definition): Add is_relro and
+ orphan_section_init. Remove place_orphan_here.
+ (class Orphan_output_section): Likewise.
+ (Script_sections::Script_sections): Update for field changes.
+ (Script_sections::data_segment_align): Set saw_data_segment_align_
+ and data_segment_align_start_, not data_segment_align_index.
+ (Script_sections::data_segment_relro_end): Check
+ saw_data_segment_align_. Use data_segment_align_start_ rather
+ than data_segment_align_index_.
+ (Script_sections::place_orphan): Rewrite to use
+ Orphan_section_placement.
+
+2009-03-17 Ian Lance Taylor <iant@google.com>
+
+ * archive.cc (Archive::add_symbols): Check for a version attached
+ to the symbol name in the archive map.
+ * testsuite/Makefile.am (check_PROGRAMS): Add ver_test_11.
+ (ver_test_11_SOURCES, ver_test_11_DEPENDENCIES): Define.
+ (ver_test_11_LDFLAGS, ver_test_11_LDADD): Define.
+ (ver_test_11.a): New target.
+ * testsuite/Makefile.in: Rebuild.
+
+ * configure.ac: Check for chsize and posix_fallocate. Replace
+ ftruncate.
+ * ftruncate.c: New file, from gnulib.
+ * output.cc (posix_fallocate): Define dummy version if not
+ HAVE_POSIX_FALLOCATE.
+ (Output_file::map): Call posix_fallocate rather than lseek and
+ write.
+ * gold.h (ftruncate): Declare if not HAVE_FTRUNCATE.
+ * configure, Makefile.in, config.in: Rebuild.
+
+2009-03-17 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * layout.h (Layout::create_note): Add section_name parameter.
+ * layout.cc (Layout::create_note): Likewise.
+ (Layout::create_build_id, Layout::create_gold_note): Fix callers.
+
+2009-03-17 Ian Lance Taylor <iant@google.com>
+
+ * descriptors.cc: Include "options.h".
+ (FD_CLOEXEC, O_CLOEXEC): Define if not defined.
+ (Descriptors::open): Always use O_CLOEXEC when opening a new
+ descriptor. If we have a plugin, and O_CLOEXEC was not defined,
+ then set FD_CLOEXEC.
+
+ * sparc.cc (class Target_sparc): Add has_got_section.
+ (Target_sparc::Scan::global): If we see _GLOBAL_OFFSET_TABLE_,
+ make sure we have a GOT section.
+
+ * sparc.cc (optimize_tls_reloc): Recognize R_SPARC_TLS_IE_ADD.
+ (Target_sparc::Scan::local): Likewise.
+ (Target_sparc::Scan::global): Likewise.
+ (Target_sparc::Relocate::relocate): Likewise.
+ (Target_sparc::Relocate::relocate_tls): Likewise.
+
+ * symtab.cc (Symbol_table::define_default_version): New function,
+ broken out of add_from_object.
+ (Symbol_table::add_from_object): Call define_default_version.
+ (Symbol_table::define_special_symbol): Add resolve_oldsym
+ parameter. Change all callers. If the version for a symbol comes
+ from a version script, resolve it with the symbol with the same
+ name with no version. Also add the symbol without a version if
+ appropriate.
+ (do_define_in_output_data): If resolving with oldsym, don't delete
+ sym.
+ (do_define_in_output_segment): Likewise.
+ (do_define_as_constant): Likewise.
+ * symtab.h (class Symbol_table): Update declarations.
+
+2009-03-13 Ian Lance Taylor <iant@google.com>
+
+ * readsyms.cc (Read_symbols::incompatible_warning): New function.
+ (Read_symbols::requeue): New function.
+ (Read_symbols::do_read_symbols): If make_elf_object fails because
+ the target type is not configured, and the file was searched for,
+ issue a warning and retry with the next directory.
+ (Add_symbols::run): If the file has an incompatible format, and
+ it was searched for, requeue the Read_symbols task. On error,
+ release the object.
+ * readsyms.h (class Read_symbols): Add dirindex_ field. Add
+ dirindex parameter to constructor. Change all callers. Declare
+ incompatible_warning and requeue.
+ (class Add_symbols): Add dirpath_, dirindex_, mapfile_,
+ input_argument_ and input_group_ fields. Add them to
+ constructor. Change all callers.
+ (class Read_script): Add dirindex_ field. Add it to constructor.
+ Change all callers.
+ * archive.cc (Archive::setup): Remove input_objects parameter.
+ Change all callers.
+ (Archive::get_file_and_offset): Likewise.
+ (Archive::read_all_symbols): Likewise.
+ (Archive::read_symbols): Likewise.
+ (Archive::get_elf_object_for_member): Remove input_objects
+ parameter. Add punconfigured parameter. Change all callers.
+ (Archive::add_symbols): Change return type to bool. Check return
+ value of include_member.
+ (Archive::include_all_members): Likewise.
+ (Archive::include_member): Change return type to bool. Return
+ false if first included object has incompatible target. Set
+ included_member_ field.
+ (Add_archive_symbols::run): If add_symbols returns false, requeue
+ Read_symbols task.
+ * archive.h (class Archive): Add included_member_ field.
+ Initialize it in constructor. Add input_file and searched_for
+ methods. Update declarations.
+ (class Add_archive_symbols): Add dirpath_, dirindex_, and
+ input_argument_ fields. Add them to constructor. Change all
+ callers.
+ * script.cc: Include "target-select.h".
+ (class Parser_closure): Add skip_on_incompatible_target_ and
+ found_incompatible_target_ fields. Add
+ skip_on_incompatible_target parameter to constructor. Change all
+ callers. Add methods skip_on_incompatible_target,
+ clear_skip_on_incompatible_target, found_incompatible_target, and
+ set_found_incompatible_target.
+ (read_input_script): Add dirindex parameter. Change all callers.
+ If parser finds an incompatible target, requeue Read_symbols
+ task.
+ (script_set_symbol): Clear skip_on_incompatible_target in
+ closure.
+ (script_add_assertion, script_parse_option): Likewise.
+ (script_start_sections, script_add_phdr): Likewise.
+ (script_check_output_format): New function.
+ * script.h (read_input_script): Update declaration.
+ * script-c.h (script_check_output_format): Declare.
+ * yyscript.y (file_cmd): Handle OUTPUT_FORMAT.
+ (ignore_cmd): Remove OUTPUT_FORMAT.
+ * fileread.cc (Input_file::Input_file): Add explicit this.
+ (Input_file::will_search_for): New function.
+ (Input_file::open): Add pindex parameter. Change all callers.
+ * fileread.h (class Input_file): Add input_file_argument method.
+ Declare will_search_for. Update declarations.
+ * object.cc (make_elf_object): Add punconfigured parameter.
+ Change all callers.
+ * object.h (class Object): Make input_file public. Add
+ searched_for method.
+ (make_elf_object): Update declaration.
+ * dirsearch.cc (Dirsearch::find): Add pindex parameter. Use it to
+ restart search.
+ * dirsearch.h (class Dirsearch): Update declaration.
+ * options.h (class General_options): Add --warn-search-mismatch.
+ * parameters.cc (Parameters::is_compatible_target): New function.
+ * parameters.h (class Parameters): Declare is_compatible_target.
+ * workqueue.cc (Workqueue::add_blocker): New function.
+ * workqueue.h (class Workqueue): Declare add_blocker.
+
+ * fileread.cc (Input_file::open): Remove options parameter.
+ Change all callers.
+ (Input_file::open_binary): Likewise.
+ * script.cc (read_input_script): Likewise.
+ * readsyms.h (class Read_symbols): Remove options_ field. Remove
+ options parameter from constructor. Change all callers.
+ (class Read_script): Likewise.
+ * fileread.h (class Input_file): Update declarations.
+ * script.h (read_input_script): Update declaration.
+
+2009-03-10 Nick Clifton <nickc@redhat.com>
+
+ * po/es.po: New Spanish translation.
+
+2009-03-06 Cary Coutant <ccoutant@google.com>
+
+ * options.cc (parse_short_option): Keep dash_z from registering itself.
+
+2009-03-03 Ian Lance Taylor <iant@google.com>
+
+ PR 9918
+ * target-reloc.h (relocate_section): Pass output_section to
+ relocate.
+ * i386.cc (Target_i386::should_apply_static_reloc): Add
+ output_section parameter. Change all callers.
+ (Target_i386::Relocate::relocate): Add output_section parameter.
+ * x86_64.cc (Target_x86_64::Relocate::relocate): Likewise.
+ * sparc.cc (Target_sparc::Relocate::relocate): Likewise.
+ * powerpc.cc (Target_powerpc::Relocate::relocate): Likewise.
+ * testsuite/two_file_shared.sh: New script.
+ * testsuite/Makefile.am (check_SCRIPTS): Add two_file_shared.sh.
+ (check_DATA): Add two_file_shared.dbg.
+ (two_file_shared.dbg): New target.
+ * testsuite/Makefile.in: Rebuild.
+
+2009-03-01 Ian Lance Taylor <iant@google.com>
+
+ * configure.ac: Check for byteswap.h.
+ * configure: Rebuild.
+ * config.in: Rebuild.
+
2009-03-01 Mikolaj Zalewski <mikolajz@google.com>
* layout.cc (Layout::find_or_add_kept_section): New function.