Age | Commit message (Collapse) | Author |
|
things, and avoid potential deadlocks caused when a thread holding a uClibc
internal lock get canceled and terminates without releasing the lock. This
change also provides a single place, bits/uClibc_mutex.h, for thread libraries
to modify to change all instances of internal locking.
|
|
|
|
|
|
|
|
minor include file issues
|
|
|
|
it lives in bits/uClibc_local_lim.h
|
|
|
|
code it is not defined.
|
|
file content skew between the versions
|
|
|
|
furthermore ifdef'ed out anyway.
|
|
Also make compilation conditional on float support.
|
|
|
|
L1 functions
|
|
people out there will not need more than 1k threads (and people who do can change this themselves)
|
|
Put the call_via_rx code into each executable - call_via_ip cannot
possibly work if called through the PLT! ldso requires this code
too as it is not linked with the crt stuff and thumb ldso does
make calls via a register.
The patch puts the code into crti.S so that it is linked into
every normally built application (if thumb or interworking is
selected). This is only 30 extra bytes and it works - the previous
code did not because nothing both implemented and exported the
APIs (they were in libgcc, but not in the version script).
crti.S and crtn.S is also brought up to date with GCC 3.4.4 - this
is essential for thumb support because the .init and .fini sections
must use arm or thumb code to match the compilation of the libraries.
Note that code which pushes stuff into .init or .fini must be
compiled with or without -mthumb to match the uclibc compilation -
and gcc itself (which does do this) must therefore be compiled to
match.
|
|
daylight savings time rules when xlocale was enabled. Fix compile error.
|
|
We should not use old stype ipc_perm for 64-bit mips kernel.
I suppose other 64-bit platforms shoule define __IPC_64 also and we
can define it unconditionally, but not sure for other archs ...
|
|
We should use "PTR_LA" instead of "la" for N64 ABI.
|
|
No pread64, pwrite64 syscall for N64 ABI.
Make __libc_pread and __libc_pread64 use same syscall.
|
|
Adjust for mips64 kernel.
|
|
miscellaneous asm routines
|
|
The mips64 N32/N64 ABI have a bit different register usage convention.
Also the register size for these ABI is 8 byte. Use ld/sd for them.
|
|
The mips64 N32/N64 ABI can pass much arguments via registers.
|
|
Import mips64 version of memset, memcpy from glibc.
|
|
This is a bit twisted dirent.h can be used for both getdirent and
getdirent64 case on mips/mips64.
|
|
The kernel include/asm-mips/posix_types.h defines
__kernel_ino_t as unsigned long.
|
|
The predefined _MIPS_SZPTR (32 for O32 or N32, 64 for N64) can be used
for WORDSIZE. This is came from glibc code.
|
|
It seems these codes dropped when importing from glibc.
This is required for mips64.
|
|
There is a mismatch of struct msghdr between the kernel and libc.
In a 64-bit environment, the size of msg_namelen is 4 for all, but
the size of msg_iovlen and msg_controllen is 8 bytes for the kernel
and for glibc, but 4 bytes for uClibc. Fix size for the 64bit case.
|
|
In 2005, Congress passed a law so that in 2007, the second week of March starts
DST. Previously, it was the first week of April. The uclibc time library
routines apparently have not been updated to reflect this new processing. Using
the current version of uclibc, on March 11, 2007 the reported time will be
incorrect.
|
|
2006-10-16 Mark Shinwell <shinwell@codesourcery.com>
* libc/sysdeps/linux/sh/vfork.S: Use __SH_SYSCALL_TRAP_BASE.
Also use __CONFIG_SH2__ rather than __sh2__, for consistency.
* libc/sysdeps/linux/sh/syscall.c: Use __SH_SYSCALL_TRAP_BASE.
* libc/sysdeps/linux/sh/bits/uClibc_arch_features.h: Use
__CONFIG_SH2__ rather than __sh2__, for consistency.
* libc/sysdeps/linux/sh/bits/syscalls.h (__SH_SYSCALL_TRAP_BASE):
New.
Use instead of hard-coded trap numbers in the various __NR_<name>
macros.
* libc/sysdeps/linux/sh/clone.S: Use __SH_SYSCALL_TRAP_BASE.
Also use __CONFIG_SH2__ rather than __sh2__, for consistency.
* libc/sysdeps/linux/sh/crti.S: Disable GOT-related code if
__HAVE_SHARED__ is not set.
* libc/sysdeps/linux/sh/pipe.c (pipe): Use __SH_SYSCALL_TRAP_BASE.
|
|
The rationale is that we already have the length of the string to
duplicate (from doing the malloc()), and memcpy() should then always be
faster than strcpy() (or at least as fast).
|
|
|
|
INTERNAL_SYSCALL macro which saves r7 before making the call and pops it back after return.
|
|
|
|
|
|
Miguel Ángel
|
|
|
|
when building with thread support (which we normally do), and as far
as I can tell it should not be needed otherwise either. And as it did
not build with the latest binutils and gcc, the choice was easy...
|
|
|
|
The "make headers_install" in kernel 2.6.18 does not export
asm-mips/asm.h, asm-mips/regdef.h and asm-mips/sysmips.h. Do not use
them. We can use sys/asm.h and sys/regdef.h instead. The sysmips.h
part of this patch is came from glibc 2.4 code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
the kernel's get_unmapped_area() behaviour. Ideally this should be more tightly
packed based off of the L1 dcache shape, once we're able to handle it through
the auxiliary vector.
|