Age | Commit message (Collapse) | Author |
|
|
|
end of the buffer.
|
|
type of 'struct stat' and 'struct stat64' so they use consistant types.
This change is the result of a bug I found while trying to use GNU tar. The
problem was caused by our using kernel types within struct stat and trying to
directly compare these values with standard types. Trying an 'if (a < b)' when
'a' is an 'unsigned long' and 'b' is an 'int' leads to very different results
then when comparing entities of the same type (i.e. time_t values)....
Grumble. Nasty stuff, but I'm glad I got this out of the way now.
As a result of this fix, uClibc 0.9.17 will not be binary compatible with
earlier releases. I have always warned people this can and will happen.
-Erik
|
|
generate a crt0 and crt1 file. Most arches still need
to be updated to call __uClibc_start_main() rather than
__uClibc_main().
|
|
build a crt0.o and a crt1.o. crt1.o will support ctors and dtors if
such support is enabled. One more gratuitous toolchain support issue
is thereby removed...
-Erik
|
|
|
|
configurable, so people who do not need or want ctor/dtor support
can disable it and make their binaries a little bit smaller.
-Erik
|
|
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.
|