-
Notifications
You must be signed in to change notification settings - Fork 11.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
llvm-objdump 15.0.0 crashes dumping aarch64/musl binary #57707
Comments
@MaskRay FYI let me know if more info is needed |
There is a malformed I am changing llvm-objdump's verneed dumping code to reuse code for llvm-readobj... |
its being created by go linker in this file see https://github.com/golang/go/blob/master/src/cmd/link/internal/ld/elf.go |
if I use gcc to compile the go compiler then llvm-objdump works ok. So perhaps its related to clang 15 used in compiling go compiler |
Patch: https://reviews.llvm.org/D133751 binutils discussion whether an empty .gnu.version_r is valid: https://sourceware.org/bugzilla/show_bug.cgi?id=29566 |
@llvm/issue-subscribers-tools-llvm-objdump |
@llvm/issue-subscribers-backend-aarch64 |
When .gnu.version_r is empty (allowed by readelf but warned by objdump), llvm-objdump -p may decode the next section as .gnu.version_r and may crash due to out-of-bounds C string reference. ELFFile<ELFT>::getVersionDependencies handles 0-entry .gnu.version_r gracefully. Just use it. Fix llvm/llvm-project#57707 Differential Revision: https://reviews.llvm.org/D133751 (cherry picked from commit 25394c9)
When .gnu.version_r is empty (allowed by readelf but warned by objdump), llvm-objdump -p may decode the next section as .gnu.version_r and may crash due to out-of-bounds C string reference. ELFFile<ELFT>::getVersionDependencies handles 0-entry .gnu.version_r gracefully. Just use it. Fix llvm/llvm-project#57707 Differential Revision: https://reviews.llvm.org/D133751 (cherry picked from commit 25394c9)
When .gnu.version_r is empty (allowed by readelf but warned by objdump), llvm-objdump -p may decode the next section as .gnu.version_r and may crash due to out-of-bounds C string reference. ELFFile<ELFT>::getVersionDependencies handles 0-entry .gnu.version_r gracefully. Just use it. Fix llvm/llvm-project#57707 Differential Revision: https://reviews.llvm.org/D133751 (cherry picked from commit 25394c9d10e73b666f4fa1dff2426824894cce58)
When .gnu.version_r is empty (allowed by readelf but warned by objdump), llvm-objdump -p may decode the next section as .gnu.version_r and may crash due to out-of-bounds C string reference. ELFFile<ELFT>::getVersionDependencies handles 0-entry .gnu.version_r gracefully. Just use it. Fix llvm/llvm-project#57707 Differential Revision: https://reviews.llvm.org/D133751
attached binary is from go package when built for aarch64/musl using clang 15.0.0,
llvm-objdump -p trace
fails like belowtrace.tar.gz
The text was updated successfully, but these errors were encountered: