[DTrace-devel] [PATCH 4/6] symbol: fix undefined, non-extern symbols
Kris Van Hees
kris.van.hees at oracle.com
Fri May 12 14:38:17 UTC 2023
On Wed, Apr 19, 2023 at 04:41:29PM +0100, Nick Alcock via DTrace-devel wrote:
> Undefined symbols are undefined symbols even if they are not marked as
> extern: they shouldn't be returned as if they were validly resolved, but
> with no definition.
>
> (My bug, nearly a decade old. The code before my change acts this way.)
>
> Signed-off-by: Nick Alcock <nick.alcock at oracle.com>
Reviewed-by: Kris Van Hees <kris.van.hees at oracle.com>
> ---
> libdtrace/dt_module.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/libdtrace/dt_module.c b/libdtrace/dt_module.c
> index 7f3f1f50f34c8..ca816422d9196 100644
> --- a/libdtrace/dt_module.c
> +++ b/libdtrace/dt_module.c
> @@ -1720,7 +1720,10 @@ dtrace_symbol_type(dtrace_hdl_t *dtp, const GElf_Sym *symp,
> tip->dtt_type = DT_FPTR_TYPE(dtp);
> }
>
> - if (undefined && dmp->dm_extern != NULL) {
> + if (undefined) {
> + if (dmp->dm_extern == NULL)
> + return dt_set_errno(dtp, EDT_NOSYM);
> +
> dt_ident_t *idp =
> dt_idhash_lookup(dmp->dm_extern, sip->name);
>
> --
> 2.39.1.268.g9de2f9a303
>
>
> _______________________________________________
> DTrace-devel mailing list
> DTrace-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/dtrace-devel
More information about the DTrace-devel
mailing list