[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/31171] New: ld generates gratuitous PLT entries on ARM
From: |
bugdal at aerifal dot cx |
Subject: |
[Bug ld/31171] New: ld generates gratuitous PLT entries on ARM |
Date: |
Fri, 15 Dec 2023 22:38:35 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=31171
Bug ID: 31171
Summary: ld generates gratuitous PLT entries on ARM
Product: binutils
Version: unspecified
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: bugdal at aerifal dot cx
Target Milestone: ---
This looks like it may be the same as
https://sourceware.org/bugzilla/show_bug.cgi?id=22374 for other archs. I was
testing with the program:
#include <stdlib.h>
static void (*f)() = abort;
int main() {
return (long)f;
}
built with -O0 so there's no attempt at determining that f doesn't change and
inlining it. The emitted asm and .o file clearly do not contain any references
to abort from .text; however, the linked executable has JUMP_SLOT relocations
and abort@plt instructions.
Both 32-bit arm and aarch64 are affected.
The condition for generating a PLT entry (and analogously, for data, a copy
relocation) should be that the symbol is referenced from text, not that it's a
function-type symbol being referenced at all. References from data do not need
PLT entries or copy relocations.
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/31171] New: ld generates gratuitous PLT entries on ARM,
bugdal at aerifal dot cx <=