summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-util/systemtap/files/systemtap-3.1-ia64.patch23
-rw-r--r--dev-util/systemtap/systemtap-3.1-r1.ebuild2
2 files changed, 25 insertions, 0 deletions
diff --git a/dev-util/systemtap/files/systemtap-3.1-ia64.patch b/dev-util/systemtap/files/systemtap-3.1-ia64.patch
new file mode 100644
index 000000000000..4750207a6fff
--- /dev/null
+++ b/dev-util/systemtap/files/systemtap-3.1-ia64.patch
@@ -0,0 +1,23 @@
+Workaround build failure on ia64
+
+Avoid 'o' constraint to allow gcc to select register operand.
+That way instruction selector can satisfy all constraints
+for PROBE2 macro.
+
+Reported-by: Émeric Maschino
+Bug: https://bugs.gentoo.org/510134
+diff --git a/cache.cxx b/cache.cxx
+index 3546b30..2710abf 100644
+--- a/cache.cxx
++++ b/cache.cxx
+@@ -8,2 +8,10 @@
+
++#ifdef __ia64__
++// Default is: nor
++// We disable 'o' because gcc fails to select register
++// constraint for second instruction in 'add_script_to_cache'
++// https://bugs.gentoo.org/510134
++# define STAP_SDT_ARG_CONSTRAINT nr
++#endif
++
+ #include "config.h"
diff --git a/dev-util/systemtap/systemtap-3.1-r1.ebuild b/dev-util/systemtap/systemtap-3.1-r1.ebuild
index cd13a9e21c2e..bfd2527d9547 100644
--- a/dev-util/systemtap/systemtap-3.1-r1.ebuild
+++ b/dev-util/systemtap/systemtap-3.1-r1.ebuild
@@ -33,6 +33,8 @@ ERROR_DEBUG_FS="${PN} works best with support for Debug Filesystem (DEBUG_FS) -
DOCS="AUTHORS HACKING NEWS README"
+PATCHES=("${FILESDIR}"/${PN}-3.1-ia64.patch)
+
pkg_setup() {
linux-info_pkg_setup
python-single-r1_pkg_setup