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 0000000000000..4750207a6fff8 --- /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 cd13a9e21c2e7..bfd2527d9547b 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