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:

  2118d0:       f0ffffe0        adrp    c0, 100210000

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:

2118d0: e0 ff ff f0   adrp    c0, 0x210000