[DTrace-devel] [PATCH] cg, agg: fix alignment of key components
Kris Van Hees
kris.van.hees at oracle.com
Wed Oct 1 14:43:12 UTC 2025
Reported-by: Ruud van der Pas <ruud.vanderpas at oracle.com>
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
---
libdtrace/dt_cg.c | 2 +-
test/unittest/aggs/tst.chararray-key.d | 25 +++++++++++++++++++++++++
test/unittest/aggs/tst.chararray-key.r | 2 ++
3 files changed, 28 insertions(+), 1 deletion(-)
create mode 100644 test/unittest/aggs/tst.chararray-key.d
create mode 100644 test/unittest/aggs/tst.chararray-key.r
diff --git a/libdtrace/dt_cg.c b/libdtrace/dt_cg.c
index 1f120e1d..33435226 100644
--- a/libdtrace/dt_cg.c
+++ b/libdtrace/dt_cg.c
@@ -8734,7 +8734,7 @@ dt_cg_agg(dt_pcb_t *pcb, dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
dt_node_diftype(dtp, knp, &t);
size = t.dtdt_size;
- alignment = size;
+ alignment = t.dtdt_align;
}
dt_aggid_rec_add(dtp, aid->di_id, kind, size, alignment, arg);
diff --git a/test/unittest/aggs/tst.chararray-key.d b/test/unittest/aggs/tst.chararray-key.d
new file mode 100644
index 00000000..af45d4a5
--- /dev/null
+++ b/test/unittest/aggs/tst.chararray-key.d
@@ -0,0 +1,25 @@
+/*
+ * Oracle Linux DTrace.
+ * Copyright (c) 2025, 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.
+ */
+
+/*
+ * ASSERTION: Char arrays can be used a key components.
+ *
+ * SECTION: Aggregations/Aggregations
+ */
+
+#pragma D option quiet
+
+BEGIN
+{
+ @[curpsinfo->pr_fname] = count();
+ exit(0);
+}
+
+ERROR
+{
+ exit(1);
+}
diff --git a/test/unittest/aggs/tst.chararray-key.r b/test/unittest/aggs/tst.chararray-key.r
new file mode 100644
index 00000000..a2dcbc2d
--- /dev/null
+++ b/test/unittest/aggs/tst.chararray-key.r
@@ -0,0 +1,2 @@
+
+ dtrace 1
--
2.51.0
More information about the DTrace-devel
mailing list