Bug 1300734 - "GOT: symbol address load from got to larl" ld test case failed on s390x
Summary: "GOT: symbol address load from got to larl" ld test case failed on s390x
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: binutils
Version: 7.3
Hardware: s390x
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Nick Clifton
QA Contact: Miloš Prchlík
URL:
Whiteboard:
Depends On:
Blocks: 1297579 1313485
TreeView+ depends on / blocked
 
Reported: 2016-01-21 15:06 UTC by Miloš Prchlík
Modified: 2016-11-04 01:54 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
undefined
Clone Of:
Environment:
Last Closed: 2016-11-04 01:54:35 UTC
Target Upstream Version:


Attachments (Terms of Use)
Update linker test case (891 bytes, patch)
2016-01-29 10:23 UTC, Nick Clifton
no flags Details | Diff


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2265 normal SHIPPED_LIVE binutils bug fix update 2016-11-03 13:33:42 UTC

Description Miloš Prchlík 2016-01-21 15:06:17 UTC
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 10:23:21 UTC
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 17:25:30 UTC
Patch checked in.  Moved to MODIFIED.

Comment 5 Miloš Prchlík 2016-06-24 09:41:52 UTC
Verified for build binutils-2.25.1-19.base.el7.

Comment 7 errata-xmlrpc 2016-11-04 01:54:35 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://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.