Age | Commit message (Collapse) | Author |
|
libraries
|
|
is really really and we mean it this time, for uClibc only
|
|
applications stop using _syscall#() and use syscall() instead. Cleanup
internal handling of syscall includes to use the correct header file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
though I still need to silence the warnings about _pthread_cleanup_push_defer
|
|
|
|
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
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|