ppc64_elf_edit_opd revamp
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 8bcbc1184e30d843585e69f87d7613eb9eb188a6..67b00707adf7b95ce38df20d7036ada0a7e4863b 100644 (file)
@@ -1,3 +1,43 @@
+2014-12-02  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (OPD_NDX): Define.  Use throughout for sizing/indexing
+       _opd_sec_data array, halving required memory.
+       (sort_r_offset): New function.
+       (ppc64_elf_edit_opd): Sort incoming relocs.  Accept .opd
+       sections with a mix of 16 and 24 byte OPD entries.  Don't
+       attempt to honour --non-overlapping-opd for .opd sections with
+       unexpected relocs.  Simplify opd entry size calculations by
+       first finding the reloc for the next entry.  Make edit loop
+       handle one opd entry per iteration, with an inner loop
+       handling relocs per entry.
+
+2014-12-01  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * archive.c (do_slurp_coff_armap): Add range checks to prevent
+       running off the end of the string table.
+       * compress.c (bfd_get_full_section_contents): Return a NULL
+       pointer for zero sized sections.  Do not attempt to copy a buffer
+       onto itself.
+       * elf-attrs.c (_bfd_elf_parse_attributes): Check for an empty
+       header.  Add range checks to avoid running off the end of the
+       section.
+       * elf.c (bfd_elf_get_str_section): Seek before allocating so that
+       if the seek fails, no memory is allocated.
+       (bfd_elf_string_from_elf_section): Do not allocate a string from a
+       non string section.  It only leads to trouble later on.
+       (_bfd_elf_print_private_bfd_data): Check for there being too
+       little external dynamic data.
+       (bfd_section_from_shdr): Replace assertion with a failure mode.
+       (bfd_section_from_shdr): When walking a loaded group section use
+       the internal structure size, not the external size.  Check for the
+       group section being empty.
+       * elf32-i386.c (elf_i386_rtype_to_howto): Replace assertion with a
+       failure mode.
+       * elfcode.h (elf_slurp_reloc_table): Likewise.
+       * reloc.c (bfd_perform_relocation): Avoid seg-fault if the howto
+       parameter is NULL.
+
 2014-11-30  Alan Modra  <amodra@gmail.com>
 
        PR 16452, 16457
This page took 0.023232 seconds and 4 git commands to generate.