[llvm-dev] Debug symbols are missing in elf

Nagaraju Mekala via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 22 09:27:47 PDT 2020


On Tue, Apr 21, 2020 at 6:16 PM Robinson, Paul <paul.robinson at sony.com> wrote:
>
>
>
> > -----Original Message-----
> > From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On Behalf Of Nagaraju
> > Mekala via llvm-dev
> > Sent: Tuesday, April 21, 2020 6:04 AM
> > To: jh7370.2008 at my.bristol.ac.uk
> > Cc: LLVM Developers Mailing List <llvm-dev at lists.llvm.org>
> > Subject: Re: [llvm-dev] Debug symbols are missing in elf
> >
> > Hi James,
> >
> > Thanks for reply.
> > When I looked in to the generated debug dump from the object file I
> > found that DW_AT_name is always (indirect string, offset: 0x0): clang
> > version 8.0.1, instead of variable names.
>
> That symptom suggests that relocations from .debug_info to .debug_str
> are not being handled correctly.  Either your backend is not emitting
> them correctly, or the dumper does not know what to do with them.
>
> If you are able to dump the .rela.debug_info section and it looks
> reasonable, the fault is most likely with the dumper.  If you are
> using llvm-dwarfdump then that should not be hard to solve.
> --paulr
>
Hi Paulr,
Thanks for the reply.
>From your suggestion I have used llvm-dwarfdump and was able to figure
out that debug_info section was incomplete.
Can you please help me in finding which part of the target(Backend
files) will construct the dwarf data, especially debug_info.

Thanks in Advance,
Nagaraju
> >
> > Below is a sample output of the debug dump.
> >
> >  Compilation Unit @ offset 0x0:
> >    Length:        0x6a (32-bit)
> >    Version:       4
> >    Abbrev Offset: 0x0
> >    Pointer Size:  4
> >  <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
> >     <c>   DW_AT_producer    : (indirect string, offset: 0x0): clang
> > version 8.0.1
> >     <10>   DW_AT_language    : 12       (ANSI C99)
> >     <12>   DW_AT_name        : (indirect string, offset: 0x0): clang
> > version 8.0.1
> >     <16>   DW_AT_stmt_list   : 0x0
> >     <1a>   DW_AT_comp_dir    : (indirect string, offset: 0x0): clang
> > version 8.0.1
> >     <1e>   DW_AT_low_pc      : 0x0
> >     <22>   DW_AT_high_pc     : 0x6c
> >  <1><26>: Abbrev Number: 2 (DW_TAG_subprogram)
> >     <27>   DW_AT_low_pc      : 0x0
> >     <2b>   DW_AT_high_pc     : 0x6c
> >     <2f>   DW_AT_frame_base  : 1 byte block: 51         (DW_OP_reg1 (r1))
> >     <31>   DW_AT_name        : (indirect string, offset: 0x0): clang
> > version 8.0.1
> >     <35>   DW_AT_decl_file   : 1
> >     <36>   DW_AT_decl_line   : 51
> >     <37>   DW_AT_type        : <0x66>
> >     <3b>   DW_AT_external    : 1
> >
> > -Nagaraju
>


More information about the llvm-dev mailing list