mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-06 20:58:33 +01:00
x86/cet: Add tests for GLIBC_TUNABLES=glibc.cpu.hwcaps=-SHSTK
Verify that GLIBC_TUNABLES=glibc.cpu.hwcaps=-SHSTK turns off shadow stack properly.
This commit is contained in:
parent
71c0cc3357
commit
9424ce80c2
3 changed files with 28 additions and 0 deletions
|
@ -171,10 +171,13 @@ tests += \
|
|||
tst-shstk-legacy-1a-static \
|
||||
tst-shstk-legacy-1b \
|
||||
tst-shstk-legacy-1b-static \
|
||||
tst-shstk-legacy-1c \
|
||||
tst-shstk-legacy-1c-static \
|
||||
# tests
|
||||
tests-static += \
|
||||
tst-shstk-legacy-1a-static \
|
||||
tst-shstk-legacy-1b-static \
|
||||
tst-shstk-legacy-1c-static \
|
||||
# tests-static
|
||||
extra-objs += \
|
||||
tst-shstk-legacy-1-extra.o \
|
||||
|
@ -272,6 +275,10 @@ $(objpfx)tst-shstk-legacy-1a: $(objpfx)tst-shstk-legacy-1-extra.o
|
|||
$(objpfx)tst-shstk-legacy-1a-static: $(objpfx)tst-shstk-legacy-1-extra.o
|
||||
$(objpfx)tst-shstk-legacy-1b: $(objpfx)tst-shstk-legacy-1-extra.o
|
||||
$(objpfx)tst-shstk-legacy-1b-static: $(objpfx)tst-shstk-legacy-1-extra.o
|
||||
tst-shstk-legacy-1c-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-SHSTK
|
||||
tst-shstk-legacy-1c-static-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-SHSTK
|
||||
$(objpfx)tst-shstk-legacy-1c: $(objpfx)tst-shstk-legacy-1-extra.o
|
||||
$(objpfx)tst-shstk-legacy-1c-static: $(objpfx)tst-shstk-legacy-1-extra.o
|
||||
endif
|
||||
|
||||
# Add -fcf-protection to CFLAGS when CET is enabled.
|
||||
|
|
1
sysdeps/x86/tst-shstk-legacy-1c-static.c
Normal file
1
sysdeps/x86/tst-shstk-legacy-1c-static.c
Normal file
|
@ -0,0 +1 @@
|
|||
#include "tst-shstk-legacy-1c.c"
|
20
sysdeps/x86/tst-shstk-legacy-1c.c
Normal file
20
sysdeps/x86/tst-shstk-legacy-1c.c
Normal file
|
@ -0,0 +1,20 @@
|
|||
/* Check that legacy shadow stack code won't trigger segfault with
|
||||
GLIBC_TUNABLES=glibc.cpu.hwcaps=-SHSTK
|
||||
Copyright (C) 2023 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include "tst-shstk-legacy-1a.c"
|
Loading…
Add table
Reference in a new issue