[llvm] Extend llvm objdump fatbin (PR #140286)

Michał Górny via llvm-commits llvm-commits at lists.llvm.org
Sat May 24 00:47:40 PDT 2025


mgorny wrote:

This change has introduces crashes in unit tests on 32-bit x86:

```
[----------] 1 test from OffloadingBundleTest
[ RUN      ] OffloadingBundleTest.checkExtractOffloadBundleFatBinary
ObjectTests: /home/mgorny/llvm-project/llvm/include/llvm/ADT/StringRef.h:618: llvm::StringRef llvm::StringRef::drop_front(size_t) const: Assertion `size() >= N && "Dropping more elements than exist"' failed.
 #0 0x5678ecfa llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0x221cfa)
 #1 0x5678f018 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #2 0x5678ce7a llvm::sys::RunSignalHandlers() (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0x21fe7a)
 #3 0x5678dc7c SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #4 0xfffffffff7f6c5a0 (linux-gate.so.1+0x5a0)
 #5 0xfffffffff7f6c579 (linux-gate.so.1+0x579)
 #6 0xfffffffff794ad07 (/usr/lib/libc.so.6+0x93d07)
 #7 0xfffffffff78ef581 raise (/usr/lib/libc.so.6+0x38581)
 #8 0xfffffffff78d62d8 abort (/usr/lib/libc.so.6+0x1f2d8)
 #9 0xfffffffff78d61de (/usr/lib/libc.so.6+0x1f1de)
#10 0xfffffffff78e750b (/usr/lib/libc.so.6+0x3050b)
#11 0x56610c4d llvm::StringRef::drop_front(unsigned int) const (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0xa3c4d)
#12 0x56659439 extractOffloadBundle(llvm::MemoryBufferRef, unsigned long long, llvm::StringRef, llvm::SmallVectorImpl<llvm::object::OffloadBundleFatBin>&) (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0xec439)
#13 0x56659f83 llvm::object::extractOffloadBundleFatBinary(llvm::object::ObjectFile const&, llvm::SmallVectorImpl<llvm::object::OffloadBundleFatBin>&) (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0xecf83)
#14 0x565f7521 OffloadingBundleTest_checkExtractOffloadBundleFatBinary_Test::TestBody() (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0x8a521)
#15 0x5679b95d void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (.isra.0) gtest-all.cc:0:0
#16 0x5679dd17 testing::Test::Run() (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0x230d17)
#17 0x5679de25 testing::TestInfo::Run() (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0x230e25)
#18 0x567a8906 testing::TestSuite::Run() (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0x23b906)
#19 0x567a8ca9 testing::internal::UnitTestImpl::RunAllTests() (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0x23bca9)
#20 0x567a8f0a testing::UnitTest::Run() (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0x23bf0a)
#21 0x56585bad main (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0x18bad)
#22 0xfffffffff78d7f83 (/usr/lib/libc.so.6+0x20f83)
#23 0xfffffffff78d8048 __libc_start_main (/usr/lib/libc.so.6+0x21048)
#24 0x5659d367 _start (/home/mgorny/llvm-project/build32/unittests/Object/./ObjectTests+0x30367)

--
exit: -6
--
```

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


More information about the llvm-commits mailing list