<div dir="ltr">So, after many shenanigans, we finally have -gmlt-like inline summary debug info in .debug_info when using -gsplit-dwarf (see r221306). Hooray \o/<br><br>Testing this with asan, it seems to be working:<br><br>Given a simple example of inlining failure:<br><div>$ cat asan.cpp</div><div>__attribute__((always_inline)) inline void func(int* i) { *i = 3; }</div><div><br></div><div>int main() {</div><div>  func(nullptr);</div><div>}<br><br>The failures before this change:<br><br><div>    #0 0x4a320e in func(int*) /tmp/dbginfo/asan.cpp:1:59</div><div>    #1 0x4a320e in main /tmp/dbginfo/asan.cpp:4<br><br>And then if we delete the .dwo (to simulate running on another machine, etc, etc):<br><br>    #0 0x4a320e in main /tmp/dbginfo/asan.cpp:1:59<br><br>So we get the expected weird mixed stack frame.<br><br>Then, with the improvements, we see:<br><br><div>    #0 0x4a320e in func /tmp/dbginfo/asan.cpp:1:59</div><div>    #1 0x4a320e in main /tmp/dbginfo/asan.cpp:4<br><br>One minor quality issue: If we leave the .dwo file in, we still get this last output (the symbolizer is favoring the data in the .o file, by the looks of it, rather than the .dwo file) rather than the extra detail of the function's parameter types, etc.<br><br>Just thought I'd mention it in case that's a thing you'd like to see fixed/worry about.<br><br>- David</div><br><br></div></div></div>