Commit Graph

252 Commits

Author SHA1 Message Date
Thomas Schwinge
2423dc241a Move ARM EABI mcount into a separate .S file. 2009-12-16 18:02:51 +00:00
Philip Blundell
b2b2415fe0 Fix ARMv4T interworking.
* sysdeps/unix/sysv/linux/arm/clone.S: Support V4T interworking.
        * sysdeps/unix/sysv/linux/arm/sysdep.h (__local_syscall_error): Likewise.
        * sysdeps/arm/memcpy.S: Likewise.
        * sysdeps/arm/memmove.S: Likewise.
2009-11-06 08:07:18 +00:00
Daniel Gutson
274895575e Add ARM EABI build attributes.
Ensure that all objects in ARM EABI glibc have the proper EABI build
attributes to indicate that 8-byte stack alignment is required and
preserved.  (GNU ld does not currently give errors for mixing code
requiring 8-byte alignment - such as anything built with GCC - and
code not marked as preserving it, because of the prevalence of
assembly code without proper markers to indicate that alignment is
preserved.  The ARM RealView linker does give such errors.)

The bulk of the markers are accomplished by the change to sysdep.h,
but a few .S files do not include sysdep.h.  In the case of
internal_accept4.S, no code is generated because EABI does not have
socketcall, but for completeness a dummy file with the right
attributes is used to override the default version in libc.

	* sysdeps/arm/sysdep.h: (Tag_ABI_align8_preserved,
	Tag_ABI_align8_needed): Attributes added.
	* sysdeps/arm/elf/start.S: Likewise.
	* sysdeps/arm/eabi/abi-note.S: New file.
	* sysdeps/unix/sysv/linux/arm/eabi/internal_accept4.S: New
	file.
2009-10-22 19:39:47 +00:00
Andrew Stubbs
fbc4c20a80 Fix register conflicts and avoid deprecated instructions in ARM EABI setjmp/longjmp.
* setjmp and longjmp were using the obsolete fstmiax and fldmiax
  instructions.

* Because of a confusion with two different sets of names for the same
  registers (r0...r3 and a1...a4), if VFP was present then the
  subsequent check for iWMMXt support would use a register that had
  been clobbered by saving/restoring the VFP registers.  (The bit
  being checked was clobbered by a reserved bit of FPSCR that it
  always 0 on present hardware, and no present hardware has both VFP
  and iWMMXt, so this did not cause visible problems.)

2009-10-22  Andrew Stubbs  <ams@codesourcery.com>
            Julian Brown  <julian@codesourcery.com>

	* sysdeps/arm/eabi/setjmp.S (__sigsetjmp): Replace deprecated
	instruction fstmiax with vstmia.
	Correct register conflict and comment.
	* sysdeps/arm/eabi/__longjmp.S (__longjmp): Use vldmia not fldmiax.
	Don't clobber r1/a2 register before testing IWMMXT hwcap.
2009-10-22 19:35:53 +00:00
Julian Brown
b5c2620bee Fix locating GOT for Thumb-2 PIE binaries.
* sysdeps/arm/elf/start.S (_start): Avoid dependency on PC pipeline
	offset.
2009-10-22 19:22:35 +00:00
Joseph Myers
53df8bcec0 Add alternate signal stack support to ARM ____longjmp_chk.
* sysdeps/arm/____longjmp_chk.S: Remove.  Replaced by....
	* sysdeps/unix/sysv/linux/arm/____longjmp_chk.S,
	sysdeps/unix/sysv/linux/arm/eabi/____longjmp_chk.S: This.  New
	files.
	* sysdeps/arm/__longjmp.S, sysdeps/arm/eabi/__longjmp.S: Use r4
	for saved sp.
2009-08-06 16:53:09 +00:00
Paul Brook
f40617927c Avoid invalid unwind directives when building crti.o and crtn.o for ARM EABI.
* sysdeps/arm/eabi/Makefile (CFLAGS-initfini.s): Add
	-fno-asynchronous-unwind-tables -fno-unwind-tables.
	(CFLAGS-pt-initfini.s): Ditto.
2009-06-30 20:10:14 +00:00
Nathan Froyd
5a6ba634c6 Add missing CLIBABI variables __aeabi_stdin, __aeabi_stdout, __aeabi_stderr.
* sysdeps/arm/eabi/aeabi_lcsts.c (__aeabi_stdin, __aeabi_stdout,
	__aeabi_stderr): New variables.
	(setup_aeabi_stdio): New function.  Add it to .preinit_array.
