[llvm-dev] Debug symbols are missing in elf

Nagaraju Mekala via llvm-dev llvm-dev at lists.llvm.org
Sat Apr 18 03:01:53 PDT 2020


Hello All,

I was trying to add Microblaze  target to LLVM backend. I was able to
generate object file with relocations. and debug symbols.

When I try to link this object file with microblaze GCC linker I am
getting below errors and debug symbols are missing in it.

mb-objdump: DWARF error: found dwarf version '15877', this reader only
handles version 2, 3, 4 and 5 information
mb--objdump: DWARF error: found dwarf version '3328', this reader only
handles version 2, 3, 4 and 5 information
mb--objdump: DWARF error: found dwarf version '1280', this reader only
handles version 2, 3, 4 and 5 information

Any idea when does the above errors will come?
The llvm generated object file has debug symbols, where as elf doesn't have.
I tried modifying MCTarget layer a lot but not able to find the root-cause.
Any clue is much appreciated.

ex:
hello.c
int main()
{
    printf("Hello World\n\r");
    printf("Successfully ran Hello World application");
    return 0;
}

hello.o objdump:
int main()
{
   0:   10a00000        addk    r5, r0, r0
   4:   f8a1002c        swi     r5, r1, 44

    printf("Hello World\n\r");
   8:   b0000000        imm     0
                        8: R_MICROBLAZE_64      .rodata.str1.1
   c:   a0c00000        ori     r6, r0, 0
  10:   f8a10028        swi     r5, r1, 40
  14:   b0000000        imm     0
                        14: R_MICROBLAZE_64_PCREL       printf
  18:   b9f40000        brlid   r15, 0
  1c:   10a60000        addk    r5, r6, r0
    printf("Successfully ran Hello World application");
  20:   b0000000        imm     0
                        20: R_MICROBLAZE_64     .rodata.str1.1+0xe
  24:   a0a00000        ori     r5, r0, 0
  28:   b0000000        imm     0
                        28: R_MICROBLAZE_64_PCREL       printf
  2c:   b9f40000        brlid   r15, 0
  30:   f8610024        swi     r3, r1, 36
    return 0;
  34:   e8a10028        lwi     r5, r1, 40
  38:   f8610020        swi     r3, r1, 32
  3c:   10650000        addk    r3, r5, r0
  40:   b60f0008        rtsd    r15, 8
  44:   80000000        or      r0, r0, r0
  ....
  ...

hello.elf objdump
8000021c <main>:
8000021c:       10a00000        addk    r5, r0, r0
80000220:       f8a1002c        swi     r5, r1, 44
80000224:       b0008000        imm     -32768
80000228:       a0c0f418        ori     r6, r0, -3048
8000022c:       f8a10028        swi     r5, r1, 40
80000230:       b9f400ec        brlid   r15, 236
80000234:       10a60000        addk    r5, r6, r0
80000238:       b0008000        imm     -32768
8000023c:       a0a0f426        ori     r5, r0, -3034
80000240:       b9f400dc        brlid   r15, 220
80000244:       f8610024        swi     r3, r1, 36
80000248:       e8a10028        lwi     r5, r1, 40
8000024c:       f8610020        swi     r3, r1, 32
80000250:       10650000        addk    r3, r5, r0
80000254:       b60f0008        rtsd    r15, 8
80000258:       80000000        or      r0, r0, r0

Thanks in Advance,
Nagaraju


More information about the llvm-dev mailing list