Bug 1445644

Summary: ifuncmod1.so ifuncmod3.so ifuncmod5.so tests fail during "make check" with binutils 2.27
Product: Red Hat Enterprise Linux 7 Reporter: Sergey Kolosov <skolosov>
Component: glibcAssignee: Arjun Shankar <ashankar>
Status: CLOSED ERRATA QA Contact: qe-baseos-tools-bugs
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: ashankar, codonell, fweimer, mcermak, mnewsome, pfrankli
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: glibc-2.17-203.el7 Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 13:58:28 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:    
Bug Blocks: 1471969    
Attachments:
Description Flags
partial "make check" log none

Description Sergey Kolosov 2017-04-26 08:39:27 UTC
Created attachment 1274115 [details]
partial "make check" log

Description of problem:
ifuncmod1.so ifuncmod3.so ifuncmod5.so fail during "make check" with binutils 2.27

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

glibc-2.17-192.el7
binutils-2.27-7.base.el7

How reproducible:
build glibc, make check

Steps to Reproduce:

1. rpmbuild -bc ~/rpmbuild/SPECS/glibc.spec
2. cd ~/rpmbuild/BUILD/glibc-*/build-*/ && make check

Actual results:
ifuncmod1.so ifuncmod3.so ifuncmod5.so tests fails

Expected results:
ifuncmod1.so ifuncmod3.so ifuncmod5.so must be passed

Additional info:

The bug is reproduced on x86_64 arch only.

partial "make check" log is attached

Comment 2 Arjun Shankar 2017-04-26 10:45:57 UTC
Florian mentioned that this could be related to upstream commit e0ed2fb4. Applying this and rebuilding the glibc rpms didn't reproduce the errors.

Comment 3 Carlos O'Donell 2017-07-20 06:53:28 UTC
We should fix this.

commit e0ed2fb40a0e29c43cf60addc74741dab15f2e05
Author: H.J. Lu <hjl.tools>
Date:   Fri Mar 6 04:55:56 2015 -0800

    Replace __attribute__((visibility("protected")))
    
    With copy relocation, address of protected data defined in the shared
    library may be external.  Compiler shouldn't asssume protected data will
    be local.  But due to
    
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65248
    
    __attribute__((visibility("protected"))) doesn't work correctly, we need
    to use asm (".protected xxx") instead.
    
            * elf/ifuncdep2.c (global): Replace
            __attribute__((visibility("protected"))) with
            asm (".protected global").
            * elf/ifuncmod1.c (global): Likewise.
            * elf/ifuncmod5.c (global): Likewise.

Comment 8 errata-xmlrpc 2018-04-10 13:58:28 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:0805