2009-06-25 13:27:59 +00:00
Maxim Kuvyrkov
b6dec1881f ARM EABI backtrace using unwind information.
2009-06-24  Maxim Kuvyrkov  <maxim@codesourcery.com>
            Mark Mitchell  <mark@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>
            Kazu Hirata  <kazu@codesourcery.com>

	* sysdeps/arm/eabi/backtrace.c: New.
	* sysdeps/arm/eabi/Makefile (CFLAGS-backtrace.c): Add
	-funwind-tables.
	* sysdeps/arm/preconfigure: Add -fno-unwind-tables to CFLAGS.
	* sysdeps/unix/sysv/linux/arm/eabi/configure.in: Remove
	-fno-unwind-tables from CFLAGS.
	* sysdeps/unix/sysv/linux/arm/eabi/configure: Regenerate.
	* sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind.h (_Unwind_Trace_Fn):
	Define.
	(_Unwind_Backtrace): Declare.
2009-06-24 15:55:04 +00:00
Joseph Myers
bf89c0e245 Use unsigned comparison in ARM ____longjmp_chk.
* sysdeps/arm/____longjmp_chk.S (CHECK_SP): Use unsigned
	comparison.
2009-05-18 19:48:54 +00:00
Joseph Myers
ef889ffe8d ____longjmp_chk for ARM.
* sysdeps/arm/____longjmp_chk.S: New file.
	* sysdeps/arm/__longjmp.S: If CHECK_SP is defined, use it.
	* sysdeps/arm/eabi/__longjmp.S: Likewise.
2009-05-16 22:20:23 +00:00
Joseph Myers
ba35741e51 2009-04-25 Aurelien Jarno <aurelien@aurel32.net>
* sysdeps/arm/eabi/fpu_control.h: If soft-float, don't use
	floating-point registers.
2009-04-25 15:23:44 +00:00
Joseph Myers
440eb79d6c * sysdeps/arm/bits/link.h: Uglify function parameter names.
* sysdeps/unix/sysv/linux/arm/sys/io.h: Likewise.
	* sysdeps/arm/eabi/bits/setjmp.h: Uglify attribute name.
2009-03-15 16:53:46 +00:00
Joseph Myers
5631abde36 2009-02-05 Paul Brook <paul@codesourcery.com>
Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/arm/dl-machine.h (elf_machine_dynamic): Ditto.
	(elf_machine_load_address): Clear T bit of PLT entry contents.
	(RTLD_START): Mark function symbols as such.  Tweak pc-relative
	addressing to avoid depending on pc read pipeline offset.
	* sysdeps/arm/machine-gmon.h (MCOUNT): Add Thumb-2 implementation.
	* sysdeps/arm/tls-macros.h: Add alignment for Thumb-2.
	(ARM_PC_OFFSET): Define.
	(TLS_IE): Define differently for Thumb-2.
	(TLS_LE, TLS_LD, TLS_GD): Use ARM_PC_OFFSET.
	* sysdeps/arm/elf/start.S: Switch to thumb mode for Thumb-2.
	* sysdeps/unix/sysv/linux/arm/eabi/sysdep.h (INTERNAL_SYSCALL_RAW):
	Add Thumb implementation.
	* sysdeps/unix/sysv/linux/arm/eabi/nptl/aio_misc.h: New.
	* sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c: Enforce
	alignment for Thumb-2.  Adjust offset from PC for Thumb-2.
	* sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c: Ditto.
	* sysdeps/unix/sysv/linux/arm/nptl/bits/atomic.h (atomic_full_barrier,
	__arch_compare_and_exchange_val_32_acq): Add Thumb-2 implementation.
2009-02-05 14:46:41 +00:00
Daniel Jacobowitz
f2c9d88207 2009-01-27 Min Zhang <mzhang@mvista.com>
* sysdeps/arm/memset.S (memset): Use stm instead of two
	str instructions.
2009-01-27 17:10:08 +00:00
Daniel Jacobowitz
856cb7775f 2009-01-27 Kirill A. Shutemov <kirill@shutemov.name>
* sysdeps/arm/elf/start.S (_start): Use position-independent code
	if SHARED.  Clear lr.
