[llvm] [DWARFVerifier] Allow overlapping ranges for ICF-merged functions (PR #117952)

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 12 10:52:57 PST 2024


dwblaikie wrote:

One side question - this relates to both this change, and the change you folks made in the last few months related to the ICF situation with the line table? (where you wanted to make sure the line table/subprogram were used correctly together, yeah? That came from ICF and the resulting ambiguity between the .debug_info subprogram description and tnhe line table that applies - with the intent to ensure that a matched pair of line table + subprogram DIE tree were used for symbolizing, yeah?)

But lld doesn't produce these overlapping ranges, when it ICFs, it resolves only one duplicate to point to the final code, and the rest get zero'd/tombstoned, yeah?

So what situation are you in that you are getting these duplicates? Are you using gold (why that rather than lld?)? Some other linker? Is Bolt doing something esoteric? same thing as gold? 

Might be worth some design discussion about that in general.

But, yes, in the presence of gold's behavior, despite it not really being maintained so much anymore (as far as I understand it), we should probably support it... 

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


More information about the llvm-commits mailing list