Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1582602 - ld should allow "lea foo@GOT, %ecx" [rhel-7.5.z]
ld should allow "lea foo@GOT, %ecx" [rhel-7.5.z]
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: binutils (Show other bugs)
7.6
x86_64 Linux
high Severity medium
: rc
: ---
Assigned To: Nick Clifton
Miloš Prchlík
Vladimír Slávik
: ZStream
Depends On: 1573872
Blocks:
  Show dependency treegraph
 
Reported: 2018-05-25 13:25 EDT by Oneata Mircea Teodor
Modified: 2018-06-26 12:52 EDT (History)
12 users (show)

See Also:
Fixed In Version: binutils-2.27-28.base.el7_5.1
Doc Type: Bug Fix
Doc Text:
The "ld" linker based on the BFD library was too restrictive in its handling of a special form of the Load Effective Address (LEA) instruction in the AMD64 and Intel 64 architectures when building a shared library. As a consequence, the linker rejected valid code with an error message about an invalid relocation. The linker has been modified to handle addressing mode correctly. As a result, valid code that uses this instruction is accepted.
Story Points: ---
Clone Of: 1573872
Environment:
Last Closed: 2018-06-26 12:52:35 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Sourceware 21168 None None None 2018-05-25 13:26 EDT
Red Hat Knowledge Base (Solution) 3451312 None None None 2018-05-25 13:26 EDT
Red Hat Knowledge Base (Solution) 3452571 None None None 2018-05-25 13:26 EDT
Red Hat Product Errata RHBA-2018:1994 None None None 2018-06-26 12:52 EDT

  None (edit)
Description Oneata Mircea Teodor 2018-05-25 13:25:55 EDT
This bug has been copied from bug #1573872 and has been proposed to be backported to 7.5 z-stream (EUS).
Comment 8 Nick Clifton 2018-05-29 11:14:38 EDT
Update N-V-R to use correct z-stream syntax.
Comment 9 Miloš Prchlík 2018-06-05 02:51:46 EDT
Verified with build binutils-2.27-28.base.el7_5.1.x86_64, using the provided reproducer.

[root@sheep-30 ~]# gcc -B./ -m32 -c -o x.o x.S
[root@sheep-30 ~]# ld -melf_i386 -shared -o libx.so x.o
ld: x.o: direct GOT relocation R_386_GOT32 against `foo' without base register can not be used when making a shared object
ld: final link failed: Bad value
[root@sheep-30 ~]# 

vs.

[root@sheep-30 ~]# gcc -B./ -m32 -c -o x.o x.S
[root@sheep-30 ~]# ld -melf_i386 -shared -o libx.so x.o
[root@sheep-30 ~]#
Comment 14 errata-xmlrpc 2018-06-26 12:52:35 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:1994

Note You need to log in before you can comment on or make changes to this bug.