2009-01-27 16:01:19 +00:00
Joseph Myers
e5c922c902 2009-01-12 Mike Frysinger <vapier@gentoo.org>
* sysdeps/arm/fpu/setjmp.S: Add hidden_def (__sigsetjmp).
2009-01-12 16:49:33 +00:00
Joseph Myers
5de92c17d7 * data/c++-types-arm-linux-gnueabi.data: New.
* data/localplt-arm-linux-gnueabi.data: New.
	* sysdeps/arm/bsd-_setjmp.S: Use HIDDEN_JUMPTARGET to call
	__sigsetjmp.
	* sysdeps/arm/bsd-setjmp.S: Likewise.
	* sysdeps/arm/eabi/aeabi_localeconv.c: Use __localeconv.
	* sysdeps/arm/eabi/find_exidx.c (__gnu_Unwind_Find_exidx): Use
	__dl_iterate_phdr.
	* sysdeps/arm/eabi/setjmp.S: Add hidden_def (__sigsetjmp).
	* sysdeps/arm/memmove.S: Use HIDDEN_JUMPTARGET to call memcpy from
	within libc.
	* sysdeps/arm/setjmp.S: Add hidden_def (__sigsetjmp).
	* sysdeps/unix/sysv/linux/arm/clone.S: Use HIDDEN_JUMPTARGET to
	call _exit.
	* sysdeps/unix/sysv/linux/arm/ioperm.c (init_iosys): Use __sysctl,
	__readlink and fgets_unlocked.
	(_ioperm): Use __open and __close.
2008-08-19 15:59:07 +00:00
Daniel Jacobowitz
6b3dc26c76 2008-07-18 Joseph Myers <joseph@codesourcery.com>
* sysdeps/arm/eabi/fgetexcptflg.c: New.
	* sysdeps/arm/eabi/fsetexcptflg.c (__fesetexceptflag): Operate on
	set exception flags, not on mask of enabled exceptions.
2008-07-18 13:21:45 +00:00
Daniel Jacobowitz
e39762f948 2008-07-18 Joseph Myers <joseph@codesourcery.com>
* sysdeps/arm/eabi/feupdateenv.c: New.
2008-07-18 13:20:51 +00:00
Daniel Jacobowitz
4cbcd54d99 2008-07-18 Joseph Myers <joseph@codesourcery.com>
* sysdeps/arm/libm-test-ulps: Update.
2008-07-18 13:18:53 +00:00
Daniel Jacobowitz
1ba025a9a2 2008-06-01 Paul Brook <paul@codesourcery.com>
Zack Weinberg  <zack@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/arm/nptl/pthread_spin_lock.S,
	sysdeps/arm/nptl/pthread_spin_trylock.S: Delete.
	* sysdeps/arm/nptl/pthread_spin_lock.c,
	sysdeps/arm/nptl/pthread_spin_trylock.c: New files using
	atomic_compare_and_exchange_val_acq to take spinlocks.
	* sysdeps/unix/sysv/linux/arm/nptl/bits/atomic.h (lll_trylock,
	lll_cond_trylock): Use atomic_compare_and_exchange_val_acq.
	(__lll_trylock, __lll_cond_trylock): Delete.
	* sysdeps/unix/sysv/linux/arm/nptl/bits/atomic.h
	(atomic_exchange_acq): Delete.
	(atomic_full_barrier): Define.
	(__arch_compare_and_exchange_val_32_acq): Use named operands.
	* sysdeps/unix/sysv/linux/arm/eabi/configure.in: Update
	arch_minimum_kernel to 2.6.16.
	* sysdeps/unix/sysv/linux/arm/eabi/configure: Regenerated.
2008-06-02 01:57:03 +00:00
Daniel Jacobowitz
5f1d477bb4 2008-04-11 Paul Brook <paul@codesourcery.com>
Sandra Loosemore  <sandra@codesourcery.com>

	* sysdeps/arm/eabi/machine-gmon.h: New file.
	* sysdeps/arm/eabi/Versions: Add __gnu_mcount_nc.
