Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 1243559 - [aarch64][binutils] relocation truncated to fit: R_AARCH64_CALL26 (veneers not inserted)
[aarch64][binutils] relocation truncated to fit: R_AARCH64_CALL26 (veneers no...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: binutils (Show other bugs)
7.1
aarch64 Linux
medium Severity medium
: rc
: ---
Assigned To: Nick Clifton
Miloš Prchlík
Tomas Capek
: Patch
: 1360941 (view as bug list)
Depends On:
Blocks: epel7aarch64 1297579 1313485 1277314
  Show dependency treegraph
 
Reported: 2015-07-15 15:10 EDT by David Abdurachmanov
Modified: 2016-11-03 21:52 EDT (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Large and/or high-address programs now link and execute correctly on *AArch64* Previously, incorrect code in the linker could result in incorrect branch stubs being generated. Consequently, programs that were very big or if the programmer coded parts of the program to exist at a very high address, failed to link. The bug has been fixed and the correct kind of branch stub is now selected.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-03 21:52:32 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Proposed patch (3.63 KB, patch)
2015-11-18 10:22 EST, Nick Clifton
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Sourceware 18668 None None None Never
Red Hat Product Errata RHBA-2016:2265 normal SHIPPED_LIVE binutils bug fix update 2016-11-03 09:33:42 EDT

  None (edit)
Description David Abdurachmanov 2015-07-15 15:10:50 EDT
Description of problem:

There are two cases then ld.bfd does not insert veneers on aarch64:
- "the target symbol and relocated place are in separate sections"
- if you are building a shared library and a function call goes through PLT stub. PLT stub ends up outside of +/-128MB range.

Version-Release number of selected component (if applicable):

The problems are present in trunk (last tested July 13) of binutils.

How reproducible:

All the details are in referenced PR in sourceware bugzilla.
Comment 2 David Abdurachmanov 2015-07-21 04:46:12 EDT
Fixes for both issues are now posted for review:

[AArch64] PR18668, Generate long branch veneer if call to plt stub is out of range
https://sourceware.org/ml/binutils/2015-07/msg00137.html

[AArch64] Long branch veneer support far symbol defined by --defsym
https://sourceware.org/ml/binutils/2015-07/msg00210.html
Comment 4 Nick Clifton 2015-11-18 10:22 EST
Created attachment 1096127 [details]
Proposed patch

Once the 7.3 branch is created, this patch can be used to fix this BZ...
Comment 5 Nick Clifton 2016-02-23 12:23:34 EST
binutils-2.25.1-7.el7 now contains the full patch.
Comment 9 Miloš Prchlík 2016-06-24 03:54:03 EDT
Verified for build binutils-2.25.1-19.base.el7.
Comment 10 Yaakov Selkowitz 2016-07-28 16:37:49 EDT
*** Bug 1360941 has been marked as a duplicate of this bug. ***
Comment 14 errata-xmlrpc 2016-11-03 21:52:32 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://rhn.redhat.com/errata/RHBA-2016-2265.html

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