From dac12bc2426d5b639ad2d62d0f447dd037227c91 Mon Sep 17 00:00:00 2001 From: Bruce McCulloch Date: Fri, 27 Jun 2025 09:21:52 -0700 Subject: [PATCH] libctf: doc: add __float128 and SIMD vector classification to spec. This patch adds two additional distinct types (__float128 and the SIMD vector type generated from the vector_size attribute) to the umbrella of two existing types (long double and array, respectively). These types were previously invalid, producing CTF_K_UNKNOWN in the case of __float128 or a float in the case of the SIMD vector. This patch will cleanly allow these types to be represented more accurately without breaking back-compat. Signed-off-by: Bruce McCulloch Reviewed-by: Nick Alcock --- libctf/doc/ctf-spec.texi | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/libctf/doc/ctf-spec.texi b/libctf/doc/ctf-spec.texi index 5b2b881a895..b9f60d300fc 100644 --- a/libctf/doc/ctf-spec.texi +++ b/libctf/doc/ctf-spec.texi @@ -829,7 +829,7 @@ of kind @code{CTF_K_UNKNOWN}. @item 4 @tab @code{CTF_K_ARRAY} -@tab An array. @xref{Arrays}. +@tab An array or SIMD vector. @xref{Arrays}. @item 5 @tab @code{CTF_K_FUNCTION} @@ -1064,7 +1064,7 @@ unused and will become used in future. @tindex CTF_FP_LDCPLX @item 6 @tab @code{CTF_FP_LDOUBLE} -@tab This is a @code{long double}. +@tab This is a @code{long double}, or quad-precision IEEE 754-2008 @code{__float128}. @tindex CTF_FP_LDOUBLE @item 7 @tab @code{CTF_FP_INTRVL} @@ -1232,6 +1232,13 @@ Arrays are encoded as types of kind @code{CTF_K_ARRAY} in a @code{ctf_stype_t}. Both size and kind for arrays are zero. The variable-length data is a @code{ctf_array_t}: @code{vlen} in the info word should be disregarded and is always zero. +@c In CTFv4 and BTF, the @code{kind_flag} member of @{ctf_array_t} is not set. + +SIMD vectors are also encoded as types of kind @code{CTF_K_ARRAY} in a +@code{ctf_stype_t}. Both size and kind for arrays are zero. The +variable-length data is a @code{ctf_array_t}: @code{vlen} in the info word +should be disregarded and is always zero. +@c In CTFv4 and BTF, the @code{kind_flag} member of @{ctf_array_t} is set. @verbatim typedef struct ctf_array