Commit Graph

32 Commits

Author SHA1 Message Date
Daniel Jacobowitz
908afa831c * sysdeps/unix/sysv/linux/arm/sysdep.h (PTR_MANGLE, PTR_DEMANGLE):
Define.
	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (PTR_MANGLE,
	PTR_DEMANGLE): Define.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h (PTR_MANGLE,
	PTR_DEMANGLE): Define.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h (PTR_MANGLE,
	PTR_DEMANGLE): Define.
2007-01-23 16:47:28 +00:00
Daniel Jacobowitz
4b860fb9c0 * sysdeps/unix/sysv/linux/arm/dl-procinfo.c (_dl_arm_cap_flags):
Add "java" and "iwmmxt".
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Use <sysdep.h> for
	HWCAP values.
	(_DL_HWCAP_COUNT): Increase to 10.
	* sysdeps/unix/sysv/linux/arm/sysdep.h (HWCAP_ARM_SWP,
	HWCAP_ARM_HALF, HWCAP_ARM_THUMB, HWCAP_ARM_26BIT,
	HWCAP_ARM_FAST_MULT, HWCAP_ARM_FPA, HWCAP_ARM_VFP, HWCAP_ARM_EDSP,
	HWCAP_ARM_JAVA, HWCAP_ARM_IWMMXT): Define.
	* sysdeps/arm/eabi/setjmp.S (__sigsetjmp): Save iWMMXt registers
	if HWCAP_ARM_IWMMXT set.  Don't include <asm/procinfo.h>.  Use
	HWCAP_ARM_VFP instead of HWCAP_VFP.
	* sysdeps/arm/eabi/__longjmp.S (__longjmp): Restore iWMMXt
	registers if HWCAP_ARM_IWMMXT set.  Don't include
	<asm/procinfo.h>.  Use HWCAP_ARM_VFP instead of HWCAP_VFP.
2006-09-21 18:39:51 +00:00
Daniel Jacobowitz
16c82ad715 * sysdeps/unix/arm/sysdep.h, sysdeps/unix/sysv/linux/arm/sysdep.S,
sysdeps/unix/sysv/linux/arm/sysdep.h: Remove ports/ from include
	paths.
2006-02-28 19:26:36 +00:00
Daniel Jacobowitz
02a9f771e3 * sysdeps/arm/bits/setjmp.h, sysdeps/arm/fpu/bits/setjmp.h: Update
include guards.

	* sysdeps/unix/arm/sysdep.S (syscall_error): Handle USE___THREAD and
	RTLD_PRIVATE_ERRNO.

	* sysdeps/unix/sysv/linux/arm/clone.S (__clone): Handle RESET_PID.
	Handle new arguments.
	* sysdeps/unix/sysv/linux/arm/vfork.S (__vfork): Use SAVE_PID and
	RESTORE_PID.  Use the right syscall error handler.

	* sysdeps/unix/sysv/linux/arm/eabi/sigrestorer.S
	(__default_sa_restorer, __default_rt_sa_restorer): Add unwind
	information.

	* sysdeps/unix/sysv/linux/arm/eabi/socket.S: Update formatting.
	Add unwind information.  Correct stack alignment typo.

	* sysdeps/unix/sysv/linux/arm/eabi/sysdep.h
	(INTERNAL_SYSCALL_NCS): Define.

	* sysdeps/unix/sysv/linux/arm/sigaction.c
	(__libc_sigaction): Remove never-valid handling for SA_ONSTACK.

	* sysdeps/unix/sysv/linux/arm/socket.S: Whitespace cleanup.

	* sysdeps/unix/sysv/linux/arm/sysdep.h (SYSCALL_ERROR_HANDLER): Handle
	RTLD_PRIVATE_ERRNO.
	(INTERNAL_SYSCALL_NCS): Implement.

	* sysdeps/arm/nptl/Makefile, sysdeps/arm/nptl/jmpbuf-unwind.h,
	sysdeps/arm/nptl/pthread_spin_lock.S,
	sysdeps/arm/nptl/pthread_spin_trylock.S,
	sysdeps/arm/nptl/pthreaddef.h, sysdeps/arm/nptl/tcb-offsets.sym,
	sysdeps/arm/nptl/tls.h, sysdeps/unix/sysv/linux/arm/eabi/Makefile,
	sysdeps/unix/sysv/linux/arm/eabi/nptl/Makefile,
	sysdeps/unix/sysv/linux/arm/eabi/nptl/configure,
	sysdeps/unix/sysv/linux/arm/eabi/nptl/configure.in,
	sysdeps/unix/sysv/linux/arm/eabi/nptl/nptl-aeabi_unwind_cpp_pr1.c,
	sysdeps/unix/sysv/linux/arm/eabi/nptl/rt-aeabi_unwind_cpp_pr1.c,
	sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h,
	sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c,
	sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c,
	sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind.h,
	sysdeps/unix/sysv/linux/arm/nptl/Versions,
	sysdeps/unix/sysv/linux/arm/nptl/bits/atomic.h,
	sysdeps/unix/sysv/linux/arm/nptl/bits/pthreadtypes.h,
	sysdeps/unix/sysv/linux/arm/nptl/clone.S,
	sysdeps/unix/sysv/linux/arm/nptl/createthread.c,
	sysdeps/unix/sysv/linux/arm/nptl/fork.c,
	sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c,
	sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h,
	sysdeps/unix/sysv/linux/arm/nptl/pt-vfork.S,
	sysdeps/unix/sysv/linux/arm/nptl/pthread_once.c,
	sysdeps/unix/sysv/linux/arm/nptl/vfork.S: New files.
