Age | Commit message (Collapse) | Author |
|
Should be standards compliant and with several optional features,
including support for hexadecimal float notation, locale awareness,
glibc-like locale-specific digit grouping with the `'' flag, and
positional arg support. I tested it pretty well (finding several
bugs in glibc's scanf in the process), but it is brand new so be
aware.
The *wprintf functions now support floating point output. Also, a
couple of bugs were squashed. Finally, %a/%A conversions are
now implemented.
Implement the glibc xlocale interface for thread-specific locale
support. Also add the various *_l(args, locale_t loc_arg) funcs.
NOTE!!! setlocale() is NOT threadsafe! NOTE!!!
The strto{floating point} conversion functions are now locale aware.
The also now support hexadecimal floating point notation.
Add the wcsto{floating point} conversion functions.
Fix a bug in mktime() related to dst. Note that unlike glibc's mktime,
uClibc's version always normalizes the struct tm before attempting
to determine the correct dst setting if tm_isdst == -1 on entry.
Add a stub version of the libintl functions. (untested)
Fixed a known memory leak in setlocale() related to the collation data.
Add lots of new config options (which Erik agreed to sort out :-),
including finally exposing some of the stripped down stdio configs.
Be careful with those though, as they haven't been tested in a
long time.
(temporary) GOTCHAs...
The ctype functions are currently incorrect for 8-bit locales. They
will be fixed shortly.
The ctype functions are now table-based, resulting in larger staticly
linked binaries. I'll be adding an option to use the old approach
in the stub locale configuration.
|
|
one which now uses the kernel structs
-Erik
|
|
not setting the FILE bufread member to flag the end of the buffer.
Also, do not set bufgetc member if getc macro support is disabled.
|
|
either -fPIC or -fpic
|
|
|
|
I've tried several times to compile uClibc with soft-float
(both gcc-3.2.2 toolchain and wrapper), but applications
compiled with uClibc always failed with "Invalid instruction".
So I ended up disabling floating point at all and this works well.
I also has no problem with glibc from Monta Vista, which is
compiled with soft-float. My processor is PowerPC 405GP.
Maybe the problem is in FP() macro definition in
libc/sysdeps/linux/powerpc/setjmp.S and
libc/sysdeps/linux/powerpc/__longjmp.S
#ifdef __UCLIBC_HAS_FLOATS__
#define FP(x...) x
#else
#define FP(x...)
#endif
which should be defined as
if defined __UCLIBC_HAS_FLOATS__ && ! defined __UCLIBC_HAS_SOFT_FLOAT__
#define FP(x...) x
#else
#define FP(x...)
#endif
|
|
|
|
|
|
|
|
|
|
should now actually be doing the right thing
|
|
-Erik
|
|
|
|
|
|
|
|
|
|
|
|
for them...
-Erik
|
|
on a per arch basis using platform specific code
|
|
|
|
and getprotobynumber_r
|
|
to match that of current glibc; i.e. don't do anything and return success.
Apparently, php calls fflush() on a file opened as readonly before trying
to read. Eventually I'll add some config options to flag this and several
other instances of nonportable code.
|
|
Add a few misc functions mentioned in time.h.
Revert davidm's change regarding using a define for the "/etc/TZ" path,
as this is eventually meant to be a configurable extension and not
unconditionally supported.
|
|
with getaddrinfo().
|
|
After removal of stropts.h none of the files references bits/stropts.h, so
it can be removed.
Peter
|
|
|
|
it compiles properly with gcc 3.3.
-Erik
|
|
-Erik
|
|
script work with newer binutils versions.
|
|
|
|
|
|
|
|
should instead have been testing for '#ifdef __PIC__'. This resulted in
NON-PIC code getting mixed into the shared library. Oops!!!
-Erik
|
|
back. Unfortunately, none of my test cases caught it.
|
|
%c, %s, and %[ specifiers. Note that scanf is undergoing rewrite so I
didn't bother optimizing this. I did run all my regression tests though.
Set EOF correctly for fmemopen on readonly streams. I really need to
check what glibc behavior is for the various open modes though.
|
|
* nanosleep returns the remaining time, not the time slept
* nanosleep only fills out the remaining time if it returns -1 (ie., the
sleep was interrupted)
Fix from Paul Dale <pauli@snapgear.com>
|
|
|
|
using r12. r12 is supposed to be preserved across C function calls. r0-r7
are trashable :-)
|
|
|
|
On the H8 varargs are rather unusual and if you declare a function with
varargs, it had better use them or it won't work.
|
|
glob(...,pglob) used the GLOB_DOOFFS flag to reserve the first
pglob->gl_offs slots of pglob->gl_pathv, globfree(pglob) would attempt
to free the objects pointed to by those slots. If those objects were not
on the heap, the system would crash.
The attached patch fixes this.
Norm
|
|
disable drand48, drand48_r, erand48, and erand48_r since they use floats.
|
|
which was copied from glibc, is wrong. So fix it.
-Erik
|
|
It turns out that uClibc's syslog.c does not close sockets when
doing retries and when it exits due to errors. This patch fixes
it.
|
|
Fix it.
|
|
newer gcc versions.
|
|
__UCLIBC_UCLINUX_BROKEN_MUNMAP__ case. Fix from YYang1@Winbond.com.tw.
|
|
|
|
|
|
fix a couple of gcc 3.3 compiler warnings in gmon.c
|