Bug 1553842

Summary: Unresolvable `R_X86_64_NONE` relocation
Product: Red Hat Enterprise Linux 7 Reporter: Nick Clifton <nickc>
Component: binutilsAssignee: Nick Clifton <nickc>
Status: CLOSED ERRATA QA Contact: Miloš Prchlík <mprchlik>
Severity: low Docs Contact: Vladimír Slávik <vslavik>
Priority: high    
Version: 7.6CC: bgollahe, fweimer, i.zaufi, kanderso, law, mcermak, mnewsome, mpolacek, mprchlik, nickc, ohudlick, tschelle, vslavik
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://stackoverflow.com/questions/48706962/unresolvable-r-x86-64-none-relocation
Whiteboard:
Fixed In Version: binutils-2.27-28.base.el7 Doc Type: Bug Fix
Doc Text:
`strip` no longer malforms binary files built with tools that use a later *BFD* library version Previously, the `strip` tool created an invalid binary file if the file was originally produced by tools that use a later version of the *BFD* library than `strip`. As a consequence running the resulting binary file failed and generated an error message about an unresolvable relocation. *BFD* has been modified to report situations where it cannot recognize its future features instead of damaging the code that contains these features. As a result, `strip` now generates an error message and aborts in this situation.
Story Points: ---
Clone Of: 1545386
: 1660555 1660556 1660557 1660558 (view as bug list) Environment:
Last Closed: 2018-10-30 07:50:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1545386, 1653797, 1653798, 1660547, 1660549    
Bug Blocks: 1505884, 1660555, 1660556, 1660557, 1660558    

Description Nick Clifton 2018-03-09 17:04:18 UTC
+++ This bug was initially created as a clone of Bug #1545386 +++

Description of problem:

Strip will silently corrupt relocations that it does not recognise,
producing a broken output file.  This applies to any architecture,
not just X86_64, but it does require that a new relocation be introduced
in a newer version of the binutils.  If an object file is created by
this new version of binutils, and then stripped using an older version
of the binutils, then the problem will arise.

Comment 2 Nick Clifton 2018-04-11 13:28:11 UTC
Fixed in:  binutils-2.27-28.base.el7

Comment 5 Miloš Prchlík 2018-07-26 06:45:29 UTC
Verified for build binutils-2.27-34.base.el7 - strip-13 test case of the upstream testsuite passed.

Comment 7 Nick Clifton 2018-08-15 08:21:07 UTC
Hi Vladimír,

  The text seems fine to me.

  There was an effect - if a program was stripped using a version
  of the strip program created before this fix, then it would not
  run.  When the user tried to start it the loader would issue an
  error message like the one in the title of this BZ, and refuse
  to start the program.  (There error message in the title of this
  BZ is specific to the x86_64 architecture, but other architectures
  would behave in the same way, just producing slightly different
  error messages).

Cheers
  Nick

Comment 11 errata-xmlrpc 2018-10-30 07:50:06 UTC
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/RHSA-2018:3032