diff mbox series

[oe,meta-oe,09/18] breakpad: Fix build with gcc9 on x86

Message ID 20181223213557.7834-9-raj.khem@gmail.com
State Accepted
Commit bf5cc7e1ffad95184079d69c6ab59ba96e5e0806
Headers show
Series [oe,meta-oe,01/18] modemmanager: Fix build with gcc9 | expand

Commit Message

Khem Raj Dec. 23, 2018, 9:35 p.m. UTC
Signed-off-by: Khem Raj <raj.khem@gmail.com>

---
 .../breakpad/breakpad/dont-clobber-rsp.patch  | 30 +++++++++++++++++++
 .../recipes-devtools/breakpad/breakpad_git.bb |  1 +
 2 files changed, 31 insertions(+)
 create mode 100644 meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch

-- 
2.20.1

-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel
diff mbox series

Patch

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 0000000000..b1c37fc8e9
--- /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 2bc0aacb0f..528c237564 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"