Age | Commit message (Collapse) | Author |
|
I attached a patch, which revise the clone.S and vfork.S:
- Use PIC code.
- include new file syscall.S, so we can simply make a branch to
__syscall_error instead of a PLT/GOT call
- call errno_location to store the syscall error (for pthreads)
- avoid to use the 'shad' statement on SH2 targets
- call fork if vfork isn't available
- some cleanups and optimization
|
|
|
|
Hi Erik,
I added the FPU support for the setjmp/longjmp stuff.
This patch also moves the code from the bsd*.S files to the setjmp.S file, so
we can use simple branch instructions instead of referencing over the
.GOT/.PLT section. This makes the PIC code much easier, smaller and faster.
(The idea comes from the SPARC target)
Bye Stefan
|
|
|
|
-Erik
|
|
-Erik
|
|
|
|
been working on a new config system on and off for about 6 months
now, but I've never been fully satisfied. Well, I'm finally am
happy with the new config system, so here it is. This completely
removes the old uClibc configuration system, and replaces it with
an entirely new system based on LinuxKernelConf, from
http://www.xs4all.nl/~zippel/lc/
As it turns out, Linus has just merged LinuxKernelConf into Linux
2.5.45, so it looks like I made the right choice.
I have thus far updated only x86. I'll be updating the other
architectures shortly.
-Erik
|
|
|
|
-----------------------------------
In extra/Configs/Config.sh
I added the INCLUDE_PTHREADS statement and change the default values for
BUILD_UCLIBC_LDSO and HAVE_SHARED.
-----------------------------------
In extra/scripts/initfini.pl
My last patch removes two labels, which migth be used by the .size statements.
(Sorry, but I'm a perl beginner) I fixed it.
-----------------------------------
In libc/sysdeps/linux/common/initfini.c
I fixed two warnings "nested extern declaration of `i_am_not_a_leaf..
-----------------------------------
In libc/sysdeps/linux/sh/__init_brl.c brk.c sbrk.c
I fixed some compiler warnings which comes from a wrong
inclusion order.
-----------------------------------
|
|
how uClibc handles _init and _fini, allowing shared lib constructors and
destructors to initialize things in the correct sequence. Stefan ported the SH
architecture. I then ported x86, arm, and mips. x86 and arm are working fine,
but I don't think I quite got things correct for mips.
|
|
|
|
and envp was a very small number and not an address. I think this fixes
most of the SH platform.
|
|
are still seg-faulting.
|
|
Definitions taken from 2.4 kernel sources for each of the platforms.
|
|
guard names used by the kernel's asm/posix_types.h to eliminate
gratuitous conflicts and let our file win over the very-likely-
to-be-broken kernel header file.
-Erik
|
|
__USE_FILE_OFFSET64 handling.
-Erik
|
|
header, which is not directly usable for many architectures.
-Erik
|
|
specific bits/kernel_stat.h file.
-Erik
|
|
method for building crti.o and crtn.o
|
|
using
a 3.0.4 version of the sh-linux-gcc compiler.
|
|
|
|
Edie C. Dost has some concerns about the perl script used to general crti.o and
crtn.o and added their own versions. These versions will win since they are
built last,
|
|
Prepare to kill the UNIFIED_SYSCALL option and instead have it be
a per arch thing that is either enabled or not for that arch.
-Erik
|
|
(undefined reference to `main') when the .o file containing main was contained
in an static library(a '.a' ar archive). It turns out that due to its single
pass nature, GNU ld was failing to pull it into the build. This sticks a dummy
reference to main() into crt0.o, so that when an application is linked with the
main() function in a static library, we can be sure that main() actually gets
linked in.
-Erik
|
|
|
|
can live with much better the what glibc does.
-Erik
|
|
|
|
-Erik
|
|
for SH, and fix vfork
|
|
and to better support each arch. This is a really big patch...
-Erik
|
|
proper threading. Most of this is from Stefan Soucek,
with additions and changes as needed from me.
|
|
Fix bug in setjmp (jmpbuf changed size)
|
|
noted by "Kim B. Heino" <Kim.Heino@bluegiga.com>
-Erik
|
|
compile nits with the SH architecture, and support SH4,
|
|
-Erik
|
|
(at least in theory) of working.
-Erik
|
|
and creating several *64 problems, particualrly when client apps
used -D_FILE_OFFSET_BITS=64 -D__USE_FILE_OFFSET64. All better now.
-Erik
|
|
* reduce the sigset types to 32 bits (I've mentioned this before)
I think I saw this change go in for another platform anyway ;-)
* Do not use _IO_FILE as it clashes with the C++ libraries which know
too much about how glibc workds :-(
* Do not use _G_va_list for the same reason.
* remove the CTORS/DTORS from crt0.S for ARM as the compiler provided
crtbegin.o and crtend.o have these (and only these) already in them and
you get multiple defined errs :-(
|
|
The FD's are returned in registers.
|
|
it and that I could see needed it.
Should be pretty low impact as these are only defined when using C++.
|
|
|
|
some compilers, so define any macros we need that are not defined already.
Needed to include uClibc_config.h to get some defines.
New syscall header files for _mmap
vfork.c is not used so ditch it.
|
|
|
|
|
|
used on mipsel.)
|
|
|
|
tree is less messy now (which helps), all libraries are placed into
uClibc/lib when compiling, all libraries now use a consistant mechanism
for being built, all libraries use a consistant naming scheme where the
lib name includes the uClibc version number, which makes ldconfig
happy and willing to work with us.
-Erik
|
|
so there is no reason to allocate 4k. Change working of execvep.c
per patch from Matthias Kilian <kili@outback.escape.de> so that there
is not a fixed 127 byte buffer. Too easy to overflow...
-Erik
|
|
|