From dd227e22a5337d54e1cb0838410bca6672c76c43 Mon Sep 17 00:00:00 2001 From: Markus Wichmann Date: Thu, 7 Sep 2023 05:01:23 +0200 Subject: [PATCH] Make branch to external symbol unconditional. Conditional branches have a shorter branch length than unconditional ones, and almost all ABIs require unconditional branches to external symbols. Otherwise linkers may create broken binaries. --- src/signal/aarch64/sigsetjmp.s | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/signal/aarch64/sigsetjmp.s b/src/signal/aarch64/sigsetjmp.s index 75910c43..9a28e395 100644 --- a/src/signal/aarch64/sigsetjmp.s +++ b/src/signal/aarch64/sigsetjmp.s @@ -4,7 +4,7 @@ .type __sigsetjmp,%function sigsetjmp: __sigsetjmp: - cbz x1,setjmp + cbz x1,1f str x30,[x0,#176] str x19,[x0,#176+8+8] @@ -19,3 +19,5 @@ __sigsetjmp: .hidden __sigsetjmp_tail b __sigsetjmp_tail + +1: b setjmp -- 2.39.2