Age | Commit message (Collapse) | Author |
|
|
|
|
|
I found that current pread/pwrite is broken on mips.
On mips, kernel needs 6 arguments for pread/pwrite system call. (3
words for first 3 arguments + 1 padding word + 2 words for last 64bit
argument). Also, mips64 kernel needs just 4 arguments so no wrapper
will be required.
This is a patch against 0.9.20.
|
|
things, now that I have cleaned up the code to be a bit less horribly messy.
With this, the shared lib loader works on mips once again.
-Erik
|
|
|
|
up badly if still present...
|
|
|
|
|
|
|
|
|
|
a chain of dependent libraries or libraries that depend on other
shared libraries will not work!
So with a well placed
dyn_chain->flags |= RTLD_GLOBAL;
everything is now working perfectly!!! Sweet!!!!
This patch also removes some leftover junk from my previous efforts.
|
|
|
|
libraries multiple times, wasting memory and causing different libraries to use
different symbol sets, some of which were not properly resolved.
Continue scrubbing ld.so and converting it to use proper types.
|
|
|
|
|
|
|
|
the UNDEFINED entry set properly.
|
|
even when just starting a new mb char.
wscanf would incorrectly unget in certain situations.
|
|
|
|
|
|
match the kernel type exactly.
|
|
Here's a patch that implements the beginnings of a rudimentary sh64 port. So
far, this only works static, as I haven't done any of the ldso work yet. I've
also not touched the libpthread stuff yet either, so that's also disabled for
now.
This port was based off of some work that Sean McGoogan at SuperH did for his
initial port, but the this patch doesn't carry over too much from there
(basically the libc/sysdeps/linux/sh64/Makefile (or rather, parts of it),
the setjmp/longjmp stuff (which I had to rewrite portions of it to work with
the new toolchains), etc.).
However, for static, everything appears to work correcly, at least in a hello
world type application.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
want glibc style malloc(0) behavior
|
|
syscalls, which had managed to stay unimplemented thus far.
-Erik
|
|
-Erik
|
|
linkage" problems with C++
|
|
-Erik
|
|
|
|
|
|
-Erik
|
|
common ipc.h header and struct definitions.
-Erik
|
|
per UNIX Network Programming, Volume 1, second edition:
An undocumented feature of inet_aton is that if addrptr is
a null pointer, the function still performs it validation
of the input string, but does not store the result.
|
|
|
|
|
|
To use the pregenerated locales, untar in the extra/locale directory.
Do a 'make config' or 'make menuconfig' in the uClibc root dir, then
a 'make headers' followed by 'make -C extra/locale pregen'. Then
continue with 'make' as usual.
|
|
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
|
|
do -O0 by default anyways, so leave this disabled for now.
|
|
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.
|
|
if it does not need to be updated.
|
|
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
|