the assembler/stub glue - at least I more or less understand why
I had to rework it. Unfortunately the code has had to be conditionalised
for ">= 2.6.32" kernels - I didnt see a quick win which unified the earlier
kernels with this, which makes it a little unobvious.
I havent tested on a 32-bit 2.6.32 kernel, so maybe someone will
tell me it works or not.
Theres some other syscalls which have special assembler prologue
(fork, iopl, sigaltstack, sigsuspend) and I havent proved
they need reworking. I am expecting them to, but at least
$ dtrace -n syscall:::
appears to be working again for me.
This really illustrates the complex environment dtrace needs to live in --
supporting not only 32 and 64 bit kernels, but all old and new kernels.
Its especially hard given we are running under the Sun CDDL license
and not the GPL. Given Oracle now owns dtrace, I wonder if we can
convert to something more palatable.
Now I am off to try out some more things to see if they work.