elf: Remove -fno-tree-loop-distribute-patterns usage on dl-support
commit5355f9ca7b10183ce06e8a18003ba30f43774858
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 6 Oct 2022 15:35:35 +0000 (6 12:35 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 10 Oct 2022 13:32:28 +0000 (10 10:32 -0300)
treef32e7d1293eb1eaa33267bfe0faed90b67eb990f
parentc15318bfc5499d835c434a4d98b688aa2d928412
elf: Remove -fno-tree-loop-distribute-patterns usage on dl-support

Besides the option being gcc specific, this approach is still fragile
and not future proof since we do not know if this will be the only
optimization option gcc will add that transforms loops to memset
(or any libcall).

This patch adds a new header, dl-symbol-redir-ifunc.h, that can b
used to redirect the compiler generated libcalls to port the generic
memset implementation if required.

Checked on x86_64-linux-gnu and aarch64-linux-gnu.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
elf/Makefile
elf/dl-support.c
sysdeps/aarch64/multiarch/dl-symbol-redir-ifunc.h [new file with mode: 0644]
sysdeps/generic/dl-symbol-redir-ifunc.h [new file with mode: 0644]
sysdeps/i386/i686/multiarch/dl-symbol-redir-ifunc.h [new file with mode: 0644]
sysdeps/powerpc/powerpc64/le/multiarch/dl-symbol-redir-ifunc.h [new file with mode: 0644]
sysdeps/s390/multiarch/dl-symbol-redir-ifunc.h [new file with mode: 0644]
sysdeps/sparc/sparc32/sparcv9/multiarch/dl-symbol-redir-ifunc.h [new file with mode: 0644]
sysdeps/sparc/sparc64/multiarch/dl-symbol-redir-ifunc.h [new file with mode: 0644]
sysdeps/x86_64/multiarch/dl-symbol-redir-ifunc.h [new file with mode: 0644]