URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [linux/] [uClibc/] [docs/] [uClibc_vs_SuSv3.txt] - Rev 1765
Compare with Previous | Blame | View Log
uClibc attempts to fully (and rigorously) support "The Open Group BaseSpecifications Issue 6 IEEE Std 1003.1, 2003 Edition" (aka SuSv3). However, aswith any standard, they sometimes require things that are either impossible orare Completely Stupid(tm). Therefore, we cannot claim full compliance, andthere may be some area of uClibc that differ from the requirements of thisspecification. This document attempts to list these differences and, whencompleted, will contain a full list of all relevant differences between uClibcand the requirements of the SuSv3.1) The uClibc setlocale() function is not threadsafe.SuSv3 states that "The locale state is common to all threadswithin a process.". But it does not explicitly mentionsetlocale() as a function that need not be thread-safe.Making setlocale() threadsafe would require an absurd amountof locking (i.e. inside each and every ctype call such asisalpha()). Furthermore, we consider calling setlocale()from N threads concurrently while using string functions tobe a terribly dumb thing to do. Therefore, we have decidedthat setlocale() shall not be threadsafe. If you aremulti-threaded, and you wish to change the global localestate, please take care to prevent all other threads fromusing any locale or ctype functions until the setlocale()call has finished.2) Some functions required by SuSv3 are not currently implemented.Functions listed by SuSv3 but not (yet) included in uClibc:fmtmsg <not implemented><others?>More to follow when we think of it...
