bug-binutils
[Top][All Lists]
Advanced

[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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]