Commit Graph

278 Commits

Author SHA1 Message Date
Daniel Jacobowitz
34e59f5bfb * sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h,
sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c,
	sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c,
	sysdeps/unix/sysv/linux/arm/nptl/unwind.h,
	sysdeps/arm/unwind-dw2-fde-glibc.c,
	sysdeps/arm/unwind-pe.c, sysdeps/arm/framestate.c: New files.
2005-11-16 19:22:59 +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
de96d1483f * sysdeps/arm/dl-machine.h (CLEAR_CACHE): Use INTERNAL_SYSCALL_ARM.
* sysdeps/unix/sysv/linux/arm/brk.c (__brk): Use INLINE_SYSCALL.
	* sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use DO_CALL.
	* sysdeps/unix/sysv/linux/arm/eabi/configure.in: Bump
	arch_minimum_kernel.
	* sysdeps/unix/sysv/linux/arm/eabi/configure: Regenerated.
	* sysdeps/unix/sysv/linux/arm/eabi/epoll_ctl.c,
	sysdeps/unix/sysv/linux/arm/eabi/epoll_wait.c,
	sysdeps/unix/sysv/linux/arm/eabi/fcntl.c,
	sysdeps/unix/sysv/linux/arm/eabi/fstatfs64.c,
	sysdeps/unix/sysv/linux/arm/eabi/ftruncate64.c,
	sysdeps/unix/sysv/linux/arm/eabi/fxstat64.c,
	sysdeps/unix/sysv/linux/arm/eabi/kernel_epoll.h,
	sysdeps/unix/sysv/linux/arm/eabi/kernel_stat.h,
	sysdeps/unix/sysv/linux/arm/eabi/lockf64.c,
	sysdeps/unix/sysv/linux/arm/eabi/lxstat64.c,
	sysdeps/unix/sysv/linux/arm/eabi/semop.c,
	sysdeps/unix/sysv/linux/arm/eabi/semtimedop.c,
	sysdeps/unix/sysv/linux/arm/eabi/statfs64.c,
	sysdeps/unix/sysv/linux/arm/eabi/syscalls.list,
	sysdeps/unix/sysv/linux/arm/eabi/uname.c,
	sysdeps/unix/sysv/linux/arm/eabi/xstat64.c,
	sysdeps/unix/sysv/linux/arm/eabi/xstatconv.c,
	sysdeps/unix/sysv/linux/arm/eabi/xstatconv.h: Removed.
	* sysdeps/unix/sysv/linux/arm/eabi/linuxthreads/sysdep-cancel.h,
	sysdeps/unix/sysv/linux/arm/eabi/mmap64.S,
	sysdeps/unix/sysv/linux/arm/eabi/pread.c,
	sysdeps/unix/sysv/linux/arm/eabi/pread64.c,
	sysdeps/unix/sysv/linux/arm/eabi/pwrite.c,
	sysdeps/unix/sysv/linux/arm/eabi/pwrite64.c,
	sysdeps/unix/sysv/linux/arm/eabi/readahead.c,
	sysdeps/unix/sysv/linux/arm/eabi/sigrestorer.S,
	sysdeps/unix/sysv/linux/arm/eabi/socket.S,
	sysdeps/unix/sysv/linux/arm/eabi/syscall.S,
	sysdeps/unix/sysv/linux/arm/eabi/sysdep.h,
	sysdeps/unix/sysv/linux/arm/eabi/truncate64.c: New files.
	* sysdeps/unix/sysv/linux/arm/linuxthreads/sysdep-cancel.h
	(SINGLE_THREAD_P_INT, SINGLE_THREAD_P_PIC): Removed.
	(SINGLE_THREAD_P): Rewritten to use only ip.
	* sysdeps/unix/sysv/linux/arm/linuxthreads/vfork.S (__vfork): Use
	DO_CALL.
	* sysdeps/unix/sysv/linux/arm/mmap.S (__mmap): Use DO_CALL.
	* sysdeps/unix/sysv/linux/arm/mmap64.S (__mmap64): Use DO_CALL.
	Don't handle EABI here.
	* sysdeps/unix/sysv/linux/arm/socket.S (__socket): Use
	SINGLE_THREAD_P.
	* sysdeps/unix/sysv/linux/arm/vfork.S (__vfork): Use DO_CALL.
