Source: systemtap
Severity: normal
Tags: patch

Dear Maintainer,

systemtap fails to build from source on ia64.  The attached patch should 
correct the problem spots.



-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: ia64

Kernel: Linux 3.14-0.bpo.2-mckinley (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
--- systemtap-3.1/includes/sys/sdt.h    2017-12-10 06:50:27.000000000 -0500
+++ systemtap-3.1.orig/includes/sys/sdt.h       2017-12-10 06:32:44.722028094 
-0500
@@ -84,8 +84,12 @@
 # define _SDT_ARGFMT(no)               %n[_SDT_S##no]@_SDT_ARGTMPL(_SDT_A##no)
 
 # ifndef STAP_SDT_ARG_CONSTRAINT
+# ifdef __ia64__
+# define STAP_SDT_ARG_CONSTRAINT        nr
+# else
 # define STAP_SDT_ARG_CONSTRAINT        nor
 # endif
+# endif
 
 # define _SDT_STRINGIFY(x)              #x
 # define _SDT_ARG_CONSTRAINT_STRING(x)  _SDT_STRINGIFY(x)
--- systemtap-3.1/python/HelperSDT/_HelperSDT.c 2017-02-17 12:37:01.000000000 
-0500
+++ systemtap-3.1.orig/python/HelperSDT/_HelperSDT.c    2017-12-10 
06:31:28.625516044 -0500
@@ -154,7 +154,11 @@
        // it with the asm() statement. Otherwise we get a @GOTPCREL
        // reference which stap can't parse.
        void *fptr = &PyObject_GenericGetAttr;
+#ifdef __ia64__
+       asm ("nop 0" : "=r"(fptr) : "r"(fptr));
+#else
        asm ("nop" : "=r"(fptr) : "r"(fptr));
+#endif
        STAP_PROBE2(HelperSDT, Init, stap_module, fptr);
     }
     return module;

Reply via email to