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.