summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* This change reimplements the ARM _dl_linux_resolve entry point - this isEric Andersen2006-11-103-53/+192
| | | | | | | called to resolve DLL PLT entries. The assembler is changed to be thumb compatible and slightly faster, the C function, _dl_linux_resolver (note the extra r) is changed to take a byte address in place of an 8 byte count (faster in caller and callee, and slightly easier to understand).
* arm thumb:Eric Andersen2006-11-103-19/+131
| | | | | | | | | | | | | | | | | | | | | | 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.
* prevent cancellation functions from being called more than onceMike Frysinger2006-11-091-3/+7
|
* backport from upstream:Mike Frysinger2006-11-099-22/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-10 Ulrich Drepper <drepper@redhat.com> * join.c (pthread_exit): Move code to new function __pthread_do_exit which takes an extra parameter with the current frame pointer. Call new function with CURRENT_STACK_FRAME. (__pthread_do_exit): New function. Call __pthread_perform_cleanup with the new parameter. (pthread_join): Call __pthread_do_exit instead of pthread_exit. * cancel.c (__pthread_perform_cleanup): Takes extra parameter. Use this parameter as the initial value the cleanup handler records are compared against. No active cleanup handler record must have an address lower than the previous one and the initial record must be above (below on PA) the frame address passed in. (pthread_setcancelstate): Call __pthread_do_exit instead of pthread_exit. (pthread_setcanceltype): Likewise. (pthread_testcancel): Likewise. (_pthread_cleanup_pop_restore): Likewise. * condvar.c (pthread_cond_wait): Likewise. (pthread_cond_timedwait_relative): Likewise. * manager.c (pthread_start_thread): Likewise. * oldsemaphore.c (__old_sem_wait): Likewise. * pthread.c (pthread_handle_sigcancel): Likewise. * semaphore.c (__new_sem_wait): Likewise. (sem_timedwait): Likewise. * ptlongjmp.c (pthread_cleanup_upto): Also use current stack frame to limit the cleanup handlers which get run. * internals.h: Add prototype for __pthread_do_exit. Adjust prototype for __pthread_perform_cleanup.
* backport from upstream:Mike Frysinger2006-11-092-0/+13
| | | | | | | | 2001-04-11 Ulrich Drepper <drepper@redhat.com> * cancel.c (_pthread_cleanup_push): Catch invalid __prev buffer and remove it. (_pthread_cleanup_push_defer): Likewise.
* I failed to check the patch adding support for the new (stupid) US 2007Eric Andersen2006-11-071-1/+3
| | | | daylight savings time rules when xlocale was enabled. Fix compile error.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-061-1/+1
| | | | | | | 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 ...
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-061-1/+1
| | | | We should use "PTR_LA" instead of "la" for N64 ABI.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-044-3/+31
| | | | | | Add selection of 3 ABI. CPU_CFLAGS is needed to generate correct sysnum.h. Fix test/Rules.mak.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-044-27/+224
| | | | | | 64bit MIPS ELF format tweaks. (from glibc) Elf32/ElfW convertions. asm code adjustments.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-041-8/+19
| | | | | No pread64, pwrite64 syscall for N64 ABI. Make __libc_pread and __libc_pread64 use same syscall.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-044-9/+130
| | | | Adjust for mips64 kernel.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-044-11/+255
| | | | miscellaneous asm routines
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-046-1/+111
| | | | | 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.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-041-0/+96
| | | | The mips64 N32/N64 ABI can pass much arguments via registers.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-042-4/+186
| | | | Import mips64 version of memset, memcpy from glibc.
* mips64 patch from Atsushi NemotoEric Andersen2006-11-041-0/+61
| | | | | This is a bit twisted dirent.h can be used for both getdirent and getdirent64 case on mips/mips64.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-041-1/+1
| | | | | The kernel include/asm-mips/posix_types.h defines __kernel_ino_t as unsigned long.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-041-2/+2
| | | | | The predefined _MIPS_SZPTR (32 for O32 or N32, 64 for N64) can be used for WORDSIZE. This is came from glibc code.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-041-0/+38
| | | | | It seems these codes dropped when importing from glibc. This is required for mips64.
* based on a patch from Atsushi Nemoto:Eric Andersen2006-11-042-0/+23
| | | | | | | 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.
* remove duplicated/unused ASSERT codeMike Frysinger2006-11-035-33/+0
|
* dont need to force optimization in CFLAGS anymore (if this fails your ↵Mike Frysinger2006-11-031-5/+0
| | | | compiler prob sucks anyways)
* In bug 622, JohnAta writes:Eric Andersen2006-11-021-4/+38
| | | | | | | | 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.
* some updates noting things that should be doneEric Andersen2006-10-261-10/+21
|
* Merge SH-2 trapa fixups from Mark.Paul Mundt2006-10-238-42/+61
| | | | | | | | | | | | | | | | | | | | 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.
* dont require DOPIC with FORCE_SHAREABLE_TEXT_SEGMENTSMike Frysinger2006-10-221-1/+0
|
* Joseph S. Myers writes:Eric Andersen2006-10-19171-544/+0
| | | | | | There are many directories called "CVS" checked into uClibc SVN, probably as a side-effect of importing a CVS checkout. I don't think these are particularly useful to have checked in.
* Make strdup() use memcpy() rather than strcpy() to duplicate the string. Peter Kjellerstedt2006-10-191-6/+4
| | | | | | 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).
* Make _dl_linux_resolve interworking safe. Thanks Paul BrookKhem Raj2006-10-101-0/+6
|
* Add the mmap.c missed out in the last commit.Khem Raj2006-10-071-0/+30
|
* Add config options to select ARM ARMv5 and Intel iwmmxt variants.Khem Raj2006-10-072-0/+10
|
* Add mmap function needed for ARM EABI and define thumb specific ↵Khem Raj2006-10-072-1/+24
| | | | INTERNAL_SYSCALL macro which saves r7 before making the call and pops it back after return.
* Sergey Lapin says the undefined syscall numbers from unistd.h do not get ↵Khem Raj2006-10-071-3/+5
| | | | propogated into generated sysnum.h.
* fixup from Bernd Schmidt to properly document DL_ADDR_TO_FUNC_PTRMike Frysinger2006-10-071-3/+9
|
* Bernd Schmidt writes:Mike Frysinger2006-10-072-10/+25
| | | | | | | | | | | This introduces a new SEND_EARLY_STDERR macro that is to be used in dl-startup.c before ld.so is relocated. It is needed on Blackfin (and frv) FDPIC since we have to use special tricks to get the address of a string constant. EARLY_STDERR_SPECIAL gets defined on such a machine and prevents printing of debug strings inside the loop that relocates ld.so, since we can't decide which of the two variants to use.
* Don't use r10 to find PIC base. In GCC 4.1.1 onwards ARM PIC handling uses ↵Khem Raj2006-10-071-5/+29
| | | | pseudo register for PIC base so load and relocate it.
* the makefile will include elf.h for us #778Mike Frysinger2006-10-072-2/+2
|
* implement support for the rest of the 32bit uid syscallsMike Frysinger2006-09-2811-15/+129
|
* Do not include tls.h unless __UCLIBC_HAS_THREADS__ is defined.Peter Kjellerstedt2006-09-251-3/+5
|
* fix return casts for a bunch of functionsMike Frysinger2006-09-231-5/+5
|
* grab s_lrint from glibc for C99Mike Frysinger2006-09-233-2/+95
|
* only include _lfs_64.h when __UCLIBC_HAS_LFS__ is defined as pointed out by ↵Mike Frysinger2006-09-231-1/+3
| | | | Miguel Ángel
* Added support for sysconf(_SC_MONOTONIC_CLOCK).Peter Kjellerstedt2006-09-221-0/+7
|
* Remove code to define errno in this file. It is definitly not neededPeter Kjellerstedt2006-09-221-9/+0
| | | | | | 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...
* use proper #APP lines so that the assembler knows when it needs to handle ↵Mike Frysinger2006-09-211-8/+4
| | | | parsing (see http://sources.redhat.com/ml/binutils/2004-04/msg00665.html)
* Allow the res argument to clock_getres() to be NULL.Peter Kjellerstedt2006-09-191-5/+8
|
* merge some more FDPIC related fixes from Bernd SchmidtMike Frysinger2006-09-196-16/+27
|
* Atsushi Nemoto writes:Eric Andersen2006-09-114-7/+15
| | | | | | | 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 readahead syscall requires LFS/64 bit supportEric Andersen2006-09-111-0/+4
|