Public bug reported:

# What was expected

llvm-objdump-21 --offloading should successfully extract the offload
bundles from an object file created by clang-21 using --offload-
compress. This is what occurs with LLVM 22.

```
# llvm-objdump-22 --offloading 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o

./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o:
       file format elf64-x86-64
Extracting offload bundle: 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o.0.host-x86_64-unknown-linux-gnu-
Extracting offload bundle: 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o.0.hipv4-amdgcn-amd-amdhsa--gfx1010
Extracting offload bundle: 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o.0.hipv4-amdgcn-amd-amdhsa--gfx1030
Extracting offload bundle: 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o.0.hipv4-amdgcn-amd-amdhsa--gfx1100
Extracting offload bundle: 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o.0.hipv4-amdgcn-amd-amdhsa--gfx1101
Extracting offload bundle: 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o.0.hipv4-amdgcn-amd-amdhsa--gfx1102
Extracting offload bundle: 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o.0.hipv4-amdgcn-amd-amdhsa--gfx803
Extracting offload bundle: 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o.0.hipv4-amdgcn-amd-amdhsa--gfx900
Extracting offload bundle: 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o.0.hipv4-amdgcn-amd-amdhsa--gfx906
Extracting offload bundle: 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o.0.hipv4-amdgcn-amd-amdhsa--gfx908
Extracting offload bundle: 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o.0.hipv4-amdgcn-amd-amdhsa--gfx90a
```

# What happened instead

```
# LLVM_SYMBOLIZER_PATH=/usr/lib/llvm-21/bin/llvm-symbolizer llvm-objdump-21 
--offloading 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o

./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o:
       file format elf64-x86-64
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and 
include the crash backtrace.
Stack dump:
0.      Program arguments: llvm-objdump-21 --offloading 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o
 #0 0x00007f6355ed9eaf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
(/usr/lib/x86_64-linux-gnu/libLLVM.so.21.1+0x44d9eaf)
 #1 0x00007f6355ed7757 llvm::sys::RunSignalHandlers() 
(/usr/lib/x86_64-linux-gnu/libLLVM.so.21.1+0x44d7757)
 #2 0x00007f6355edac9a (/usr/lib/x86_64-linux-gnu/libLLVM.so.21.1+0x44dac9a)
 #3 0x00007f6351245f30 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x45f30)
 #4 0x00007f6351397222 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x197222)
 #5 0x0000560424a75239 (/usr/lib/llvm-21/bin/llvm-objdump+0xc0239)
 #6 0x0000560424a7478e (/usr/lib/llvm-21/bin/llvm-objdump+0xbf78e)
 #7 0x00005604249f4156 (/usr/lib/llvm-21/bin/llvm-objdump+0x3f156)
 #8 0x00005604249e9c50 (/usr/lib/llvm-21/bin/llvm-objdump+0x34c50)
 #9 0x0000560424a7c823 (/usr/lib/llvm-21/bin/llvm-objdump+0xc7823)
#10 0x00007f635122a575 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a575)
#11 0x00007f635122a628 __libc_start_main 
(/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a628)
#12 0x00005604249e11b5 (/usr/lib/llvm-21/bin/llvm-objdump+0x2c1b5)
Segmentation fault         
LLVM_SYMBOLIZER_PATH=/usr/lib/llvm-21/bin/llvm-symbolizer llvm-objdump-21 
--offloading 
./obj-x86_64-linux-gnu/library/CMakeFiles/rocsparse.dir/src/level1/rocsparse_axpyi.cpp.o
```

The error that occurs when run on a shared object library is slightly 
different, though probably related:
```
# llvm-objdump-21 --offloading 
./obj-x86_64-linux-gnu/library/librocsparse.so.1.0 

./obj-x86_64-linux-gnu/library/librocsparse.so.1.0:     file format elf64-x86-64
llvm-objdump-21: error: './obj-x86_64-linux-gnu/library/librocsparse.so.1.0': 
while extracting offload FatBin bundles: Failed to decompress input: Could not 
decompress embedded file contents: Src size is incorrect
```

(The extraction of offload sections from the shared object library also
functions properly with llvm-objdump-22.)

# System Info

## lsb_release -rd
Description:    Ubuntu Resolute Raccoon (development branch)
Release:        26.04

## apt-cache policy llvm-21
llvm-21:
  Installed: 1:21.1.8-1ubuntu1
  Candidate: 1:21.1.8-1ubuntu1
  Version table:
     1:21.1.8-3ubuntu1 100
        100 http://archive.ubuntu.com/ubuntu resolute-proposed/universe amd64 
Packages
 *** 1:21.1.8-1ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu resolute/universe amd64 Packages
        100 /var/lib/dpkg/status

** Affects: llvm
     Importance: Unknown
         Status: Unknown

** Affects: llvm-toolchain-21 (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: llvm-toolchain-21 (Debian)
     Importance: Unknown
         Status: Unknown

** Attachment added: "The problem object file"
   
https://bugs.launchpad.net/bugs/2142335/+attachment/5947515/+files/rocsparse_axpyi.cpp.o

** Bug watch added: github.com/llvm/llvm-project/issues #182567
   https://github.com/llvm/llvm-project/issues/182567

** Also affects: llvm via
   https://github.com/llvm/llvm-project/issues/182567
   Importance: Unknown
       Status: Unknown

** Bug watch added: Debian Bug tracker #1128523
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1128523

** Also affects: llvm-toolchain-21 (Debian) via
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1128523
   Importance: Unknown
       Status: Unknown

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2142335

Title:
  Segfault in llvm-objdump --offloading with object file

To manage notifications about this bug go to:
https://bugs.launchpad.net/llvm/+bug/2142335/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to