1da0c48c4Sopenharmony_ci#! /bin/sh
2da0c48c4Sopenharmony_ci# Test for dwarf_next_cfi.
3da0c48c4Sopenharmony_ci# Copyright (C) 2018 Red Hat, Inc.
4da0c48c4Sopenharmony_ci# This file is part of elfutils.
5da0c48c4Sopenharmony_ci#
6da0c48c4Sopenharmony_ci# This file is free software; you can redistribute it and/or modify
7da0c48c4Sopenharmony_ci# it under the terms of the GNU General Public License as published by
8da0c48c4Sopenharmony_ci# the Free Software Foundation; either version 3 of the License, or
9da0c48c4Sopenharmony_ci# (at your option) any later version.
10da0c48c4Sopenharmony_ci#
11da0c48c4Sopenharmony_ci# elfutils is distributed in the hope that it will be useful, but
12da0c48c4Sopenharmony_ci# WITHOUT ANY WARRANTY; without even the implied warranty of
13da0c48c4Sopenharmony_ci# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14da0c48c4Sopenharmony_ci# GNU General Public License for more details.
15da0c48c4Sopenharmony_ci#
16da0c48c4Sopenharmony_ci# You should have received a copy of the GNU General Public License
17da0c48c4Sopenharmony_ci# along with this program.  If not, see <http://www.gnu.org/licenses/>.
18da0c48c4Sopenharmony_ci
19da0c48c4Sopenharmony_ci. $srcdir/test-subr.sh
20da0c48c4Sopenharmony_ci
21da0c48c4Sopenharmony_ci# Test files come from run-addrcfi
22da0c48c4Sopenharmony_citestfiles testfile11 testfile12
23da0c48c4Sopenharmony_citestfiles testfilearm testfileaarch64
24da0c48c4Sopenharmony_citestfiles testfileppc32 testfileppc64
25da0c48c4Sopenharmony_ci
26da0c48c4Sopenharmony_citestrun_compare ${abs_builddir}/next_cfi testfile11 <<\EOF
27da0c48c4Sopenharmony_citestfile11
28da0c48c4Sopenharmony_ci.eh_frame
29da0c48c4Sopenharmony_ci[0] CIE augmentation="zPL"
30da0c48c4Sopenharmony_ci[28] FDE cie=[0]
31da0c48c4Sopenharmony_ci[64] FDE cie=[0]
32da0c48c4Sopenharmony_ci[96] FDE cie=[0]
33da0c48c4Sopenharmony_ci[128] FDE cie=[0]
34da0c48c4Sopenharmony_ci.debug_frame
35da0c48c4Sopenharmony_ci[0] CIE augmentation=""
36da0c48c4Sopenharmony_ci[20] FDE cie=[0]
37da0c48c4Sopenharmony_ci[52] FDE cie=[0]
38da0c48c4Sopenharmony_ci[76] FDE cie=[0]
39da0c48c4Sopenharmony_ci[100] FDE cie=[0]
40da0c48c4Sopenharmony_ci[124] FDE cie=[0]
41da0c48c4Sopenharmony_ci[148] FDE cie=[0]
42da0c48c4Sopenharmony_ci[172] FDE cie=[0]
43da0c48c4Sopenharmony_ci[196] FDE cie=[0]
44da0c48c4Sopenharmony_ciEOF
45da0c48c4Sopenharmony_ci
46da0c48c4Sopenharmony_citestrun_compare ${abs_builddir}/next_cfi testfile12 <<\EOF
47da0c48c4Sopenharmony_citestfile12
48da0c48c4Sopenharmony_ci.eh_frame
49da0c48c4Sopenharmony_ci[0] CIE augmentation=""
50da0c48c4Sopenharmony_ci[16] CIE augmentation="zR"
51da0c48c4Sopenharmony_ci[40] FDE cie=[16]
52da0c48c4Sopenharmony_ci.debug_frame
53da0c48c4Sopenharmony_ci[0] CIE augmentation=""
54da0c48c4Sopenharmony_ci[24] FDE cie=[0]
55da0c48c4Sopenharmony_ciEOF
56da0c48c4Sopenharmony_ci
57da0c48c4Sopenharmony_citestrun_compare ${abs_builddir}/next_cfi testfilearm <<\EOF
58da0c48c4Sopenharmony_citestfilearm
59da0c48c4Sopenharmony_ci.eh_frame
60da0c48c4Sopenharmony_ci.debug_frame
61da0c48c4Sopenharmony_ci[0] CIE augmentation=""
62da0c48c4Sopenharmony_ci[16] FDE cie=[0]
63da0c48c4Sopenharmony_ci[32] CIE augmentation=""
64da0c48c4Sopenharmony_ci[48] FDE cie=[32]
65da0c48c4Sopenharmony_ciEOF
66da0c48c4Sopenharmony_ci
67da0c48c4Sopenharmony_citestrun_compare ${abs_builddir}/next_cfi testfileaarch64 <<\EOF
68da0c48c4Sopenharmony_citestfileaarch64
69da0c48c4Sopenharmony_ci.eh_frame
70da0c48c4Sopenharmony_ci[0] CIE augmentation="zR"
71da0c48c4Sopenharmony_ci[24] FDE cie=[0]
72da0c48c4Sopenharmony_ci[80] FDE cie=[0]
73da0c48c4Sopenharmony_ci.debug_frame
74da0c48c4Sopenharmony_ci[0] CIE augmentation=""
75da0c48c4Sopenharmony_ci[16] FDE cie=[0]
76da0c48c4Sopenharmony_ci[40] CIE augmentation=""
77da0c48c4Sopenharmony_ci[56] FDE cie=[40]
78da0c48c4Sopenharmony_ciEOF
79da0c48c4Sopenharmony_ci
80da0c48c4Sopenharmony_citestrun_compare ${abs_builddir}/next_cfi testfileppc32 <<\EOF
81da0c48c4Sopenharmony_citestfileppc32
82da0c48c4Sopenharmony_ci.eh_frame
83da0c48c4Sopenharmony_ci[0] CIE augmentation="zR"
84da0c48c4Sopenharmony_ci[20] FDE cie=[0]
85da0c48c4Sopenharmony_ci[40] FDE cie=[0]
86da0c48c4Sopenharmony_ci[96] FDE cie=[0]
87da0c48c4Sopenharmony_ci.debug_frame
88da0c48c4Sopenharmony_ci[0] CIE augmentation=""
89da0c48c4Sopenharmony_ci[16] FDE cie=[0]
90da0c48c4Sopenharmony_ci[32] CIE augmentation=""
91da0c48c4Sopenharmony_ci[48] FDE cie=[32]
92da0c48c4Sopenharmony_ciEOF
93da0c48c4Sopenharmony_ci
94da0c48c4Sopenharmony_citestrun_compare ${abs_builddir}/next_cfi testfileppc64 <<\EOF
95da0c48c4Sopenharmony_citestfileppc64
96da0c48c4Sopenharmony_ci.eh_frame
97da0c48c4Sopenharmony_ci[0] CIE augmentation="zR"
98da0c48c4Sopenharmony_ci[20] FDE cie=[0]
99da0c48c4Sopenharmony_ci[40] FDE cie=[0]
100da0c48c4Sopenharmony_ci[64] CIE augmentation="zR"
101da0c48c4Sopenharmony_ci[88] FDE cie=[64]
102da0c48c4Sopenharmony_ci[144] FDE cie=[64]
103da0c48c4Sopenharmony_ci.debug_frame
104da0c48c4Sopenharmony_ci[0] CIE augmentation=""
105da0c48c4Sopenharmony_ci[16] FDE cie=[0]
106da0c48c4Sopenharmony_ci[56] CIE augmentation=""
107da0c48c4Sopenharmony_ci[72] FDE cie=[56]
108da0c48c4Sopenharmony_ciEOF
109