[PATCH] Disable execstack tests for Clang
H.J. Lu
hjl.tools@gmail.com
Fri Dec 20 03:24:52 GMT 2024
On Fri, Dec 20, 2024, 11:22 AM Sam James <sam@gentoo.org> wrote:
> "H.J. Lu" <hjl.tools@gmail.com> writes:
>
> > Since Clang doesn't support nested function which is required to test
> > execstack, disable execstack tests for Clang.
> >
>
> LGTM. It could maybe be simplified with the -Wl,z,execstack bits but I'm
> not going to worry about it for now.
>
I am working on v2 of all my clang patches. Will send out new ones soon.
> > Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
> > ---
> > elf/Makefile | 6 ++++++
> > nptl/Makefile | 11 ++++++++++-
> > 2 files changed, 16 insertions(+), 1 deletion(-)
> >
> > diff --git a/elf/Makefile b/elf/Makefile
> > index 9172d7306e..68fde4f226 100644
> > --- a/elf/Makefile
> > +++ b/elf/Makefile
> > @@ -557,12 +557,16 @@ endif
> > selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null)
> >
> > ifneq ($(selinux-enabled),1)
> > +# NB: Clang doesn't support nested function which is needed to test
> > +# execstack.
> > +ifneq ($(have-test-clang),yes)
> > tests-execstack-yes = \
> > tst-execstack \
> > tst-execstack-needed \
> > tst-execstack-prog \
> > # tests-execstack-yes
> > endif
> > +endif
> > ifeq ($(have-depaudit),yes)
> > tests += \
> > tst-audit14 \
> > @@ -1146,7 +1150,9 @@ tests-pie += vismain
> > CFLAGS-vismain.c += $(PIE-ccflag)
> > endif
> > endif
> > +ifneq ($(have-test-clang),yes)
> > modules-execstack-yes = tst-execstack-mod
> > +endif
> > extra-test-objs += $(addsuffix .os,$(strip $(modules-names)))
> >
> > # filtmod1.so, tst-big-note-lib.so, tst-ro-dynamic-mod.so have special
> > diff --git a/nptl/Makefile b/nptl/Makefile
> > index 88077e27bb..ca112f684f 100644
> > --- a/nptl/Makefile
> > +++ b/nptl/Makefile
> > @@ -475,15 +475,18 @@ tests-internal += \
> > tst-tls5 \
> > # tests-internal
> > ifeq ($(have-z-execstack),yes)
> > +# NB: Clang doesn't support nested function which is needed to test
> > +# execstack.
> > +ifneq ($(have-test-clang),yes)
> > tests += tst-execstack-threads
> > endif
> > endif
> > +endif
> >
> > modules-names = \
> > tst-audit-threads-mod1 \
> > tst-audit-threads-mod2 \
> > tst-compat-forwarder-mod \
> > - tst-execstack-threads-mod \
> > tst-stack4mod \
> > tst-tls3mod \
> > tst-tls5mod \
> > @@ -504,6 +507,12 @@ test-extras += \
> > tst-cleanupx4aux \
> > # test-extras
> >
> > +ifneq ($(have-test-clang),yes)
> > +modules-names += \
> > + tst-execstack-threads-mod \
> > + # modules-names
> > +endif
> > +
> > # This test exercises compat symbols removed in glibc 2.34.
> > ifdef have-GLIBC_2.33
> > tests += tst-cleanup4
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20241220/40f888e5/attachment-0001.htm>
More information about the Libc-alpha
mailing list