** 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

Reply via email to