[DTrace-devel] [PATCH 2/3] Fix DMST_ARG usage in provider trampolines

eugene.loh at oracle.com eugene.loh at oracle.com
Wed Feb 24 09:12:02 PST 2021


From: Eugene Loh <eugene.loh at oracle.com>

Signed-off-by: Eugene Loh <eugene.loh at oracle.com>
---
 libdtrace/dt_prov_dtrace.c            | 2 +-
 libdtrace/dt_prov_fbt.c               | 2 +-
 libdtrace/dt_prov_profile.c           | 2 +-
 test/unittest/profile-n/tst.argtest.d | 1 -
 4 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/libdtrace/dt_prov_dtrace.c b/libdtrace/dt_prov_dtrace.c
index b28f212d..bf93bd60 100644
--- a/libdtrace/dt_prov_dtrace.c
+++ b/libdtrace/dt_prov_dtrace.c
@@ -208,7 +208,7 @@ static void trampoline(dt_pcb_t *pcb)
 	 *     (we clear dctx->mst->argv[6] and on)
 	 */
 	for (i = 6; i < ARRAY_SIZE(((dt_mstate_t *)0)->argv); i++)
-		emit(dlp, BPF_STORE_IMM(BPF_DW, BPF_REG_7, DCTX_FP(DMST_ARG(i)), 0));
+		emit(dlp, BPF_STORE_IMM(BPF_DW, BPF_REG_7, DMST_ARG(i), 0));
 
 	if (adv_act)
 		dt_cg_tramp_epilogue_advance(pcb, act);
diff --git a/libdtrace/dt_prov_fbt.c b/libdtrace/dt_prov_fbt.c
index a35251e0..dd21369c 100644
--- a/libdtrace/dt_prov_fbt.c
+++ b/libdtrace/dt_prov_fbt.c
@@ -223,7 +223,7 @@ static void trampoline(dt_pcb_t *pcb)
 	 *     (we clear dctx->mst->argv[6] and on)
 	 */
 	for (i = 6; i < ARRAY_SIZE(((dt_mstate_t *)0)->argv); i++)
-		emit(dlp, BPF_STORE_IMM(BPF_DW, BPF_REG_7, DCTX_FP(DMST_ARG(i)), 0));
+		emit(dlp, BPF_STORE_IMM(BPF_DW, BPF_REG_7, DMST_ARG(i), 0));
 
 	dt_cg_tramp_epilogue(pcb);
 }
diff --git a/libdtrace/dt_prov_profile.c b/libdtrace/dt_prov_profile.c
index 0f7d4dd9..58cbf5f3 100644
--- a/libdtrace/dt_prov_profile.c
+++ b/libdtrace/dt_prov_profile.c
@@ -267,7 +267,7 @@ static void trampoline(dt_pcb_t *pcb)
 	 *     (we clear dctx->mst->argv[1] and on)
 	 */
 	for (i = 1; i < ARRAY_SIZE(((dt_mstate_t *)0)->argv); i++)
-		emit(dlp, BPF_STORE_IMM(BPF_DW, BPF_REG_7, DCTX_FP(DMST_ARG(i)), 0));
+		emit(dlp, BPF_STORE_IMM(BPF_DW, BPF_REG_7, DMST_ARG(i), 0));
 
 	dt_cg_tramp_epilogue(pcb);
 }
diff --git a/test/unittest/profile-n/tst.argtest.d b/test/unittest/profile-n/tst.argtest.d
index d638e2c5..11b2bc1b 100644
--- a/test/unittest/profile-n/tst.argtest.d
+++ b/test/unittest/profile-n/tst.argtest.d
@@ -4,7 +4,6 @@
  * Licensed under the Universal Permissive License v 1.0 as shown at
  * http://oss.oracle.com/licenses/upl.
  */
-/* @@xfail: dtv2 */
 
 /*
  * ASSERTION:
-- 
2.18.4




More information about the DTrace-devel mailing list