2005-11-16 18:08:53 +00:00
Daniel Jacobowitz
4962a991a3 * sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S: Add LGPL exception. 2005-11-03 14:42:00 +00:00
Daniel Jacobowitz
56cf6cc523 * sysdeps/unix/sysv/linux/arm/bits/mman.h (MREMAP_FIXED): Define. 2005-10-31 20:41:32 +00:00
Daniel Jacobowitz
e7837483d3 * sysdeps/unix/sysv/linux/arm/socket.S: Honor NO_WEAK_ALIAS. 2005-10-27 18:50:12 +00:00
Daniel Jacobowitz
f10eff5832 Add ARM EABI port. 2005-10-10 15:29:32 +00:00
Daniel Jacobowitz
ecaa5eab07 * sysdeps/unix/sysv/linux/arm/posix_fadvise.c,
sysdeps/unix/sysv/linux/arm/posix_fadvise64.c: New files.
2005-10-05 20:17:08 +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
19f2e4ebef 2005-06-11 Phil Blundell <pb@reciva.com>
* sysdeps/arm/init-first.c: Deleted.
	* sysdeps/unix/sysv/linux/arm/linuxthreads/fork.c: New file.
2005-06-11 10:15:27 +00:00
Phil Blundell
51ae9dc83d 2005-06-10 Phil Blundell <pb@reciva.com>
Bug #957:
	* sysdeps/unix/sysv/linux/arm/mmap64.S: Handle offset correctly on
	big endian machines.  Reported by Sven Henkel <shenkel@gmail.com>.
2005-06-10 18:10:47 +00:00
Phil Blundell
efaef362b3 2005-05-09 Daniel Jacobowitz <dan@codesourcery.com>
Mark Mitchell  <mark@codesourcery.com>

    	* sysdeps/unix/sysv/linux/arm/ioperm.c (BUS_ISA): Define for new
	kernel headers.
2005-06-10 11:12:09 +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
9db87dc9e2 2004-11-18 Daniel Jacobowitz <dan@codesourcery.com>
* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Update RETINSTR use.
	* sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.
