<div dir="ltr"><div>Hi,</div><div><br></div><div>I thought this was something that somebody had looked at a while back, but I can't immediately find it. I've explicitly CC'ed Fangrui Song, who has made a number of disassembly improvements in the past year. He may be able to help.</div><div><br></div><div>James<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 12 Dec 2020 at 08:57, Haishan via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="line-height:1.7;color:rgb(0,0,0);font-size:14px;font-family:Arial"><div style="line-height:1.7;color:rgb(0,0,0);font-size:14px;font-family:Arial"><p style="margin:0px"><br></p><p style="margin:0px">I used llvm-objdump to dump aarch64 binary, but it prints relative address of .rodata section in adrp instruction.</p><p style="margin:0px">Like:</p><p style="margin:0px">  llvm-objdump</p><p style="margin:0px">  400848: 02 00 00 90   adrp    x2, #0x0</p><p style="margin:0px">  40084c: 42 60 29 91   add x2, x2, #0xa58</p><p style="margin:0px">  400850: 44 48 63 38   ldrb    w4, [x2, w3, uxtw]</p><p style="margin:0px">  400854: 65 00 00 10   adr x5, #0xc</p><p style="margin:0px">  400858: a4 88 24 8b   add x4, x5, w4, sxtb #2</p><p style="margin:0px">  40085c: 80 00 1f d6   br  x4</p><p style="margin:0px">Moreover, when debug llvm-objdump binary, this adrp MCInst express by MCExpr which Kind is MCExpr::Target, not immediate.</p><p style="margin:0px"><br></p><p style="margin:0px"><br></p><p style="margin:0px">But I used objdump tools of binutils, it prints absolute address. Such as:</p><p style="margin:0px">  400848:       90000002        adrp    x2, 400000 <_init-0x518></p><p style="margin:0px">  40084c:       91296042        add     x2, x2, #0xa58</p><p style="margin:0px">  400850:       38634844        ldrb    w4, [x2,w3,uxtw]</p><p style="margin:0px">  400854:       10000065        adr     x5, 400860 <local+0x48></p><p style="margin:0px">  400858:       8b2488a4        add     x4, x5, w4, sxtb #2</p><p style="margin:0px">  40085c:       d61f0080        br      x4</p><p style="margin:0px">So How to get absolute address with llvm MCInst?</p></div></div>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>