glibc/sysdeps/x86_64
Adhemerval Zanella 53ad1eae0f x86: Fix strstr ifunc on clang
Work around the clang limitation wrt inline function and attribute
definition, where it does not allow to 'add' new attribute if a
function is already defined:

Buildint with clang triggers multiple issue on how ifunc macro are
used:

  ../sysdeps/x86_64/multiarch/strstr.c:38:54: error: attribute declaration must precede definition [-Werror,-Wignored-attributes]
     38 | extern __typeof (__redirect_strstr) __strstr_generic attribute_hidden;
        |                                                      ^
  ./../include/libc-symbols.h:356:43: note: expanded from macro 'attribute_hidden'
    356 | # define attribute_hidden __attribute__ ((visibility ("hidden")))
        |                                           ^
  ../string/strstr.c:76:1: note: previous definition is here
     76 | STRSTR (const char *haystack, const char *needle)
        | ^
  ../sysdeps/x86_64/multiarch/strstr.c:27:16: note: expanded from macro 'STRSTR'
     27 | #define STRSTR __strstr_generic
        |                ^
  ../sysdeps/x86_64/multiarch/strstr.c:65:43: error: redefinition of '__libc_strstr'
     65 | libc_ifunc_redirected (__redirect_strstr, __libc_strstr, IFUNC_SELECTOR ());
        |                                           ^

