blob: f6d977662e33bb98e50f069dc2bdfe81ffb42730 [file] [log] [blame]
The tests in sframe.exp use binary data files:
- test-v2-ET_EXEC.sframe.bz2
- test-v2-ET_REL.sframe.bz2
These files are generated using a as/ld supporting SFrame V2 sections (Binutils
<= 2.45). The purpose of those tests is to make sure readelf/objdump support
works for SFrame V2.
The binary files are generated using the following steps.
$ cat sort.s
.machinemode zarch
.machine "z900"
.text
.align 8
.globl swapit
.type swapit, @function
swapit:
.cfi_startproc
stmg %r11,%r15,88(%r15)
.cfi_offset 11, -72
.cfi_offset 12, -64
.cfi_offset 13, -56
.cfi_offset 14, -48
.cfi_offset 15, -40
aghi %r15,-176
.cfi_def_cfa_offset 336
lgr %r11,%r15
.cfi_def_cfa_register 11
stg %r2,168(%r11)
stg %r3,160(%r11)
lg %r1,160(%r11)
l %r2,0(%r1)
lg %r1,168(%r11)
st %r2,0(%r1)
nopr %r0
lmg %r11,%r15,264(%r11)
.cfi_restore 15
.cfi_restore 14
.cfi_restore 13
.cfi_restore 12
.cfi_restore 11
.cfi_def_cfa 15, 160
br %r14
.cfi_endproc
.size swapit, .-swapit
.align 8
.globl fake_sort
.type fake_sort, @function
fake_sort:
.cfi_startproc
stmg %r11,%r15,88(%r15)
.cfi_offset 11, -72
.cfi_offset 12, -64
.cfi_offset 13, -56
.cfi_offset 14, -48
.cfi_offset 15, -40
aghi %r15,-176
.cfi_def_cfa_offset 336
lgr %r11,%r15
.cfi_def_cfa_register 11
stg %r2,168(%r11)
lgr %r1,%r3
st %r1,164(%r11)
l %r1,164(%r11)
ltr %r1,%r1
jle .L5
lgf %r1,164(%r11)
sllg %r1,%r1,2
aghi %r1,-4
ag %r1,168(%r11)
lgr %r3,%r1
lg %r2,168(%r11)
brasl %r14,swapit@PLT
.L5:
nopr %r0
lg %r4,288(%r11)
lmg %r11,%r15,264(%r11)
.cfi_restore 15
.cfi_restore 14
.cfi_restore 13
.cfi_restore 12
.cfi_restore 11
.cfi_def_cfa 15, 160
br %r4
.cfi_endproc
.size fake_sort, .-fake_sort
.align 8
.globl sort_array
.type sort_array, @function
sort_array:
.cfi_startproc
stmg %r11,%r15,88(%r15)
.cfi_offset 11, -72
.cfi_offset 12, -64
.cfi_offset 13, -56
.cfi_offset 14, -48
.cfi_offset 15, -40
aghi %r15,-672
.cfi_def_cfa_offset 832
lgr %r11,%r15
.cfi_def_cfa_register 11
lgr %r1,%r11
aghi %r1,160
lghi %r3,128
lgr %r2,%r1
brasl %r14,fake_sort@PLT
nopr %r0
lg %r4,784(%r11)
lmg %r11,%r15,760(%r11)
.cfi_restore 15
.cfi_restore 14
.cfi_restore 13
.cfi_restore 12
.cfi_restore 11
.cfi_def_cfa 15, 160
br %r4
.cfi_endproc
.size sort_array, .-sort_array
.section .rodata
.align 2
.LC0:
.string "done"
.text
.align 8
.globl main
.type main, @function
main:
.cfi_startproc
stmg %r11,%r15,88(%r15)
.cfi_offset 11, -72
.cfi_offset 12, -64
.cfi_offset 13, -56
.cfi_offset 14, -48
.cfi_offset 15, -40
aghi %r15,-160
.cfi_def_cfa_offset 320
lgr %r11,%r15
.cfi_def_cfa_register 11
brasl %r14,sort_array@PLT
larl %r2,.LC0
brasl %r14,printf@PLT
lhi %r1,0
lgfr %r1,%r1
lgr %r2,%r1
lg %r4,272(%r11)
lmg %r11,%r15,248(%r11)
.cfi_restore 15
.cfi_restore 14
.cfi_restore 13
.cfi_restore 12
.cfi_restore 11
.cfi_def_cfa 15, 160
br %r4
.cfi_endproc
.size main, .-main
.globl _start
.type _start, @function
_start:
brasl %r14,_start
.size _start, .-_start
$ as --gsframe -o sort.o sort.s
$ ld -lc sort.o -o sort
$ cp sort test-v2-ET_EXEC.sframe
$ chmod -x test-v2-ET_EXEC.sframe
$ bzip2 test-v2-ET_EXEC.sframe
$ cp sort.o test-v2-ET_REL.sframe
$ bzip2 test-v2-ET_REL.sframe