Bug 1440250 - elf/check-localplt test fails with binutils 2.27
Summary: elf/check-localplt test fails with binutils 2.27
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: glibc
Version: 7.4
Hardware: All
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Patsy Griffin
QA Contact: Sergey Kolosov
URL:
Whiteboard:
: 1481681 (view as bug list)
Depends On:
Blocks: 1471969
TreeView+ depends on / blocked
 
Reported: 2017-04-07 16:52 UTC by Sergey Kolosov
Modified: 2018-04-10 14:00 UTC (History)
8 users (show)

Fixed In Version: 2.17-214.el7
Doc Type: No Doc Update
Doc Text:
undefined
Clone Of:
Environment:
Last Closed: 2018-04-10 13:58:28 UTC
Target Upstream Version:


Attachments (Terms of Use)
elf-check-localplt test output (341 bytes, text/plain)
2017-04-07 16:52 UTC, Sergey Kolosov
no flags Details


Links
System ID Priority Status Summary Last Updated
Red Hat Bugzilla 1445644 unspecified CLOSED ifuncmod1.so ifuncmod3.so ifuncmod5.so tests fail during "make check" with binutils 2.27 2020-10-14 00:28:05 UTC
Red Hat Product Errata RHSA-2018:0805 None None None 2018-04-10 14:00:11 UTC

Internal Links: 1445644

Description Sergey Kolosov 2017-04-07 16:52:08 UTC
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 17:04:57 UTC
(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 17:12:23 UTC
Sure, check-localplt.out is attached: "elf-check-localplt test output"

Comment 5 Michael Petlan 2017-09-14 14:11:17 UTC
*** Bug 1481681 has been marked as a duplicate of this bug. ***

Comment 6 Michael Petlan 2017-09-14 14:12:47 UTC
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 13:48:42 UTC
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 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


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