bug-binutils
[Top][All Lists]
Advanced

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

[Bug binutils/25707] readelf -D -s doesn't dump the full dynamic symbol


From: cvs-commit at gcc dot gnu.org
Subject: [Bug binutils/25707] readelf -D -s doesn't dump the full dynamic symbol table with --hash-style=gnu
Date: Tue, 14 Apr 2020 12:01:57 +0000

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

--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by H.J. Lu <address@hidden>:

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

commit 10ca4b042d15cd0727300cf3f5a9f11ac8d6abff
Author: H.J. Lu <address@hidden>
Date:   Tue Apr 14 05:00:22 2020 -0700

    readelf: Consolidate --syms --use-dynamic with --dyn-syms

    When reconstructing dynamic symbol table from the PT_DYNAMIC segment,
    compute dynamic symbol table size from hash table.  For DT_HASH, the
    number of dynamic symbol table entries equals the number of chains.
    For DT_GNU_HASH/DT_MIPS_XHASH, only defined symbols with non-STB_LOCAL
    indings are in hash table.  Since DT_GNU_HASH/DT_MIPS_XHASH place all
    symbols with STB_LOCAL binding before symbols with other bindings and
    all undefined symbols defined ones in dynamic symbol table, the highest
    symbol index in DT_GNU_HASH/DT_MIPS_XHASH is the highest dynamic symbol
    table index.

    Rewrite print_dynamic_symbol to dump dynamic symbol table for --dyn-syms
    and --syms --use-dynamic.

    binutils/

            PR binutils/25707
            * readelf.c (nbuckets): New.
            (nchains): Likewise.
            (buckets): Likewise.
            (chains): Likewise.
            (ngnubuckets): Likewise.
            (gnubuckets): Likewise.
            (gnuchains): Likewise.
            (mipsxlat): Likewise.
            (ngnuchains): Likewise.
            (gnusymidx): Likewise.
            (VALID_SYMBOL_NAME): Likewise.
            (VALID_DYNAMIC_NAME): Use it.
            (get_dynamic_data): Moved before process_dynamic_section.
            (get_num_dynamic_syms): New function.
            (process_dynamic_section): Use DT_SYMTAB, DT_SYMENT, DT_HASH,
            DT_GNU_HASH and DT_MIPS_XHASH to reconstruct dynamic symbol
            table.  Use DT_STRTAB and DT_STRSZ to reconstruct dynamic string
            table.
            (get_symbol_index_type): Don't print "bad section index" when
            there is no section header.
            (print_dynamic_symbol): Rewrite.
            (process_symbol_table): Call print_dynamic_symbol to dump dynamic
            symbol table.

    ld/

            PR binutils/25707
            * testsuite/ld-arm/armthumb-lib.sym: Updated.
            * testsuite/ld-arm/farcall-mixed-app.sym: Likewise.
            * testsuite/ld-arm/farcall-mixed-app2.sym: Likewise.
            * testsuite/ld-arm/fdpic-main-m.sym: Likewise.
            * testsuite/ld-arm/fdpic-main.sym: Likewise.
            * testsuite/ld-arm/fdpic-shared-m.sym: Likewise.
            * testsuite/ld-arm/fdpic-shared.sym: Likewise.
            * testsuite/ld-arm/mixed-app.sym: Likewise.
            * testsuite/ld-arm/mixed-lib.sym: Likewise.
            * testsuite/ld-arm/preempt-app.sym: Likewise.
            * testsuite/ld-elf/hash.d: Likewise.
            * testsuite/ld-elf/pr13195.d: Likewise.
            * testsuite/ld-elfvsb/hidden2.d: Likewise.
            * testsuite/ld-mips-elf/hash2.d: 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]