diff options
-rw-r--r-- | meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch | 30 | ||||
-rw-r--r-- | meta-oe/recipes-devtools/breakpad/breakpad_git.bb | 1 |
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" |