[PATCH] D74781: Wasm-ld emits invalid .debug_ranges entries for non-live symbols

Paolo Severini via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 26 14:42:13 PDT 2020


paolosev added a comment.

In D74781#1944988 <https://reviews.llvm.org/D74781#1944988>, @dblaikie wrote:

> In D74781#1944970 <https://reviews.llvm.org/D74781#1944970>, @sbc100 wrote:
>
> > Regarding the `.debug_loc` section.   I did a quick experiment it looks like, even before this patch we get the expected output:
> >
> >   test.o:	file format WASM
> >  
> >   .debug_loc contents:
> >   0x00000000: 
> >               [0x00000005, 0x00000009): DW_OP_consts +21, DW_OP_stack_value
> >  
> >   0x0000001d: 
> >               [0x0000000a, 0x0000000e): DW_OP_consts +7, DW_OP_stack_value
> >
> >
> > It looks like reason this works is because there is only one relocation per function here.    i.e. there are only two relocations in the above object code.   I appears the individual ranges do not themselves contain any relocations.
>
>
> Hmm, what does llvm-dwarfdump -debug-loc -v print for this? I did implement DWARF loclist base address specifier support which means sometimes it'll use a base address specifier (which would be only one address) & everything would be offsets relative to that - but that's not always used.
>
> Hmm, maybe I'm mistaken... maybe we do /always/ use base address specifiers in debug_loc now... Yep, that's it, always using them.
>
> Sorry for the distraction & thanks for talking it through with me!


Thanks for your help!
Then I will push the patch.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74781/new/

https://reviews.llvm.org/D74781





More information about the llvm-commits mailing list