Commit Graph

200 Commits

Author SHA1 Message Date
Manjunath Matti a875971e8e Fix profiling build of __libc_do_syscall. 2011-04-26 22:15:46 +00:00
Richard Sandiford 70063199c3 Support for R_ARM_IRELATIVE relocations. 2011-04-26 21:00:46 +00:00
Joseph Myers b6dd51368d Define TLS_DTV_UNALLOCATED for ARM. 2011-04-11 13:30:33 +00:00
Joseph Myers 54feca395a Rename open_by_handle to open_by_handle_at for ARM. 2011-04-01 19:19:52 +00:00
Ryosei Takagi 420d6ddd5b Save and restore r7 and adjust stack on failure for ARM EABI ____longjmp_chk. 2011-04-01 16:44:42 +00:00
Joseph Myers adb252daea Define O_PATH for ARM. 2011-04-01 16:29:57 +00:00
Joseph Myers 82be5f39a0 Add name_to_handle_at, open_by_handle etc. to ARM bits/fcntl.h. 2011-04-01 16:18:40 +00:00
Ulrich Weigand ea4774c3f3 [arm] Remove linuxthreads support. 2011-03-21 20:46:01 +00:00
Ulrich Weigand b53600e5ca [arm] Fix bug in _nocancel system call stubs. 2011-03-21 20:44:55 +00:00
Ulrich Weigand 738860089d Create ARM unwind records for system call stubs. 2011-03-21 20:44:01 +00:00
Joseph Myers 2242368302 Fix GPL and GCC references in last paragraphs of license notices. 2011-03-21 15:40:37 +00:00
Nathan Sidwell 3447f0d785 ARM TLS descriptors support. 2011-03-05 03:39:15 +00:00
Manjunath Matti 94fd527b67 Fix profiling libc for ARM EABI to use __gnu_mcount_nc interface when available. 2011-02-16 17:30:13 +00:00
Joseph Myers 2ca1e67193 Define MADV_HUGEPAGE and MADV_NOHUGEPAGE for ARM. 2011-01-25 20:57:58 +00:00
Joseph Myers 038f24265e Fix ARM fenv.h fallbacks when excepts == 0. 2011-01-07 01:42:06 +00:00
Joseph Myers 7f3c9dd2cc Define DEFAULT_STACK_PERMS for ARM. 2010-12-21 00:39:39 +00:00
Ken Werner 2c2019389e Use __sync_* on ARM where supported by the compiler. 2010-11-24 23:23:48 +00:00
Andreas Schwab 82515b866b arm: only modify CFLAGS when configuring for arm-linux*eabi 2010-11-22 17:46:49 +01:00
Joseph Myers c6d5d85ccb Conditionally define FP_FAST_FMA* for ARM. 2010-10-19 20:09:24 +00:00
Joseph Myers 323e2ce5e0 Add hidden feupdateenv and fetestexcept definitions for ARM. 2010-10-11 14:57:33 +00:00
Joseph Myers dc54bc1eaa Add fanotify_mark for ARM. 2010-09-30 18:17:22 +00:00
Alexander Kanevskiy fd5fe45924 ARM: Align hwcap names and definitions with kernel, mark VFP and NEON as HWCAP_IMPORTANT.
- Align hwcap names with kernel (arch/arm/kernel/setup.c)
- Align HWCAP_ARM_* definitions with kernel
- Make VFP and NEON as HWCAP_IMPORTANT, this can help in scenarios
where VFP/NEON HW optimizations can be utilized.
2010-08-13 19:43:35 +00:00
Joseph Myers 3c11c98eaf Add prlimit64 for ARM. 2010-08-12 15:38:57 +00:00
Joseph Myers ce47c03640 Define F_SETPIPE_SZ and F_GETPIPE_SZ for ARM. 2010-06-14 22:09:08 +00:00
Joseph Myers d0160bcc19 Fix internal_recvmmsg build attributes for ARM EABI. 2010-05-21 23:18:13 +00:00
Daniel Jacobowitz 2dcd7ed8fd Fix unwinding through Thumb-2 system calls. 2010-04-08 12:43:55 -04:00
Joseph Myers 848fa4a9c0 Update ARM for ABIVERSION changes. 2010-03-30 16:26:07 +00:00
Thomas Schwinge 01b32e7361 Add CFI statements to ARM's assembly code. 2010-03-26 18:12:56 +00:00
Joseph Myers caf557426d Add hidden alias for ARM fegetenv. 2010-02-10 15:14:41 +00:00
Joseph Myers 0549913fb4 Update ARM bits/fcntl.h for XPG7. 2010-01-10 16:55:39 +00:00
Thomas Schwinge 2423dc241a Move ARM EABI mcount into a separate .S file. 2009-12-16 18:02:51 +00:00
Joseph Myers 4d0f4f9f26 Update ARM O_SYNC. 2009-12-15 18:11:13 +00:00
Joseph Myers bc97817ff6 Define F_OWNER_PGRP for ARM. 2009-11-19 16:46:16 +00:00
Joseph Myers 3a2e1f4e6a Assume pselect6 and ppoll on ARM for kernels 2.6.32 and later. 2009-11-19 16:36:58 +00:00
Joseph Myers 0ecde27222 Change misleading names of parameters of sync_file_range for ARM. 2009-11-18 17:11:07 +00:00
Joseph Myers 35141d00d4 Add new MADV_* values for ARM. 2009-11-17 20:45:50 +00:00
Joseph Myers 06bda6deb5 Fix F_SETOWN_EX and F_GETOWN_EX definitions for ARM. 2009-11-14 22:39:23 +00:00
Joseph Myers b055d3f1f7 Fix ARM fallocate for -D_FILE_OFFSET_BITS=64.
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h (fallocate): Fix types
	of last two arguments when -D_FILE_OFFSET_BITS=64.
