mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-12 06:10:10 +00:00
9e38f455a6
When CET is enabled, it is an error to dlopen a non CET enabled shared library in CET enabled application. It may be desirable to make CET permissive, that is disable CET when dlopening a non CET enabled shared library. With the new --enable-cet=permissive configure option, CET is disabled when dlopening a non CET enabled shared library. Add DEFAULT_DL_X86_CET_CONTROL to config.h.in: /* The default value of x86 CET control. */ #define DEFAULT_DL_X86_CET_CONTROL cet_elf_property which enables CET features based on ELF property note. --enable-cet=permissive it to /* The default value of x86 CET control. */ #define DEFAULT_DL_X86_CET_CONTROL cet_permissive which enables CET features permissively. Update tst-cet-legacy-5a, tst-cet-legacy-5b, tst-cet-legacy-6a and tst-cet-legacy-6b to check --enable-cet and --enable-cet=permissive.
48 lines
1.3 KiB
Makefile
48 lines
1.3 KiB
Makefile
# We don't need any header files.
|
|
abi-includes :=
|
|
|
|
abi-variants := 32 64 x32
|
|
|
|
abi-32-condition := !defined __x86_64__
|
|
abi-64-condition := defined __x86_64__ && defined __LP64__
|
|
abi-x32-condition := defined __x86_64__ && defined __ILP32__
|
|
|
|
ifeq ($(subdir),misc)
|
|
sysdep_headers += sys/elf.h sys/perm.h sys/reg.h sys/vm86.h sys/debugreg.h sys/io.h
|
|
endif
|
|
|
|
ifeq ($(subdir),nptl)
|
|
libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \
|
|
elision-trylock
|
|
CFLAGS-elision-lock.c += -mrtm
|
|
CFLAGS-elision-unlock.c += -mrtm
|
|
CFLAGS-elision-timed.c += -mrtm
|
|
CFLAGS-elision-trylock.c += -mrtm
|
|
endif
|
|
|
|
ifeq ($(subdir),setjmp)
|
|
tests += tst-saved_mask-1
|
|
endif
|
|
|
|
ifneq ($(enable-cet),no)
|
|
ifeq ($(subdir),elf)
|
|
tests += tst-cet-property-1 tst-cet-property-2
|
|
|
|
CFLAGS-tst-cet-property-1.o += -fcf-protection
|
|
ASFLAGS-tst-cet-property-dep-2.o += -fcf-protection
|
|
|
|
$(objpfx)tst-cet-property-2: $(objpfx)tst-cet-property-dep-2.o
|
|
$(objpfx)tst-cet-property-2.out: $(objpfx)tst-cet-property-2 \
|
|
$(objpfx)tst-cet-property-1.out
|
|
env $(run-program-env) $(test-via-rtld-prefix) \
|
|
$(objpfx)tst-cet-property-2 \
|
|
< $(objpfx)tst-cet-property-1.out > $@; \
|
|
$(evaluate-test)
|
|
endif
|
|
|
|
ifeq ($(subdir),stdlib)
|
|
tests += tst-cet-setcontext-1
|
|
CFLAGS-tst-cet-setcontext-1.c += -mshstk
|
|
endif
|
|
endif
|