1da0c48c4Sopenharmony_ci#! /bin/sh 2da0c48c4Sopenharmony_ci# Copyright (C) 2020 Red Hat, Inc. 3da0c48c4Sopenharmony_ci# This file is part of elfutils. 4da0c48c4Sopenharmony_ci# 5da0c48c4Sopenharmony_ci# This file is free software; you can redistribute it and/or modify 6da0c48c4Sopenharmony_ci# it under the terms of the GNU General Public License as published by 7da0c48c4Sopenharmony_ci# the Free Software Foundation; either version 3 of the License, or 8da0c48c4Sopenharmony_ci# (at your option) any later version. 9da0c48c4Sopenharmony_ci# 10da0c48c4Sopenharmony_ci# elfutils is distributed in the hope that it will be useful, but 11da0c48c4Sopenharmony_ci# WITHOUT ANY WARRANTY; without even the implied warranty of 12da0c48c4Sopenharmony_ci# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13da0c48c4Sopenharmony_ci# GNU General Public License for more details. 14da0c48c4Sopenharmony_ci# 15da0c48c4Sopenharmony_ci# You should have received a copy of the GNU General Public License 16da0c48c4Sopenharmony_ci# along with this program. If not, see <http://www.gnu.org/licenses/>. 17da0c48c4Sopenharmony_ci 18da0c48c4Sopenharmony_ci. $srcdir/test-subr.sh 19da0c48c4Sopenharmony_ci 20da0c48c4Sopenharmony_ci# See run-readelf-n.sh 21da0c48c4Sopenharmony_citestfiles testfile-gnu-property-note-aarch64 22da0c48c4Sopenharmony_ci 23da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=frames testfile-gnu-property-note-aarch64 <<\EOF 24da0c48c4Sopenharmony_ci 25da0c48c4Sopenharmony_ciCall frame search table section [17] '.eh_frame_hdr': 26da0c48c4Sopenharmony_ci version: 1 27da0c48c4Sopenharmony_ci eh_frame_ptr_enc: 0x1b (sdata4 pcrel) 28da0c48c4Sopenharmony_ci fde_count_enc: 0x3 (udata4) 29da0c48c4Sopenharmony_ci table_enc: 0x3b (sdata4 datarel) 30da0c48c4Sopenharmony_ci eh_frame_ptr: 0x44 (offset: 0x758) 31da0c48c4Sopenharmony_ci fde_count: 7 32da0c48c4Sopenharmony_ci Table: 33da0c48c4Sopenharmony_ci 0xfffffe70 (offset: 0x580) -> 0x5c fde=[ 14] 34da0c48c4Sopenharmony_ci 0xfffffea0 (offset: 0x5b0) -> 0x70 fde=[ 28] 35da0c48c4Sopenharmony_ci 0xfffffee0 (offset: 0x5f0) -> 0x84 fde=[ 3c] 36da0c48c4Sopenharmony_ci 0xffffff20 (offset: 0x630) -> 0xac fde=[ 64] 37da0c48c4Sopenharmony_ci 0xffffff28 (offset: 0x638) -> 0xc0 fde=[ 78] 38da0c48c4Sopenharmony_ci 0xffffff40 (offset: 0x650) -> 0xd8 fde=[ 90] 39da0c48c4Sopenharmony_ci 0xffffffc0 (offset: 0x6d0) -> 0x110 fde=[ c8] 40da0c48c4Sopenharmony_ci 41da0c48c4Sopenharmony_ciCall frame information section [18] '.eh_frame' at offset 0x758: 42da0c48c4Sopenharmony_ci 43da0c48c4Sopenharmony_ci [ 0] CIE length=16 44da0c48c4Sopenharmony_ci CIE_id: 0 45da0c48c4Sopenharmony_ci version: 1 46da0c48c4Sopenharmony_ci augmentation: "zR" 47da0c48c4Sopenharmony_ci code_alignment_factor: 4 48da0c48c4Sopenharmony_ci data_alignment_factor: -8 49da0c48c4Sopenharmony_ci return_address_register: 30 50da0c48c4Sopenharmony_ci Augmentation data: 0x1b (FDE address encoding: sdata4 pcrel) 51da0c48c4Sopenharmony_ci 52da0c48c4Sopenharmony_ci Program: 53da0c48c4Sopenharmony_ci def_cfa r31 (sp) at offset 0 54da0c48c4Sopenharmony_ci 55da0c48c4Sopenharmony_ci [ 14] FDE length=16 cie=[ 0] 56da0c48c4Sopenharmony_ci CIE_pointer: 24 57da0c48c4Sopenharmony_ci initial_location: 0x0000000000400580 (offset: 0x580) 58da0c48c4Sopenharmony_ci address_range: 0x30 (end offset: 0x5b0) 59da0c48c4Sopenharmony_ci 60da0c48c4Sopenharmony_ci Program: 61da0c48c4Sopenharmony_ci nop 62da0c48c4Sopenharmony_ci nop 63da0c48c4Sopenharmony_ci nop 64da0c48c4Sopenharmony_ci 65da0c48c4Sopenharmony_ci [ 28] FDE length=16 cie=[ 0] 66da0c48c4Sopenharmony_ci CIE_pointer: 44 67da0c48c4Sopenharmony_ci initial_location: 0x00000000004005b0 (offset: 0x5b0) 68da0c48c4Sopenharmony_ci address_range: 0x3c (end offset: 0x5ec) 69da0c48c4Sopenharmony_ci 70da0c48c4Sopenharmony_ci Program: 71da0c48c4Sopenharmony_ci nop 72da0c48c4Sopenharmony_ci nop 73da0c48c4Sopenharmony_ci nop 74da0c48c4Sopenharmony_ci 75da0c48c4Sopenharmony_ci [ 3c] FDE length=36 cie=[ 0] 76da0c48c4Sopenharmony_ci CIE_pointer: 64 77da0c48c4Sopenharmony_ci initial_location: 0x00000000004005f0 (offset: 0x5f0) 78da0c48c4Sopenharmony_ci address_range: 0x38 (end offset: 0x628) 79da0c48c4Sopenharmony_ci 80da0c48c4Sopenharmony_ci Program: 81da0c48c4Sopenharmony_ci advance_loc 1 to 0x5f4 82da0c48c4Sopenharmony_ci AARCH64_negate_ra_state 83da0c48c4Sopenharmony_ci advance_loc 1 to 0x5f8 84da0c48c4Sopenharmony_ci def_cfa_offset 32 85da0c48c4Sopenharmony_ci offset r29 (x29) at cfa-32 86da0c48c4Sopenharmony_ci offset r30 (x30) at cfa-24 87da0c48c4Sopenharmony_ci advance_loc 2 to 0x600 88da0c48c4Sopenharmony_ci offset r19 (x19) at cfa-16 89da0c48c4Sopenharmony_ci advance_loc 8 to 0x620 90da0c48c4Sopenharmony_ci restore r30 (x30) 91da0c48c4Sopenharmony_ci restore r29 (x29) 92da0c48c4Sopenharmony_ci restore r19 (x19) 93da0c48c4Sopenharmony_ci def_cfa_offset 0 94da0c48c4Sopenharmony_ci advance_loc 1 to 0x624 95da0c48c4Sopenharmony_ci AARCH64_negate_ra_state 96da0c48c4Sopenharmony_ci nop 97da0c48c4Sopenharmony_ci nop 98da0c48c4Sopenharmony_ci nop 99da0c48c4Sopenharmony_ci 100da0c48c4Sopenharmony_ci [ 64] FDE length=16 cie=[ 0] 101da0c48c4Sopenharmony_ci CIE_pointer: 104 102da0c48c4Sopenharmony_ci initial_location: 0x0000000000400630 (offset: 0x630) 103da0c48c4Sopenharmony_ci address_range: 0x8 (end offset: 0x638) 104da0c48c4Sopenharmony_ci 105da0c48c4Sopenharmony_ci Program: 106da0c48c4Sopenharmony_ci nop 107da0c48c4Sopenharmony_ci nop 108da0c48c4Sopenharmony_ci nop 109da0c48c4Sopenharmony_ci 110da0c48c4Sopenharmony_ci [ 78] FDE length=20 cie=[ 0] 111da0c48c4Sopenharmony_ci CIE_pointer: 124 112da0c48c4Sopenharmony_ci initial_location: 0x0000000000400638 (offset: 0x638) 113da0c48c4Sopenharmony_ci address_range: 0xc (end offset: 0x644) 114da0c48c4Sopenharmony_ci 115da0c48c4Sopenharmony_ci Program: 116da0c48c4Sopenharmony_ci nop 117da0c48c4Sopenharmony_ci nop 118da0c48c4Sopenharmony_ci nop 119da0c48c4Sopenharmony_ci nop 120da0c48c4Sopenharmony_ci nop 121da0c48c4Sopenharmony_ci nop 122da0c48c4Sopenharmony_ci nop 123da0c48c4Sopenharmony_ci 124da0c48c4Sopenharmony_ci [ 90] FDE length=52 cie=[ 0] 125da0c48c4Sopenharmony_ci CIE_pointer: 148 126da0c48c4Sopenharmony_ci initial_location: 0x0000000000400650 (offset: 0x650) 127da0c48c4Sopenharmony_ci address_range: 0x80 (end offset: 0x6d0) 128da0c48c4Sopenharmony_ci 129da0c48c4Sopenharmony_ci Program: 130da0c48c4Sopenharmony_ci advance_loc 1 to 0x654 131da0c48c4Sopenharmony_ci AARCH64_negate_ra_state 132da0c48c4Sopenharmony_ci advance_loc 1 to 0x658 133da0c48c4Sopenharmony_ci def_cfa_offset 64 134da0c48c4Sopenharmony_ci offset r29 (x29) at cfa-64 135da0c48c4Sopenharmony_ci offset r30 (x30) at cfa-56 136da0c48c4Sopenharmony_ci advance_loc 2 to 0x660 137da0c48c4Sopenharmony_ci offset r19 (x19) at cfa-48 138da0c48c4Sopenharmony_ci offset r20 (x20) at cfa-40 139da0c48c4Sopenharmony_ci advance_loc 3 to 0x66c 140da0c48c4Sopenharmony_ci offset r21 (x21) at cfa-32 141da0c48c4Sopenharmony_ci offset r22 (x22) at cfa-24 142da0c48c4Sopenharmony_ci advance_loc 5 to 0x680 143da0c48c4Sopenharmony_ci offset r23 (x23) at cfa-16 144da0c48c4Sopenharmony_ci offset r24 (x24) at cfa-8 145da0c48c4Sopenharmony_ci advance_loc 18 to 0x6c8 146da0c48c4Sopenharmony_ci restore r30 (x30) 147da0c48c4Sopenharmony_ci restore r29 (x29) 148da0c48c4Sopenharmony_ci restore r23 (x23) 149da0c48c4Sopenharmony_ci restore r24 (x24) 150da0c48c4Sopenharmony_ci restore r21 (x21) 151da0c48c4Sopenharmony_ci restore r22 (x22) 152da0c48c4Sopenharmony_ci restore r19 (x19) 153da0c48c4Sopenharmony_ci restore r20 (x20) 154da0c48c4Sopenharmony_ci def_cfa_offset 0 155da0c48c4Sopenharmony_ci advance_loc 1 to 0x6cc 156da0c48c4Sopenharmony_ci AARCH64_negate_ra_state 157da0c48c4Sopenharmony_ci nop 158da0c48c4Sopenharmony_ci nop 159da0c48c4Sopenharmony_ci 160da0c48c4Sopenharmony_ci [ c8] FDE length=16 cie=[ 0] 161da0c48c4Sopenharmony_ci CIE_pointer: 204 162da0c48c4Sopenharmony_ci initial_location: 0x00000000004006d0 (offset: 0x6d0) 163da0c48c4Sopenharmony_ci address_range: 0x8 (end offset: 0x6d8) 164da0c48c4Sopenharmony_ci 165da0c48c4Sopenharmony_ci Program: 166da0c48c4Sopenharmony_ci nop 167da0c48c4Sopenharmony_ci nop 168da0c48c4Sopenharmony_ci nop 169da0c48c4Sopenharmony_ci 170da0c48c4Sopenharmony_ci [ dc] Zero terminator 171da0c48c4Sopenharmony_ciEOF 172da0c48c4Sopenharmony_ci 173da0c48c4Sopenharmony_ciexit 0 174