diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2014-12-18 11:09:28 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-01-06 15:38:25 -0800 |
commit | 4fc1b9d43cbce7571264a0011c87258b78252750 (patch) | |
tree | 93ec540f596de570077e84135d9e1a78ac4b67a4 /gold/testsuite/split_x32_n.s | |
parent | e7287c7f647870093b8ab5ffea0732ffdb8c4d66 (diff) | |
download | gdb-4fc1b9d43cbce7571264a0011c87258b78252750.zip gdb-4fc1b9d43cbce7571264a0011c87258b78252750.tar.gz gdb-4fc1b9d43cbce7571264a0011c87258b78252750.tar.bz2 |
Handle stack split for x32
X32 uses cmp %fs:NN,%esp, lea NN(%rsp),%r10d, lea NN(%rsp),%r11d,
instead of cmp %fs:NN,%rsp, lea NN(%rsp),%r10, lea NN(%rsp),%r11.
This patch handles it.
PR gold/17729
* configure.ac (DEFAULT_TARGET_X86_64): Don't set for x32.
(DEFAULT_TARGET_X32): Set for x32.
* x86_64.cc (cmp_insn_32): New.
(lea_r10_insn_32): Likewise.
(lea_r11_insn_32): Likewise.
(cmp_insn_64): Likewise.
(lea_r10_insn_64): Likewise.
(lea_r11_insn_64): Likewise.
(Target_x86_64<size>::do_calls_non_split): Handle x32.
* testsuite/Makefile.am (check_SCRIPTS): Add split_x32.sh.
(check_DATA): Add split_x32 files.
(split_x32_[1234n].o): New targets.
(split_x32_[124]): New targets.
(split_x32_[1234r].stdout): New targets.
* testsuite/split_x32.sh: New file.
* testsuite/split_x32_1.s: Likewise.
* testsuite/split_x32_2.s: Likewise.
* testsuite/split_x32_3.s: Likewise.
* testsuite/split_x32_4.s: Likewise.
* testsuite/split_x32_n.s: Likewise.
* configure: Regenerated.
* testsuite/Makefile.in: Likewise.
Diffstat (limited to 'gold/testsuite/split_x32_n.s')
-rw-r--r-- | gold/testsuite/split_x32_n.s | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gold/testsuite/split_x32_n.s b/gold/testsuite/split_x32_n.s new file mode 100644 index 0000000..54c0db6 --- /dev/null +++ b/gold/testsuite/split_x32_n.s @@ -0,0 +1,12 @@ +# split_x32_n.s: x32 specific, -fsplit-stack calling non-split + + .text + + .global fn3 + .type fn3,@function +fn3: + retq + + .size fn3,. - fn3 + + .section .note.GNU-stack,"",@progbits |