bfd/
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index f15e157dd80edbe0c2402640592b2fdfcc4c6b7a..6f9011a1541bb54f600f677bf1d771d3e2cb74a9 100644 (file)
@@ -1,3 +1,188 @@
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * xcofflink.c (bfd_xcoff_import_symbol): Treat imported absolute
+       symbols as XMC_XO.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * libcoff-in.h (xcoff_tdata): Add a lineno_counts field.
+       * libcoff.h: Regenerate.
+       * xcofflink.c (xcoff_link_add_symbols): Record per-symbol
+       line-number counts in the bfd's lineno_counts field.
+       Don't keep per-csect line-number counts.
+       (xcoff_sweep): Don't update per-csect line-number counts.
+       (bfd_xcoff_size_dynamic_sections): Count the number of line-number
+       entries in each output section.
+       (xcoff_link_input_bfd): Get the number of line numbers from
+       the bfd's lineno_counts field, rather than recalculating it
+       from scratch.  Fix the range check when updating C_BINCL and
+       C_EINCL symbols.
+       (_bfd_xcoff_bfd_final_link): Don't count the output line numbers
+       here.  Don't expect csects to have line-number counts.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * libcoff-in.h (xcoff_tdata): Change debug_indices to a signed long.
+       * libcoff.h: Regenerate.
+       * xcofflink.c (xcoff_keep_symbol_p): New function, using the
+       "skip" logic from xcoff_link_input_bfd.
+       (bfd_xcoff_size_dynamic_sections): Explicitly skip dynamic
+       objects in a dynamic link, rather than checking whether csectpp
+       is null.  Always allocate debug_index for other objects,
+       and always go through the loop.  Update the type of debug_index
+       after the change above.  Read the auxillary csect information
+       and use xcoff_keep_symbol_p to decide whether a symbol should
+       be kept.  Set its debug_index to -2 if not.
+       (xcoff_link_input_bfd): Update the type of debug_index after
+       the change above and always expect it to be nonnull.  Use it to
+       test whether a symbol should be stripped, rather than making the
+       decision here.  Postpone all symbol creation to the second pass.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * xcofflink.c: (xcoff_mark_symbol): Mark the TOC section when
+       creating a descriptor.
+       (xcoff_sweep): Don't mark toc_section unless it's needed.
+       (bfd_xcoff_size_dynamic_sections): Skip the toc_section
+       when marking every bfd.
+       (xcoff_link_input_bfd): Skip all TOC anchors.
+       (xcoff_toc_section_p, xcoff_find_tc0): New functions.
+       (_bfd_xcoff_bfd_final_link): Don't set the output bfd's TOC anchor
+       to -1; call xcoff_find_tc0 instead.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * libcoff-in.h (xcoff_section_tdata): Update commentary.
+       * libcoff.h: Regenerate.
+       * xcofflink.c (xcoff_link_add_symbols): Set the csect of XTY_ER
+       symbols to bfd_und_section_ptr or bfd_abs_section_ptr, rather than
+       the previous symbol's csect.  Treat last_symndx as an inclusive value
+       and simplify its handling.
+       (xcoff_mark): Treat last_symndx as an inclusive value.  Only mark
+       symbols with the right csect.  Don't mark rsec when processing
+       relocations against undefined or absolute sections.  
+       (bfd_xcoff_size_dynamic_sections): Don't check the SEC_MARK flag
+       of bfd_und_section_ptr.
+       (xcoff_link_input_bfd): Likewise.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * coff-rs6000.c (xcoff_ppc_relocate_section): Report relocations
+       against undefined symbols if the symbol's XCOFF_WAS_UNDEFINED
+       flag is set.  Assert that all undefined symbols are either
+       imported or defined by a dynamic object.
+       * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
+       * xcofflink.c (xcoff_link_add_symbols): Extend function-symbol
+       handling to all relocations.  Only set XCOFF_CALLED for function
+       symbols.
+       (xcoff_find_function): New function, split out from...
+       (bfd_xcoff_export_symbol) ...here.
+       (xcoff_set_import_path): New function, split out from...
+       (bfd_xcoff_import_symbol): ...here.  Remove assertion for old
+       meaning of XCOFF_CALLED.
+       (xcoff_mark_symbol): If we mark an undefined and unimported
+       symbol, find some way of defining it.  If the symbol is a function
+       descriptor, fill in its definition automatically.  If the symbol
+       is a function, mark its descriptor and allocate room for global
+       linkage code.  Otherwise mark the symbol as implicitly imported.
+       Move the code for creating function descriptors from...
+       (xcoff_build_ldsyms): ...here.  Use XCOFF_WAS_UNDEFINED to 
+       check for symbols that were implicitly defined.
+       (xcoff_mark): Don't count any dynamic relocations against
+       function symbols.
+       (bfd_xcoff_size_dynamic_sections): Save the rtld parameter
+       in the xcoff link info.
+       (xcoff_link_input_bfd): Remove handling of undefined and
+       unexported symbols.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * coff-rs6000.c (xcoff_reloc_type_br): Make the branch absolute
+       if the target is absolute.  Fix comment typo.
+       (xcoff_ppc_relocate_section): Remove FIXME.
+       * coff64-rs6000.c (xcoff64_reloc_type_br): Make the branch absolute
+       if the target is absolute.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * xcofflink.c (xcoff_mark, xcoff_link_input_bfd): Don't copy
+       R_POS and R_NEG relocations against absolute symbols to the
+       .loader section.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * coff64-rs6000.c (xcoff64_write_object_contents): Set the cputype
+       to 2 for bfd_mach_ppc_620.
+
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * config.bfd: Treat AIX 6+ in the same way as AIX 5.
+       * configure.in: Likewise.
+       * configure: Regenerate.
+
+2009-03-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/9945
+       * elf.c (assign_section_numbers): Generate symbol table if there
+       is any relocation in output.
+       (_bfd_elf_compute_section_file_positions): Likewise.
+
+2009-03-13  Nick Clifton  <nickc@redhat.com>
+
+       PR 9934
+       * elf-bfd.h (NUM_SHDR_ENTRIES): Cope with an empty section.
+       * elflink.c (elf_link_read_relocs_from_section): Use
+       NUM_SHDR_ENTRIES.  Gracefully handle the case where there are
+       relocs but no symbol table.
+       * elf32-arm.c (elf32_arm_check_relocs): Likewise.
+
+2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/9938
+       * elf32-i386.c (elf_i386_check_tls_transition): Use strncmp
+       to check ___tls_get_addr.
+
+       * elf64-x86-64.c (elf64_x86_64_check_tls_transition): Use
+       strncmp to check __tls_get_addr.
+
+2009-03-12  Andrew Stubbs  <ams@codesourcery.com>
+
+       * dwarf2.c (read_section): Always check the offset, even when the
+       section has been read before.
+
+2009-03-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_check_tls_transition): Fix a typo in
+       comments.
+
+2009-03-11  Chris Demetriou  <cgd@google.com>
+
+       * bfd.c (BFD_DETERMINISTIC_OUTPUT): New flag.
+       * bfd-in2.h: Regenerate.
+       * archive.c (bfd_ar_hdr_from_filesystem): If BFD_DETERMINISTIC_OUTPUT
+       flag is set, use 0 for uid, gid, and timestamp, and use 0644 for file
+       mode.
+       (bsd_write_armap): Likewise.
+       (_bfd_archive_bsd_update_armap_timestamp): If BFD_DETERMINISTIC_OUTPUT
+       flag is set, do nothing.
+       (coff_write_armap): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0
+       for timestamp.
+
+2009-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * elf32-spu.c (find_function_stack_adjust): Handle sf instruction
+       used to update stack pointer.
+
+2009-03-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR binutils/9921
+       * som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTE
+       for unknown symbols in absolute section.
+
+2009-03-06  Nick Clifton  <nickc@redhat.com>
+
+       * po/es.po: Updated Spanish translation.
+
 2009-03-05  Christophe Lyon  <christophe.lyon@st.com>
 
        * elf32-arm.c (group_sections): Take next section size into
This page took 0.02475 seconds and 4 git commands to generate.