aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch30
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad_git.bb1
2 files changed, 31 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
new file mode 100644
index 00000000000..b1c37fc8e98
--- /dev/null
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch
@@ -0,0 +1,30 @@
+Do not add stack pointer to clobber list
+
+it was being ignored until gcc 9.0 became capable
+of flagging this silent ignoring via [1]
+
+[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813<Paste>
+
+Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/linux-syscall-support/+/1390160]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/src/third_party/lss/linux_syscall_support.h
++++ b/src/third_party/lss/linux_syscall_support.h
+@@ -1966,7 +1966,7 @@ struct kernel_statfs {
+ __asm__ volatile(LSS_ENTRYPOINT \
+ : "=a" (__res) \
+ : "0" (__NR_##name) \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res); \
+ }
+ #undef _syscall1
+@@ -2407,7 +2407,7 @@ struct kernel_statfs {
+ "d"(LSS_SYSCALL_ARG(parent_tidptr)),
+ "r"(LSS_SYSCALL_ARG(newtls)),
+ "r"(LSS_SYSCALL_ARG(child_tidptr))
+- : "rsp", "memory", "r8", "r10", "r11", "rcx");
++ : "memory", "r8", "r10", "r11", "rcx");
+ }
+ LSS_RETURN(int, __res);
+ }
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
index 2bc0aacb0f0..528c2375648 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
+++ b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
@@ -42,6 +42,7 @@ SRC_URI = "git://github.com/google/breakpad;name=breakpad \
file://0001-disable-calls-to-getcontext-with-musl.patch \
file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \
file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \
+ file://dont-clobber-rsp.patch \
"
S = "${WORKDIR}/git"