1#!/bin/sh 2 3# arm_target2_got_rel.sh -- test --target2=got-rel options. 4# This test is based on ld/testsuite/ld-arm/arm-target2-got-rel.d. 5 6# Copyright (C) 2016-2020 Free Software Foundation, Inc. 7# Written by Igor Kudrin <ikudrin@accesssoftek.com>. 8 9# This file is part of gold. 10 11# This program is free software; you can redistribute it and/or modify 12# it under the terms of the GNU General Public License as published by 13# the Free Software Foundation; either version 3 of the License, or 14# (at your option) any later version. 15 16# This program is distributed in the hope that it will be useful, 17# but WITHOUT ANY WARRANTY; without even the implied warranty of 18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19# GNU General Public License for more details. 20 21# You should have received a copy of the GNU General Public License 22# along with this program; if not, write to the Free Software 23# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, 24# MA 02110-1301, USA. 25 26check() 27{ 28 file=$1 29 section=$2 30 pattern=$3 31 found=`fgrep "Contents of section $section:" -A1 $file | tail -n 1` 32 if test -z "$found"; then 33 echo "Section \"$section\" not found in file $file" 34 echo "" 35 echo "Actual output below:" 36 cat "$file" 37 exit 1 38 fi 39 match_pattern=`echo "$found" | grep -e "$pattern"` 40 if test -z "$match_pattern"; then 41 echo "Expected pattern was not found in section \"$section\":" 42 echo " $pattern" 43 echo "" 44 echo "Actual output below:" 45 cat "$file" 46 exit 1 47 fi 48} 49 50# .got=0x9000 51# .got - 0x8000 = 0x1000 52# .got - 0x8004 + 0x1234 = 0x2230 53# .got - 0x8008 + 0xcdef0000 = 0xcdef0ff8 54# .got - 0x800c + 0x76543210 = 0x76544204 55check "arm_target2_got_rel.stdout" ".text" "\<8000[[:space:]]\+\(00100000\|00001000\)[[:space:]]\+\(30220000\|00002230\)[[:space:]]\+\(f80fefcd\|cdef0ff8\)[[:space:]]\+\(04425476\|76544204\)\b" 56 57# foo = 0x8010 58check "arm_target2_got_rel.stdout" ".got" "\<9000[[:space:]]\+\(10800000\|00008010\)\b" 59 60exit 0 61