I recently stumbled upon a weird binary, complied by a "Qualcomm Hexagon" compiler. The ELF binary seems fine, however section tables (section header size and string table index) seem empty. For those reasons OBJDUMP didn't work on the binary.
Here is the output from the readelf.
$ ./hexagon-readelf -a wierdBin.elf
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Qualcomm Hexagon
Version: 0x1
Entry point address: 0x40200000
Start of program headers: 52 (bytes into file)
Start of section headers: 0 (bytes into file)
Flags: 0x3, V4
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 31
Size of section headers: 40 (bytes)
Number of section headers: 0
Section header string table index: 0
There are no sections in this file.
There are no sections to group in this file.
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
NULL 0x000000 0x00000000 0x00000000 0x00414 0x00000 0
LOAD 0x001000 0x40756000 0x40756000 0x01b94 0x02000 0x1000
[..cut for brevity..]
I have never dealt with such type of binary, I guess I have to populate those areas to get OBJDUMP working on it.
Could someone help me to get it fixed? If anyone wants to take a look, I'm sharing the ELF binary. weirdBinary.elf