Bug 13466 - Failures with ARM EABI
Summary: Failures with ARM EABI
Alias: None
Product: systemtap
Classification: Unclassified
Component: tapsets (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Unassigned
Depends on:
Reported: 2011-12-02 14:06 UTC by Mark Wielaard
Modified: 2017-05-08 20:29 UTC (History)
1 user (show)

See Also:
Last reconfirmed:


Note You need to log in before you can comment on or make changes to this bug.
Description Mark Wielaard 2011-12-02 14:06:03 UTC
On ARM kernels build with EABI we see the following failures:

Running /root/systemtap/testsuite/systemtap.context/context.exp ...
FAIL: int64 function arguments -- numeric
FAIL: int64 function arguments -- numeric --kelf --ignore-dwarf

This is because these tests pass 'long long' arguments.
It seems this differs between ARM calling conventions, newer calling conventions mandate: "64-bit function parameters passed in registers are aligned to an even-numbered register instead of using the next available pair."

This could be fixed by taking this into account in tapset/arm/registers.stp u/s64_arg. But that would break other arm calling conventions.

(Also this would move some of the arguments out of registers and onto the stack, which arm/registers.stp arch functions aren't yet prepared to handle.)
Comment 1 Mark Wielaard 2011-12-07 15:33:08 UTC
See also Bug 13481 - ARM register.stp arg() functions don't handle arguments passed on the stack.
Comment 2 Frank Ch. Eigler 2017-05-08 20:29:30 UTC
no reported problems on mainstream arm64