<div dir="ltr"><br><br>On Saturday, April 18, 2020, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Apr 18, 2020 at 3:02 AM Nagaraju Mekala via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">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">Hello All,<br>
<br>
I was trying to add Microblaze  target to LLVM backend. I was able to<br>
generate object file with relocations. and debug symbols.<br>
<br>
When I try to link this object file with microblaze GCC linker I am<br>
getting below errors and debug symbols are missing in it.<br>
<br>
mb-objdump: DWARF error: found dwarf version '15877', this reader only<br>
handles version 2, 3, 4 and 5 information<br>
mb--objdump: DWARF error: found dwarf version '3328', this reader only<br>
handles version 2, 3, 4 and 5 information<br>
mb--objdump: DWARF error: found dwarf version '1280', this reader only<br>
handles version 2, 3, 4 and 5 information<br>
<br>
Any idea when does the above errors will come?<br>
The llvm generated object file has debug symbols, </blockquote><div><br></div><div>When you say "has debug symbols" what do you mean? What tools have you used to observe these symbols/information?</div></div></div></blockquote><div> </div><div>I have observed the debug sections with mb-objdump 

with -xSD flag  (binutils based objdump which we use it with mb-gcc compiler). Even with readelf I was able to get the dwarf sections.</div><div>Attached is the dwarf dump generated with readelf --debug-dump helloworld.o command..</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">where as elf doesn't have.<br></blockquote><div><br>I take it you mean the linked executable? (the "ELF" file format is used for both the object files and the linked executable)</div><div><br> </div></div></div></blockquote><div> Sorry for the confusion. You are correct, I meant the linked executable. </div></div><div><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 dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I tried modifying MCTarget layer a lot but not able to find the root-cause.<br>
Any clue is much appreciated.<br>
<br>
ex:<br>
hello.c<br>
int main()<br>
{<br>
    printf("Hello World\n\r");<br>
    printf("Successfully ran Hello World application");<br>
    return 0;<br>
}<br>
<br>
hello.o objdump:<br>
int main()<br>
{<br>
   0:   10a00000        addk    r5, r0, r0<br>
   4:   f8a1002c        swi     r5, r1, 44<br>
<br>
    printf("Hello World\n\r");<br>
   8:   b0000000        imm     0<br>
                        8: R_MICROBLAZE_64      .rodata.str1.1<br>
   c:   a0c00000        ori     r6, r0, 0<br>
  10:   f8a10028        swi     r5, r1, 40<br>
  14:   b0000000        imm     0<br>
                        14: R_MICROBLAZE_64_PCREL       printf<br>
  18:   b9f40000        brlid   r15, 0<br>
  1c:   10a60000        addk    r5, r6, r0<br>
    printf("Successfully ran Hello World application");<br>
  20:   b0000000        imm     0<br>
                        20: R_MICROBLAZE_64     .rodata.str1.1+0xe<br>
  24:   a0a00000        ori     r5, r0, 0<br>
  28:   b0000000        imm     0<br>
                        28: R_MICROBLAZE_64_PCREL       printf<br>
  2c:   b9f40000        brlid   r15, 0<br>
  30:   f8610024        swi     r3, r1, 36<br>
    return 0;<br>
  34:   e8a10028        lwi     r5, r1, 40<br>
  38:   f8610020        swi     r3, r1, 32<br>
  3c:   10650000        addk    r3, r5, r0<br>
  40:   b60f0008        rtsd    r15, 8<br>
  44:   80000000        or      r0, r0, r0<br>
  ....<br>
  ...<br>
<br>
hello.elf objdump<br>
8000021c <main>:<br>
8000021c:       10a00000        addk    r5, r0, r0<br>
80000220:       f8a1002c        swi     r5, r1, 44<br>
80000224:       b0008000        imm     -32768<br>
80000228:       a0c0f418        ori     r6, r0, -3048<br>
8000022c:       f8a10028        swi     r5, r1, 40<br>
80000230:       b9f400ec        brlid   r15, 236<br>
80000234:       10a60000        addk    r5, r6, r0<br>
80000238:       b0008000        imm     -32768<br>
8000023c:       a0a0f426        ori     r5, r0, -3034<br>
80000240:       b9f400dc        brlid   r15, 220<br>
80000244:       f8610024        swi     r3, r1, 36<br>
80000248:       e8a10028        lwi     r5, r1, 40<br>
8000024c:       f8610020        swi     r3, r1, 32<br>
80000250:       10650000        addk    r3, r5, r0<br>
80000254:       b60f0008        rtsd    r15, 8<br>
80000258:       80000000        or      r0, r0, r0<br>
<br>
Thanks in Advance,<br>
Nagaraju<br>
_______________________________________________<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></div>
</blockquote>