Bug 1300734 - "GOT: symbol address load from got to larl" ld test case failed on s390x
"GOT: symbol address load from got to larl" ld test case failed on s390x
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: binutils (Show other bugs)
7.3
s390x Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Nick Clifton
Miloš Prchlík
: Patch
Depends On:
Blocks: 1297579 1313485
  Show dependency treegraph
 
Reported: 2016-01-21 10:06 EST by Miloš Prchlík
Modified: 2016-11-03 21:54 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-03 21:54:35 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)
Update linker test case (891 bytes, patch)
2016-01-29 05:23 EST, Nick Clifton
no flags Details | Diff

  None (edit)
Description Miloš Prchlík 2016-01-21 10:06:17 EST
Description of problem:

ld's test suite reports one unexpected failed test, apaprently it's this one:

/root/rpmbuild/BUILD/binutils-2.25.1/ld/ld-new   -znorelro  -o tmpdir/gotreloc_31-1 -L/root/rpmbuild/BUILD/binutils-2.25.1/ld/testsuite/ld-s390 -shared -melf_s390 --version-script=gotreloc-1.ver tmpdir/gotreloc-1.o 
Executing on host: sh -c {/root/rpmbuild/BUILD/binutils-2.25.1/ld/ld-new   -znorelro  -o tmpdir/gotreloc_31-1 -L/root/rpmbuild/BUILD/binutils-2.25.1/ld/testsuite/ld-s390 -shared -melf_s390 --version-script=gotreloc-1.ver tmpdir/gotreloc-1.o  2>&1}  /dev/null ld.tmp (timeout = 300)
spawn [open ...]
Executing on host: sh -c {/root/rpmbuild/BUILD/binutils-2.25.1/ld/../binutils/objdump -dzrj.text tmpdir/gotreloc_31-1 >dump.out 2>ld.stderr}  /dev/null  (timeout = 300)
spawn [open ...]
/root/rpmbuild/BUILD/binutils-2.25.1/ld/../binutils/objdump -dzrj.text tmpdir/gotreloc_31-1
regexp_diff match failure
regexp "^.*:    c4 18 00 00             .long   0xc4180000$"
line   " 14c:   c4 18 00 00 08 4e       lgrl    %r1,11e8 <_GLOBAL_OFFSET_TABLE_+0xc>"
regexp_diff match failure
regexp "^.*:    08 4e e3 10             .long   0x084ee310$"
line   " 152:   e3 10 c0 0c 00 04       lg      %r1,12(%r12)"
regexp_diff match failure
regexp "^.*:    c0 0c 00 04             .long   0xc00c0004$"
line   " 158:   c0 10 00 00 00 08       larl    %r1,168 <bar>"
regexp_diff match failure
regexp "^.*:    c0 10 00 00 00 08 [      ]*larl %r1,168 <bar>$"
line   " 15e:   58 10 c0 0c             l       %r1,12(%r12)"
regexp_diff match failure
regexp "^.*:    58 10 c0 0c [    ]*l    %r1,12\(%r12\)$"
line   " 162:   c0 10 00 00 00 03       larl    %r1,168 <bar>"
regexp_diff match failure
regexp "^.*:    c0 10 00 00 00 03 [      ]*larl %r1,168 <bar>$"
line   "00000168 <bar>:"
regexp_diff match failure
regexp "^.* <bar>:$"
line   " 168:   00 00 01 23             .long   0x00000123"
extra regexps in /root/rpmbuild/BUILD/binutils-2.25.1/ld/testsuite/ld-s390/gotreloc_31-1.dd starting with "^.*: 00 00 01 23             .long   0x00000123$"
EOF from dump.out
FAIL: GOT: symbol address load from got to larl

64bit version seems to pass quite fine:

/root/rpmbuild/BUILD/binutils-2.25.1/ld/ld-new   -znorelro  -o tmpdir/gotreloc_64-1 -L/root/rpmbuild/BUILD/binutils-2.25.1/ld/testsuite/ld-s390 -shared -melf64_s390 --version-script=gotreloc-1.ver tmpdir/gotreloc-1.o 
Executing on host: sh -c {/root/rpmbuild/BUILD/binutils-2.25.1/ld/ld-new   -znorelro  -o tmpdir/gotreloc_64-1 -L/root/rpmbuild/BUILD/binutils-2.25.1/ld/testsuite/ld-s390 -shared -melf64_s390 --version-script=gotreloc-1.ver tmpdir/gotreloc-1.o  2>&1}  /dev/null ld.tmp (timeout = 300)
spawn [open ...]
Executing on host: sh -c {/root/rpmbuild/BUILD/binutils-2.25.1/ld/../binutils/objdump -dzrj.text tmpdir/gotreloc_64-1 >dump.out 2>ld.stderr}  /dev/null  (timeout = 300)
spawn [open ...]
/root/rpmbuild/BUILD/binutils-2.25.1/ld/../binutils/objdump -dzrj.text tmpdir/gotreloc_64-1
PASS: GOT: symbol address load from got to larl



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

binutils-2.25.1-10.el7.s390x


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:
Comment 1 Nick Clifton 2016-01-29 05:23 EST
Created attachment 1119392 [details]
Update linker test case

This test case in the linker testsuite is out of date with respect to the latest output from objdump. (It was expecting just raw bytes as the output, but now objdump tries to disassemble them).

This patch updates the test case.
Comment 3 Nick Clifton 2016-02-15 12:25:30 EST
Patch checked in.  Moved to MODIFIED.
Comment 5 Miloš Prchlík 2016-06-24 05:41:52 EDT
Verified for build binutils-2.25.1-19.base.el7.
Comment 7 errata-xmlrpc 2016-11-03 21:54:35 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://rhn.redhat.com/errata/RHBA-2016-2265.html

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