From bf5cc7e1ffad95184079d69c6ab59ba96e5e0806 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 22 Dec 2018 16:24:44 -0800 Subject: breakpad: Fix build with gcc9 on x86 Signed-off-by: Khem Raj --- .../breakpad/breakpad/dont-clobber-rsp.patch | 30 ++++++++++++++++++++++ meta-oe/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 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 + +Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/linux-syscall-support/+/1390160] +Signed-off-by: Khem Raj + +--- 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" -- cgit 1.2.3-korg