[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