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.