OSDN Git Service
Eric Andersen [Fri, 12 Mar 2004 00:21:20 +0000 (00:21 -0000)]
Cope gracefully with missing module syscalls
Manuel Novoa III [Thu, 11 Mar 2004 10:10:53 +0000 (10:10 -0000)]
Rewrite the err/warn functions as they were broken (__noreturn__ funcs
were returning). Anyway, also make them threadsafe and smaller. The
error.c file still needs work.
Manuel Novoa III [Wed, 10 Mar 2004 20:43:23 +0000 (20:43 -0000)]
Bug fix: gethostbyname2_r would fail if /etc/host was missing.
Bug fix: gethostbyname_r checked errno without first setting it to a
known value.
Eric Andersen [Tue, 9 Mar 2004 22:33:56 +0000 (22:33 -0000)]
More detail about malloc-simple
Eric Andersen [Tue, 9 Mar 2004 21:57:12 +0000 (21:57 -0000)]
Update todo list indicating the items remaining before 0.9.27
Eric Andersen [Mon, 8 Mar 2004 20:57:21 +0000 (20:57 -0000)]
Fix comment
Eric Andersen [Sat, 6 Mar 2004 19:44:35 +0000 (19:44 -0000)]
Update with the contents of a very helpful comparison of
interfaces vs SuSv3 from heukelum at freemail dot nl
Eric Andersen [Sat, 6 Mar 2004 00:18:08 +0000 (00:18 -0000)]
note that syscall on mips needs to be fixed
Eric Andersen [Fri, 20 Feb 2004 03:37:58 +0000 (03:37 -0000)]
Sigh. I switched the values...
Eric Andersen [Fri, 20 Feb 2004 03:09:45 +0000 (03:09 -0000)]
Per discussion with Joakim Tjernlund, all the horrible weak declarations junk
in libdl pointing to the local 'foobar' function is garbage. This cleans all
that up and makes the code much less horrible. Now it is only really really
ugly (which is a marked improvement),
Eric Andersen [Fri, 20 Feb 2004 03:05:35 +0000 (03:05 -0000)]
Patch from Joakim Tjernlund:
white space cleanup and optimize the inner loop in dl_find_hash.
Eric Andersen [Fri, 20 Feb 2004 02:59:42 +0000 (02:59 -0000)]
___brk_addr and __environ are not functions. Finding the broken
lookup on 'atexit' got me excited and I started fixing the same
problem elsewhere. Except these were correct as-was, and were
not a problem....
Eric Andersen [Fri, 20 Feb 2004 02:40:15 +0000 (02:40 -0000)]
Slightly cleaner formatting
Manuel Novoa III [Fri, 20 Feb 2004 02:36:23 +0000 (02:36 -0000)]
Patch by Joakim Tjernlund <joakim.tjernlund@lumentis.se>, which got
mips mostly working. From there, I tracked the bash failure to a
bad _dl_atexit address and Erik took it from there.
Eric Andersen [Fri, 20 Feb 2004 02:32:06 +0000 (02:32 -0000)]
When doing symbol lookups on functions
Eric Andersen [Thu, 19 Feb 2004 03:36:31 +0000 (03:36 -0000)]
Update the x86 processor listing a bit, to preempt further questions
about the best settings the AMD Elan and the VIA Nehemiah.
Eric Andersen [Wed, 18 Feb 2004 08:18:34 +0000 (08:18 -0000)]
Fixup naming of '_mmap' to 'mmap' so it will properly override
the symbol in common.
Eric Andersen [Wed, 18 Feb 2004 08:12:30 +0000 (08:12 -0000)]
Minor change to better match recent changes to other arches
Eric Andersen [Wed, 18 Feb 2004 08:04:51 +0000 (08:04 -0000)]
Alexandre Oliva writes:
This patch adds code to uClibc to support a new ABI designed for the
FR-V architecture, that enables text segments of executables and
shared libraries to be shared by multiple processes on an OS such as
uClinux, that can run on FR-V processors without an MMU.
Patches for binutils and GCC have just been posted in the
corresponding mailing lists. The binutils patch was approved,
but there's one additional patch pending review, that I posted
this week. An updated GCC patch will be posted to
gcc-patches@gcc.gnu.org as soon as I complete testing (I used a
known-good compiler to test the uClibc patch below).
Since the existing dynamic loader code didn't support independent
relocation of segments, it required changes that were somewhat
extensive. I've added a number of new machine-specific macros to try
to keep the platform and ABI-specific details outside the generic
code. I hope this is not a problem.
Eric Andersen [Wed, 18 Feb 2004 01:15:34 +0000 (01:15 -0000)]
Alexandre Oliva writes:
While testing the FR-V code with GCC mainline, I ran into some
problems in the RPC code. It relies on a GCC extension that is no
longer available, namely, the result of a cast is no longer considered
an lvalue.
This patch enables the code to compile. I haven't been able to test
RPC though, especially in a multi-threaded environment.
Eric Andersen [Tue, 17 Feb 2004 11:25:03 +0000 (11:25 -0000)]
Fixup support for gcc 2.95
Eric Andersen [Tue, 17 Feb 2004 10:55:59 +0000 (10:55 -0000)]
Seperate out the startup stuff from the non-startup stuff.
Begin converting some big ugly macros to inline functions
instead
Eric Andersen [Tue, 17 Feb 2004 10:49:01 +0000 (10:49 -0000)]
Fixup fdatasync on alpha, thanks to Alan Hourihane
Manuel Novoa III [Tue, 17 Feb 2004 10:40:47 +0000 (10:40 -0000)]
Sigh... Fall back to alloca() if munmap is broken (uClinux).
Eric Andersen [Tue, 17 Feb 2004 07:33:12 +0000 (07:33 -0000)]
Kill off an arm specific hack, that fostered three other arch specific
hacks. Just check for the elf magic string one byte at a time....
Eric Andersen [Tue, 17 Feb 2004 07:02:08 +0000 (07:02 -0000)]
When doing _dl_mmap to obtain a bit of anonymous memory, use a much more
sensible -1 fd, rather than pretending to work off of fd 0, which makes
absolutely no sense.
Eric Andersen [Tue, 17 Feb 2004 06:38:01 +0000 (06:38 -0000)]
Do not duplicate stuff from ldso.h
Eric Andersen [Tue, 17 Feb 2004 06:37:02 +0000 (06:37 -0000)]
Provide the ldso syscalls and string funcs earlier in the list
Manuel Novoa III [Sun, 15 Feb 2004 10:35:42 +0000 (10:35 -0000)]
Generic fork works. Use it instead since this didn't handle errno_location.
Eric Andersen [Sun, 15 Feb 2004 09:54:41 +0000 (09:54 -0000)]
Oops.
Eric Andersen [Sun, 15 Feb 2004 09:47:47 +0000 (09:47 -0000)]
Mips can use the generic vfork
Eric Andersen [Sun, 15 Feb 2004 09:43:03 +0000 (09:43 -0000)]
Cris can use the generic vfork
Eric Andersen [Sun, 15 Feb 2004 09:34:42 +0000 (09:34 -0000)]
This should not be inlined. This should probably use a
weak alias as well...
Eric Andersen [Sun, 15 Feb 2004 09:02:54 +0000 (09:02 -0000)]
Fixup fork implementation to provide the __libc_fork symbol
Eric Andersen [Sun, 15 Feb 2004 08:52:38 +0000 (08:52 -0000)]
Use the generic fork implementation on sh64
Eric Andersen [Sat, 14 Feb 2004 21:24:17 +0000 (21:24 -0000)]
Add some padding on the bottom
Eric Andersen [Sat, 14 Feb 2004 21:02:41 +0000 (21:02 -0000)]
Update FAQ a bit
Eric Andersen [Sat, 14 Feb 2004 12:48:47 +0000 (12:48 -0000)]
No point in including debug info for ldso. It isn't helpful to do so
since gdb can't do anything for us.
Eric Andersen [Sat, 14 Feb 2004 12:33:19 +0000 (12:33 -0000)]
Atsushi Nemoto writes:
Also, if you are to enable SUPPORT_LD_DEBUG on MIPS, I think this
patch is needed too.
Manuel Novoa III [Sat, 14 Feb 2004 11:57:41 +0000 (11:57 -0000)]
Fix this as should have been done a long time ago...
Eric Andersen [Sat, 14 Feb 2004 11:54:09 +0000 (11:54 -0000)]
Give gcc branch prediction some hits on obviously unlikely branches
Eric Andersen [Sat, 14 Feb 2004 11:30:39 +0000 (11:30 -0000)]
Joakim Tjernlund writes:
Hi it is me again.
This is the latest ldso patch. the NEW weak symbol handling works now
with a little special handling in _dl_find_hash(). You get to chose
if you want the new or old handling :)
There was 2 missing _dl_check_if_named_library_is_loaded() calls in _dlopen().
I then disabled the _dl_check_if_named_library_is_loaded() in dl-elf.c since
it is rendundant.
Question, why does some _dl_linux_resolver(), like i386, have 2 calls
to _dl_find_hash()? I think that is wrong, isn't it?
I really hope you can check this out soon ...
Eric Andersen [Fri, 13 Feb 2004 11:11:10 +0000 (11:11 -0000)]
Yet more fixups..
Eric Andersen [Fri, 13 Feb 2004 11:05:36 +0000 (11:05 -0000)]
Done free path if it equals not_found
Remember to flose an fopened file
Eric Andersen [Fri, 13 Feb 2004 11:01:02 +0000 (11:01 -0000)]
Another little touch up to avoid problems...
Eric Andersen [Fri, 13 Feb 2004 10:56:43 +0000 (10:56 -0000)]
A better fix...
Eric Andersen [Fri, 13 Feb 2004 10:52:41 +0000 (10:52 -0000)]
Fix the annoying "not a dynamic executable" problem when running ldd
on libuClibc
Eric Andersen [Fri, 13 Feb 2004 10:39:59 +0000 (10:39 -0000)]
Cleanup whitespace and formatting
Eric Andersen [Fri, 13 Feb 2004 09:51:32 +0000 (09:51 -0000)]
Avoid potential double free when locate_library_file() is used
on fully resolved names
Manuel Novoa III [Fri, 13 Feb 2004 01:03:48 +0000 (01:03 -0000)]
Oops.. The custom stream funcs should only be compiled if wanted.
Eric Andersen [Thu, 12 Feb 2004 08:51:21 +0000 (08:51 -0000)]
Based on a problem report and patch from Florian Schirmer, fix a compile
problem with mips -- contrary to my expectation gcc on mips _always_ defines
__PIC__ which breaks the assumption inherent in my code. This should fix
things up.
Eric Andersen [Thu, 12 Feb 2004 06:59:32 +0000 (06:59 -0000)]
More todo list updates
Eric Andersen [Thu, 12 Feb 2004 00:38:34 +0000 (00:38 -0000)]
Paul Mundt lethal at linux-sh dot org writes:
We can't use trapa #0xff on sh2, the only permissible trapa ranges are
32 to 63. On SH-2, we use trapa32 to issue a break in the same way that
trapa #0xff is used on SH-3/4. This behavior is implementation specific,
but is what is used in sh-ipl+g, linux, eCos, uITRON, etc. so we follow
suit here.
Eric Andersen [Thu, 12 Feb 2004 00:28:04 +0000 (00:28 -0000)]
Add missing mips specific include/sys/user.h
Eric Andersen [Thu, 12 Feb 2004 00:18:33 +0000 (00:18 -0000)]
Add our own copies of the include/scsi header files, per what glibc
does, rather than depending on the kernel header files.
-Erik
Manuel Novoa III [Wed, 11 Feb 2004 23:48:50 +0000 (23:48 -0000)]
New stdio core. Should be more maintainable. Fixes a couple of bugs.
Codepaths streamlined. Improved performance for nonthreaded apps
when linked with a thread-enabled libc.
Minor iconv bug and some locale/thread related startup issues fixed.
These showed up in getting a gcj-compiled java helloworld app running.
Removed some old extension functions... _stdio_fdout and _stdio_fsfopen.
Manuel Novoa III [Wed, 11 Feb 2004 16:56:14 +0000 (16:56 -0000)]
Fix bug from the syscall reorganization, detected by python's test_poll.py.
The #ifdef __NR_poll test was failing because it was done before any includes.
Hence, the emulation was always being used.
NOTE: The emulation fails a couple of tests in test_poll.py!
Eric Andersen [Wed, 11 Feb 2004 11:03:32 +0000 (11:03 -0000)]
yet another todo item
Eric Andersen [Wed, 11 Feb 2004 03:00:17 +0000 (03:00 -0000)]
mention valgrind/atexit annoyance
Eric Andersen [Wed, 11 Feb 2004 02:48:13 +0000 (02:48 -0000)]
Update TODO list with some items for 1.0
Eric Andersen [Tue, 10 Feb 2004 20:52:00 +0000 (20:52 -0000)]
Do not include the create_module syscall if it is not present
Eric Andersen [Tue, 10 Feb 2004 13:31:43 +0000 (13:31 -0000)]
Eliminate the PIE support option, and simply support that all the time
Eric Andersen [Tue, 10 Feb 2004 11:47:57 +0000 (11:47 -0000)]
Fix function prototype to match the official ELF standard hash function
Eric Andersen [Tue, 10 Feb 2004 09:41:56 +0000 (09:41 -0000)]
Fixup header file naming
Eric Andersen [Tue, 10 Feb 2004 09:40:18 +0000 (09:40 -0000)]
clean trailing whitespace
Eric Andersen [Tue, 10 Feb 2004 09:26:57 +0000 (09:26 -0000)]
Rework file naming, aiming for at least a vague level of consistancy
Eric Andersen [Tue, 10 Feb 2004 06:54:27 +0000 (06:54 -0000)]
oops, manditory forgotten patch
Eric Andersen [Tue, 10 Feb 2004 06:50:28 +0000 (06:50 -0000)]
Fixup the definition of _dl_open, and move some bits back where they were,
till I properly finish the next step in my evil plan.
Eric Andersen [Mon, 9 Feb 2004 07:10:38 +0000 (07:10 -0000)]
Nicolas Pitre writes:
Hello Erik,
My patch adding ARM assembly soft-float routines to gcc also changes the
default FPA float word ordering for the saner VFP word ordering which is
also the order anyone would expect on a little endian machine.
Problem is that uClibc curently hardwire floats to big endian (FPA) ordering
in all cases.
Please consider the attached patch to fix this problem.
Nicolas
Eric Andersen [Sun, 8 Feb 2004 10:59:52 +0000 (10:59 -0000)]
Move _dl_printf and _dl_malloc to ldso, which is a more sensible
location for this stuff
Eric Andersen [Sun, 8 Feb 2004 10:57:59 +0000 (10:57 -0000)]
Cleanup whitespace and formatting
Eric Andersen [Sun, 8 Feb 2004 07:57:37 +0000 (07:57 -0000)]
Add some permissions when creating the logfile
Eric Andersen [Sat, 7 Feb 2004 20:08:01 +0000 (20:08 -0000)]
Thanks to Joakim's recent paches, we can now remove the FIXME
Eric Andersen [Sat, 7 Feb 2004 12:26:36 +0000 (12:26 -0000)]
Restore the library entry point so it works. It does have
to be arch specific to work properly.
Eric Andersen [Sat, 7 Feb 2004 12:05:16 +0000 (12:05 -0000)]
Joakim Tjernlund writes:
Hi again
All dltest* and test* programs pass for me.
uClibc ld.so resolves according to the OLD weak symbol handling.
I have tried to use the new scheme as well, but that segfaults in all
cases but test3.
Eric Andersen [Sat, 7 Feb 2004 11:30:33 +0000 (11:30 -0000)]
Remove unneeded forward declaration
Eric Andersen [Sat, 7 Feb 2004 10:40:25 +0000 (10:40 -0000)]
Split off the stuff that cannot use function into its own file,
to make it easier to treat it specially while not bothering the
rest of the code with the same constraints.
Eric Andersen [Sat, 7 Feb 2004 10:12:25 +0000 (10:12 -0000)]
Step one, begin shuffling things around a bit
Eric Andersen [Sat, 7 Feb 2004 09:54:46 +0000 (09:54 -0000)]
Yet more consistancy fixups
Eric Andersen [Sat, 7 Feb 2004 09:53:43 +0000 (09:53 -0000)]
Use unsigned char * pointers
Eric Andersen [Fri, 6 Feb 2004 11:12:44 +0000 (11:12 -0000)]
Trim trailing whitespace
Eric Andersen [Fri, 6 Feb 2004 11:11:23 +0000 (11:11 -0000)]
Remove trailing whitespace
Eric Andersen [Fri, 6 Feb 2004 07:09:46 +0000 (07:09 -0000)]
Fix completely hosed up formatting
Eric Andersen [Fri, 6 Feb 2004 07:07:16 +0000 (07:07 -0000)]
Sigh. The 2.6.x kernel removed '__kernel_dev_t' and renamed it as
'__kernel_old_dev_t'. And of course there is no good way to know
which is in use except checking linux/version.h. Grumble.
This is rather lame, but for now, define __kernel_old_dev_t to be
the same as __kernel_dev_t. This will want to be revisited soon.
-Erik
Manuel Novoa III [Thu, 5 Feb 2004 14:53:22 +0000 (14:53 -0000)]
Patch from Alan Hourihane <alanh@fairlite.demon.co.uk> for building alpha.
Manuel Novoa III [Thu, 5 Feb 2004 02:38:27 +0000 (02:38 -0000)]
Allow building on 64 bit archs. Hopefully the last cvs activity this
stuff will see other than "delete".
Eric Andersen [Thu, 5 Feb 2004 02:17:02 +0000 (02:17 -0000)]
Use 'mmap.c' instead of '_mmap.c'
Eric Andersen [Thu, 5 Feb 2004 01:54:33 +0000 (01:54 -0000)]
Fixup a badly merged update
-Erik
Eric Andersen [Wed, 4 Feb 2004 10:24:12 +0000 (10:24 -0000)]
Use a static const char array for static strings
Manuel Novoa III [Tue, 3 Feb 2004 17:33:50 +0000 (17:33 -0000)]
Today's Toni's birthday. Seems an appropriate day to add this.
Manuel Novoa III [Mon, 2 Feb 2004 22:27:22 +0000 (22:27 -0000)]
Use the correct configuration test define.
Eric Andersen [Sun, 1 Feb 2004 11:10:32 +0000 (11:10 -0000)]
The code for checking the rpath was not finding the rpath
value correctly, since it forgot to lookup the correct value
in the string table.
Eric Andersen [Sun, 1 Feb 2004 08:30:55 +0000 (08:30 -0000)]
Jakub Bogusz writes:
Hello,
the attached patch fixes ldso compilation on sparc-linux (at least with
sparc32 userland). It was made against uClibc 0.9.21, but it's still OK
with 0.9.26.
There were three problems:
- missing __NR_getpid definition
- conflicting prototypes in elfinterp.c
- syntax error (missing semicolon) in ldso.c
With this patch shared libraries and ldso can be built on sparc.
It contains also ldso.c syntax fix for m68k - there was the same
mistake two lines earlier; but I didn't test build on m68k.
Eric Andersen [Sat, 31 Jan 2004 03:15:07 +0000 (03:15 -0000)]
Revert to scope as used by original code for now, just in case.
I still don't have a good handle on why and when the different
scope values should be used.
Eric Andersen [Sat, 31 Jan 2004 03:02:39 +0000 (03:02 -0000)]
Patch from Paul Mundt, lethal at linux-sh dot org,
add sh/sh64: ABORT_INSTRUCTION definitions
Eric Andersen [Fri, 30 Jan 2004 22:10:39 +0000 (22:10 -0000)]
Andrew May writes:
Here are some simple fixes for things that broke for PPC with
the recent syscall cleanup. I am not sure they are correct but
they seem pretty trivial.
Eric Andersen [Fri, 30 Jan 2004 21:13:24 +0000 (21:13 -0000)]
Add missing abort instruction for powerpc
Eric Andersen [Fri, 30 Jan 2004 21:11:18 +0000 (21:11 -0000)]
Paul Mundt, lethal at linux-sh dot org writes:
Boredom got the better of me, here's strlen() for sh64..
Eric Andersen [Fri, 30 Jan 2004 20:34:03 +0000 (20:34 -0000)]
Joakim Tjernlund writes:
> Not there yet, but the interfaces are much closer now...
> Heading to bed though, since its 5:30am. :-)
This works, but I discovered something "funny". For all
relocs but COPY you can use scope instead of scope->dyn->symbol_scope
and it is much faster to do that. Search for "Funny" in the patch
to see what I mean. Probably I probably broke something, please let me
know if it works for you too.
I think I am done with ldso now. Has been fun and I hope to
actually use uClibc/busybox soon in a project.
Ohh, there is one thing left, double sized PLT entries, but maybe these
aren't needed in uClibc?
Sweet dreams
Jocke
Eric Andersen [Thu, 29 Jan 2004 12:18:58 +0000 (12:18 -0000)]
Modify interfaces for _dl_parse_relocation_information()
_dl_parse_lazy_relocation_information() and _dl_parse_copy_information()
so they are all consistant, allowing for future consolidation.
Trim some trailing whitespace as well.