bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/15835] binutils can't deal with more than one SHT_SYMTAB_S


From: cvs-commit at gcc dot gnu.org
Subject: [Bug binutils/15835] binutils can't deal with more than one SHT_SYMTAB_SHNDX section (such as from Solaris or illumos link editor)
Date: Wed, 23 Sep 2015 16:25:36 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=15835

--- Comment #19 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Nick Clifton <address@hidden>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6a40cf0c5c845683fdb82721813ebd5dd867cce5

commit 6a40cf0c5c845683fdb82721813ebd5dd867cce5
Author: Nick Clifton <address@hidden>
Date:   Wed Sep 23 17:23:58 2015 +0100

    Add support for files that contain multiple symbol index tables.  Fixes PR
15835

    binutils    PR binutils/15835
        * readelf.c (struct elf_section_list): New structure.
        (symtab_shndx_hdr): Replace with symtab_shndx_list.
        (get_32bit_elf_symbols): Scan for a symbol index table matching
        the symbol table in use.
        (get_64bit_elf_symbols): Likewise.
        (process_section_headers): Handle multiple symbol index sections.

    bfd * elf-bfd.h (struct elf_section_list): New structure.
        (struct elf_obj_tdata): Replace symtab_shndx_hdr with
        symtab_shndx_list.  Delete symtab_shndx_section.
        (elf_symtab_shndx): Replace macro with elf_symtab_shndx_list.
        * elf.c (bfd_elf_get_syms): If symtab index sections are present,
        scan them for the section that matches the provided symbol table.
        (bfd_section_from_shdr): Record all SHT_SYMTAB_SHNDX sections.
        (assign_section_numbers): Use the first symtab index table in the
        list.
        (_bfd_elf_compute_section_file_positions): Replace use of
        symtab_shndx_hdr with use of symtab_shndx_list.
        (find_section_in_list): New function.
        (assign_file_postions_except_relocs): Use new function.
        (_bfd_elf_copy_private_symbol_data): Likewise.
        (swap_out_syms): Handle multiple symbol table index sections.
        * elf32-m32c.c (m32c_elf_relax_section): Replace use of
        symtab_shndx_hdr with use of symtab_shndx_list.
        * elf32-rl78.c (rl78_elf_relax_section): Likewise.
        * elf32-rx.c (rx_relax_section): Likewise.
        * elf32-v850.c (v850_elf_relax_delete_bytes): Likewise.
        * elflink.c (bfd_elf_final_link): Likewise.

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]