2008-04-11 14:21:43 +00:00
Daniel Jacobowitz
713ddf8d12 * sysdeps/arm/nptl/tls.h (THREAD_GSCOPE_RESET_FLAG): Use
lll_futex_wake not lll_private_futex_wake.
	* sysdeps/unix/sysv/linux/arm/bits/fcntl.h (O_CLOEXEC): Define.
	* sysdeps/unix/sysv/linux/arm/eabi/sysdep.h: Include <tls.h>
	* sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c
	(__lll_lock_wait_private, __lll_lock_wait): New.
	(__lll_timedlock_wait): Don't include in libc.so;  Take private
	argument.  Use atomic_compare_and_exchange_bool_acq.
	* sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h: Renamed all
	lll_mutex_* resp. lll_robust_mutex_* macros to lll_*
	resp. lll_robust_*.  Renamed all LLL_MUTEX_LOCK_* macros to
	LLL_LOCK_*.  Include <kernel-features.h>.
	(LLL_LOCK_INITIALIZER): Remove duplicate definition.
	(__lll_private_flag): Define.
	(lll_futex_timed_wait): Pass private flag to syscall.
	(lll_futex_wake): Likewise.
	(lll_private_futex_wait, lll_private_futex_timed_wait,
	lll_private_futex_wake): Remove.
	(lll_robust_dead, lll_futex_requeue): Take private arguments.
	(lll_futex_wake_unlock): Pass private flag to syscall.
	(__lll_robust_trylock): Convert to macro.
	(__lll_robust_lock_wait): Add private argument.
	(__lll_lock_wait_private, __lll_lock_wait): Declare.
	(__lll_lock): Convert to macro.  Take private argument.
	(__lll_cond_lock): Likewise.
	(lll_lock, lll_cond_lock): Take private arguments.
	(__lll_robust_lock): Take private argument.
	(__lll_timedlock_wait, __lll_robust_timedlock_wait): Take private
	arguments.
	(__lll_timedlock, __lll_robust_timedlock): Convert to macros.
	Take private arguments.
	(lll_timedlock, lll_robust_timedlock): Take private arguments.
	(__lll_unlock, __lll_robust_unlock): Convert to macros.  Take
	private arguments.
	(lll_unlock, lll_robust_unlock): Take private arguments.
	(__lll_mutex_unlock_force, lll_mutex_unlock_force, lll_lock_t,
	lll_trylock, lll_lock, lll_unlock, lll_islocked): Remove.
	(lll_wait_tid): Pass LLL_SHARED to lll_futex_wait.
	(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
	__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
	lll_cond_wake, lll_cond_broadcast): Remove.
	* sysdeps/unix/sysv/linux/arm/nptl/pthread_once.c
	(clear_once_control, __pthread_once): Use lll_futex_wake not
	lll_private_futex_wake.
2007-09-12 12:57:25 +00:00
Daniel Jacobowitz
8323b1abc6 * sysdeps/arm/nptl/tls.h (THREAD_GSCOPE_RESET_FLAG): Use
lll_private_futex_wake.
	* sysdeps/unix/sysv/linux/arm/check_pf.c: Update from generic version.
	* sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c
	(pthread_cancel_init): Add noinline and barriers.
	* sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c
	(__lll_timedlock_wait): Update call to lll_futex_timed_wait.
	(__lll_timedwait_tid): Likewise.
	* sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h (LLL_PRIVATE,
	LLL_SHARED): Define.
	(lll_futex_wait): Use lll_futex_timed_wait.
	(lll_futex_timed_wait, lll_futex_wake, lll_futex_wake_unlock): Take a
	PRIVATE argument.
	(lll_private_futex_wait, lll_private_futex_timed_wait,
	lll_private_futex_wake): New.
	(lll_robust_mutex_dead,  __lll_mutex_lock, __lll_mutex_cond_lock,
	__lll_mutex_unlock, __lll_robust_mutex_unlock,
	__lll_mutex_unlock_force, lll_wait_tid): Update calls.
	* sysdeps/unix/sysv/linux/arm/nptl/pthread_once.c (clear_once_control,
	__pthread_once): Use private futexes.
	* sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
	(pthread_cancel_init): Add noinline and barriers.

	* sysdeps/unix/sysv/aix/bits/fcntl.h,
	sysdeps/unix/sysv/linux/am33/bits/fcntl.h,
	sysdeps/unix/sysv/linux/arm/bits/fcntl.h,
	sysdeps/unix/sysv/linux/cris/bits/fcntl.h,
	sysdeps/unix/sysv/linux/m68k/bits/fcntl.h,
	sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Comment fix.

	* sysdeps/unix/sysv/linux/arm/nptl/bits/semaphore.h (SEM_VALUE_MAX):
	Delete.
	* sysdeps/unix/sysv/linux/mips/nptl/bits/semaphore.h (SEM_VALUE_MAX):
	Delete.
