[DTrace-devel] [PATCH v2 04/20] pid: drop dpp_stret

Kris Van Hees kris.van.hees at oracle.com
Tue Sep 20 19:17:03 UTC 2022


On Wed, Sep 07, 2022 at 01:59:52PM +0100, Nick Alcock via DTrace-devel wrote:
> These structure-return thunks in the Solaris libc have never existed on
> Linux, nor anything like them, so these calls will always fail.
> 
> Signed-off-by: Nick Alcock <nick.alcock at oracle.com>
> Reviewed-by: Eugene Loh <eugene.loh at oracle.com>

Reviewed-by: Kris Van Hees <kris.van.hees at oracle.com>

> ---
>  libdtrace/dt_pid.c | 33 +--------------------------------
>  1 file changed, 1 insertion(+), 32 deletions(-)
> 
> diff --git a/libdtrace/dt_pid.c b/libdtrace/dt_pid.c
> index fc338e0fd173..4b143966ff3c 100644
> --- a/libdtrace/dt_pid.c
> +++ b/libdtrace/dt_pid.c
> @@ -41,7 +41,6 @@ typedef struct dt_pid_probe {
>  	size_t dpp_size;
>  	Lmid_t dpp_lmid;
>  	uint_t dpp_nmatches;
> -	uint64_t dpp_stret[4];
>  	GElf_Sym dpp_last;
>  	uint_t dpp_last_taken;
>  } dt_pid_probe_t;
> @@ -313,7 +312,7 @@ dt_pid_per_mod(void *arg, const prmap_t *pmp, const char *obj)
>  	/*
>  	 * Note: if an execve() happens in the victim after this point, the
>  	 * following lookups will (unavoidably) fail if the lmid in the previous
> -	 * executable is not valid iun the new one.
> +	 * executable is not valid in the new one.
>  	 */
>  
>  	if ((pp->dpp_obj = strrchr(obj, '/')) == NULL)
> @@ -321,36 +320,6 @@ dt_pid_per_mod(void *arg, const prmap_t *pmp, const char *obj)
>  	else
>  		pp->dpp_obj++;
>  
> -	if (dt_Pxlookup_by_name(pp->dpp_dtp, pid, pp->dpp_lmid, obj, ".stret1",
> -				&sym, NULL) == 0)
> -		pp->dpp_stret[0] = sym.st_value;
> -	else
> -		pp->dpp_stret[0] = 0;
> -
> -	if (dt_Pxlookup_by_name(pp->dpp_dtp, pid, pp->dpp_lmid, obj, ".stret2",
> -				&sym, NULL) == 0)
> -		pp->dpp_stret[1] = sym.st_value;
> -	else
> -		pp->dpp_stret[1] = 0;
> -
> -	if (dt_Pxlookup_by_name(pp->dpp_dtp, pid, pp->dpp_lmid, obj, ".stret4",
> -					&sym, NULL) == 0)
> -		pp->dpp_stret[2] = sym.st_value;
> -	else
> -		pp->dpp_stret[2] = 0;
> -
> -	if (dt_Pxlookup_by_name(pp->dpp_dtp, pid, pp->dpp_lmid, obj, ".stret8",
> -				&sym, NULL) == 0)
> -		pp->dpp_stret[3] = sym.st_value;
> -	else
> -		pp->dpp_stret[3] = 0;
> -
> -	dt_dprintf("%s stret %llx %llx %llx %llx\n", obj,
> -		   (unsigned long long)pp->dpp_stret[0],
> -		   (unsigned long long)pp->dpp_stret[1],
> -		   (unsigned long long)pp->dpp_stret[2],
> -		   (unsigned long long)pp->dpp_stret[3]);
> -
>  	/*
>  	 * If pp->dpp_func contains any globbing meta-characters, we need
>  	 * to iterate over the symbol table and compare each function name
> -- 
> 2.37.1.265.g363c192786.dirty
> 
> 
> _______________________________________________
> 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