[DTrace-devel] [PATCH 03/17] pid: drop dpp_stret
Eugene Loh
eugene.loh at oracle.com
Wed Aug 31 19:56:48 UTC 2022
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
(but it's unfamiliar territory for me)
On 8/10/22 18:06, 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>
> ---
> 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
More information about the DTrace-devel
mailing list