-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Oh where oh where can my arg5 be? #62
Comments
Thanks for filing this, and the other related issue! To check, are you running on an x86 or ARM-based platform? |
So I can't repro this, but I'm on an x86 system, and I recall your mac is pretty new. If it's ARM, that definitely points to us screwing up the registers on ARM that should be used for storing the probe arguments. Here's my output from your steps:
|
Yes this is an M1 mac. |
This is probably going to be difficult to track down, since I don't have an ARM mac to test with. You should be able to use up to 6 arguments without issue. More than that will generate a compiler error. So we should still be good here. It looks like we're using the correct registers for general-purpose parameter transfer here, at least, if I'm understanding the inline assembly documentation on AArch64 register operands and the ARM ABI correctly. I'll install a toolchain to build this, and try to find a way to test it. Thanks for filing, hopefully we can figure it out soon. |
@bnaecker Thanks for looking into this. This is very low on my priority list so I wouldn't stress over it too much. The probes work on illumos fine and I can just run there. |
Seems today github added m1 runners to their actions, so wonder if this issue can be perturbed by CI now. |
As I mentioned in #61, I'm seeing some issues around usdt while working on oxidecomputer/opte#145. I'm going to eschew the background and get straight to it.
Issue
EDIT: This is an M1 (ARM) mac.
On macOS I cannot seem to pass more than five arguments to a probe. As part of my change to OPTE (in the above link) I added an
epoch
argument to theport__process__return
probe, now giving it a total of six arguments, pushing theres
argument toarg5
position. After doing this the probe always fires with anarg5
ofNULL
.Reproduce
opte-143-set-fw-rules
branch.arg5
of theport-process-return
probe.usdt
feature.The text was updated successfully, but these errors were encountered: