[DTrace-devel] [PATCH 05/12] cc: use dt_node_root() in trampline compilation for clarity

Kris Van Hees kris.van.hees at oracle.com
Fri Jan 5 05:27:00 UTC 2024


Node trees roots are typically (in the parser) registered with the PCB
for compilation.  While the trampoline generation does not strictly
need it, it is the proper way to do this.

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
---
 libdtrace/dt_cc.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/libdtrace/dt_cc.c b/libdtrace/dt_cc.c
index 2f9f1574..1e830472 100644
--- a/libdtrace/dt_cc.c
+++ b/libdtrace/dt_cc.c
@@ -1,6 +1,6 @@
 /*
  * Oracle Linux DTrace.
- * Copyright (c) 2008, 2023, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2024, Oracle and/or its affiliates. All rights reserved.
  * Licensed under the Universal Permissive License v 1.0 as shown at
  * http://oss.oracle.com/licenses/upl.
  */
@@ -782,7 +782,6 @@ dtrace_difo_t *
 dt_construct(dtrace_hdl_t *dtp, dt_probe_t *prp, uint_t cflags, dt_ident_t *idp)
 {
 	dt_pcb_t	pcb;
-	dt_node_t	*tnp;
 	dtrace_difo_t	*dp = NULL;
 	int		err;
 
@@ -836,10 +835,10 @@ dt_construct(dtrace_hdl_t *dtp, dt_probe_t *prp, uint_t cflags, dt_ident_t *idp)
 		dt_idhash_iter(yypcb->pcb_pragmas, dt_idpragma, NULL);
 
 	dt_setcontext(dtp, yypcb->pcb_pdesc);
-	tnp = dt_node_trampoline(prp);
-	dt_node_type_assign(tnp, dtp->dt_ints[0].did_ctfp,
-				 dtp->dt_ints[0].did_type);
-	dt_cg(yypcb, tnp);
+	dt_node_root(dt_node_trampoline(prp));
+	dt_node_type_assign(yypcb->pcb_root, dtp->dt_ints[0].did_ctfp,
+					     dtp->dt_ints[0].did_type);
+	dt_cg(yypcb, yypcb->pcb_root);
 	dp = dt_as(yypcb);
 
 	/*
-- 
2.42.0




More information about the DTrace-devel mailing list