[DTrace-devel] [PATCH] cg, agg: fix alignment of key components

Eugene Loh eugene.loh at oracle.com
Wed Oct 1 19:40:13 UTC 2025


Reviewed-by: Eugene Loh <eugene.loh at oracle.com>

On 10/1/25 10:43, Kris Van Hees via DTrace-devel wrote:
> 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



More information about the DTrace-devel mailing list