Subject: semctl(2) changes
To: None <email@example.com>
From: Christos Zoulas <firstname.lastname@example.org>
Date: 01/31/2000 11:47:35
I've just finished fixing the problems with semctl(2) on the sparc.
Unfortunately the changes involved a kernel api change for all
architectures. Namely I changed the fourth argument to semctl from
"union semun" to "union semun *" in the commands that need it and
provided a userland stub in libc to make the conversion.
What this means to you:
You need to recompile and reinstall libc *and* kernel at the same time
if you want your existing binaries that use semctl to keep working.
If you install libc and not the kernel or vice versa, the binaries
that use semctl will not work.
Finally, I'd like to mention for future reference, that our syscall
argument passing mechanism does not handle passing structs or unions
properly on all architectures, so syscall implementors need to
convert those to pointers and provide stubs in userland that &struct
or &union before calling the kernel stub.