2009-11-06 23:44:33 +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
Joseph Myers 0366e55931 Define F_OWNER_* and f_owner_ex for ARM.
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Define F_OWNER_* and
	f_owner_ex.
2009-10-29 16:51:04 +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 4ba089f88e Define F_SETOWN_EX and F_GETOWN_EX for ARM.
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Define F_SETOWN_EX and
	F_GETOWN_EX.
2009-10-03 17:39:05 +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
Aurelien Jarno 0a6ab2a600 Define __ASSUME_EVENTFD2 and __ASSUME_SIGNALFD4 for ARM.
* sysdeps/unix/sysv/linux/arm/kernel-features.h: Define
	__ASSUME_EVENTFD2 and __ASSUME_SIGNALFD4.
2009-07-29 15:26:39 +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 9f8832d47f Assume preadv and pwritev syscalls on ARM for 2.6.30.
* sysdeps/unix/sysv/linux/arm/kernel-features.h (__ASSUME_PREADV,
	__ASSUME_PWRITEV): Don't undefine.
2009-05-16 15:19:32 +00:00
Joseph Myers db99b35dde Add fallocate64 export for ARM.
* sysdeps/unix/sysv/linux/arm/Versions (libc): Add
	fallocate64@@GLIBC_2.11.
2009-05-16 14:29:06 +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 80c0ce1cac * sysdeps/unix/sysv/linux/arm/kernel-features.h (__ASSUME_PREADV,
__ASSUME_PWRITEV): Undefine.
2009-04-18 14:08:41 +00:00
Joseph Myers 26ed7fb1ff 2009-03-16 Khem Raj <raj.khem@gmail.com>
* sysdeps/unix/sysv/linux/arm/sysdep.h: Include errno.h.
2009-03-17 12:32:06 +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 ae99295b05 * sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Declare
fallocate{,64}.
2009-03-03 23:18:56 +00:00
Joseph Myers f281f9cfda 2009-02-13 Khem Raj <raj.khem@gmail.com>
* sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
	(libgcc_s_handle): New variable.
	(pthread_cancel_init): Depend in libgcc_s_handle for decision to
	load DSO.  Assign last.
	(__unwind_freeres): New function.

	* sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c:
	Likewise.
2009-02-13 17:35:07 +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
Joseph Myers 19df4df175 * sysdeps/unix/sysv/linux/arm/bits/shm.h (SHM_EXEC): Define. 2009-02-02 15:35:22 +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
Daniel Jacobowitz 60acbff563 * sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
(lll_futex_wake_unlock, lll_futex_requeue): Return zero if success.
2009-01-27 15:48:44 +00:00
Daniel Jacobowitz a68f927f95 * sysdeps/unix/sysv/linux/arm/sysdep.h: Include <tls.h>. 2009-01-27 15:36:22 +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 9b1af9bd98 * sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h: Define
FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY.
2009-01-12 16:37:27 +00:00
Joseph Myers 74af6970b8 * sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h: Define
FUTEX_WAIT_BITSET and FUTEX_WAKE_BITSET.
2008-12-03 23:36:56 +00:00
Joseph Myers 9806fbba75 * sysdeps/unix/sysv/linux/arm/sysdep.h (LOAD_ARGS_1, LOAD_ARGS_2,
LOAD_ARGS_3, LOAD_ARGS_4, LOAD_ARGS_5, LOAD_ARGS_6, LOAD_ARGS_7):
	Load all arguments into temporary variables before loading into
	registers.
