+
+ * layout.cc (Layout::layout): If we see an input section with a
+ name that needs sorting, set the must_sort flag for the output
+ section.
+ (Layout::make_output_section): If the name of the output section
+ indicates that it might require sorting, set the may_sort flag.
+ * output.h (Output_section::may_sort_attached_input_sections): New
+ function.
+ (Output_section::set_may_sort_attached_input_sections): New
+ function.
+ (Output_section::must_sort_attached_input_sections): New
+ function.
+ (Output_section::set_must_sort_attached_input_sections): New
+ function.
+ (class Output_section): Declare Input_section_sort_entry. Define
+ Input_section_sort_compare. Declare
+ sort_attached_input_sections. Add new fields:
+ may_sort_attached_input_sections_,
+ must_sort_attached_input_sections_,
+ attached_input_sections_are_sorted_.
+ * output.cc (Output_section::Output_section): Initialize new
+ fields.
+ (Output_section::add_input_section): Add an entry to
+ input_sections_ if may_sort or must_sort are true.
+ (Output_section::set_final_data_size): Call
+ sort_attached_input_sections if necessary.
+ (Output_section::Input_section_sort_entry): Define new class.
+ (Output_section::Input_section_sort_compare::operator()): New
+ function.
+ (Output_section::sort_attached_input_sections): New function.
+ * configure.ac: Check whether the compiler supports constructor
+ priorities. Define a CONSTRUCTOR_PRIORITY automake conditional.
+ * testsuite/initpri1.c: New file.
+ * testsuite/Makefile.am (check_PROGRAMS): Add initpri1 if
+ CONSTRUCTOR_PRIORITY.
+ (initpri1_SOURCES, initpri1_DEPENDENCIES): New variables.
+ (initpri1_LDFLAGS): New variable.
+ * configure, Makefile.in, testsuite/Makefile.in: Rebuild.
+
+
+ * common.cc (Sort_commons::operator): Correct sorting algorithm.
+ * testsuite/common_test_1.c: New file.
+ * testsuite/Makefile.am (check_PROGRAMS): Add common_test_1.
+ (common_test_1_SOURCES): New variable.
+ (common_test_1_DEPENDENCIES): New variable.
+ (common_test_1_LDFLAGS): New variable.
+
+ * symtab.cc (Symbol_table::add_from_object): Handle saw_undefined_
+ and commons_ correctly when NAME/VERSION does not override
+ NAME/NULL.
+ * testsuite/ver_test_6.c: New file.
+ * testsuite/Makefile.am (check_PROGRAMS): Add ver_test_6
+ (ver_test_6_SOURCES, ver_test_6_DEPENDENCIES): New variables.
+ (ver_test_6_LDFLAGS, ver_test_6_LDADD): New variables.
+
+
+ * symtab.cc (Symbol_table::add_from_relobj): Don't set the version
+ of an undefined symbol from a version script.
+ * testsuite/Makefile.am (ver_test_5.so): New target.
+ (ver_test_5.o): New target.
+ (check_SCRIPTS): Add ver_test_5.sh.
+ (check_DATA): Add ver_test_5.syms.
+ (ver_test_5.syms): New target.
+ * testsuite/ver_test_5.cc: New file.
+ * testsuite/ver_test_5.script: New file.
+ * testsuite/ver_test_5.sh: New file.
+ * Makefile.in, testsuite/Makefile.in: Rebuild.
+
+ PR gold/5986
+ Fix problems building gold with gcc 4.3.0.
+ * gold.h (TEMPLATE_ATTRIBUTE_PRINTF_4): Define.
+ (gold_error_at_location, gold_warning_at_location): Use it.
+ * configure.ac: Check whether we can compile and use a template
+ function with a printf attribute.
+ * x86_64.cc (Target_x86_64::do_code_fill): Swap out a 32-bit value
+ when jumping over bytes.
+ * object.cc: Instantiate Object::read_section_data.
+ * debug.h: Include <cstring>
+ * dwarf_reader.cc: Include <algorithm>
+ * main.cc: Include <cstring>.
+ * options.cc: Include <cstring>.
+ * output.cc: Include <cstring>.
+ * script.cc: Include <cstring>.
+ * script.h: Include <string>.
+ * symtab.cc: Include <cstring> and <algorithm>.
+ * target-select.cc: Include <cstring>.
+ * version.cc: Include <string>.
+ * testsuite/testmain.cc: Include <cstdlib>.
+ * configure, config.in: Rebuild.
+
+ * options.cc: Include "../bfd/bfdver.h".
+ (options::help): Print bug reporting address.
+
+ * version.cc (print_version): Adjust output for current value of
+ BFD_VERSION_STRING.
+
+ * NEWS: New file.
+
+ * options.cc (options::help): Print list of supported targets.
+ * target-select.h: Include <vector>.
+ (class Target_selector): Make machine_, size_, and is_big_endian_
+ fields const. Add bfd_name_ and instantiated_target_ fields.
+ (Target_selector::Target_selector): Add bfd_name parameter.
+ (Target_selector::recognize): Make non-virtual, call
+ do_recognize.
+ (Target_selector::recognize_by_name): Make non-virtual, call
+ do_recognize_by_name.
+ (Target_selector::supported_names): New function.
+ (Target_selector::bfd_name): New function.
+ (Target_selector::do_instantiate_target): New pure virtual
+ function.
+ (Target_selector::do_recognize): New virtual function.
+ (Target_selector::do_recognize_by_name): New virtual function.
+ (Target_selector::instantiate_target): New private function.
+ (supported_target_names): Declare.
+ * target-select.cc (Target_selector::Target_selector): Update for
+ new parameter and fields.
+ (select_target_by_name): Check that the name matches before
+ calling recognize_by_name.
+ (supported_target_names): New function.
+ * i386.cc (class Target_selector_i386): Update Target_selector
+ constructor call. Remove recognize and recognize_by_name. Add
+ do_instantiate_target.
+ * x86_64.cc (class Target_selector_x86_64): Likewise.
+ * testsuite/testfile.cc (class Target_selector_test): Update for
+ changes to Target_selector.
+
* README: Rewrite, with some notes on unsupported features.
* symtab.cc (Symbol::init_fields): Replaced initialization
of got_offset_ with got_offsets_. Removed initialization
of has_got_offset_
- *symtab.h (Symbol::has_got_offset): Aded got_type parameter.
+ * symtab.h (Symbol::has_got_offset): Aded got_type parameter.
(Symbol::got_offset): Likewise.
(Symbol::set_got_offset): Likewise.
(Symbol::has_tls_got_offset): Removed.