2007-07-10 13:35:30 +00:00
Daniel Jacobowitz
30efab519e * sysdeps/arm/nptl/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT): Define.
	(THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_WAIT): Define.
	* sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c
	(lll_unlock_wake_cb): Delete.
	* sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
	(FUTEX_PRIVATE_FLAG): Define.
	(lll_unlock_wake_cb): Delete prototype.
	* sysdeps/unix/sysv/linux/arm/nptl/bits/pthreadtypes.h: Include
	<endian.h>.
	(pthread_rwlock_t): Shrink __flags and add __shared.
	* sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
	(RTLD_SINGLE_THREAD_P): Define.

	* sysdeps/mips/nptl/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
	THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT): Define.
	(THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_WAIT): Define.
	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h
	(FUTEX_PRIVATE_FLAG): Define.
	(lll_unlock_wake_cb): Delete prototype.
	* sysdeps/unix/sysv/linux/mips/nptl/bits/pthreadtypes.h: Include
	<endian.h>.
	(pthread_rwlock_t): Shrink __flags and add __shared.
2007-06-06 17:27:04 +00:00
Daniel Jacobowitz
d50fd68866 * sysdeps/arm/fpu/bits/mathdef.h: Move to
sysdeps/arm/bits/mathdef.h.  Remove comment about FPA.
2007-01-08 14:58:21 +00:00
Daniel Jacobowitz
8545d6c0ab * sysdeps/arm/eabi/jmpbuf-offsets.h: New. 2007-01-08 14:53:26 +00:00
Daniel Jacobowitz
b610dc849a * sysdeps/arm/eabi/fclrexcpt.c: Include <sysdep.h> instead of
<asm/procinfo.h>.  Use HWCAP_ARM_VFP instead of HWCAP_VFP.
	* sysdeps/arm/eabi/fedisblxcpt.c: Likewise.
	* sysdeps/arm/eabi/feenablxcpt.c: Likewise.
	* sysdeps/arm/eabi/fegetenv.c: Likewise.
	* sysdeps/arm/eabi/fegetexcept.c: Likewise.
	* sysdeps/arm/eabi/fegetround.c: Likewise.
	* sysdeps/arm/eabi/feholdexcpt.c: Likewise.
	* sysdeps/arm/eabi/fesetenv.c: Likewise.
	* sysdeps/arm/eabi/fesetround.c: Likewise.
	* sysdeps/arm/eabi/fraiseexcpt.c: Likewise.
	* sysdeps/arm/eabi/fsetexcptflg.c: Likewise.
	* sysdeps/arm/eabi/ftestexcept.c: Likewise.
	* sysdeps/arm/eabi/setfpucw.c: Likewise.
2006-10-31 17:20:42 +00:00
Daniel Jacobowitz
0572b91bdb * sysdeps/arm/memcpy.S: New file.
* sysdeps/arm/memmove.S: Likewise.
2006-10-31 17:07:54 +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
56865130d0 * sysdeps/arm/dl-machine.h (elf_machine_rel): Handle undefined
symbols.
	(elf_machine_rela): Likewise.
2006-09-21 18:21:19 +00:00
Daniel Jacobowitz
3dff8d2978 * sysdeps/arm/dl-machine.h (elf_machine_dynamic): Correct GOT access to
load the _DYNAMIC slot.
2006-07-05 16:46:20 +00:00
Daniel Jacobowitz
f5b8dd54a6 * sysdeps/arm/nptl/pthreaddef.h (CURRENT_STACK_FRAME): Add -12. 2006-06-08 17:38:55 +00:00
Daniel Jacobowitz
233db6e886 * sysdeps/arm/initfini.c: New file. 2006-05-30 15:31:04 +00:00
Daniel Jacobowitz
e8256668f3 * sysdeps/arm/dl-machine.h (elf_machine_dynamic): Rewrite to load
_GLOBAL_OFFSET_TABLE_ explicitly.
2006-05-30 15:18:49 +00:00
Roland McGrath
52701b0cfd 2006-01-12 Roland McGrath <roland@redhat.com>
* sysdeps/arm/jmpbuf-unwind.h: Include <jmpbuf-offsets.h>.
2006-02-21 02:02:44 +00:00
Roland McGrath
d8fd00472e 2006-01-10 Roland McGrath <roland@redhat.com>
* sysdeps/arm/bits/setjmp.h (__JMP_BUF_SP): Macro moved to ...
	* sysdeps/arm/jmpbuf-offsets.h: ... here, new file.
	* sysdeps/arm/fpu/bits/setjmp.h: (__JMP_BUF_SP): Macro moved to ...
	* sysdeps/arm/fpu/jmpbuf-offsets.h: ... here, new file.
	* sysdeps/arm/eabi/bits/setjmp.h (__JMP_BUF_SP): Macro removed.
