Module Name: src Committed By: bouyer Date: Sat Mar 30 18:47:15 UTC 2019
Modified Files: src/sys/arch/amd64/include [netbsd-7]: param.h Log Message: Pull up following revision(s) (requested by rin in ticket #1687): sys/arch/amd64/include/param.h: revision 1.30 Bump STACK_ALIGNBYTES to (16 - 1) to satisfy requirement by AMD64 System V ABI in kernel level. This is because (1) for LLDB, we want to bypass libc/csu (and therefore manual stack alignment in _start), and (2) rtld in glibc >= 2.23 for Linux/x86_64 requires it. Fix SEGV for Linux/x86_64 binaries with glibc >= 2.23, reported as PR port-amd64/54052. To generate a diff of this commit: cvs rdiff -u -r1.18.14.1 -r1.18.14.2 src/sys/arch/amd64/include/param.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/amd64/include/param.h diff -u src/sys/arch/amd64/include/param.h:1.18.14.1 src/sys/arch/amd64/include/param.h:1.18.14.2 --- src/sys/arch/amd64/include/param.h:1.18.14.1 Sun Mar 26 16:05:40 2017 +++ src/sys/arch/amd64/include/param.h Sat Mar 30 18:47:15 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: param.h,v 1.18.14.1 2017/03/26 16:05:40 snj Exp $ */ +/* $NetBSD: param.h,v 1.18.14.2 2019/03/30 18:47:15 bouyer Exp $ */ #ifdef __x86_64__ @@ -19,6 +19,13 @@ #define ALIGNED_POINTER(p,t) 1 +/* + * Align stack as required by AMD64 System V ABI. This is because + * (1) we want to bypass libc/csu in LLDB, and + * (2) rtld in glibc >= 2.23 for Linux/x86_64 requires it. + */ +#define STACK_ALIGNBYTES (16 - 1) + #define ALIGNBYTES32 (sizeof(int) - 1) #define ALIGN32(p) (((u_long)(p) + ALIGNBYTES32) &~ALIGNBYTES32)