aboutsummaryrefslogtreecommitdiff
path: root/gold/testsuite/split_s390_1_z4.s
diff options
context:
space:
mode:
authorMarcin Koƛcielnicki <koriakin@0x04.net>2015-12-13 02:53:09 +0100
committerMarcin Koƛcielnicki <koriakin@0x04.net>2016-02-15 11:59:25 +0100
commit2b63aca39c2b0abbb410f7a5a60124ac5abf7438 (patch)
treeb36035e99ba8c26bc6f584bd79e98bd19252da68 /gold/testsuite/split_s390_1_z4.s
parent0a0da55626b632a8b8beb6c7878b866861e5daee (diff)
downloadgdb-2b63aca39c2b0abbb410f7a5a60124ac5abf7438.zip
gdb-2b63aca39c2b0abbb410f7a5a60124ac5abf7438.tar.gz
gdb-2b63aca39c2b0abbb410f7a5a60124ac5abf7438.tar.bz2
gold: Add s390 -fsplit-stack support.
gold/ChangeLog: * s390.cc (Target_s390::match_view_u): New helper method. (Target_s390::do_is_call_to_non_split): New method. (Target_s390::ss_code_st_r14): New const. (Target_s390::ss_code_l_r14): New const. (Target_s390::ss_code_bras_8): New const. (Target_s390::ss_code_l_basr): New const. (Target_s390::ss_code_a_basr): New const. (Target_s390::ss_code_ear): New const. (Target_s390::ss_code_c): New const. (Target_s390::ss_code_larl): New const. (Target_s390::ss_code_brasl): New const. (Target_s390::ss_code_jg): New const. (Target_s390::ss_code_jgl): New const. (Target_s390::ss_match_mcount): New helper method. (Target_s390::ss_match_l): New helper method. (Target_s390::ss_match_ahi): New helper method. (Target_s390::ss_match_alfi): New helper method. (Target_s390::ss_match_cr): New helper method. (Target_s390::do_calls_non_split): New method. * testsuite/Makefile.am: Added new tests. * testsuite/split_s390.sh: New test. * testsuite/split_s390_1_a1.s: New test. * testsuite/split_s390_1_a2.s: New test. * testsuite/split_s390_1_n1.s: New test. * testsuite/split_s390_1_n2.s: New test. * testsuite/split_s390_1_z1.s: New test. * testsuite/split_s390_1_z2.s: New test. * testsuite/split_s390_1_z3.s: New test. * testsuite/split_s390_1_z4.s: New test. * testsuite/split_s390_2_ns.s: New test. * testsuite/split_s390_2_s.s: New test. * testsuite/split_s390x_1_a1.s: New test. * testsuite/split_s390x_1_a2.s: New test. * testsuite/split_s390x_1_n1.s: New test. * testsuite/split_s390x_1_n2.s: New test. * testsuite/split_s390x_1_z1.s: New test. * testsuite/split_s390x_1_z2.s: New test. * testsuite/split_s390x_1_z3.s: New test. * testsuite/split_s390x_1_z4.s: New test. * testsuite/split_s390x_2_ns.s: New test. * testsuite/split_s390x_2_s.s: New test.
Diffstat (limited to 'gold/testsuite/split_s390_1_z4.s')
-rw-r--r--gold/testsuite/split_s390_1_z4.s41
1 files changed, 41 insertions, 0 deletions
diff --git a/gold/testsuite/split_s390_1_z4.s b/gold/testsuite/split_s390_1_z4.s
new file mode 100644
index 0000000..b80bf40
--- /dev/null
+++ b/gold/testsuite/split_s390_1_z4.s
@@ -0,0 +1,41 @@
+# split_s390_z4.s: s390 specific test case for -fsplit-stack -
+# zarch mode, conditional call, alfi.
+
+ .text
+
+ .global fn1
+ .type fn1,@function
+fn1:
+ .cfi_startproc
+ ear %r1, %a0
+ l %r1, 0x20(%r1)
+ alfi %r1, 0x100000
+ cr %r15, %r1
+ larl %r1, .L1
+ jgl __morestack
+ .section .rodata
+ .align 4
+.L1:
+ .long 0x100000
+ .long 0
+ .long .L2-.L1
+ .previous
+.L2:
+ stm %r13, %r15, 0x34(%r15)
+ .cfi_offset %r13, -0x2c
+ .cfi_offset %r14, -0x28
+ .cfi_offset %r15, -0x24
+ ahi %r15, -0x60
+ .cfi_adjust_cfa_offset 0x60
+ brasl %r14, fn2
+ lm %r13, %r15, 0x94(%r15)
+ .cfi_restore %r13
+ .cfi_restore %r14
+ .cfi_restore %r15
+ .cfi_adjust_cfa_offset -0x60
+ br %r14
+ .cfi_endproc
+ .size fn1,. - fn1
+
+ .section .note.GNU-stack,"",@progbits
+ .section .note.GNU-split-stack,"",@progbits