I test it on my Ia64 machine, only one test case failed, it is ./testsuite/buildok/printf.stp, and I find that in IA64 and PPC64, int64_t is defined as __signed__ long, but not __signed__ long long. So in Ia64 if we want to print int value, it should be "%ld", and there will be warning information if "%lld" is used.
And I think that in staptree.cxx:370, if in IA64 platform, it should be
oss << "ld";
but not oss << "lld", and "llu", "llo" , "llX" , "llx" also need be modified.
And BTW there is one strange thing in EM64T platform, in kernel code int64_t is defined as __signed__ long long, but in /usr/include/stdint.h, it is defined as long int.