The NGROUPS patch exposed me to a lot of duplicated code in some of the 64
bit architectures (stemming from CONFIG_UID16).
So a few months back, I worked up a solution. It seems that things have
changed some. Architectures that used to not define CONFIG_UID16 (sparc64,
s390, x86_64) now do. But they don't take advantage of the uid16.c code.
This (totally experimental, untestable by me) patch removes the offending
code. In short:
* pry apart highuid.h and uid16.c
* build uid16.o iff CONFIG_UID16_SYSCALLS
* anywhere that defines CONFIG_UID16 adds CONFIG_UID16_SYSCALLS
* add CONFIG_UID16_SYSCALLS for any arch that wants to use uid16.c without
converting everywhere else highuid.h is used
* strip out lots of code that was copied from uid16.c
This may all be totally worthless. That's up to the arch people to decide,
I guess. I just said I would look into the mess. :)
--
Tim Hockin
Sun Microsystems, Linux Software Engineering
[email protected]
All opinions are my own, not Sun's