summaryrefslogtreecommitdiff
path: root/scripts/gcc-x86_32-has-stack-protector.sh
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2015-11-20 12:12:21 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-01-31 11:23:39 -0800
commit3f0b20e1a2d8e9eadbe8ca81dfc7e3d324b813da (patch)
tree1ba4679bfd98e4311a1bcc38a3d586aea71f2c06 /scripts/gcc-x86_32-has-stack-protector.sh
parentf94cf332a8061d7cec4940d29f58b6f5a1e3f765 (diff)
downloadlwn-3f0b20e1a2d8e9eadbe8ca81dfc7e3d324b813da.tar.gz
lwn-3f0b20e1a2d8e9eadbe8ca81dfc7e3d324b813da.zip
arm64: fix building without CONFIG_UID16
commit fbc416ff86183e2203cdf975e2881d7c164b0271 upstream. As reported by Michal Simek, building an ARM64 kernel with CONFIG_UID16 disabled currently fails because the system call table still needs to reference the individual function entry points that are provided by kernel/sys_ni.c in this case, and the declarations are hidden inside of #ifdef CONFIG_UID16: arch/arm64/include/asm/unistd32.h:57:8: error: 'sys_lchown16' undeclared here (not in a function) __SYSCALL(__NR_lchown, sys_lchown16) I believe this problem only exists on ARM64, because older architectures tend to not need declarations when their system call table is built in assembly code, while newer architectures tend to not need UID16 support. ARM64 only uses these system calls for compatibility with 32-bit ARM binaries. This changes the CONFIG_UID16 check into CONFIG_HAVE_UID16, which is set unconditionally on ARM64 with CONFIG_COMPAT, so we see the declarations whenever we need them, but otherwise the behavior is unchanged. Fixes: af1839eb4bd4 ("Kconfig: clean up the long arch list for the UID16 config option") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts/gcc-x86_32-has-stack-protector.sh')
0 files changed, 0 insertions, 0 deletions