blob: 22d1c6893ef7affcdc6073dddc0a6ef9c5743afc [file]
$ cat be-flipping-v3.s
.text
.type bar, @function
bar:
.cfi_sections
.cfi_startproc
ldgr %f0,%r14
.cfi_register 14, 16
ldgr %f2,%r11
.cfi_register 11, 17
la %r11,0
la %r14,0
.Lreturn:
lgdr %r11,%f2
.cfi_restore 11
lgdr %r14,%f0
.cfi_restore 14
br %r14
.cfi_endproc
.size bar,.-bar
.globl _start
.type _start, @function
_start:
brasl %r14,bar@PLT
.size _start,.-_start
$ s390x-ibm-linux-gnu-as --gsframe-3 -o be-flipping-v3.o be-flipping-v3.s
Although running ld is not strictly necessary for the current set of tests, it
is being done in case future testing desires invoking sframe_find_fre ().
SFrame FDE lookup APIs in libsframe currently implement binary search of index
entires (and check for SFRAME_F_FDE_SORTED).
$ s390x-ibm-linux-gnu-ld be-flipping-v3.o -o be-flipping-v3
$ s390x-ibm-linux-gnu-objdump --sframe be-flipping-v3
be-flipping-v3: file format elf64-s390
Contents of the SFrame section .sframe:
Header :
Version: SFRAME_VERSION_3
Flags: SFRAME_F_FDE_SORTED,
SFRAME_F_FDE_FUNC_START_PCREL
Num FDEs: 1
Num FREs: 5
Function Index :
func idx [0]: pc = 0x10000b0, size = 26 bytes, attr = "F"
STARTPC CFA FP RA
00000000010000b0 sp+160 u u
00000000010000b4 sp+160 u r16+0
00000000010000b8 sp+160 r17+0 r16+0
00000000010000c4 sp+160 u r16+0
00000000010000c8 sp+160 u u
$ s390x-ibm-linux-gnu-objcopy --dump-section .sframe=DATA-BE-V3 be-flipping-v3