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

            Bug ID: 34257
           Summary: [RISC-V] GNU ld.bfd RISC-V non-default `.symver`
                    override lost under version script
           Product: binutils
           Version: 2.45
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: l784896635 at gmail dot com
  Target Milestone: ---

Created attachment 16766
  --> https://sourceware.org/bugzilla/attachment.cgi?id=16766&action=edit
Reduced testcase

I reduced this to the attached RISC-V testcase and can reproduce it 3/3 times.
Observed: GNU ld.bfd 2.45 links successfully but, on the `VER_1 { foo; };`
override surface, it leaves the plain `foo` definition alive as a separate
local function and binds `caller` to that local plain `foo` instead of to the
versioned alias.
Expected: Link valid RISC-V objects where one input defines only a non-default
versioned symbol `foo@VER_1` via `.symver foo_v1, foo@VER_1, remove`, another
input defines a plain `foo`, a third input references `call foo`, and the
version script exports `foo` in `VER_1`.

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

Reply via email to