From: Bruce McCulloch Date: Fri, 27 Jun 2025 16:21:52 +0000 (-0700) Subject: libctf: doc: add __float128 and SIMD vector classification to spec. X-Git-Tag: binutils-2_45~200 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dac12bc2426d5b639ad2d62d0f447dd037227c91;p=thirdparty%2Fbinutils-gdb.git 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 --- 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