I'm back
Ulrich Drepper
drepper@redhat.com
Sun May 21 13:59:00 GMT 2000
As some of you might have seen, I'm checking changes in the archive
which means I'm back. Thanks for keeping the sources in good shape.
It still compiles, even (again) with the mainline egcs.
Last week I was at the POSIX/Unix standard group meeting. This
provided the possibility to chat a bit about some future development.
The main things of interest here are:
- the pthread_spinlock_* functions were introduced by the SMP people in
the .1c group. I.e., *not* by the RT guys. This means that an
implementation which is not save of priority-inversion is explicitly
wanted, not only allowed. Therefore I'll take Mark's proposal and
change the implementation in LinuxThreads.
- the getipnodeby*() functions are going away. Yeah, they had a short
life. The reason is that they are useless. The user cannot fill in
all the fields of the sockaddr_in6 struct even with these functions
since neither sin6_flowinfo and (especially) sin6_scope are available.
The getnameinfo() functions etc will be the only interface. The problem
is that this is not yet in any official document.
- The changes to use socklen_t in several of the socket-related interfaces
are correct. The RFC 2553 will be superceded sometime soon by a new
version which has these changes included.
- I had to change the iconv() prototype. This follows a discussion we had
in the Austin Group a long time ago (and for which Andreas J. filed a
aardvark against the draft 3). Both, with and without const, was correct
for the current version of the standard. The confusion got introduced
by the header and the function definition having different signatures in
old versions of the Unix standard. This is now changed.
Loosing the const is not a real problem and it was more or less a
coin-toss decision (in 1998!).
- The next revision of Unix/POSIX will be aligned with ISO C99. I.e., all
the new ISO C99 functionality will be in the standard as well as changes
to align old code. This mainly means using restrict in function
declarations but also has effects on some of the other parts (e.g., libm).
This work is not yet finished but will be for the next draft.
A consequence of this is that all POSIX systems will have the
incompatibilities introduced by the ISO C99 changes. This includes
the strtod() changes, `struct lconv' additions, and some other things.
I'm sure there are a few more things but I cannot remember in the
moment. In general I managed to get the changes through which would
have prevented glibc/Linux from being Unix compliant. If you have the
possibility look at the next draft (#4) when it becomes available.
I'll announce it here.
--
---------------. drepper at gnu.org ,-. 1325 Chesapeake Terrace
Ulrich Drepper \ ,-------------------' \ Sunnyvale, CA 94089 USA
Red Hat `--' drepper at redhat.com `------------------------
More information about the Libc-hacker
mailing list