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

            Bug ID: 34266
           Summary: [RISC-V] GNU ld.bfd versioned IFUNC variant cc jump
                    slot missing dt variant cc
           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 16775
  --> https://sourceware.org/bugzilla/attachment.cgi?id=16775&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 and emits `R_RISCV_JUMP_SLOT
foo@@VER_1` while preserving `[VARIANT_CC]` on the versioned IFUNC symbol in
both `.dynsym` and `.symtab`, but omits `DT_RISCV_VARIANT_CC` from the dynamic
table.
Expected: Link a RISC-V shared object where `foo` is a default-versioned GNU
IFUNC (`foo@@VER_1`), the implementation symbol carries `STO_RISCV_VARIANT_CC`
via `.variant_cc`, and a self-call forces a dynamic `R_RISCV_JUMP_SLOT`
relocation.

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

Reply via email to