[PATCH 29/59] x86: math: Avoid the use of __libgcc_cmp_return__ for __gcc_CMPtype
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Mon Oct 20 17:06:11 GMT 2025
On 17/10/25 19:41, H.J. Lu wrote:
> On Sat, Oct 18, 2025 at 3:44 AM Adhemerval Zanella
> <adhemerval.zanella@linaro.org> wrote:
>>
>> clang does not support '__attribute__ ((mode (__libgcc_cmp_return__)))',
>> so use a more close related type instead fo the default 'int'.
>
> Can you add a configure test for __attribute__ ((mode (__libgcc_cmp_return__)))
> instead?
Ok, will do.
>
>> ---
>> sysdeps/x86/fpu/sfp-machine.h | 10 +++++++++-
>> 1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/sysdeps/x86/fpu/sfp-machine.h b/sysdeps/x86/fpu/sfp-machine.h
>> index 5892f4f5fe..625dfeaccf 100644
>> --- a/sysdeps/x86/fpu/sfp-machine.h
>> +++ b/sysdeps/x86/fpu/sfp-machine.h
>> @@ -1,9 +1,17 @@
>> /* Configure soft-fp for building sqrtf128. Based on sfp-machine.h in
>> libgcc, with soft-float and other irrelevant parts removed. */
>>
>> +#if !defined(__clang__) && defined(__GNUC__)
>> /* The type of the result of a floating point comparison. This must
>> match `__libgcc_cmp_return__' in GCC for the target. */
>> -typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
>> +typedef int __gcc_CMPtype_GCC __attribute__ ((mode (__libgcc_cmp_return__)));
>> +#else
>> +# if defined __x86_64__ && defined __ILP32__
>> +typedef long long int __gcc_CMPtype;
>> +#else
>> +typedef long int __gcc_CMPtype;
>> +# endif
>> +#endif
>> #define CMPtype __gcc_CMPtype
>>
>> #ifdef __x86_64__
>> --
>> 2.43.0
>>
>
>
More information about the Libc-alpha
mailing list