aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-09x86_64: Fix mark-plt configure testazanella/clangAdhemerval Zanella
2024-02-09Enable --enable-fortify-source with clangAdhemerval Zanella
2024-02-09bench-malloc-thread: Add libm for powfAdhemerval Zanella
The bench-malloc-thread.c:63 does use powf and compiler might not optimzie it away.
2024-02-09benchtests: Remove clang warningsAdhemerval Zanella
clangs warns of the implicit cast of RAND_MAX to float: error: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648 [-Werror,-Wimplicit-const-int-float-conversion] So make it explicit.
2024-02-09benchtests: Use __f128 on ilogbf128-inputs constantsAdhemerval Zanella
2024-02-09benchtests: Add attribute_optimizeAdhemerval Zanella
Similar to tst-printf-bz18872.sh, add the attribute_optimize to avoid build failures with compilers that do not support "GCC optimize" pragma.
2024-02-09aarch64: Fix gmon profiling with clangAdhemerval Zanella
Different than gcc, clang does not pass the LR value as the first argument. To avoid requiring change clang generated code (since same ABI is used on other OS, like FreeBSD), use a similar strategy as x86_64 to obtain both the frompc and the selfpc from the stack frame. Checked on aarch64-linux-gnu.
2024-02-09math: Fix potential underflow on ldbl-128 erflAdhemerval Zanella
The multiplication is only required if the branch is taken, and the compiler might not optimize it away. Checked on aarch64-linux-gnu with gcc and clang.
2024-02-09x86_64: update libm test ulpsAdhemerval Zanella
From clang.
2024-02-09aarch64: update libm test ulpsAdhemerval Zanella
From clang.
2024-02-09debug: Avoid clang optimize away required function on tst-ssp1.cAdhemerval Zanella
2024-02-09elf: Fix tests that require interposable symbolsAdhemerval Zanella
clang defaults to -fsemantic-interposition, which in turn trigger some optimizations (like inline) that makes some tests that rely on ELF symbol interposition to fail. For this case, explicit set the symbol as weak to avoid it.
2024-02-09math: Remove _Static_assert that uses EXCEPTION_SET_FORCES_TRAPAdhemerval Zanella
And make them a runtime check with assert since EXCEPTION_SET_FORCES_TRAP might not be an integral constant expression (i.e on i386).
2024-02-09Fix loongarch stpcpy on loaderAdhemerval Zanella
2024-02-09gmon: Remove ununsed LDFLAGS-tst-profile-statiAdhemerval Zanella
2024-02-09posix: Remove the __strcpy_chk from glob testsAdhemerval Zanella
Not all compiler supports the builtin.
2024-02-09x86: Use -mshstk instead of '#pragma GCC target'Adhemerval Zanella
2024-02-09i686: Do not build ifunc tests if compiler does not generate supported ↵Adhemerval Zanella
relocations clang with --target i668 might not produce supported relocations that ld.bfd can use for -static-pie without -fPIC, which are used on some tests. Disable them for now.
2024-02-09i386: Disable some tests on clangAdhemerval Zanella
clang generated R_I386_PC32 instead of R_386_PLT32 for static ifoo calls, which triggers an ld issues where it can not link non-PIC and PIC objects. This seems to be a clang bug.
2024-02-09configure: Use -Wno-restrict iff compiler supports itAdhemerval Zanella
2024-02-09stdio: Fix clang warnings on testsAdhemerval Zanella
clang does not support 'I' specifier and handles it as a 'length modifier'.
2024-02-09Use -Wl,--undefined-version if linker requires itAdhemerval Zanella
The lld might set --no-undefined-version as default, which triggers a lot of error since the Versions files may contain entries not exported by all ABI. The -Wl,--undefined-version can not be set by default, since binutils ld does not support (although gold does). So it requires to be checked at configure if linker requires and enabled it conditionally.
2024-02-09linux: Avoid indirection on operand of type 'void *' for gettimeofdayAdhemerval Zanella
ISO C does not allow and it fixes a clang issue with -Werror,-Wvoid-ptr-dereference. Checked on x86_64-linux-gnu.
2024-02-09Fix libc_cv_protected_data check if compiler defaults to PIEAdhemerval Zanella
2024-02-09stdio: Suppress %Z format for clangAdhemerval Zanella
clang does not handle %Z on print, and just suppressing -Wformat-invalid-specifier might trigger another warning for extra arguments (since %Z is ignored). So suppress -Wformat-extra-args as well. For tst-fphex.c a heavy hammer is used since the printf is more complex and clang thrown a more generic warning.
2024-02-09resolve: Fix implicit conversion on tst-resolv-invalid-cnameAdhemerval Zanella
tst-resolv-invalid-cname.c:313:17: error: implicit conversion from 'int' to 'char' changes value from 192 to -64 [-Werror,-Wconstant-conversion] addr[0] = 192; ~ ^~~ tst-resolv-invalid-cname.c:314:17: error: implicit conversion from 'int' to 'char' changes value from 168 to -88 [-Werror,-Wconstant-conversion] addr[1] = 168; ~ ^~~
2024-02-09elf: Use volatile to set __rseq_size and __rseq_offsetAdhemerval Zanella
To avoid compiler to optimize them away.
2024-02-09elf: Disable unload4 test on clangAdhemerval Zanella
It triggers and infintie loop.
2024-02-09stdio: Fix tst-vfprintf-user-type on clangAdhemerval Zanella
clang always evaluate the pointer alias compasion as false.
2024-02-09math: Do not use __builtin_isinf on clangAdhemerval Zanella
It does not handle pseudo normal numbers.
2024-02-09math: Do not use __builtin_isnan on clangAdhemerval Zanella
It does not handle pseudo normal numbers.
2024-02-09math: Do not use __builtin_fpclassify on clangAdhemerval Zanella
It does not handle pseudo normal numbers.
2024-02-09math: Fix isgreater* and isless* for clangAdhemerval Zanella
clang does not check for unordered numbers with builtins for _Float128 type.
2024-02-09math: Handle fabsf128 intra PLT for !__USE_EXTERN_INLINESAdhemerval Zanella
If compiler does not support __USE_EXTERN_INLINES we need to route fabsf128 call to an internal symbol.
2024-02-09intl: Use strcpy on _nl_make_l10nflistAdhemerval Zanella
It avoid compiler to turn is on strcpy, which might generate a strcpy PLT call since there is no explicit redirection.
2024-02-09string: mempcy and stpcpy builtins internallyAdhemerval Zanella
2024-02-09Handle abort call for -fexceptions callAdhemerval Zanella
clang might generate an abort call when cleanup functions (set by __attribute__ ((cleanup)) calls functions not marked as nothrow. We can mitigate by marking some internal functions as __THROW, but it is not possible for functions that issue used-provided callbacks (for instance pthread_once).
2024-02-09elf: Disable tst-dlopen-nodelete-reloc if compiler does not generate ↵Adhemerval Zanella
STB_GNU_UNIQUE The test requires STB_GNU_UNIQUE symbols so NODELETE is propagated by do_lookup_unique.
2024-02-09x86: Use bool for C++ on x86.hAdhemerval Zanella
Not all compilers might define C99 _Bool type on C++ mode in old standard modes (clang does not define for -std=c++98).
2024-02-09malloc: Suppress clang warning on tst-aligned-allocAdhemerval Zanella
2024-02-09malloc: Disable malloc builtins on testsAdhemerval Zanella
To avoid compiler optimize away memory allocation calls, which might interfere when both valid and invalid calls checks.
2024-02-09Only use -finput-charset=ascii iff compiler supports itAdhemerval Zanella
2024-02-09conform: Do not use __SIG_ATOMIC_TYPE__Adhemerval Zanella
clang does not define __SIG_ATOMIC_TYPE__, instead add another directive ('size:') which instruct to use an interger type of defined minimum size.
2024-02-09conform: Replace _Static_assert with macroAdhemerval Zanella
clang does not allow non integral constant expression in _Static_assert. Replace with a macro that uses name bit-field where an invalid constant expression sets its size to 0, resulting in a error.
2024-02-09conform: Use -dD instead of -dN on compiler invocationAdhemerval Zanella
clang does not support -dN.
2024-02-09localedata: Use hexadecimal character escape on testsAdhemerval Zanella
Instead of latin1 ones.
2024-02-09Undef attribute_relro on internal tests that include tls.hAdhemerval Zanella
So it does not clash with global definition.
2024-02-09elf: Do not cast TLS_DTV_UNALLOCATED to voidAdhemerval Zanella
The test-as-const-tlsdesc uses _Static_assert to verify the constants generated and clang warns the expression is not an integral constant expression because the cast performs a conversion (and it is no allowed).
2024-02-09malloc: Suppress clang warning on tst-memalignAdhemerval Zanella
2024-02-09x86: Use inhibit_stack_protector on tst-ifunc-isa.hAdhemerval Zanella