dblaikie added a comment.

>> What about function overloading & namespaces? Is the debugger expected to 
>> figure out which `bar` function the DWARF/user is referring to?
>
> The symbol name that's passed in the attribute is supposed to be the mangled 
> name, so there shouldn't be any ambiguity to resolve.

Should there be some check that that symbol exists? (the current test uses the 
unmangled name "bar" for instance - which gives the wrong impression?)

>> is the debugger expected to jump directly and not call the implementation? 
>> Is it expected to continue into the implementation and break at the 
>> function? What if the function isn't called, or there's more than one call 
>> in the function, etc?)...
>
> I'm also working on an lldb patch to support the DW_AT_trampoline attribute, 
> where we could discuss the details on how the behavior of the debugger should 
> be, but the way I'm imagining it right now would be that stepping into a 
> trampoline should step through directly to the trampoline target instead, and 
> stepping out of the trampoline target should also step out of the trampoline 
> as well . If the function isn't called, maybe it should behave like it does 
> for functions with no debug info, where we immediately step out of the 
> trampoline. If there's more than one call to the trampoline target, I'm not 
> sure what should happen, I guess we'd step into the trampoline target 
> multiple times (that'd be a pretty odd trampoline though). We could also have 
> a setting where you can enable/disable the trampoline stepping behavior.

Helpful to discuss the semantics here - or somewhere in a generic sense before 
we go adding the features to compiler or debugger, since what alternatives to 
consider depends on the desired functionality.

What would happen if, instead, these trampolining functions were annotated 
nodebug? I guess then you wouldn't have the top level one as an entry point for 
the user, as there would be no debug info for it?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D146595

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to