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

Nick Alcock nick.alcock at oracle.com
Wed Sep 7 12:59:52 UTC 2022


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>
---
 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




More information about the DTrace-devel mailing list