** Description changed:
- systemtap needs Aarch64 port
+ [Impact]
+ systemtap is not available on arm64 in trusty. As mentioned below, having a
systemtap deb isn't sufficient in itself to use systemtap - there are also
kernel feature dependencies like kprobes, which have not landed yet in upstream
or Ubuntu. However, those patches exist, and can be applied for debugging
purposes.
+
+ [Test Case]
+ I rebuilt an Ubuntu 3.13 kernel with kprobes patches applied - git branch
here:
+ http://kernel.ubuntu.com/git/dannf/trusty-xgene.git/log/?h=kprobes
+
+ The test case I used is the included hello world. When it works:
+
+ $ stap ./testsuite/systemtap.examples/general/helloworld.stp
+ hello world
+
+ [Regression Risk]
+ My backport cherry-picks several changes back from 2.7 upstream:
+
+ > Update-autoconf-related-files-to-support-aarch64.patch
+ > Update-gettext-related-material.patch
+
+ These two patches refresh autoconf/gettext files to recognize arm64.
+ We've done this for many packages when porting them to arm64 without problem,
so regression risk should be low here.
+
+ > Add-am64-support.patch
+ > Basic-SystemTap-support-for-aarch64.patch
+ > Add-basic-aarch64-support-for-kprobes.patch
+ > Add-basic-print_regs-support-for-aarch64.patch
+ > Add-tapset-arm64-aux_syscalls.stp.patch
+ > Add-MMPAP_SYSCALL_NO-and-other-defines-in-runtime-sy.patch
+ > Normalize-aarch64-to-arm64-to-match-SystemTap-s-idea.patch
+ > Add-backtrace-support-for-aarch64.patch
+ > Estimate-the-frequency-of-the-arch64-get_cycle.patch
+
+ The changes in these files are all gated by arch-specific checks. That is,
they are encapsulated in #ifdef (__aarch64__) or $(uname -m) = "aarch64".
+ Since we haven't previously had an arm64 port, regression risk is minimal.
+
+
+ > Flip-condition-so-proper-default-picked-for-STAP_NOP.patch
+
+ This flips an #ifdef condition around so that the default nop instruction for
unknown archs is different. It is easy to see that the nop instruction for
+ all previously-supported Ubuntu archs remains the same as before.
+
+ > Make-the-DDEBUG_UNWIND-output-more-tolerant-of-types.patch
+ This adds casting to some debugging statements to allow them to compile on
arm64. The casting method is based on kernel documentation and hasn't changed
again upstream in a year and 2 releases, so it seems safe.
** Changed in: systemtap (Ubuntu Trusty)
Status: New => In Progress
** Changed in: systemtap (Ubuntu Trusty)
Assignee: (unassigned) => dann frazier (dannf)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1236746
Title:
systemtap needs porting for Aarch64
To manage notifications about this bug go to:
https://bugs.launchpad.net/linaro-aarch64/+bug/1236746/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs