Bug 1557346 - collect2: error: ld terminated with signal 11 [Segmentation fault], core dumped
Summary: collect2: error: ld terminated with signal 11 [Segmentation fault], core dumped
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: binutils   
(Show other bugs)
Version: 7.6
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Nick Clifton
QA Contact: Miloš Prchlík
Vladimír Slávik
URL:
Whiteboard:
Keywords:
Depends On:
Blocks: 1505884
TreeView+ depends on / blocked
 
Reported: 2018-03-16 13:11 UTC by Christine Caulfield
Modified: 2018-10-30 07:51 UTC (History)
8 users (show)

Fixed In Version: binutils-2.27-28.base.el7
Doc Type: Bug Fix
Doc Text:
_binutils_ linker no longer terminates unexpectedly when encountering relocations against absolute address Previously, the linker from the _binutils_ package could not properly handle relocations against an absolute address. As a consequence, encountering such relocations caused a segmentation fault of the linker. The linker has been extended to handle relocations against absolute addresses and the problem no longer occurs.
Story Points: ---
Clone Of:
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: ---


Attachments (Terms of Use)
Proposed patch (495 bytes, patch)
2018-03-19 12:07 UTC, Nick Clifton
no flags Details | Diff
Patch to spec file (1.62 KB, patch)
2018-03-19 12:08 UTC, Nick Clifton
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:3032 None None None 2018-10-30 07:51 UTC

Description Christine Caulfield 2018-03-16 13:11:14 UTC
Description of problem:
When compiling the latest corosync on RHEL7.4 it crashes at link time with
collect2: error: ld terminated with signal 11 [Segmentation fault], core dumped

Version-Release number of selected component (if applicable):
binutils-2.27-27.base.el7.x86_64
libgcc-4.8.5-28.el7.x86_64
gcc-c++-4.8.5-28.el7.x86_64
gccxml-0.9.0-0.27.20150423.git3afa8ba.el7.x86_64
gcc-4.8.5-28.el7.x86_64
gcc-gfortran-4.8.5-28.el7.x86_64
glibc-devel-2.17-222.el7.x86_64
glibc-common-2.17-222.el7.x86_64
glibc-2.17-222.el7.x86_64
glibc-headers-2.17-222.el7.x86_64


How reproducible:
Every time

Steps to Reproduce:
1. Checkout & build libqb
   $ git clone https://github.com/ClusterLabs/libqb.git
   $ sh autogen.sh && ./configure && make && make install
2. Checkout & build kronosnet
   $ git clone https://github.com/kronosnet/kronosnet.git
   $ sh autogen.sh && ./configure --disable-compress-all && make && make install
3. Checkout and build corosync
   $ git clone https://github.com/corosync/corosync
   $ sh autogen.sh && ./configure && make && make install


Actual results:

Compilation terminates with
...
Making all in exec
make[2]: Entering directory `/home/christine/dev/corosync/exec'
  CC       corosync-main.o
  CCLD     corosync
collect2: error: ld terminated with signal 11 [Segmentation fault], core dumped
/usr/bin/ld: warning: /usr/lib64/libqb.so contains output sections; did you forget -T?
make[2]: *** [corosync] Error 1
make[2]: Leaving directory `/home/christine/dev/corosync/exec'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/christine/dev/corosync'
make: *** [all] Error 2

Expected results:

Compilation should complete successfully

Additional info:

I'm pretty certain this is down to the symbol fiddling going in in libqb, but I don't think it should segfault the linker :)

Comment 2 Christine Caulfield 2018-03-16 13:44:29 UTC
I should probably point out that binutils-2.27-22.base.el7 also has the problem but binutils-2.25.1-32.base.el7_4.2.x86_64 works.

Comment 3 Nick Clifton 2018-03-19 12:07 UTC
Created attachment 1409832 [details]
Proposed patch

Comment 4 Nick Clifton 2018-03-19 12:08 UTC
Created attachment 1409833 [details]
Patch to spec file

Comment 5 Nick Clifton 2018-03-19 12:16:12 UTC
Hi Christine,

  Thanks for reporting this bug.

  I have uploaded a patch that fixes the problem, and an update to the
  binutils.spec file so that the new patch will be included in a build.

  But unfortunately the RHEL 7.5 binutils - which are the ones affected 
  by this bug - are now being prepared for release.  So it is too late
  to get this patch in.  It could be released as a z-stream update once
  the release is officially out, but I am not sure how critical this
  problem is for you.  If you are able to use the RHEL-7.4 linker to 
  build corosync, then is a fix for RHEL-7.5 important to you ?

Cheers
  Nick

Comment 6 Christine Caulfield 2018-03-19 13:09:11 UTC
Hi Nick,

Thanks for the quick response. We don't need this in RHEL7.5 fortunately because the section fiddling that's going on in libqb isn't included in that release - it does affect upstream and potentially RHEL7.6 though so a Zstream release would be very helpful.

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

Comment 14 Miloš Prchlík 2018-07-26 07:36:42 UTC
Verified with build binutils-2.27-34.base.el7 using the provided steps.

Comment 18 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


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