[llvm] [RuntimeDyld][ELF][AArch64] Fix resolveAArch64ShortBranch. (PR #92245)
Michał Górny via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 2 12:20:11 PDT 2024
mgorny wrote:
```
(gdb) run
Starting program: /var/tmp/portage/sys-devel/llvm-19.0.0.9999/work/llvm_build-abi_x86_32.x86/bin/llvm-rtdyld -triple=arm64-none-linux-gnu -verify -check=/var/tmp/portage/sys-devel/llvm-19.0.0.9999/work/llvm/test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_xsec_branch.s /var/tmp/portage/sys-devel/llvm-19.0.0.9999/work/llvm_build-abi_x86_32.x86/test/ExecutionEngine/RuntimeDyld/AArch64/Output/ELF_ARM64_xsec_branch.s.tmp
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
llvm-rtdyld: /var/tmp/portage/sys-devel/llvm-19.0.0.9999/work/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp:497: void llvm::RuntimeDyldELF::resolveAArch64Relocation(const llvm::SectionEntry&, uint64_t, uint64_t, uint32_t, int64_t): Assertion `isInt<28>(BranchImm)' failed.
Program received signal SIGABRT, Aborted.
0xf7fc6579 in __kernel_vsyscall ()
(gdb) bt
#0 0xf7fc6579 in __kernel_vsyscall ()
#1 0xf1577347 in ?? () from /usr/lib/libc.so.6
#2 0xf151c2f1 in raise () from /usr/lib/libc.so.6
#3 0xf15032b8 in abort () from /usr/lib/libc.so.6
#4 0xf15031be in ?? () from /usr/lib/libc.so.6
#5 0xf151432b in __assert_fail () from /usr/lib/libc.so.6
#6 0xf478a70e in llvm::RuntimeDyldELF::resolveAArch64Relocation(llvm::SectionEntry const&, unsigned long long, unsigned long long, unsigned int, long long) ()
from /var/tmp/portage/sys-devel/llvm-19.0.0.9999/work/llvm_build-abi_x86_32.x86/bin/../lib/libLLVM.so.19.0git1af0778f
#7 0xf478ab1d in llvm::RuntimeDyldELF::resolveRelocation(llvm::SectionEntry const&, unsigned long long, unsigned long long, unsigned int, long long, unsigned long long, unsigned int) ()
from /var/tmp/portage/sys-devel/llvm-19.0.0.9999/work/llvm_build-abi_x86_32.x86/bin/../lib/libLLVM.so.19.0git1af0778f
#8 0xf478b427 in llvm::RuntimeDyldELF::resolveAArch64Branch(unsigned int, llvm::RelocationValueRef const&, llvm::object::content_iterator<llvm::object::RelocationRef>, std::map<llvm::RelocationValueRef, unsigned int, std::less<llvm::RelocationValueRef>, std::allocator<std::pair<llvm::RelocationValueRef const, unsigned int> > >&) ()
from /var/tmp/portage/sys-devel/llvm-19.0.0.9999/work/llvm_build-abi_x86_32.x86/bin/../lib/libLLVM.so.19.0git1af0778f
#9 0xf478e83d in llvm::RuntimeDyldELF::processRelocationRef(unsigned int, llvm::object::content_iterator<llvm::object::RelocationRef>, llvm::object::ObjectFile const&, std::map<llvm::object::SectionRef, unsigned int, std::less<llvm::object::SectionRef>, std::allocator<std::pair<llvm::object::SectionRef const, unsigned int> > >&, std::map<llvm::RelocationValueRef, unsigned int, std::less<llvm::RelocationValueRef>, std::allocator<std::pair<llvm::RelocationValueRef const, unsigned int> > >&) ()
from /var/tmp/portage/sys-devel/llvm-19.0.0.9999/work/llvm_build-abi_x86_32.x86/bin/../lib/libLLVM.so.19.0git1af0778f
#10 0xf4775a4a in llvm::RuntimeDyldImpl::loadObjectImpl(llvm::object::ObjectFile const&) ()
from /var/tmp/portage/sys-devel/llvm-19.0.0.9999/work/llvm_build-abi_x86_32.x86/bin/../lib/libLLVM.so.19.0git1af0778f
#11 0xf478c175 in llvm::RuntimeDyldELF::loadObject(llvm::object::ObjectFile const&) ()
from /var/tmp/portage/sys-devel/llvm-19.0.0.9999/work/llvm_build-abi_x86_32.x86/bin/../lib/libLLVM.so.19.0git1af0778f
#12 0xf476bd55 in llvm::RuntimeDyld::loadObject(llvm::object::ObjectFile const&) ()
from /var/tmp/portage/sys-devel/llvm-19.0.0.9999/work/llvm_build-abi_x86_32.x86/bin/../lib/libLLVM.so.19.0git1af0778f
#13 0x5656b776 in linkAndVerify() ()
#14 0x5656ebb3 in main ()
```
https://github.com/llvm/llvm-project/pull/92245
More information about the llvm-commits
mailing list