s390: add support for FORTIFY_SOURCE
This is the quite trivial backend for s390 which is required to enable
FORTIFY_SOURCE support.
See commit 6974f0c455
("include/linux/string.h: add the option of
fortified string.h functions") for more details.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
59a19ea9a0
commit
79962038df
|
@ -67,6 +67,7 @@ config S390
|
||||||
select ARCH_BINFMT_ELF_STATE
|
select ARCH_BINFMT_ELF_STATE
|
||||||
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
select ARCH_HAS_ELF_RANDOMIZE
|
select ARCH_HAS_ELF_RANDOMIZE
|
||||||
|
select ARCH_HAS_FORTIFY_SOURCE
|
||||||
select ARCH_HAS_GCOV_PROFILE_ALL
|
select ARCH_HAS_GCOV_PROFILE_ALL
|
||||||
select ARCH_HAS_GIGANTIC_PAGE if (MEMORY_ISOLATION && COMPACTION) || CMA
|
select ARCH_HAS_GIGANTIC_PAGE if (MEMORY_ISOLATION && COMPACTION) || CMA
|
||||||
select ARCH_HAS_KCOV
|
select ARCH_HAS_KCOV
|
||||||
|
|
|
@ -11,7 +11,7 @@ targets += vmlinux.bin.xz vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.lz4
|
||||||
targets += misc.o piggy.o sizes.h head.o
|
targets += misc.o piggy.o sizes.h head.o
|
||||||
|
|
||||||
KBUILD_CFLAGS := -m64 -D__KERNEL__ -O2
|
KBUILD_CFLAGS := -m64 -D__KERNEL__ -O2
|
||||||
KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
|
KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY
|
||||||
KBUILD_CFLAGS += $(cflags-y) -fno-delete-null-pointer-checks -msoft-float
|
KBUILD_CFLAGS += $(cflags-y) -fno-delete-null-pointer-checks -msoft-float
|
||||||
KBUILD_CFLAGS += $(call cc-option,-mpacked-stack)
|
KBUILD_CFLAGS += $(call cc-option,-mpacked-stack)
|
||||||
KBUILD_CFLAGS += $(call cc-option,-ffreestanding)
|
KBUILD_CFLAGS += $(call cc-option,-ffreestanding)
|
||||||
|
|
|
@ -49,7 +49,7 @@ extern char *strstr(const char *, const char *);
|
||||||
#undef __HAVE_ARCH_STRSEP
|
#undef __HAVE_ARCH_STRSEP
|
||||||
#undef __HAVE_ARCH_STRSPN
|
#undef __HAVE_ARCH_STRSPN
|
||||||
|
|
||||||
#if !defined(IN_ARCH_STRING_C)
|
#if !defined(IN_ARCH_STRING_C) && (!defined(CONFIG_FORTIFY_SOURCE) || defined(__NO_FORTIFY))
|
||||||
|
|
||||||
static inline void *memchr(const void * s, int c, size_t n)
|
static inline void *memchr(const void * s, int c, size_t n)
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,6 +33,8 @@ AFLAGS_REMOVE_head.o += $(CC_FLAGS_MARCH)
|
||||||
AFLAGS_head.o += -march=z900
|
AFLAGS_head.o += -march=z900
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
CFLAGS_als.o += -D__NO_FORTIFY
|
||||||
|
|
||||||
#
|
#
|
||||||
# Passing null pointers is ok for smp code, since we access the lowcore here.
|
# Passing null pointers is ok for smp code, since we access the lowcore here.
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue