]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
gold: aarch64 split stack support users/azanella/aarch64-split-stack
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 4 Aug 2016 18:47:28 +0000 (18:47 +0000)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 7 Feb 2018 13:25:46 +0000 (11:25 -0200)
commit7806b4b58f4b1174b0f47ba4e0f4c491b0f35fb3
tree3abdd9ef4f6f1e2423a486ad9d5c10ee41f99e82
parent407aa07cee4d075c8e7996a5e994c02e76f19276
gold: aarch64 split stack support

This patch adds gold support for split-stack function calling non-split
function on aarch64.

gold/ChangeLog:

* gold/aarch64.c (AArch64_insn_utilities::aarch64_movn_decode_imm):
New function.
(AArch64_insn_utilities::aarch64_movk_decode_imm): Likewise.
(AArch64_insn_utilities::clz_hwi): Likewise.
(AArch64_insn_utilities::aarch64_bitmask_imm): Likewise.
(Target_aarch64::do_calls_non_split): Likewise.
* gold/testsuite/Makefile.am [DEFAULT_TARGET_AARCH64] (check_SCRIPTS):
add split_aarch64.sh.
[DEFAULT_TARGET_AARCH64] (check_DATA): Add split_aarch64_{1,2,3,4,r)
tests.
[DEFAULT_TARGET_AARCH64] (SPLIT_DEFSYMS): New rule.
[DEFAULT_TARGET_AARCH64] (split_aarch64_1.o): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_2.o): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_3.o): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_4.o): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_r.o): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_n.o): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_1): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_2): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_2.stdout): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_3.stdout): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_4): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_4.stdout): Likewise.
[DEFAULT_TARGET_AARCH64] (split_aarch64_r.stdout): Likewise.
[DEFAULT_TARGET_AARCH64] (MOSTLYCLEANFILES): Likewise.
* gold/testsuite/split_aarch64.sh: New file.
* gold/testsuite/split_aarch64_1.s: Likewise.
* gold/testsuite/split_aarch64_2.s: Likewise.
* gold/testsuite/split_aarch64_3.s: Likewise.
* gold/testsuite/split_aarch64_4.s: Likewise.
* gold/testsuite/split_aarch64_n.s: Likewise.
gold/ChangeLog
gold/aarch64.cc
gold/testsuite/Makefile.am
gold/testsuite/Makefile.in
gold/testsuite/split_aarch64.sh [new file with mode: 0755]
gold/testsuite/split_aarch64_1.s [new file with mode: 0644]
gold/testsuite/split_aarch64_2.s [new file with mode: 0644]
gold/testsuite/split_aarch64_3.s [new file with mode: 0644]
gold/testsuite/split_aarch64_4.s [new file with mode: 0644]
gold/testsuite/split_aarch64_n.s [new file with mode: 0644]