This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Objdump not interpreting PCC relative address page correctly for GNU toolchain port

Found with objdump from release Arm GNU Toolchain 10.1.morello-alp2, is ok using llvm-objdump.  How can I report an issue with this toolchain release?

On pure-cap, when ADRP instruction PCC relative address is negative offset, i.e resolved address is < PCC, then resolved address is not displayed correctly using objdump or even gdb dissassembly of the linked out file.

Here is an example, how gdb displays the disassembly of this instruction @ 0x2118d0:

Fullscreen
1
2118d0: f0ffffe0 adrp c0, 100210000
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

There is a spurious high bit set, if you decode the immediate hi:lo and subtract from PCC page then correct value is 0x210000.

llvm-objdump gets it correct:

Fullscreen
1
2118d0: e0 ff ff f0 adrp c0, 0x210000
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

0