[llvm] Modify llvm-gsymutil lookups to handle overlapping ranges correctly. (PR #72350)

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 15 11:03:10 PST 2023


dwblaikie wrote:

> > > we had debug info for a function with a range like [0x100-0x200) and a symbol at the same start address yet with a larger range like [0x100-0x300)
> > 
> > 
> > Do you have a test case for where this happens? If clang/llvm are producing debug info like that I'd be concerned/want to look into fixing it.
> 
> This is Haskell debugging related where the compiler is producing debug info with a small sized `DW_TAG_subprogram` and the symbol table symbol has a much larger range. I don't believe clang supports Haskell. The `DW_AT_producer` in this case is:
> 
> ```
> DW_AT_producer    ("The Glorious Glasgow Haskell Compilation System 8.8.3")
> ```

ah, thanks for the details. Yeah, I can see how merging both the ELF symbol table and the DWARF description could end up with differences, possibly due to whether the alignment padding gets included in one description or the other - probably better that it not be included in either, but yeah, such is life.

https://github.com/llvm/llvm-project/pull/72350


More information about the llvm-commits mailing list