<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>