Bug 1440250 - elf/check-localplt test fails with binutils 2.27
Summary: elf/check-localplt test fails with binutils 2.27
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: glibc
Version: 7.4
Hardware: All
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Patsy Griffin
QA Contact: Sergey Kolosov
: 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:
Clone Of:
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

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):


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
    __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.


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