https://sourceware.org/bugzilla/show_bug.cgi?id=25406
Bug ID: 25406
Summary: [ARM] pcrel relocations referencing STB_GLOBAL symbols
are resolved at assembly time
Product: binutils
Version: unspecified
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: gas
Assignee: unassigned at sourceware dot org
Reporter: i at maskray dot me
Target Milestone: ---
% cat pcrel-global.s
.syntax unified
.globl foo
foo:
ldrd r0, r1, foo @ arm_pcrel_10_unscaled
vldr d0, foo @ arm_pcrel_10
adr r2, foo @ arm_adr_pcrel_12
ldr r0, foo @ arm_ldst_pcrel_12
.thumb
.thumb_func
.globl bar
bar:
adr r0, bar @ thumb_adr_pcrel_10
adr.w r0, bar @ t2_adr_pcrel_12
ldr.w pc, bar @ t2_ldst_pcrel_12
% arm-linux-gnueabi-as -mfpu=vfp pcrel-global.s -o /tmp/c/a.o
% readelf -r /tmp/c/a.o
There are no relocations in this file.
If the definitions of foo and bar are deleted, each instruction can issue an
error.
STB_GLOBAL STV_DEFAULT symbols can be preemptible (if in a shared object).
Should relocations be emitted? On many other architectures, relocations will be
emitted.
--
You are receiving this mail because:
You are on the CC list for the bug.