bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/23840] .symver fails with multiple versions [...] for symbol `.


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gas/23840] .symver fails with multiple versions [...] for symbol `...'
Date: Tue, 21 Apr 2020 12:37:48 +0000

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

--- Comment #4 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=6914be53bd662eefd979d0c82d2e20e108c4ee66

commit 6914be53bd662eefd979d0c82d2e20e108c4ee66
Author: H.J. Lu <address@hidden>
Date:   Tue Apr 21 05:33:04 2020 -0700

    gas: Extend .symver directive

    Extend .symver directive to update visibility of the original symbol and
    assign one original symbol to different versioned symbols:

      .symver foo, foo@VERS_1, local    # Change foo to a local symbol.
      .symver foo, foo@VERS_2, hidden   # Change foo to a hidden symbol.
      .symver foo, foo@@VERS_3, remove  # Remove foo from symbol table.
      .symver foo, bar@V1               # Assign foo to bar@V1 and baz@V2.
      .symver foo, baz@V2

            PR gas/23840
            PR gas/25295
            * NEWS: Mention .symver extension.
            * config/obj-elf.c (obj_elf_find_and_add_versioned_name): New
            function.
            (obj_elf_symver): Call obj_elf_find_and_add_versioned_name to
            add a version name.  Add local, hidden and remove visibility
            support.
            (elf_frob_symbol): Handle the list of version names.  Update the
            original symbol to local, hidden or remove it from the symbol
            table.
            (elf_frob_file_before_adjust): Handle the list of version names.
            * config/obj-elf.h (elf_visibility): New.
            (elf_versioned_name_list): Likewise.
            (elf_obj_sy): Change local to bitfield. Add rename, bad_version
            and visibility.  Change versioned_name pointer to struct
            elf_versioned_name_list.
            * doc/as.texi: Update .symver directive.
            * testsuite/gas/symver/symver.exp: Run all *.d tests.  Add more
            error checking tests.
            * testsuite/gas/symver/symver6.d: New file.
            * testsuite/gas/symver/symver7.d: Likewise.
            * testsuite/gas/symver/symver7.s: Likewise.
            * testsuite/gas/symver/symver8.d: Likewise.
            * testsuite/gas/symver/symver8.s: Likewise.
            * testsuite/gas/symver/symver9.s: Likewise.
            * testsuite/gas/symver/symver9a.d: Likewise.
            * testsuite/gas/symver/symver9b.d: Likewise.
            * testsuite/gas/symver/symver10.s: Likewise.
            * testsuite/gas/symver/symver10a.d: Likewise.
            * testsuite/gas/symver/symver10b.d: Likewise.
            * testsuite/gas/symver/symver11.d: Likewise.
            * testsuite/gas/symver/symver11.s: Likewise.
            * testsuite/gas/symver/symver12.d: Likewise.
            * testsuite/gas/symver/symver12.s: Likewise.
            * testsuite/gas/symver/symver13.d: Likewise.
            * testsuite/gas/symver/symver13.s: Likewise.
            * testsuite/gas/symver/symver14.d: Likewise.
            * testsuite/gas/symver/symver14.l: Likewise.
            * testsuite/gas/symver/symver15.d: Likewise.
            * testsuite/gas/symver/symver15.l: Likewise.
            * testsuite/gas/symver/symver6.l: Removed.
            * testsuite/gas/symver/symver6.s: Updated.

-- 
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]