Don't try to expose them elsewhere.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
The condition in both extendxftf2.c and trunctfxf2.c is:
#if defined(CRT_HAS_TF_MODE) && __LDBL_MANT_DIG__ == 64 && defined(__x86_64__)
In int_types.h there is:
#if defined(CRT_HAS_128BIT) && defined(CRT_HAS_F128) #define CRT_HAS_TF_MODE #endif
and:
#if defined(__LP64__) || defined(__wasm__) || defined(__mips64) || \ defined(__SIZEOF_INT128__) || defined(_WIN64) #define CRT_HAS_128BIT #endif
but also:
#elif __LDBL_MANT_DIG__ == 113 || \ (__FLT_RADIX__ == 16 && __LDBL_MANT_DIG__ == 28) // Use long double instead of __float128 if it matches the IEEE 128-bit format // or the IBM hexadecimal format. #define CRT_LDBL_128BIT #define CRT_HAS_F128
So either __LDBL_MANT_DIG__ is 113 or 28 for this to be true, and this can never occur simultaneously with the first condition... I don't really grok the tests here.
Note that the symbols *can* be compiled for PowerPC though! I think that's where they came from? @pkubaj any ideas?
Comment Actions
@arichardson made a big change upstream that impacted the upstream conditional for extendxftf2 and trunctfxf2 prior to llvm18's release. I might want to make that change a separate commit.
lib/libgcc_s/Symbol.map | ||
---|---|---|
157 | I believe this should be spelled defined(i386) with 'd' at the end. |