2006-01-10 09:22:16 +00:00
Roland McGrath
389ae90ef2 2006-01-10 Roland McGrath <roland@redhat.com>
* sysdeps/arm/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
	* sysdeps/arm/jmpbuf-unwind.h: ... here.
	* sysdeps/arm/fpu/bits/setjmp.h (_JMPBUF_UNWINDS): Macro removed.
	* sysdeps/arm/eabi/bits/setjmp.h (_JMPBUF_UNWINDS): Macro removed.
	* sysdeps/arm/nptl/jmpbuf-unwind.h: Moved to ...
	* sysdeps/arm/jmpbuf-unwind.h: ... here.
2006-01-10 08:51:11 +00:00
Roland McGrath
442314c0d0 2006-01-10 Roland McGrath <roland@redhat.com>
* sysdeps/arm/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
	* sysdeps/arm/jmpbuf-unwind.h: ... here.
	* sysdeps/arm/fpu/bits/setjmp.h (_JMPBUF_UNWINDS): Macro removed.
	* sysdeps/arm/eabi/bits/setjmp.h (_JMPBUF_UNWINDS): Macro removed.
2006-01-10 08:51:03 +00:00
Roland McGrath
4c42920943 2006-01-10 Roland McGrath <roland@redhat.com>
* sysdeps/arm/nptl/jmpbuf-unwind.h: Moved to ...
	* sysdeps/arm/jmpbuf-unwind.h: ... here.
2006-01-10 08:50:56 +00:00
Roland McGrath
74df46e30f Dist files no longer required 2006-01-08 06:49:16 +00:00
Roland McGrath
e526306756 2005-12-27 Roland McGrath <roland@redhat.com>
* sysdeps/arm/eabi/bits/setjmp.h (_JMPBUF_UNWINDS): Take third argument
	DEMANGLE, and pass SP value through it.
	* sysdeps/arm/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/arm/fpu/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
2005-12-28 05:46:19 +00:00
Roland McGrath
9260afa563 2005-12-15 Roland McGrath <roland@redhat.com>
* sysdeps/arm/libc-tls.c: Use csu/ instead of sysdeps/generic/.
2005-12-28 05:46:16 +00:00
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
ffe91e2252 * sysdeps/arm/eabi/aeabi_lcsts.c, sysdeps/arm/eabi/aeabi_math.c,
sysdeps/arm/eabi/aeabi_sighandlers.S: Add LGPL exception.
2005-10-31 21:05:09 +00:00
Daniel Jacobowitz
f56b8b7c82 * sysdeps/arm/eabi/Makefile (static-only-routines): Remove
$(aeabi_routines).
	* sysdeps/arm/eabi/Versions (GLIBC_2.4): Add ARM EABI portability
	routines.
	* sysdeps/arm/eabi/aeabi_assert.c, sysdeps/arm/eabi/aeabi_atexit.c,
	sysdeps/arm/eabi/aeabi_errno_addr.c,
	sysdeps/arm/eabi/aeabi_localeconv.c,
	sysdeps/arm/eabi/aeabi_mb_cur_max.c, sysdeps/arm/eabi/aeabi_memclr.c,
	sysdeps/arm/eabi/aeabi_memcpy.c, sysdeps/arm/eabi/aeabi_memmove.c,
	sysdeps/arm/eabi/aeabi_memset.c: Remove attribute_hidden.
2005-10-31 20:49:25 +00:00
Daniel Jacobowitz
f10eff5832 Add ARM EABI port. 2005-10-10 15:29:32 +00:00