Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1440250 - elf/check-localplt test fails with binutils 2.27
elf/check-localplt test fails with binutils 2.27
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: glibc (Show other bugs)
7.4
All Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Patsy Franklin
Sergey Kolosov
:
: 1481681 (view as bug list)
Depends On:
Blocks: 1471969
  Show dependency treegraph
 
Reported: 2017-04-07 12:52 EDT by Sergey Kolosov
Modified: 2018-04-10 10:00 EDT (History)
8 users (show)

See Also:
Fixed In Version: 2.17-214.el7
Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-04-10 09:58:28 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)
elf-check-localplt test output (341 bytes, text/plain)
2017-04-07 12:52 EDT, Sergey Kolosov
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:0805 None None None 2018-04-10 10:00 EDT

  None (edit)
Description Sergey Kolosov 2017-04-07 12:52:08 EDT
Created attachment 1269836 [details]
elf-check-localplt test output

Description of problem:
elf/check-localplt test fails

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

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

How reproducible:
build glibc, then run tests

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

Actual results:
elf/check-localplt test fails

Expected results:
elf/check-localplt must be passed

Additional info:
Test pass with binutils-2.25.1-22

build log:
<...>
LC_ALL=C gawk -f ../scripts/localplt.awk /root/rpmbuild/BUILD/glibc-2.17-c758a686/build-x86_64-redhat-linux/libc.so.jmprel /root/rpmbuild/BUILD/glibc-2.17-c758a686/build-x86_64-redhat-linux/math/libm.so.jmprel /root/rpmbuild/BUILD/glibc-2.17-c758a686/build-x86_64-redhat-linux/rt/librt.so.jmprel /root/rpmbuild/BUILD/glibc-2.17-c758a686/build-x86_64-redhat-linux/dlfcn/libdl.so.jmprel /root/rpmbuild/BUILD/glibc-2.17-c758a686/build-x86_64-redhat-linux/resolv/libresolv.so.jmprel /root/rpmbuild/BUILD/glibc-2.17-c758a686/build-x86_64-redhat-linux/crypt/libcrypt.so.jmprel /root/rpmbuild/BUILD/glibc-2.17-c758a686/build-x86_64-redhat-linux/nptl/libpthread.so.jmprel | \
  LC_ALL=C gawk -f ../scripts/check-localplt.awk ../sysdeps/generic/localplt.data - \
  > /root/rpmbuild/BUILD/glibc-2.17-c758a686/build-x86_64-redhat-linux/elf/check-localplt.out
make[3]: *** [/root/rpmbuild/BUILD/glibc-2.17-c758a686/build-x86_64-redhat-linux/elf/check-localplt.out] Error 1


Upstream bug: https://sourceware.org/bugzilla/show_bug.cgi?id=18078
Comment 2 Carlos O'Donell 2017-04-07 13:04:57 EDT
(In reply to skolosov from comment #0)
> /root/rpmbuild/BUILD/glibc-2.17-c758a686/build-x86_64-redhat-linux/elf/check-
> localplt.out
> make[3]: ***
> [/root/rpmbuild/BUILD/glibc-2.17-c758a686/build-x86_64-redhat-linux/elf/
> check-localplt.out] Error 1

Could you please post the output of check-localplt.out?

If it's just a testsuite issue where a PLT entry is elided then we can at our discretion (rhe-7.5) backport the testsuite fixes to remove the failure.
Comment 3 Sergey Kolosov 2017-04-07 13:12:23 EDT
Sure, check-localplt.out is attached: "elf-check-localplt test output"
Comment 5 Michael Petlan 2017-09-14 10:11:17 EDT
*** Bug 1481681 has been marked as a duplicate of this bug. ***
Comment 6 Michael Petlan 2017-09-14 10:12:47 EDT
This should fix it:

commit a0af371c25ac1f215cf0db64e54cbb9a1b51f78c
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Feb 20 15:23:28 2015 +1030

    Fix localplt test breakage with new readelf
Comment 7 Florian Weimer 2017-09-25 09:48:42 EDT
I also see some new ifunc failures on x86-64, which are related to the binutils rebase.

/usr/bin/ld: /root/build/elf/ifuncmod1.os: relocation R_X86_64_PC32 against protected symbol `global' can not be used when making a shared object
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [/root/build/elf/ifuncmod1.so] Error 1

The above should be fixed by this upstream commit:

commit e0ed2fb40a0e29c43cf60addc74741dab15f2e05
Author: H.J. Lu <hjl.tools@gmail.com>
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.
Comment 12 errata-xmlrpc 2018-04-10 09:58:28 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/RHSA-2018:0805

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