Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-7]: src/sys/arch/amd64/include Pull up following revision(s) (req...



details:   https://anonhg.NetBSD.org/src/rev/4e4b2bcd874d
branches:  netbsd-7
changeset: 449968:4e4b2bcd874d
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Sat Mar 30 18:47:15 2019 +0000

description:
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.

diffstat:

 sys/arch/amd64/include/param.h |  9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diffs (23 lines):

diff -r 7aa2a35d9eae -r 4e4b2bcd874d sys/arch/amd64/include/param.h
--- a/sys/arch/amd64/include/param.h    Fri Mar 15 14:37:33 2019 +0000
+++ b/sys/arch/amd64/include/param.h    Sat Mar 30 18:47:15 2019 +0000
@@ -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)
 



Home | Main Index | Thread Index | Old Index