[llvm] [BOLT] Fix long jump negative offset issue. (PR #67132)

Vladislav Khmelevsky via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 24 09:22:43 PDT 2023


================
@@ -0,0 +1,111 @@
+# This test checks long call negative offset boundary(0x8000000) for aarch64.
+
+# REQUIRES: system-linux
+
+# RUN: %clang %s -o %t.exe -nostartfiles -fuse-ld=lld -Wl,-z,now,-q \
+# RUN:   -Wl,--script=%p/Inputs/long-jmp-offset-boundary.ld
+# RUN: llvm-bolt %t.exe -o %t.bolt.exe -skip-funcs="foo.*"
+# RUN: llvm-objdump -d %t.bolt.exe | FileCheck %s
+# CHECK: 0000000000000100 <foo>:
+# CHECK: 8000100: {{.*}}	bl	0x100 <foo>
----------------
yota9 wrote:

I don't really like using abs addresses in the test. I'm pretty sure it is possible to calculate the offset between symbol to ensure it us 0x8000000

https://github.com/llvm/llvm-project/pull/67132


More information about the llvm-commits mailing list