OSDN Git Service
Eric Andersen [Sun, 31 Aug 2003 06:51:54 +0000 (06:51 -0000)]
Weed out duplicates before trying to load libraries.... Delayed
checking for duplicates and returning an alias if an existing lib
is already loaded is still correct for the dlopen case.
Eric Andersen [Sat, 30 Aug 2003 19:16:43 +0000 (19:16 -0000)]
Add a couple of things... And check that cvs commit diffs are
working again...
Manuel Novoa III [Sat, 30 Aug 2003 03:31:55 +0000 (03:31 -0000)]
Some doc updates.
Eric Andersen [Fri, 29 Aug 2003 23:54:00 +0000 (23:54 -0000)]
Remove comments about wordexp.
Eric Andersen [Fri, 29 Aug 2003 22:52:20 +0000 (22:52 -0000)]
here is (I hope) a better way to handle this one. I regularly build
debug versions of uClibc with -O0, but libpthread/linuxthreads/spinlock.c
will not compile without at least -O1 optimization...
Manuel Novoa III [Thu, 28 Aug 2003 17:16:53 +0000 (17:16 -0000)]
Create a typedef for the ctype bitmask table entries.
Hack a fix for ctype support of 8-bit codeset locales.
Note: toupper/tolower mappings do not handle the special cases for the
tr_TR and az_AZ locales, since the wide versions currently handle them
either. That will be addressed when I rewrite the data generation tools
and the libc locale code.
Miles Bader [Thu, 28 Aug 2003 05:51:04 +0000 (05:51 -0000)]
(1) Make UCLIBC_CC env var work even if __UCLIBC_CTOR_DTOR__ isn't defined.
(2) Add a command-line option --uclibc-cc with the same functionality.
Tobias Anderberg [Wed, 27 Aug 2003 13:17:07 +0000 (13:17 -0000)]
Added cris to "define list".
Tobias Anderberg [Wed, 27 Aug 2003 13:13:47 +0000 (13:13 -0000)]
Cosmetic changes.
Tobias Anderberg [Wed, 27 Aug 2003 13:07:01 +0000 (13:07 -0000)]
Removed CRIS specific code.
Tobias Anderberg [Wed, 27 Aug 2003 13:04:27 +0000 (13:04 -0000)]
Updated CRIS configuration files.
Tobias Anderberg [Wed, 27 Aug 2003 12:59:23 +0000 (12:59 -0000)]
Cosmetic changes.
Manuel Novoa III [Mon, 25 Aug 2003 15:00:00 +0000 (15:00 -0000)]
Add missing header.
Eric Andersen [Sun, 24 Aug 2003 05:55:50 +0000 (05:55 -0000)]
Reluctantly add wordexp()
Eric Andersen [Sun, 24 Aug 2003 05:11:50 +0000 (05:11 -0000)]
conditionally add wordexp, in this case ripped from glibc.
I hate to add this stuff, but it is specified by SuSv3...
Manuel Novoa III [Sun, 24 Aug 2003 03:49:13 +0000 (03:49 -0000)]
Fix a few bugs in the new extended locale functions.
Move stub gettext functions to a stub libintl to make switching in
gnu gettext easier. Also add a few gnu-isms.
Change to using hidden names with global weak aliases for the extended
locale functions, as expected by libstd++.
Slightly rework the locale data generation stuff to allow pregenerated
locale data to be used with buildroot.
Eric Andersen [Fri, 22 Aug 2003 21:10:47 +0000 (21:10 -0000)]
Don't use linux/sysctl.h and instead locally define struct __sysctl_args.
Eric Andersen [Fri, 22 Aug 2003 20:28:43 +0000 (20:28 -0000)]
Avoid gratuitous conflicts when used with kernel headers
Eric Andersen [Fri, 22 Aug 2003 07:04:16 +0000 (07:04 -0000)]
Make the mips ld.so debug noise somewhat useful, and less gratuitously
different than all other arches.
-Erik
Eric Andersen [Fri, 22 Aug 2003 04:07:06 +0000 (04:07 -0000)]
Link update
Eric Andersen [Fri, 22 Aug 2003 03:25:42 +0000 (03:25 -0000)]
mention ucdot.org
Eric Andersen [Fri, 22 Aug 2003 03:05:06 +0000 (03:05 -0000)]
Patch from Atsushi Nemoto, who writes:
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.
Eric Andersen [Fri, 22 Aug 2003 02:56:46 +0000 (02:56 -0000)]
Remove some mips specific hacks that are no longer needed, and actively break
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
Eric Andersen [Thu, 21 Aug 2003 08:15:58 +0000 (08:15 -0000)]
Add missing semicolons
Eric Andersen [Thu, 21 Aug 2003 07:56:36 +0000 (07:56 -0000)]
Be sure to remove the old ldso.h, since it will screw things
up badly if still present...
Eric Andersen [Wed, 20 Aug 2003 23:19:23 +0000 (23:19 -0000)]
Revert this change for now.
Manuel Novoa III [Wed, 20 Aug 2003 04:26:41 +0000 (04:26 -0000)]
Correct included header for ustat.
Eric Andersen [Tue, 19 Aug 2003 14:25:45 +0000 (14:25 -0000)]
ignore unwanted stuff
Eric Andersen [Tue, 19 Aug 2003 14:24:14 +0000 (14:24 -0000)]
Update the tests a little bit
Eric Andersen [Tue, 19 Aug 2003 14:15:39 +0000 (14:15 -0000)]
I just realized we need global symbol resolution for everything in
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.
Eric Andersen [Tue, 19 Aug 2003 14:08:44 +0000 (14:08 -0000)]
More routine cleanup
Eric Andersen [Tue, 19 Aug 2003 13:11:09 +0000 (13:11 -0000)]
Cool. Found most of the problem. Turns out we were inadvertanly loading some
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.
Eric Andersen [Tue, 19 Aug 2003 06:05:34 +0000 (06:05 -0000)]
Phase one of my evil plan to clean up ld.so...
Manuel Novoa III [Mon, 18 Aug 2003 23:14:09 +0000 (23:14 -0000)]
Work around a bug in nm from binutils-2.14.90.0.5.
Eric Andersen [Mon, 18 Aug 2003 21:56:13 +0000 (21:56 -0000)]
Cleanup arm architecture optimizations and add big endian arm as well.
Manuel Novoa III [Mon, 18 Aug 2003 21:28:33 +0000 (21:28 -0000)]
Fixed a bug where locales nontrivially derived from iso14651_t1 did not have
the UNDEFINED entry set properly.
Manuel Novoa III [Mon, 18 Aug 2003 21:15:55 +0000 (21:15 -0000)]
scanf %lc,%ls,%l[ would always set mb_fail on eof or error,
even when just starting a new mb char.
wscanf would incorrectly unget in certain situations.
Manuel Novoa III [Mon, 18 Aug 2003 21:14:27 +0000 (21:14 -0000)]
_wchar_utf8sntowcs and _wchar_wcsntoutf8s now set errno if EILSEQ.
Manuel Novoa III [Sun, 17 Aug 2003 04:40:42 +0000 (04:40 -0000)]
Fix a cut-and-paste error. Collation should be working again.
Eric Andersen [Thu, 14 Aug 2003 18:46:45 +0000 (18:46 -0000)]
Use the common version for bits/sem.h. Fixup the types to
match the kernel type exactly.
Eric Andersen [Wed, 13 Aug 2003 20:08:30 +0000 (20:08 -0000)]
Patch from Paul Mundt adding uClibc sh64 support:
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.
Eric Andersen [Tue, 12 Aug 2003 06:57:40 +0000 (06:57 -0000)]
Fixup centering so the site does not look like crap in IE
Eric Andersen [Mon, 11 Aug 2003 04:42:36 +0000 (04:42 -0000)]
also carefully booleanize the false value
Eric Andersen [Sun, 10 Aug 2003 10:09:44 +0000 (10:09 -0000)]
silly me, thats not going to work.
Eric Andersen [Sun, 10 Aug 2003 08:01:17 +0000 (08:01 -0000)]
An even simpler likely
Eric Andersen [Sun, 10 Aug 2003 04:39:24 +0000 (04:39 -0000)]
Update likely() to cope with truth values other than 1
Eric Andersen [Sun, 10 Aug 2003 02:58:53 +0000 (02:58 -0000)]
Add support for the ulimit syscall
Eric Andersen [Fri, 8 Aug 2003 10:30:12 +0000 (10:30 -0000)]
Add in a MALLOC_GLIBC_COMPAT option to let people decide if they
want glibc style malloc(0) behavior
Eric Andersen [Fri, 8 Aug 2003 10:07:32 +0000 (10:07 -0000)]
Add support for personality(), prctl(), ustat(), and ulimit()
syscalls, which had managed to stay unimplemented thus far.
-Erik
Eric Andersen [Wed, 6 Aug 2003 22:41:22 +0000 (22:41 -0000)]
Begin documenting differences between uClibc and SuSv3
-Erik
Eric Andersen [Tue, 5 Aug 2003 18:51:16 +0000 (18:51 -0000)]
Patch from David Wuertele to prevent "conflicts with new declaration with C
linkage" problems with C++
Eric Andersen [Tue, 5 Aug 2003 08:08:46 +0000 (08:08 -0000)]
Zou WeiJun noticed a type breaking the stime syscall
-Erik
Eric Andersen [Tue, 5 Aug 2003 05:58:50 +0000 (05:58 -0000)]
Looks like I missed a spot
Eric Andersen [Tue, 5 Aug 2003 05:54:28 +0000 (05:54 -0000)]
Shuffle options around a bit
Eric Andersen [Tue, 5 Aug 2003 01:52:39 +0000 (01:52 -0000)]
Merge/rework config system per the latest from linux-2.6.0-test2
-Erik
Eric Andersen [Mon, 4 Aug 2003 20:23:05 +0000 (20:23 -0000)]
For sparc, powerpc, mips, and alpha we should also use the
common ipc.h header and struct definitions.
-Erik
Eric Andersen [Mon, 4 Aug 2003 19:03:33 +0000 (19:03 -0000)]
Update inet_aton() to support an undocumented feature of inet_aton,
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.
Eric Andersen [Sat, 2 Aug 2003 19:17:59 +0000 (19:17 -0000)]
Update licensing discussion
Manuel Novoa III [Fri, 1 Aug 2003 23:56:15 +0000 (23:56 -0000)]
Replace 'new' in a prototype to avoid c++ problems.
Manuel Novoa III [Fri, 1 Aug 2003 20:35:12 +0000 (20:35 -0000)]
Fix a silly error.
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.
Manuel Novoa III [Fri, 1 Aug 2003 20:08:59 +0000 (20:08 -0000)]
Add a new *scanf implementation, includeing the *wscanf functions.
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.
Eric Andersen [Fri, 1 Aug 2003 09:13:43 +0000 (09:13 -0000)]
Remove the arch specific shm.h and use the fixed up common
one which now uses the kernel structs
-Erik
Eric Andersen [Mon, 21 Jul 2003 20:28:58 +0000 (20:28 -0000)]
Doing an search and replace on CFLAGS can prove dangerous. We don't
do -O0 by default anyways, so leave this disabled for now.
Manuel Novoa III [Thu, 17 Jul 2003 16:07:48 +0000 (16:07 -0000)]
Bug fix from Peter Kjellerstedt <peter.kjellerstedt@axis.com>. vfscanf was
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.
Eric Andersen [Tue, 15 Jul 2003 07:46:09 +0000 (07:46 -0000)]
Patch from Peter Kjellerstedt to not modify include/bits/sysnum.h
if it does not need to be updated.
Eric Andersen [Tue, 15 Jul 2003 07:44:34 +0000 (07:44 -0000)]
Patch from Peter Kjellerstedt to make it simpler for arches to specify
either -fPIC or -fpic
Eric Andersen [Tue, 15 Jul 2003 07:00:50 +0000 (07:00 -0000)]
Fix a silly cut-n-paste error
Manuel Novoa III [Mon, 14 Jul 2003 21:16:54 +0000 (21:16 -0000)]
Yikes! This was doing another lock instead of unlocking the stream.
Eric Andersen [Thu, 3 Jul 2003 10:40:18 +0000 (10:40 -0000)]
As noted by Felix Radensky back on 16 Mar:
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
Eric Andersen [Wed, 2 Jul 2003 17:04:08 +0000 (17:04 -0000)]
Only exec child apps if they are elf type ET_EXEC
Eric Andersen [Tue, 1 Jul 2003 17:11:13 +0000 (17:11 -0000)]
Fix source code URL
Eric Andersen [Tue, 1 Jul 2003 01:44:53 +0000 (01:44 -0000)]
oops. This is 0.9.20, not .30
Eric Andersen [Tue, 1 Jul 2003 00:49:22 +0000 (00:49 -0000)]
More updates
Eric Andersen [Tue, 1 Jul 2003 00:44:11 +0000 (00:44 -0000)]
Update note re binary compat
Eric Andersen [Mon, 30 Jun 2003 21:51:15 +0000 (21:51 -0000)]
Update for release
Eric Andersen [Mon, 30 Jun 2003 21:47:29 +0000 (21:47 -0000)]
Yield to yet another glibc-ism and add __progname
Eric Andersen [Mon, 30 Jun 2003 21:05:01 +0000 (21:05 -0000)]
Update for completed items
Eric Andersen [Mon, 30 Jun 2003 18:27:34 +0000 (18:27 -0000)]
Fixup symlinks to libthread_db
Eric Andersen [Mon, 30 Jun 2003 18:22:43 +0000 (18:22 -0000)]
Per suggestion from Stuart Hughes, allow uClibc to re-install
headers on a system where they have previously been installed.
Eric Andersen [Mon, 30 Jun 2003 18:14:36 +0000 (18:14 -0000)]
Patch from Pavel Roskin to fixup toplevel help text
Eric Andersen [Fri, 27 Jun 2003 20:26:18 +0000 (20:26 -0000)]
Fix a couple of typos
Eric Andersen [Fri, 27 Jun 2003 19:35:17 +0000 (19:35 -0000)]
ret could have been used uninitialized in one case
Eric Andersen [Fri, 27 Jun 2003 11:55:20 +0000 (11:55 -0000)]
Add a test which shows off the broken spots in our dlopen implementation
Eric Andersen [Fri, 27 Jun 2003 11:51:42 +0000 (11:51 -0000)]
oops
Eric Andersen [Fri, 27 Jun 2003 11:45:12 +0000 (11:45 -0000)]
Run dlopened ctors and dtors in the correct order
Eric Andersen [Fri, 27 Jun 2003 11:16:24 +0000 (11:16 -0000)]
Revenge of the Typo
Eric Andersen [Fri, 27 Jun 2003 11:03:37 +0000 (11:03 -0000)]
whitespace and debug updates
Eric Andersen [Fri, 27 Jun 2003 10:43:43 +0000 (10:43 -0000)]
Yet more cleanup for the reentrant pwd/grp functions so they
should now actually be doing the right thing
Eric Andersen [Fri, 27 Jun 2003 10:19:29 +0000 (10:19 -0000)]
Fixup errno handling
-Erik
Eric Andersen [Fri, 27 Jun 2003 09:12:38 +0000 (09:12 -0000)]
Add config option to enable 'struct tm' timezone extension fields
Eric Andersen [Fri, 27 Jun 2003 08:57:23 +0000 (08:57 -0000)]
Do not let isatty mess up errno
Eric Andersen [Fri, 27 Jun 2003 08:38:15 +0000 (08:38 -0000)]
Cleanup a couple of ugly bits
Eric Andersen [Fri, 27 Jun 2003 08:37:55 +0000 (08:37 -0000)]
Implement mmap64 for arm
Eric Andersen [Fri, 27 Jun 2003 08:23:23 +0000 (08:23 -0000)]
add mmap64 for i386
Eric Andersen [Fri, 27 Jun 2003 08:22:45 +0000 (08:22 -0000)]
oops. Fix the name so it is "mmap64", not "__mmap64"
Eric Andersen [Fri, 27 Jun 2003 08:05:40 +0000 (08:05 -0000)]
Actually, some arches do support _syscall6, so implement a generic version
for them...
-Erik
Eric Andersen [Fri, 27 Jun 2003 07:49:25 +0000 (07:49 -0000)]
Mention that the common mmap64 is a stub and must be overridden
on a per arch basis using platform specific code
Eric Andersen [Fri, 27 Jun 2003 07:36:43 +0000 (07:36 -0000)]
Add missing madvise syscall
Eric Andersen [Fri, 27 Jun 2003 07:31:45 +0000 (07:31 -0000)]
Per a patch from Rob McMullen, add getprotoent_r, getprotobyname_r,
and getprotobynumber_r
Eric Andersen [Fri, 27 Jun 2003 05:50:09 +0000 (05:50 -0000)]
Add in ceilf() and floorf() since XFree86 wants them...