2008-11-25 16:37:26 +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 7272ed4e47 * sysdeps/unix/sysv/linux/arm/check_pf.c: Update from generic
version.
2008-04-21 15:54:22 +00:00
Daniel Jacobowitz b5af13f121 2008-04-21 Khem Raj <kraj@mvista.com>
* sysdeps/unix/sysv/linux/arm/ioperm.c: Don't include asm/page.h.
2008-04-21 15:37:36 +00:00
Daniel Jacobowitz e6e41f0f49 2008-04-21 Mike Frysinger <vapier@gentoo.org>
* sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h (DOCARGS_6,
	UNDOCARGS_6): Define.
2008-04-21 15:34:31 +00:00
Daniel Jacobowitz e8d992d708 2008-04-21 Khem Raj <kraj@mvista.com>
* sysdeps/unix/sysv/linux/arm/bits/shm.h: New file.
2008-04-21 15:26:44 +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 c206ce7f95 * sysdeps/unix/sysv/linux/arm/profil-counter.h: Use the i386 version.
* sysdeps/unix/sysv/linux/arm/register-dump.h (register_dump): Update
	to use ucontext.
	(REGISTER_DUMP): Likewise.
	* sysdeps/unix/sysv/linux/arm/sigcontextinfo.h (SIGCONTEXT,
	SIGCONTEXT_EXTRA_ARGS, GET_PC, GET_FRAME, GET_STACK): Likewise.
	(sigaction, __sigaction): Define.
	* sysdeps/unix/sysv/linux/arm/bits/armsigctx.h: Delete.
2007-12-21 16:57:47 +00:00
Daniel Jacobowitz 7e0bd9eb99 Define F_DUPFD_CLOEXEC. 2007-10-22 13:11:49 +00:00
Daniel Jacobowitz 017cc6330d * sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Correct return value
type and __THROW marker of splice, vmsplice, and tee.

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Correct return value
	type and __THROW marker of splice, vmsplice, and tee.
2007-09-25 12:04:54 +00:00
Daniel Jacobowitz 2b03bcf4bb * sysdeps/unix/sysv/linux/arm/kernel-features.h: Undefine
__ASSUME_PSELECT and __ASSUME_PPOLL.
2007-09-17 16:31:32 +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 99e5e16c5c * sysdeps/unix/sysv/linux/arm/kernel-features.h
(__ASSUME_SIGFRAME_V2): Define for 2.6.18 and later.
	* sysdeps/unix/sysv/linux/arm/eabi/sigrestorer.S
	(__default_sa_restorer): Rename to __default_sa_restorer_v1.
	Don't define if __ASSUME_SIGFRAME_V2.
	(__default_rt_sa_restorer): Rename to
	__default_rt_sa_restorer_v1.  Don't define if
	__ASSUME_SIGFRAME_V2.
	(__default_sa_restorer_v2, __default_rt_sa_restorer_v2): New.
	* sysdeps/unix/sysv/linux/arm/nptl/Versions
	(__default_sa_restorer_v1, __default_rt_sa_restorer_v1,
	__default_sa_restorer_v2, __default_rt_sa_restorer_v2): Add to
	GLIBC_PRIVATE.
	* sysdeps/unix/sysv/linux/arm/sigaction.c [__ARM_EABI__]
	(__default_sa_restorer_v1, __default_sa_restorer_v2,
	__default_rt_sa_restorer_v1, __default_rt_sa_restorer_v2):
	Declare.
	(__default_sa_restorer, __default_rt_sa_restorer): Define as
	macros depending on kernel version.
2007-05-23 17:33:17 +00:00
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 3c916dad5b * sysdeps/unix/sysv/linux/arm/check_pf.c: New file.
* sysdeps/unix/sysv/linux/arm/eabi/check_pf.c: New file.
2007-01-08 15:06:00 +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 80d6637fd2 * sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h
(RTLD_SINGLE_THREAD_P): Define.
2006-10-31 17:39:02 +00:00
Daniel Jacobowitz c1d7a56c38 * sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h
(DOCARGS_6): Change ".pad #20" to ".pad #16".
2006-10-31 17:21:40 +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 57ba32a810 * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (splice): Update
prototype.
2006-10-31 17:18:09 +00:00
Daniel Jacobowitz d2ff5a57f9 * sysdeps/unix/sysv/linux/arm/kernel-features.h: Remove __i386__
conditional.
2006-10-31 17:09:24 +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 a852b06d97 * sysdeps/unix/sysv/linux/arm/fxstatat.c: New file. 2006-09-22 17:40:26 +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