llvm-objdump print file offset

Hello,

$ objdump -h # displays info about all below sections….

Sections:

Idx Name Size VMA LMA File off Algn

While,

$ llvm-objdump -h # only displays subset of info…

Sections:

Idx Name Size Address Type

Using ‘–show-lma’ could get VMA and LMA details.

Can you suggest options to print ‘File off’ and ‘Alng’ with llvm-objdump?

Thank you in advance.

Hi,

This looks like a bug in llvm-objdump’s output (I’d expect it to match GNU’s). There are no options to print the other columns. Could you file a bug against llvm-objdump at https://bugs.llvm.org/, please?

You could also use llvm-readelf to get equivalent output. For a simple object, it might look something like this:

C:\Work\TOOLCHAIN-5886> \llvm\build\Debug\bin\llvm-readelf.exe -S C:\Work\TempWork\bar.o
There are 12 section headers, starting at offset 0x208:

Section Headers:
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .strtab STRTAB 0000000000000000 000198 000070 00 0 0 1

It produces GNU readelf-style output, but this won’t show you LMA output (and there is no option to do so I’m afraid).

Hope that helps,

James

Thanks James it seems worked for me :slight_smile:

I am facing some issues in login into bugs.llvm.org, I will file once I get access. Pls feel free if you have login :slight_smile:

Thank you again.

I have an ancient patch where I fixed this, see https://reviews.llvm.org/D68669. But it was more of a proof of concept, with lots of TODOs & no tests written for it (just existing tests updated). If someone wanted to take that patch and iterate on it, that might be faster than waiting for me.

I have an ancient patch where I fixed this, see
⚙ D68669 [llvm-objdump][WIP] Make llvm-objdump -h compatible with GNU objdump.. But it was more of a proof of concept,
with lots of TODOs & no tests written for it (just existing tests updated).
If someone wanted to take that patch and iterate on it, that might be
faster than waiting for me.

If the lack of "LMA" column causes confusion, perhaps we should revisit
the resolution to ⚙ D57146 [llvm-objdump] - Print LMAs when dumping section headers. ?

(Personally I don't use objdump -h. I know many other users considering
objdump -h output less genuine and using readelf -S as a replacement.)