https://sourceware.org/bugzilla/show_bug.cgi?id=32991
Bug ID: 32991
Summary: "pushl main@GOT(%ebx)" is mishandled
Product: binutils
Version: 2.42
Status: NEW
Severity: normal
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: hjl.tools at gmail dot com
Target Milestone: ---
Target: i386
sysdeps/i386/start.S has
# ifdef SHARED
pushl main@GOT(%ebx)
# else
linker relaxed it to
22c: e9 cf ff ff ff jmp 200 <main>
231: 90 nop
This bug is fixed on master branch by
commit 11c2852449825a5f486f63bc40aabed56b7c04c1
Author: Jan Beulich <[email protected]>
Date: Fri Feb 21 10:24:50 2025 +0100
x86: widen @got{,pcrel} support to PUSH and APX IMUL
With us doing the transformation to an immediate operand for MOV and
various ALU insns, there's little reason to then not support the same
conversion for the other two insns which have respective immediate
operand forms. Unfortunately for IMUL (due to the 0F opcode prefix)
there's no suitable relocation, so the pre-APX forms cannot be marked
for relaxation in the assembler.
--
You are receiving this mail because:
You are on the CC list for the bug.