On 03/17/18 03:07 PM, Luke Diamand wrote:
> In b56e4cb88989f82988a6a70acb32e187e88b5cac ("ALIAS dwarf symbols"),
> dwarf_find_debug_frame() went from being public to hidden. I could be
> wrong about this, but I think this may stop perf from using libunwind.
> 
> This is the change:
> 
> -int
> +HIDDEN int
>  dwarf_find_debug_frame (int found, unw_dyn_info_t *di_debug, unw_word_t ip,
> 
> Here's the code in tools/build/feature/test-libunwind-debug-frame.c
> 
>  extern int
> UNW_OBJ(dwarf_find_debug_frame) (int found, unw_dyn_info_t *di_debug,
>                                  unw_word_t ip, unw_word_t segbase,
>                                  const char *obj_name, unw_word_t start,
>                                  unw_word_t end);
> 
> #define dwarf_find_debug_frame UNW_OBJ(dwarf_find_debug_frame)
> 
> int main(void) {
>     dwarf_find_debug_frame(0, NULL, 0, 0, NULL, 0, 0);
>     return 0;
> }
> 
> (And it gets used inside perf to actually find the debug frames).
> 
> I'm not a perf expert *or* a libunwind expert. Experimentally I find
> that with libunwind 1.3 I don't get callstacks in perf unless I get
> rid of the HIDDEN.

Nope, looks like a mistake that should be reverted, when removing
PROTECTED visibility.  Thanks for pointing it out.

_______________________________________________
Libunwind-devel mailing list
Libunwind-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to