OSDN Git Service
Eric Andersen [Fri, 10 Nov 2006 20:37:45 +0000 (20:37 -0000)]
arm thumb:
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.
Mike Frysinger [Thu, 9 Nov 2006 08:14:00 +0000 (08:14 -0000)]
prevent cancellation functions from being called more than once
Mike Frysinger [Thu, 9 Nov 2006 08:11:33 +0000 (08:11 -0000)]
backport from upstream:
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.
Mike Frysinger [Thu, 9 Nov 2006 08:07:43 +0000 (08:07 -0000)]
backport from upstream:
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.
Eric Andersen [Tue, 7 Nov 2006 20:50:21 +0000 (20:50 -0000)]
I failed to check the patch adding support for the new (stupid) US 2007
daylight savings time rules when xlocale was enabled. Fix compile error.
Eric Andersen [Mon, 6 Nov 2006 17:49:24 +0000 (17:49 -0000)]
mips64 patch from Atsushi Nemoto:
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 ...
Eric Andersen [Mon, 6 Nov 2006 17:46:44 +0000 (17:46 -0000)]
mips64 patch from Atsushi Nemoto:
We should use "PTR_LA" instead of "la" for N64 ABI.
Eric Andersen [Sat, 4 Nov 2006 20:17:03 +0000 (20:17 -0000)]
mips64 patch from Atsushi Nemoto:
Add selection of 3 ABI.
CPU_CFLAGS is needed to generate correct sysnum.h.
Fix test/Rules.mak.
Eric Andersen [Sat, 4 Nov 2006 20:14:10 +0000 (20:14 -0000)]
mips64 patch from Atsushi Nemoto:
64bit MIPS ELF format tweaks. (from glibc)
Elf32/ElfW convertions.
asm code adjustments.
Eric Andersen [Sat, 4 Nov 2006 19:55:30 +0000 (19:55 -0000)]
mips64 patch from Atsushi Nemoto:
No pread64, pwrite64 syscall for N64 ABI.
Make __libc_pread and __libc_pread64 use same syscall.
Eric Andersen [Sat, 4 Nov 2006 19:54:32 +0000 (19:54 -0000)]
mips64 patch from Atsushi Nemoto:
Adjust for mips64 kernel.
Eric Andersen [Sat, 4 Nov 2006 19:53:15 +0000 (19:53 -0000)]
mips64 patch from Atsushi Nemoto:
miscellaneous asm routines
Eric Andersen [Sat, 4 Nov 2006 19:50:20 +0000 (19:50 -0000)]
mips64 patch from Atsushi Nemoto:
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.
Eric Andersen [Sat, 4 Nov 2006 19:49:18 +0000 (19:49 -0000)]
mips64 patch from Atsushi Nemoto:
The mips64 N32/N64 ABI can pass much arguments via registers.
Eric Andersen [Sat, 4 Nov 2006 19:48:12 +0000 (19:48 -0000)]
mips64 patch from Atsushi Nemoto:
Import mips64 version of memset, memcpy from glibc.
Eric Andersen [Sat, 4 Nov 2006 19:47:04 +0000 (19:47 -0000)]
mips64 patch from Atsushi Nemoto
This is a bit twisted dirent.h can be used for both getdirent and
getdirent64 case on mips/mips64.
Eric Andersen [Sat, 4 Nov 2006 19:45:37 +0000 (19:45 -0000)]
mips64 patch from Atsushi Nemoto:
The kernel include/asm-mips/posix_types.h defines
__kernel_ino_t as unsigned long.
Eric Andersen [Sat, 4 Nov 2006 19:44:51 +0000 (19:44 -0000)]
mips64 patch from Atsushi Nemoto:
The predefined _MIPS_SZPTR (32 for O32 or N32, 64 for N64) can be used
for WORDSIZE. This is came from glibc code.
Eric Andersen [Sat, 4 Nov 2006 19:44:00 +0000 (19:44 -0000)]
mips64 patch from Atsushi Nemoto:
It seems these codes dropped when importing from glibc.
This is required for mips64.
Eric Andersen [Sat, 4 Nov 2006 18:33:04 +0000 (18:33 -0000)]
based on a patch from Atsushi Nemoto:
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.
Mike Frysinger [Fri, 3 Nov 2006 18:55:00 +0000 (18:55 -0000)]
remove duplicated/unused ASSERT code
Mike Frysinger [Fri, 3 Nov 2006 18:52:35 +0000 (18:52 -0000)]
dont need to force optimization in CFLAGS anymore (if this fails your compiler prob sucks anyways)
Eric Andersen [Thu, 2 Nov 2006 21:46:07 +0000 (21:46 -0000)]
In bug 622, JohnAta writes:
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.
Eric Andersen [Thu, 26 Oct 2006 17:11:26 +0000 (17:11 -0000)]
some updates noting things that should be done
Paul Mundt [Mon, 23 Oct 2006 04:20:20 +0000 (04:20 -0000)]
Merge SH-2 trapa fixups from Mark.
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.
Mike Frysinger [Sun, 22 Oct 2006 00:22:29 +0000 (00:22 -0000)]
dont require DOPIC with FORCE_SHAREABLE_TEXT_SEGMENTS
Eric Andersen [Thu, 19 Oct 2006 21:28:37 +0000 (21:28 -0000)]
Joseph S. Myers writes:
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.
Peter Kjellerstedt [Thu, 19 Oct 2006 10:17:12 +0000 (10:17 -0000)]
Make strdup() use memcpy() rather than strcpy() to duplicate the string.
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).
Khem Raj [Tue, 10 Oct 2006 01:03:46 +0000 (01:03 -0000)]
Make _dl_linux_resolve interworking safe. Thanks Paul Brook
Khem Raj [Sat, 7 Oct 2006 22:22:51 +0000 (22:22 -0000)]
Add the mmap.c missed out in the last commit.
Khem Raj [Sat, 7 Oct 2006 06:54:35 +0000 (06:54 -0000)]
Add config options to select ARM ARMv5 and Intel iwmmxt variants.
Khem Raj [Sat, 7 Oct 2006 06:50:44 +0000 (06:50 -0000)]
Add mmap function needed for ARM EABI and define thumb specific INTERNAL_SYSCALL macro which saves r7 before making the call and pops it back after return.
Khem Raj [Sat, 7 Oct 2006 06:40:33 +0000 (06:40 -0000)]
Sergey Lapin says the undefined syscall numbers from unistd.h do not get propogated into generated sysnum.h.
Mike Frysinger [Sat, 7 Oct 2006 06:40:20 +0000 (06:40 -0000)]
fixup from Bernd Schmidt to properly document DL_ADDR_TO_FUNC_PTR
Mike Frysinger [Sat, 7 Oct 2006 06:36:32 +0000 (06:36 -0000)]
Bernd Schmidt writes:
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.
Khem Raj [Sat, 7 Oct 2006 06:32:44 +0000 (06:32 -0000)]
Don't use r10 to find PIC base. In GCC 4.1.1 onwards ARM PIC handling uses pseudo register for PIC base so load and relocate it.
Mike Frysinger [Sat, 7 Oct 2006 06:01:37 +0000 (06:01 -0000)]
the makefile will include elf.h for us #778
Mike Frysinger [Thu, 28 Sep 2006 20:41:28 +0000 (20:41 -0000)]
implement support for the rest of the 32bit uid syscalls
Peter Kjellerstedt [Mon, 25 Sep 2006 07:38:13 +0000 (07:38 -0000)]
Do not include tls.h unless __UCLIBC_HAS_THREADS__ is defined.
Mike Frysinger [Sat, 23 Sep 2006 04:10:42 +0000 (04:10 -0000)]
fix return casts for a bunch of functions
Mike Frysinger [Sat, 23 Sep 2006 04:05:33 +0000 (04:05 -0000)]
grab s_lrint from glibc for C99
Mike Frysinger [Sat, 23 Sep 2006 03:44:35 +0000 (03:44 -0000)]
only include _lfs_64.h when __UCLIBC_HAS_LFS__ is defined as pointed out by Miguel Ángel
Peter Kjellerstedt [Fri, 22 Sep 2006 16:54:49 +0000 (16:54 -0000)]
Added support for sysconf(_SC_MONOTONIC_CLOCK).
Peter Kjellerstedt [Fri, 22 Sep 2006 16:40:00 +0000 (16:40 -0000)]
Remove code to define errno in this file. It is definitly not needed
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...
Mike Frysinger [Thu, 21 Sep 2006 01:46:11 +0000 (01:46 -0000)]
use proper #APP lines so that the assembler knows when it needs to handle parsing (see sources.redhat.com/ml/binutils/2004-04/msg00665.html)
Peter Kjellerstedt [Tue, 19 Sep 2006 07:44:15 +0000 (07:44 -0000)]
Allow the res argument to clock_getres() to be NULL.
Mike Frysinger [Tue, 19 Sep 2006 01:29:11 +0000 (01:29 -0000)]
merge some more FDPIC related fixes from Bernd Schmidt
Eric Andersen [Mon, 11 Sep 2006 18:46:39 +0000 (18:46 -0000)]
Atsushi Nemoto writes:
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.
Eric Andersen [Mon, 11 Sep 2006 18:40:10 +0000 (18:40 -0000)]
The readahead syscall requires LFS/64 bit support
Mike Frysinger [Sun, 10 Sep 2006 06:10:52 +0000 (06:10 -0000)]
remove version checking code and add some more comments
Mike Frysinger [Sat, 9 Sep 2006 22:35:00 +0000 (22:35 -0000)]
make this stuff actually readable
Mike Frysinger [Fri, 8 Sep 2006 23:07:54 +0000 (23:07 -0000)]
add some inline funcs for the mlock funcs on no-mmu
Khem Raj [Thu, 31 Aug 2006 19:49:16 +0000 (19:49 -0000)]
Fix from Joseph Myers: Save and restore iWMMXt registers in ARM setjmp/longjmp
Peter Kjellerstedt [Thu, 31 Aug 2006 11:39:36 +0000 (11:39 -0000)]
Made it compile again.
Eric Andersen [Wed, 30 Aug 2006 17:24:44 +0000 (17:24 -0000)]
fix bug 1012 as noted by moschny
Eric Andersen [Wed, 30 Aug 2006 17:12:51 +0000 (17:12 -0000)]
tweak a few syscalls using varargs
Mike Frysinger [Fri, 25 Aug 2006 04:59:43 +0000 (04:59 -0000)]
fix from psm to make sure host make is new enough
Mike Frysinger [Fri, 25 Aug 2006 04:58:11 +0000 (04:58 -0000)]
fix from psm: DODEBUG_PT is only meaningful for LINUXTHREADS_OLD, add: depends on LINUXTHREADS_OLD
Mike Frysinger [Fri, 25 Aug 2006 04:57:01 +0000 (04:57 -0000)]
fix from psm: makes use of the malloc debug option in malloc-standard as well
Paul Mundt [Fri, 25 Aug 2006 04:54:39 +0000 (04:54 -0000)]
Bump SHMLBA up to a sensible size for dcache alias avoidance to coincide with
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.
Mike Frysinger [Fri, 25 Aug 2006 04:28:12 +0000 (04:28 -0000)]
merge with psm: sync with common socket headers
Mike Frysinger [Thu, 24 Aug 2006 23:47:02 +0000 (23:47 -0000)]
merge fixes from upstream (rev 1.10 -> 1.13)
Bernhard Reutner-Fischer [Thu, 24 Aug 2006 21:39:49 +0000 (21:39 -0000)]
- only link asm-generic if it exists.
PS: test for existence on Slowaris was disfunctional, last time i looked. Shouldn't matter much here, though..
Mike Frysinger [Thu, 24 Aug 2006 21:15:57 +0000 (21:15 -0000)]
fix from psm: enable readahead prototype
Mike Frysinger [Thu, 24 Aug 2006 19:47:34 +0000 (19:47 -0000)]
only pull in errno.h when not assembler
Mike Frysinger [Thu, 24 Aug 2006 19:13:14 +0000 (19:13 -0000)]
implement readahead()
Mike Frysinger [Thu, 24 Aug 2006 18:49:16 +0000 (18:49 -0000)]
fixups from psm for ASSEMBLER handling
Mike Frysinger [Thu, 24 Aug 2006 18:11:33 +0000 (18:11 -0000)]
use the common huge_val.h version now
Mike Frysinger [Thu, 24 Aug 2006 18:06:51 +0000 (18:06 -0000)]
update to new huge_val headers
Mike Frysinger [Thu, 24 Aug 2006 18:02:17 +0000 (18:02 -0000)]
fix from psm: disable unsupported features
Mike Frysinger [Thu, 24 Aug 2006 18:00:30 +0000 (18:00 -0000)]
fix from psm: just use common resource.h
Mike Frysinger [Thu, 24 Aug 2006 17:48:23 +0000 (17:48 -0000)]
just be like every other uclibc port
Mike Frysinger [Thu, 24 Aug 2006 17:25:18 +0000 (17:25 -0000)]
sync with glibc
Mike Frysinger [Thu, 24 Aug 2006 03:55:55 +0000 (03:55 -0000)]
psm says: use $(top_builddir) instead of $(top_srcdir) when accessing generated header files
Mike Frysinger [Thu, 24 Aug 2006 03:52:27 +0000 (03:52 -0000)]
add back in HIDDEN_JUMPTARGET() as pointed out by psm
Mike Frysinger [Thu, 24 Aug 2006 02:43:08 +0000 (02:43 -0000)]
fix by Bernhard Fischer to move local prototypes to a header to keep things sane
Mike Frysinger [Thu, 24 Aug 2006 02:32:08 +0000 (02:32 -0000)]
fix from psm: only define __ASSUME_NETLINK_SUPPORT if not defined
Mike Frysinger [Thu, 24 Aug 2006 02:29:56 +0000 (02:29 -0000)]
sync with upstream via psm
Mike Frysinger [Thu, 24 Aug 2006 02:29:27 +0000 (02:29 -0000)]
s/ifdef ASM/ifndef ASM/ as point out by psm
Mike Frysinger [Thu, 24 Aug 2006 00:15:09 +0000 (00:15 -0000)]
sync with upstream via psm
Mike Frysinger [Thu, 24 Aug 2006 00:05:09 +0000 (00:05 -0000)]
sync with upstream via psm
Mike Frysinger [Wed, 23 Aug 2006 23:25:34 +0000 (23:25 -0000)]
psm updates: add __libc symbols for signal cancellation
Mike Frysinger [Wed, 23 Aug 2006 23:24:24 +0000 (23:24 -0000)]
sync with upstream via psm
Mike Frysinger [Wed, 23 Aug 2006 23:20:30 +0000 (23:20 -0000)]
sync with psm: update errno handling to be the same on all arches
Mike Frysinger [Wed, 23 Aug 2006 23:14:49 +0000 (23:14 -0000)]
only define offsetof() if it isnt already defined
Mike Frysinger [Wed, 23 Aug 2006 22:43:25 +0000 (22:43 -0000)]
merge from psm: hide more brk
Mike Frysinger [Wed, 23 Aug 2006 20:28:56 +0000 (20:28 -0000)]
sync with upstream via psm
Mike Frysinger [Wed, 23 Aug 2006 19:27:42 +0000 (19:27 -0000)]
sync with upstream via psm
Mike Frysinger [Wed, 23 Aug 2006 19:25:34 +0000 (19:25 -0000)]
import new headers from upstream via psm
Mike Frysinger [Wed, 23 Aug 2006 19:21:41 +0000 (19:21 -0000)]
fix from psm: remove unused defines/includes
Mike Frysinger [Wed, 23 Aug 2006 19:21:01 +0000 (19:21 -0000)]
fixes from psm: use new clone definition
Mike Frysinger [Wed, 23 Aug 2006 19:19:35 +0000 (19:19 -0000)]
fixes from psm: use __asm__/__volatile__
Mike Frysinger [Wed, 23 Aug 2006 19:17:31 +0000 (19:17 -0000)]
fix from psm: remove unused defines/includes
Mike Frysinger [Wed, 23 Aug 2006 19:17:04 +0000 (19:17 -0000)]
sync with upstream glibc
Mike Frysinger [Wed, 23 Aug 2006 19:16:29 +0000 (19:16 -0000)]
fixes from psm: hide internal brk symbols
Mike Frysinger [Wed, 23 Aug 2006 19:13:46 +0000 (19:13 -0000)]
fixes from psm: disable unsupported __fpu_control and sync with upstream
Mike Frysinger [Wed, 23 Aug 2006 19:02:31 +0000 (19:02 -0000)]
sync with psm: add copyright notice
Mike Frysinger [Wed, 23 Aug 2006 15:28:48 +0000 (15:28 -0000)]
pull from upstream
Mike Frysinger [Wed, 23 Aug 2006 15:26:46 +0000 (15:26 -0000)]
fixes from psm so we can pull in uClibc headers properly
Mike Frysinger [Wed, 23 Aug 2006 15:15:47 +0000 (15:15 -0000)]
fix from psm: add UCLIBC_ prefix to HAS_SHADOW option