aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch')
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch b/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch
index b1c37fc8e9..edf903552d 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch
@@ -1,3 +1,8 @@
+From d1d7b616219fd47736c804ff4c2f393d7184a75b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 23 Dec 2018 16:58:04 -0800
+Subject: [PATCH] chromium: stack pointer clobber
+
Do not add stack pointer to clobber list
it was being ignored until gcc 9.0 became capable
@@ -7,9 +12,23 @@ of flagging this silent ignoring via [1]
Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/linux-syscall-support/+/1390160]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/third_party/lss/linux_syscall_support.h | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+Index: b/src/third_party/lss/linux_syscall_support.h
+===================================================================
--- a/src/third_party/lss/linux_syscall_support.h
+++ b/src/third_party/lss/linux_syscall_support.h
+@@ -1957,7 +1957,7 @@ struct kernel_statfs {
+ LSS_ENTRYPOINT \
+ "pop %%ebx" \
+ args \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res)
+ #undef _syscall0
+ #define _syscall0(type,name) \
@@ -1966,7 +1966,7 @@ struct kernel_statfs {
__asm__ volatile(LSS_ENTRYPOINT \
: "=a" (__res) \
@@ -19,6 +38,33 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
LSS_RETURN(type,__res); \
}
#undef _syscall1
+@@ -2014,7 +2014,7 @@ struct kernel_statfs {
+ : "i" (__NR_##name), "ri" ((long)(arg1)), \
+ "c" ((long)(arg2)), "d" ((long)(arg3)), \
+ "S" ((long)(arg4)), "D" ((long)(arg5)) \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res); \
+ }
+ #undef _syscall6
+@@ -2036,7 +2036,7 @@ struct kernel_statfs {
+ : "i" (__NR_##name), "0" ((long)(&__s)), \
+ "c" ((long)(arg2)), "d" ((long)(arg3)), \
+ "S" ((long)(arg4)), "D" ((long)(arg5)) \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res); \
+ }
+ LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack,
+@@ -2122,7 +2122,7 @@ struct kernel_statfs {
+ : "0"(-EINVAL), "i"(__NR_clone),
+ "m"(fn), "m"(child_stack), "m"(flags), "m"(arg),
+ "m"(parent_tidptr), "m"(newtls), "m"(child_tidptr)
+- : "esp", "memory", "ecx", "edx", "esi", "edi");
++ : "memory", "ecx", "edx", "esi", "edi");
+ LSS_RETURN(int, __res);
+ }
+
@@ -2407,7 +2407,7 @@ struct kernel_statfs {
"d"(LSS_SYSCALL_ARG(parent_tidptr)),
"r"(LSS_SYSCALL_ARG(newtls)),