1*7304104dSAndroid Build Coastguard Worker#! /bin/sh 2*7304104dSAndroid Build Coastguard Worker# Copyright (C) 2005, 2007, 2008, 2015 Red Hat, Inc. 3*7304104dSAndroid Build Coastguard Worker# This file is part of elfutils. 4*7304104dSAndroid Build Coastguard Worker# Written by Ulrich Drepper <[email protected]>, 2005. 5*7304104dSAndroid Build Coastguard Worker# 6*7304104dSAndroid Build Coastguard Worker# This file is free software; you can redistribute it and/or modify 7*7304104dSAndroid Build Coastguard Worker# it under the terms of the GNU General Public License as published by 8*7304104dSAndroid Build Coastguard Worker# the Free Software Foundation; either version 3 of the License, or 9*7304104dSAndroid Build Coastguard Worker# (at your option) any later version. 10*7304104dSAndroid Build Coastguard Worker# 11*7304104dSAndroid Build Coastguard Worker# elfutils is distributed in the hope that it will be useful, but 12*7304104dSAndroid Build Coastguard Worker# WITHOUT ANY WARRANTY; without even the implied warranty of 13*7304104dSAndroid Build Coastguard Worker# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*7304104dSAndroid Build Coastguard Worker# GNU General Public License for more details. 15*7304104dSAndroid Build Coastguard Worker# 16*7304104dSAndroid Build Coastguard Worker# You should have received a copy of the GNU General Public License 17*7304104dSAndroid Build Coastguard Worker# along with this program. If not, see <http://www.gnu.org/licenses/>. 18*7304104dSAndroid Build Coastguard Worker 19*7304104dSAndroid Build Coastguard Worker. $srcdir/test-subr.sh 20*7304104dSAndroid Build Coastguard Worker 21*7304104dSAndroid Build Coastguard Workertestfiles testfile18 22*7304104dSAndroid Build Coastguard Worker 23*7304104dSAndroid Build Coastguard Workertestrun_compare ${abs_top_builddir}/src/elflint --gnu-ld testfile18 <<\EOF 24*7304104dSAndroid Build Coastguard Workersection [ 8] '.rela.dyn': relocation 1: copy relocation against symbol of type FUNC 25*7304104dSAndroid Build Coastguard WorkerEOF 26*7304104dSAndroid Build Coastguard Worker 27*7304104dSAndroid Build Coastguard Workertestfiles testfile32 28*7304104dSAndroid Build Coastguard Workertestrun ${abs_top_builddir}/src/elflint -q testfile32 29*7304104dSAndroid Build Coastguard Worker 30*7304104dSAndroid Build Coastguard Workertestfiles testfile33 31*7304104dSAndroid Build Coastguard Workertestrun ${abs_top_builddir}/src/elflint -q testfile33 32*7304104dSAndroid Build Coastguard Worker 33*7304104dSAndroid Build Coastguard Workertestfiles testfile42 34*7304104dSAndroid Build Coastguard Workertestrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile42 35*7304104dSAndroid Build Coastguard Worker 36*7304104dSAndroid Build Coastguard Worker# Contains debuginfo, compress it, recheck 37*7304104dSAndroid Build Coastguard Workertempfiles testfile42z 38*7304104dSAndroid Build Coastguard Workertestrun ${abs_top_builddir}/src/elfcompress -f -q -o testfile42z testfile42 39*7304104dSAndroid Build Coastguard Workertestrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile42z 40*7304104dSAndroid Build Coastguard Worker 41*7304104dSAndroid Build Coastguard Workertestfiles testfile46 42*7304104dSAndroid Build Coastguard Workertestrun ${abs_top_builddir}/src/elflint -q testfile46 43*7304104dSAndroid Build Coastguard Worker 44*7304104dSAndroid Build Coastguard Worker# see also run-readelf-d.sh 45*7304104dSAndroid Build Coastguard Workertestfiles testlib_dynseg.so 46*7304104dSAndroid Build Coastguard Workertestrun ${abs_top_builddir}/src/elflint -q --gnu-ld testlib_dynseg.so 47*7304104dSAndroid Build Coastguard Worker 48*7304104dSAndroid Build Coastguard Worker# s390x has SHT_HASH with sh_entsize 8 (really should be 4, but see common.h) 49*7304104dSAndroid Build Coastguard Worker# This was wrongly checked when comparing .gnu.hash and .hash. 50*7304104dSAndroid Build Coastguard Worker# Simple "int main (int argc, char **argv) { return 0; }" 51*7304104dSAndroid Build Coastguard Worker# gcc -Xlinker --hash-style=both -o testfile-s390x-hash-both s390x-hash-both.c 52*7304104dSAndroid Build Coastguard Workertestfiles testfile-s390x-hash-both 53*7304104dSAndroid Build Coastguard Workertestrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile-s390x-hash-both 54*7304104dSAndroid Build Coastguard Worker 55*7304104dSAndroid Build Coastguard Worker# Compress the symtab/strtab just because and recheck 56*7304104dSAndroid Build Coastguard Workertempfiles testfile-s390x-hash-bothz 57*7304104dSAndroid Build Coastguard Workertestrun ${abs_top_builddir}/src/elfcompress -f -q --name='.s??tab' -o testfile-s390x-hash-bothz testfile-s390x-hash-both 58*7304104dSAndroid Build Coastguard Workertestrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile-s390x-hash-bothz 59*7304104dSAndroid Build Coastguard Worker 60*7304104dSAndroid Build Coastguard Workerexit 0 61