2005-11-16 19:03:42 +00:00
Daniel Jacobowitz
485a9bb9f0 * sysdeps/arm/dl-machine.h: Include <tls.h>.
(elf_machine_type_class, elf_machine_rel, elf_machine_rela): Handle
	TLS relocations.
	* sysdeps/unix/sysv/linux/arm/Makefile: Build __aeabi_read_tp.
	* sysdeps/unix/sysv/linux/arm/sysdep.h (INTERNAL_SYSCALL_RAW): Renamed
	from INTERNAL_SYSCALL.
	(INTERNAL_SYSCALL, INTERNAL_SYSCALL_ARM): New macros.
	* sysdeps/arm/dl-tls.h, sysdeps/arm/elf/configure.in,
	sysdeps/arm/elf/configure, sysdeps/arm/libc-tls.c,
	sysdeps/arm/linuxthreads/tls.h, sysdeps/arm/tls-macros.h,
	sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S,
	sysdeps/unix/sysv/linux/arm/libc-aeabi_read_tp.S: New files.
2005-10-05 20:15:22 +00:00
Phil Blundell
7051b72105 2005-06-09 Phil Blundell <pb@reciva.com>
* sysdeps/unix/arm/sysdep.h, sysdeps/unix/sysv/linux/arm/sysdep.h,
	sysdeps/unix/sysv/linux/arm/sysdep.S: Correct paths to included
	files.
2005-06-09 21:48:16 +00:00
Roland McGrath
47f0752a48 2004-11-18 Daniel Jacobowitz <dan@codesourcery.com>
* sysdeps/arm/sysdep.h: Define __USE_BX__ if bx is available.
	Use it instead of __THUMB_INTERWORK__.  Make RETINSTR take
	only a condition and a register.
	* sysdeps/arm/dl-machine.h: Use __USE_BX__ instead of
	__THUMB_INTERWORK__.
	(_dl_start_user): Use BX.
	* sysdeps/arm/strlen.S: Use DO_RET.
	* sysdeps/unix/arm/brk.S, sysdeps/unix/arm/fork.S,
	sysdeps/unix/arm/sysdep.S, sysdeps/unix/arm/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/clone.S,
	sysdeps/unix/sysv/linux/arm/mmap.S,
	sysdeps/unix/sysv/linux/arm/mmap64.S,
	sysdeps/unix/sysv/linux/arm/socket.S,
	sysdeps/unix/sysv/linux/arm/sysdep.h,
	sysdeps/unix/sysv/linux/arm/vfork.S: Update uses of RETINSTR.
2004-12-04 21:20:17 +00:00
Ulrich Drepper
ae53e7a785 (PSEUDO_ERRVAL): Define.
(PSEUDO_END_ERRVAL, ret_ERRVAL): Likewise.
2003-08-25 18:30:43 +00:00
Roland McGrath
44acff5d04 2003-03-27 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_RET_NOERRNO): Use
	unconditional mov.  Remove nop.
