You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ba...@apache.org on 2020/04/27 23:35:45 UTC
[kudu] branch master updated: [c++17] Fixed compilation error of
thirdparty package "breakpad" in gcc9
This is an automated email from the ASF dual-hosted git repository.
bankim pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push:
new c5fd2e4 [c++17] Fixed compilation error of thirdparty package "breakpad" in gcc9
c5fd2e4 is described below
commit c5fd2e44245502c3c7f8dd0f2cd7639815fef0aa
Author: Volodymyr Verovkin <ve...@cloudera.com>
AuthorDate: Wed Apr 22 03:44:25 2020 -0700
[c++17] Fixed compilation error of thirdparty package "breakpad" in gcc9
gcc-9.2.1 produced error:
kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/
src/third_party/lss/linux_syscall_support.h:
In member function ‘bool
google_breakpad::ExceptionHandler::GenerateDump(
google_breakpad::ExceptionHandler::CrashContext*)’:
kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/
src/third_party/lss/linux_syscall_support.h:2379:75:
error: listing the stack pointer register ‘rsp’ in a clobber list is
deprecated [-Werror=deprecated]
: "rsp", "memory", "r8", "r10", "r11", "rcx");
It's fixed by patch from Google Chromium team.
Reference patch:
https://chromium.googlesource.com/linux-syscall-support/+/8048ece6c16c91acfe0d36d1d3cc0890ab6e945c%5E%21/
Change-Id: I75706392c5347a1b13f39b04d8c21b6ea528797a
Reviewed-on: http://gerrit.cloudera.org:8080/15782
Tested-by: Kudu Jenkins
Reviewed-by: Bankim Bhavsar <ba...@cloudera.com>
Reviewed-by: Alexey Serbin <as...@cloudera.com>
---
thirdparty/download-thirdparty.sh | 5 +++--
.../patches/breakpad-syscall-rsp-clobber-fix.patch | 22 ++++++++++++++++++++++
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/thirdparty/download-thirdparty.sh b/thirdparty/download-thirdparty.sh
index ab4e8ed..0466fea 100755
--- a/thirdparty/download-thirdparty.sh
+++ b/thirdparty/download-thirdparty.sh
@@ -368,12 +368,13 @@ if needs_openssl_workaround && [ ! -d "$OPENSSL_WORKAROUND_DIR" ] ; then
$TP_DIR/install-openssl-el6-workaround.sh
fi
-BREAKPAD_PATCHLEVEL=1
+BREAKPAD_PATCHLEVEL=2
fetch_and_patch \
breakpad-${BREAKPAD_VERSION}.tar.gz \
$BREAKPAD_SOURCE \
$BREAKPAD_PATCHLEVEL \
- "patch -p1 < $TP_DIR/patches/breakpad-add-basic-support-for-dwz-dwarf-extension.patch"
+ "patch -p1 < $TP_DIR/patches/breakpad-add-basic-support-for-dwz-dwarf-extension.patch" \
+ "patch -p1 < $TP_DIR/patches/breakpad-syscall-rsp-clobber-fix.patch"
SPARSEHASH_PATCHLEVEL=3
fetch_and_patch \
diff --git a/thirdparty/patches/breakpad-syscall-rsp-clobber-fix.patch b/thirdparty/patches/breakpad-syscall-rsp-clobber-fix.patch
new file mode 100644
index 0000000..d18152f
--- /dev/null
+++ b/thirdparty/patches/breakpad-syscall-rsp-clobber-fix.patch
@@ -0,0 +1,22 @@
+diff --git a/src/third_party/lss/linux_syscall_support.h b/src/third_party/lss/linux_syscall_support.h
+index 129aa75..9276f56 100644
+--- a/src/third_party/lss/linux_syscall_support.h
++++ b/src/third_party/lss/linux_syscall_support.h
+@@ -1964,7 +1964,7 @@ struct kernel_statfs {
+ __asm__ volatile(LSS_ENTRYPOINT \
+ : "=a" (__res) \
+ : "0" (__NR_##name) \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res); \
+ }
+ #undef _syscall1
+@@ -2405,7 +2405,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);
+ }