2004-12-04 21:20:30 +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
Andreas Jaeger
e8805e8d3f [BZ #341]
(O_NOATIME): Define.
2004-08-23 07:28:45 +00:00
Ulrich Drepper
b1225f7208 (F_SETOWN, F_GETOWN): Define if __USE_BSD or __USE_UNIX98. 2004-05-03 21:39:39 +00:00
Ulrich Drepper
33ebb515d1 Use GLRO instead of GL where appropriate. 2004-03-07 08:38:42 +00:00
Ulrich Drepper
9efb40c836 Add readahead prototype. 2004-01-20 23:23:55 +00:00
Ulrich Drepper
3d87932d45 Define PROT_GROWSDOWN and PROT_GROWSUP. 2003-09-25 16:42:43 +00:00
Ulrich Drepper
011f9a85d2 Add #error if __NR_vfork required but not defined.
Improve test of error code.
2003-09-17 18:09:53 +00:00
Ulrich Drepper
170880ee26 Branch to fork if libpthread is loaded. Elide backwards compatibility code
when not required.
2003-09-17 18:07:04 +00:00
Ulrich Drepper
60f4eece70 Optimise code a little. 2003-09-14 19:54:53 +00:00
Ulrich Drepper
2c65912458 Use sys_mmap2 if it's known to be available. 2003-09-14 19:54:40 +00:00
Ulrich Drepper
49d7842ab5 Remove unused __syscall_* prototypes. 2003-09-03 03:21:27 +00:00
Ulrich Drepper
679ee4e361 (sysdep_routines): Remove rt_*. 2003-09-03 03:16:54 +00:00
Ulrich Drepper
b3c37d6c95 (__syscall_*): Remove unused __syscall_ stubs. 2003-09-03 03:16:40 +00:00
Ulrich Drepper
8ff5cf2c6f Add posix_fadvise64 and posix_fallocate64 at GLIBC_2.3.3. 2003-08-31 18:13:35 +00:00
Ulrich Drepper
ae53e7a785 (PSEUDO_ERRVAL): Define.
(PSEUDO_END_ERRVAL, ret_ERRVAL): Likewise.
2003-08-25 18:30:43 +00:00
Ulrich Drepper
ff46117d2f (PROCINFO_CLASS): Define if not yet defined. Use it instead of EXTERN.
Undefine at the end of the file.
2003-07-22 22:07:18 +00:00
Ulrich Drepper
1ca4471f97 New sequences for 5+ arg syscalls only needed for PIC. 2003-06-06 17:31:40 +00:00
Ulrich Drepper
97012650e2 (PSEUDO): Add missing ; after ENTRY use. 2003-04-03 19:32:34 +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
Roland McGrath
227de9dd23 2003-03-27 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_VFORK_SYSCALL): Define for kernel 2.4 on arm.
	* sysdeps/unix/sysv/linux/arm/vfork.S: Elide compatibility code
	when __ASSUME_VFORK_SYSCALL is defined.
	* sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise for
	__ASSUME_MMAP2_SYSCALL.
	* sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise for
	__ASSUME_REALTIME_SIGNALS.
2003-03-27 02:45:46 +00:00
Roland McGrath
e0dc73c1e3 2003-03-24 Daniel Jacobowitz <drow@mvista.com>
* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
	(DOARGS_5, DOARGS_6, DOARGS_7): Rewritten.
2003-03-25 09:44:29 +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
Roland McGrath
2f15520df9 2003-03-21 Daniel Jacobowitz <drow@mvista.com>
* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
	(SINGLE_THREAD_P_PIC): Use "reg" instead of "lr".
2003-03-21 20:49:58 +00:00
Ulrich Drepper
aca56a7fa5 Define MAP_POPULATE and MAP_NONBLOCK. 2003-03-03 09:58:55 +00:00
Ulrich Drepper
2b6aa9b399 (init_iosys): Yield ENODEV on unknown systems. 2003-02-20 22:22:35 +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
0aced2c569 (__vfork): Conditionally branch to __fork even if __NR_vfork is not defined. 2003-01-15 01:06:06 +00:00
Ulrich Drepper
f5e2ab0edb vfork implementation for LinuxThreads/Arm. 2003-01-12 09:16:06 +00:00
Ulrich Drepper
e62ed29b3b (PSEUDO_RET): Correctly unstack lr.
(UNDOARGS_5): Fix ordering of pushes and pops.
(SINGLE_THREAD_P_PIC): New.
(SINGLE_THREAD_P_INT): Likewise.
(SINGLE_THREAD_P): Implement in terms of above.  Restore lr if it was stacked.
(PSEUDO): Use SINGLE_THREAD_P_INT.
2003-01-12 09:14:25 +00:00
Ulrich Drepper
191cbebf58 Add cancellation support. 2003-01-12 09:06:28 +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
c05bc2ca7b (__socket): Use SYSCALL_ERROR in place of __syscall_error. 2003-01-08 00:15:33 +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
Ulrich Drepper
ddf42be0e2 Syscall cancellation handling for Arm. 2003-01-07 00:39:17 +00:00
Ulrich Drepper
eb22472e6f (__sigaction, sigaction): Protect weak_alias and libc_hidden_weak with
#ifndef LIBC_SIGACTION.
2003-01-03 00:42:10 +00:00