2003-03-27 02:45:49 +00:00
Ulrich Drepper
cf666e4bf9 INTERNAL_SYSCALL): Remove a1 from clobber list. 2003-03-24 19:00:28 +00:00
Ulrich Drepper
98f7320f07 Define PSEUDO_NOERRNO, PSEUDO_END_NOERRNO, and ret_NOERRNO. 2003-03-23 19:42:23 +00:00
Ulrich Drepper
114e7d5005 (INLINE_SYSCALL): Add missing arguments to INTERNAL_SYSCALL_ERROR_P and
INTERNAL_SYSCALL_ERRNO.
2003-02-20 20:22:20 +00:00
Ulrich Drepper
aeeec7fb5e (INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO):
Add err argument.
(INTERNAL_SYSCALL_DECL): Define.
2003-01-09 04:09:26 +00:00
Ulrich Drepper
2f0910ca96 (PSEUDO): Remove .type directive.
(PSEUDO_RET): Use SYSCALL_ERROR in place of __syscall_error.
(SYSCALL_ERROR): New.
(SYSCALL_ERROR_HANDLER) [NOT_IN_libc]: Provide local copy of error
handling code.
(INTERNAL_SYSCALL): Define.
(INLINE_SYSCALL): Use it.
(INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define.
2003-01-08 00:15:07 +00:00
Roland McGrath
631d94cb30 2002-07-06 Bruno Haible <bruno@clisp.org>
* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/hppa/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
2002-08-26 11:37:24 +00:00
Andreas Jaeger
3214b89b32 Update to LGPL v2.1. 2001-07-06 04:56:23 +00:00
Ulrich Drepper
62f2f67818 (INLINE_SYSCALL): Fix last patch. 2000-09-17 19:54:50 +00:00
Ulrich Drepper
c09c05d827 (INLINE_SYSCALL): Add memory clobber. 2000-09-15 17:48:53 +00:00
Ulrich Drepper
63ac74aa94 (PSEUDO_RET): New macro.
(ret): Redefine to PSEUDO_RET.
(PSEUDO): Remove jump to syscall_error.
2000-07-29 18:03:21 +00:00
Ulrich Drepper
13270773ac (UNDOARGS_5): Fix error in last change. 2000-01-10 01:43:13 +00:00
Ulrich Drepper
62749187ae Add support for syscalls with more than five arguments.
(DOARGS_5, UNDOARGS_5): Don't corrupt the calling stack frame.
1999-12-27 06:06:32 +00:00
Ulrich Drepper
a9b40c2a26 (INLINE_SYSCALL): Include the syscall name in assembler output for ease
of debugging.
1999-04-12 09:04:12 +00:00
Ulrich Drepper
ba023f01b9 (INLINE_SYSCALL): Add implementation. 1998-12-22 17:25:07 +00:00
Ulrich Drepper
86ffa1b43a (PSEUDO): Add missing semicolon so that profiling works. 1998-10-12 11:15:04 +00:00
Ulrich Drepper
e0ebc3b2ef Use __ASSEMBLER__ test macro not ASSEMBLER. 1998-05-29 10:20:59 +00:00
Ulrich Drepper
096031e14c (PSEUDO): On error, call __syscall_error rather than syscall_error
directly.
1998-04-30 16:57:25 +00:00
Ulrich Drepper
24e022cf82 (PSEUDO): Fix typo introduced in last change. 1998-04-03 08:23:11 +00:00
Ulrich Drepper
ff550b1f27 (SYSCALL_ERROR_HANDLER): Always define, not only #ifndef PIC.
(DO_CALL): Pass fifth argument correctly in R4.
(PSEUDO): Correct test for error, call syscall_error through PLT if PIC.
1998-04-01 09:11:44 +00:00
Ulrich Drepper
0f2a261a38 (ENTRY): Correct error jump. 1998-03-18 14:34:49 +00:00
Ulrich Drepper
d2099b0d6d (SYS_ify): Don't add SWI_BASE in twice. 1997-11-13 00:19:24 +00:00
Ulrich Drepper
c751295fb8 pretty printing. 1997-05-22 02:18:07 +00:00
Ulrich Drepper
8d2485ed0b Linux/ARM specific implementation 1997-05-21 01:44:03 +00:00