Bug 1230798

Summary: run-elflint-self test failure with 0.162 with --enable-gcov
Product: [Fedora] Fedora Reporter: Lukas Berk <lberk>
Component: elfutilsAssignee: Mark Wielaard <mjw>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 22CC: aoliva, fche, jakub, jan.kratochvil, me, mjw, mjw, roland
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: elfutils-0.163-1.fc21 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-06-30 20:11:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lukas Berk 2015-06-11 14:38:36 UTC
Description of problem:
When running the elfutils testsuite, the only failure is run-elflint-self.

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

How reproducible:
Always

Steps to Reproduce:
1. ../configure --prefix=/home/foo/local/ --program-prefix=eu- --enable-maintainer-mode --enable-gcov
2. make -j4 && sudo make install && sudo make check

Actual results:
The only failure is:
FAIL: run-elflint-self.sh

Expected results:
Fully passing testsuite

Additional info:
run-elflint-self.sh.log
section [12] '.rela.init_array': invalid destination section type
*** failure in /home/lberk/src/elfutils/build/src/elflint --quiet --gnu-ld /home/lberk/src/elfutils/build/src/size.o
section [15] '.rela.init_array': invalid destination section type
*** failure in /home/lberk/src/elfutils/build/src/elflint --quiet --gnu-ld /home/lberk/src/elfutils/build/src/strip.o
FAIL run-elflint-self.sh (exit status: 1)

test-suite.log
==========================================
   elfutils 0.162: tests/test-suite.log
==========================================

# TOTAL: 139
# PASS:  138
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: run-elflint-self.sh
=========================

section [12] '.rela.init_array': invalid destination section type
*** failure in /home/lberk/src/elfutils/build/src/elflint --quiet --gnu-ld /home/lberk/src/elfutils/build/src/size.o
section [15] '.rela.init_array': invalid destination section type
*** failure in /home/lberk/src/elfutils/build/src/elflint --quiet --gnu-ld /home/lberk/src/elfutils/build/src/strip.o
FAIL run-elflint-self.sh (exit status: 1)

gcc --version
gcc (GCC) 5.1.1 20150422 (Red Hat 5.1.1-1)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE

Comment 1 Mark Wielaard 2015-06-11 14:42:11 UTC
This is cause by --enable-gcov I don't know why yet.

Comment 2 Mark Wielaard 2015-06-11 14:53:19 UTC
[14] .init_array          INIT_ARRAY   0000000000000000 000072a8 00000008  0 WA     0   0  8
[15] .rela.init_array     RELA         0000000000000000 000233e0 00000018 24       33  14  8

elflint calls ebl_check_reloc_target_type which checks the sh_type is either SHT_PROGBITS or SHT_NOBITS

I guess either SHT_PREINIT_ARRAY, SHT_INIT_ARRAY or SHT_FINI_ARRAY should be fine too.

Comment 3 Mark Wielaard 2015-06-12 10:52:39 UTC
Proposed upstream fix:

commit c6a27f074a670793936c264f8025ec66b024f6c7
Author: Mark Wielaard <mjw>
Date:   Fri Jun 12 12:50:14 2015 +0200

    libebl: SHT_(INIT|FINI|PREINIT)_ARRAY are valid targets for relocation.
    
    Seen in run-elflint-self.sh for size.o when build with --enable-gcov.
    https://bugzilla.redhat.com/show_bug.cgi?id=1230798
    
    Signed-off-by: Mark Wielaard <mjw>

Comment 4 Mark Wielaard 2015-06-14 21:55:54 UTC
Pushed upstream will be fixed in 0.163.

Comment 5 Fedora Update System 2015-06-19 14:53:53 UTC
elfutils-0.163-1.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/elfutils-0.163-1.fc22

Comment 6 Fedora Update System 2015-06-21 00:11:52 UTC
Package elfutils-0.163-1.fc22:
* should fix your issue,
* was pushed to the Fedora 22 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing elfutils-0.163-1.fc22'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-10370/elfutils-0.163-1.fc22
then log in and leave karma (feedback).

Comment 7 Fedora Update System 2015-06-30 20:11:13 UTC
elfutils-0.163-1.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2015-07-08 15:06:46 UTC
elfutils-0.163-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/elfutils-0.163-1.fc21

Comment 9 Fedora Update System 2015-07-29 01:35:27 UTC
elfutils-0.163-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.