And

  ../sysdeps/x86_64/multiarch/strstr.c:65:43: error: redefinition of '__libc_strstr'
     65 | libc_ifunc_redirected (__redirect_strstr, __libc_strstr, IFUNC_SELECTOR ());
        |                                           ^
  ../sysdeps/x86_64/multiarch/strstr.c:59:13: note: previous definition is here
     59 | libc_ifunc (__libc_strstr,
        |             ^

Refactor to use a auxiliary function like other selection (for instance,
x86_64/multiarch/strcmp.c).
2025-11-17 11:17:07 -03:00
..
64 x86: Use typeof_member style in RSEQ area access expressions 2025-10-08 09:35:15 +02:00
fpu x86: Use -mavx instead of -msse2avx 2025-11-17 11:17:07 -03:00
htl Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
multiarch x86: Fix strstr ifunc on clang 2025-11-17 11:17:07 -03:00
nptl x86: Fix THREAD_GSCOPE_RESET_FLAG build on clang 2025-11-10 08:58:10 -03:00
sys Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
x32 x86: Use typeof_member style in RSEQ area access expressions 2025-10-08 09:35:15 +02:00
Implies
Makefile x86_64: Unconditionally run test elf/check-dt-x86-64-plt 2025-09-04 23:05:56 +02:00
Versions i386: Also add GLIBC_ABI_GNU2_TLS version [BZ #33129] 2025-08-18 11:58:01 -07:00
____longjmp_chk.S
__longjmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
_mcount.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
abort-instr.h
add_n.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
addmul_1.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
bsd-_setjmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
bsd-setjmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
check-cet.awk Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
configure Disable SFrame support by default 2025-07-24 15:51:58 -03:00
configure.ac Disable SFrame support by default 2025-07-24 15:51:58 -03:00
crti.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
crtn.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-cache.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-cet.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-dtprocnum.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-hwcaps-subdirs.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-irel.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-machine.h Annotate swtich fall-through 2025-10-29 12:54:01 -03:00
dl-plt-rewrite.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-procruntime.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-runtime.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-tls.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-tlsdesc-dynamic.h x86: Use separate variable for TLSDESC XSAVE/XSAVEC state size (bug 32810) 2025-03-29 09:17:38 +01:00
dl-tlsdesc.S i386: Update ___tls_get_addr to preserve vector registers 2025-06-19 04:30:31 +08:00
dl-tlsdesc.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-trampoline-state.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-trampoline.S i386: Update ___tls_get_addr to preserve vector registers 2025-06-19 04:30:31 +08:00
dl-trampoline.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
feature-control.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ifuncmain8.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ifuncmod8.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
isa-default-impl.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
isa.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
l10nflist.c
ldsodefs.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libc-start.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
link-defines.sym
link_map.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
locale-defines.sym
localplt.data
lshift.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
machine-gmon.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
math-use-builtins-ffs.h
memchr.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memcmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memcmpeq.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memcpy.S
memcpy_chk.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memmove.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memmove_chk.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mempcpy.S
mempcpy_chk.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memrchr.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memset.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memset_chk.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mul_1.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
preconfigure Update copyright in generated files by running "make" 2025-01-01 11:22:09 -08:00
preconfigure.ac
rawmemchr.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
rshift.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
rtld-offsets.sym
setjmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
stackguard-macros.h x86: Simplify stack and pointer guard macros 2025-10-08 09:35:15 +02:00
stackinfo.h elf: early conversion of elf p_flags to mprotect flags 2025-08-27 10:45:45 -03:00
start.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
stpcpy.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
stpncpy.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strcasecmp.S
strcasecmp_l-nonascii.c
strcasecmp_l.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strcat.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strchr-isa-default-impl.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strchr.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strchrnul.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strcmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strcpy.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strcspn-generic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strcspn.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strlen.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strncase.S
strncase_l-nonascii.c
strncase_l.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strncat.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strncmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strncpy.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strnlen.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strpbrk-generic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strpbrk.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strrchr.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strspn-generic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strspn.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sub_n.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
submul_1.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sysdep.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tls_get_addr.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tlsdesc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tlsdesc.sym
tst-audit.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-audit3.c
tst-audit4-aux.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-audit4.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-audit5.c
tst-audit6.c
tst-audit7.c
tst-audit10-aux.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-audit10.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-auditmod3a.c
tst-auditmod3b.c
tst-auditmod4a.c
tst-auditmod4b.c
tst-auditmod5a.c
tst-auditmod5b.c
tst-auditmod6a.c
tst-auditmod6b.c
tst-auditmod6c.c
tst-auditmod7a.c
tst-auditmod7b.c
tst-auditmod10a.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-auditmod10b.c elf: tst-audit10: split AVX512F code into dedicated functions [BZ #32882] 2025-04-22 23:39:59 +02:00
tst-avx-aux.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-avx.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-avx512-aux.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-avx512.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-avx512mod.c
tst-avxmod.c
tst-cet-legacy-1.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-1a.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-2.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-2a.c
tst-cet-legacy-3.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-4.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-4a.c
tst-cet-legacy-4b.c
tst-cet-legacy-4c.c
tst-cet-legacy-5.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-5a.c
tst-cet-legacy-5b.c
tst-cet-legacy-6.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-6a.c
tst-cet-legacy-6b.c
tst-cet-legacy-7.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-8.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-9-static.c
tst-cet-legacy-9.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-10-static.c
tst-cet-legacy-10.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-10a-static.c
tst-cet-legacy-10a.c
tst-cet-legacy-mod-1.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-mod-2.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-mod-4.c
tst-cet-legacy-mod-5.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-mod-5a.c
tst-cet-legacy-mod-5b.c
tst-cet-legacy-mod-5c.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-mod-6.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-mod-6a.c
tst-cet-legacy-mod-6b.c
tst-cet-legacy-mod-6c.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cet-legacy-mod-6d.c
tst-glibc-hwcaps.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-gnu2-tls2mod1.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-platform-1.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-platformmod-1.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-platformmod-2.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-plt-rewrite1.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-plt-rewrite2.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-plt-rewritemod1.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-plt-rewritemod2.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-quad1.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-quad1pie.c
tst-quad2.c
tst-quad2pie.c
tst-quadmod1.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-quadmod1pie.S
tst-quadmod2.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-quadmod2pie.S
tst-rsi-strlen.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-rsi-wcslen.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-1-extra.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-1a-static.c
tst-shstk-legacy-1a.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-1b-static.c
tst-shstk-legacy-1b.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-1c-static.c
tst-shstk-legacy-1c.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-1d-static.c
tst-shstk-legacy-1d.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-1e-static.c
tst-shstk-legacy-1e-static.sh Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-1e.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-1e.sh Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-1f.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-1g.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-1g.sh Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-shstk-legacy-mod-1.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-split-dynreloc.c
tst-split-dynreloc.lds
tst-sse.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-ssemod.c
varshift.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcpcpy-generic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcpcpy.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcpncpy-generic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcpncpy.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcscat-generic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcscat.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcschr.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcscmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcscpy-generic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcscpy.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcslen.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcsncat-generic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcsncat.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcsncmp-generic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcsncmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcsncpy-generic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcsncpy.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcsnlen-generic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcsnlen.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wcsrchr.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wmemchr.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wmemcmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wmemset.S
wmemset_chk.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wordcopy.c
x86-lp_size.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00