powerpc/dtrace: Fix fbt function probing for ELFv2
'.' function names exist only in ELFv1. ELFv2 does away with function descriptors, and look more like they do on powerpc(32) and most other platforms, as direct function pointers. Stop blacklisting regular function names in ELFv2. Submitted by: Brandon Bergren Differential Revision: https://reviews.freebsd.org/D20346
This commit is contained in:
parent
af8f74ad14
commit
b2aea1ad8f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=348298
@ -116,6 +116,7 @@ fbt_provide_module_function(linker_file_t lf, int symindx,
|
|||||||
uint32_t *instr, *limit;
|
uint32_t *instr, *limit;
|
||||||
|
|
||||||
#ifdef __powerpc64__
|
#ifdef __powerpc64__
|
||||||
|
#if !defined(_CALL_ELF) || _CALL_ELF == 1
|
||||||
/*
|
/*
|
||||||
* PowerPC64 uses '.' prefixes on symbol names, ignore it, but only
|
* PowerPC64 uses '.' prefixes on symbol names, ignore it, but only
|
||||||
* allow symbols with the '.' prefix, so that we don't get the function
|
* allow symbols with the '.' prefix, so that we don't get the function
|
||||||
@ -125,6 +126,7 @@ fbt_provide_module_function(linker_file_t lf, int symindx,
|
|||||||
name++;
|
name++;
|
||||||
else
|
else
|
||||||
return (0);
|
return (0);
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (fbt_excluded(name))
|
if (fbt_excluded(name))
|
||||||
|
Loading…
Reference in New Issue
Block a user