Commit Graph

282 Commits

Author SHA1 Message Date
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
Phil Blundell
4ce0c8e4c8 2005-10-10 Philip Blundell <philb@gnu.org>
* sysdeps/arm/Makefile, sysdeps/arm/machine-gmon.h,
	sysdeps/arm/_mcount.S: Revert previous bogus changes.
2005-10-10 15:09:14 +00:00
Daniel Jacobowitz
a7ed1adbec * sysdeps/arm/memset.S (memset): Correct handling of negative
arguments.
2005-10-10 15:00:47 +00:00
Phil Blundell
b033155aa9 2005-10-10 Philip Blundell <philb@gnu.org>
* sysdeps/arm/_mcount.S: Suppress profiling when building this
	file.
2005-10-10 14:51:13 +00:00
Phil Blundell
5f7c48c17f 2005-10-09 Phil Blundell <pb@reciva.com>
* sysdeps/arm/Makefile [subdir=gmon] (sysdep_routines): Add
	_mcount.
	* sysdeps/arm/machine-gmon.h (MCOUNT): Replace with empty
	definition.
	(_MCOUNT_DECL): Make linkage global.
	* sysdeps/arm/_mcount.S: New file.
2005-10-09 18:29:25 +00:00
Phil Blundell
609908d770 2005-10-09 Phil Blundell <pb@reciva.com>
* sysdeps/arm/dl-trampoline.S: [PROF] (_dl_runtime_profile):
	Don't compile.  Correct cut'n'paste error with .size.
2005-10-09 18:24:09 +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
Daniel Jacobowitz
b4900b98dc * sysdeps/arm/atomicity.h: Delete.
* sysdeps/arm/bits/atomic.h: New file.
2005-10-05 20:14:10 +00:00
Daniel Jacobowitz
867700cb74 * sysdeps/arm/dl-machine.h (ARCH_LA_PLTENTER,
ARCH_LA_PLTEXIT): Define.
	* sysdeps/arm/ldsodefs.h, sysdeps/arm/tst-audit.h: New files.
2005-10-05 20:13:03 +00:00
Phil Blundell
3bdeb53ad6 2005-06-13 Philip Blundell <philb@gnu.org>
Patch from addsub@eyou.com:
	* sysdeps/arm/ieee754.h: Deleted.
	* sysdeps/arm/gmp-mparam.h: Support VFP and big endian.
	* sysdeps/arm/bits/endian.h: Likewise.
2005-06-13 10:11:47 +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
849e84dde3 2005-05-09 Daniel Jacobowitz <dan@codesourcery.com>
Mark Mitchell  <mark@codesourcery.com>

    	* sysdeps/arm/bits/link.h: New file.
	* sysdeps/arm/dl-trampoline.S: New file.
	* sysdeps/arm/dl-machine.h: Check RESOLVE_MAP instead of RESOLVE.
	(elf_machine_runtime_setup): Check dl_profile before calling
	_dl_name_match_p.
	(ELF_MACHINE_RUNTIME_TRAMPOLINE): Delete.
	(elf_machine_rel, elf_machine_rela): Use RESOLVE_MAP.
	(fix_bad_pc24): Use auto instead of static.
2005-06-10 11:33:52 +00:00
Roland McGrath
39f0b3ca13 * ChangeLog.arm: New file (this one).
* sysdeps/arm, sysdeps/unix/arm, sysdeps/unix/sysv/linux/arm:
	Subdirectories moved here from main repository.
	* sysdeps/arm/preconfigure: New file.
	* sysdeps/arm/shlib-versions: New file.
2005-05-24 06:12:39 +00:00
Roland McGrath
dda081dd50 2005-03-15 Jakub Jelinek <jakub@redhat.com>
* elf/dynamic-link.h (elf_machine_rel, elf_machine_rel_relative,
	elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel):
	Add inline keyword.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative, elf_machine_lazy_rel): Add always_inline
	attribute.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative, elf_machine_lazy_rel): Likewise.  Change
	static inline into auto inline.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative, elf_machine_lazy_rel): Likewise.
	* sysdeps/generic/dl-machine.h (elf_machine_rel, elf_machine_rela):
	Likewise.
	* sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rel_relative,
	elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel):
	Likewise.
2005-03-15 22:57:26 +00:00
Ulrich Drepper
816c550ea5 (ELF_MACHINE_NO_RELA): Define unconditionally to defined RTLD_BOOTSTRAP. 2005-03-06 00:07:58 +00:00
Roland McGrath
c5cb341b72 2005-03-01 Roland McGrath <roland@redhat.com>
[BZ #721]
	* sysdeps/arm/dl-machine.h (ELF_MACHINE_NO_RELA): Define this outside
	of [RESOLVE_MAP].
2005-03-01 20:34:40 +00:00
Ulrich Drepper
e9c3f06f28 * csu/elf-init.c (__libc_csu_fini): Don't do anything here.
* sysdeps/generic/libc-start.c: Don't register program destructor here.

	* dlfcn/Makefile: Add rules to build dlfcn.c.
	(LDFLAGS-dl.so): Removed.
	* dlfcn/dlclose.c: _dl_close is now in ld.so, use function pointer
	table.
	* dlfcn/dlmopen.c: Likewise for _dl_open.
	* dlfcn/dlopen.c: Likewise.
	* dlfcn/dlopenold.c: Likewise.
	* elf/dl-libc.c: Likewise for _dl_open and _dl_close.
	* elf/Makefile (routines): Remove dl-open and dl-close.
	(dl-routines): Add dl-open, dl-close, and dl-trampoline.
	Add rules to build and run tst-audit1.
	* elf/tst-audit1.c: New file.
	* elf/tst-auditmod1.c: New file.
	* elf/Versions [libc]: Remove _dl_open and _dl_close.
	* elf/dl-close.c: Change for use inside ld.so instead of libc.so.
	* elf/dl-open.c: Likewise.
	* elf/dl-debug.c (_dl_debug_initialize): Allow reinitialization,
	signaled by nonzero parameter.
	* elf/dl-init.c: Fix use of r_state.
	* elf/dl-load.c: Likewise.

	* elf/dl-close.c: Add auditing checkpoints.
	* elf/dl-open.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* elf/dl-object.c: Allocate memory for auditing information.
	* elf/dl-reloc.c: Remove RESOLV.  We now always need the map.
	Correctly initialize slotinfo.
	* elf/dynamic-link.h: Adjust after removal of RESOLV.
	* sysdeps/hppa/dl-lookupcfg.h: Likewise.
	* sysdeps/ia64/dl-lookupcfg.h: Likewise.
	* sysdeps/powerpc/powerpc64/dl-lookupcfg.h: Removed.
	* elf/dl-runtime.c (_dl_fixup): Little cleanup.
	(_dl_profile_fixup): New parameters to point to register struct and
	variable for frame size.
	Add auditing checkpoints.
	(_dl_call_pltexit): New function.
	Don't define trampoline code here.
	* elf/rtld.c: Recognize LD_AUDIT.  Load modules on startup.
	Remove all the functions from _rtld_global_ro which only _dl_open
	and _dl_close needed.
	Add auditing checkpoints.
	* elf/link.h: Define symbols for auditing interfaces.
	* include/link.h: Likewise.
	* include/dlfcn.h: Define __RTLD_AUDIT.
	Remove prototypes for _dl_open and _dl_close.
	Adjust access to argc and argv in libdl.
	* dlfcn/dlfcn.c: New file.
	* sysdeps/generic/dl-lookupcfg.h: Remove all content now that RESOLVE
	is gone.
	* sysdeps/generic/ldsodefs.h: Add definitions for auditing interfaces.
	* sysdeps/generic/unsecvars.h: Add LD_AUDIT.
	* sysdeps/i386/dl-machine.h: Remove trampoline code here.
	Adjust for removal of RESOLVE.
	* sysdeps/x86_64/dl-machine.h: Likewise.
	* sysdeps/generic/dl-trampoline.c: New file.
	* sysdeps/i386/dl-trampoline.c: New file.
	* sysdeps/x86_64/dl-trampoline.c: New file.

	* sysdeps/generic/dl-tls.c: Cleanups.  Fixup for dtv_t change.
	Fix updating of DTV.
	* sysdeps/generic/libc-tls.c: Likewise.

	* sysdeps/arm/bits/link.h: Renamed to ...
	* sysdeps/arm/buts/linkmap.h: ...this.
	* sysdeps/generic/bits/link.h: Renamed to...
	* sysdeps/generic/bits/linkmap.h: ...this.
	* sysdeps/hppa/bits/link.h: Renamed to...
	* sysdeps/hppa/bits/linkmap.h: ...this.
	* sysdeps/hppa/i386/link.h: Renamed to...
	* sysdeps/hppa/i386/linkmap.h: ...this.
	* sysdeps/hppa/ia64/link.h: Renamed to...
	* sysdeps/hppa/ia64/linkmap.h: ...this.
	* sysdeps/hppa/s390/link.h: Renamed to...
	* sysdeps/hppa/s390/linkmap.h: ...this.
	* sysdeps/hppa/sh/link.h: Renamed to...
	* sysdeps/hppa/sh/linkmap.h: ...this.
	* sysdeps/hppa/x86_64/link.h: Renamed to...
	* sysdeps/hppa/x86_64/linkmap.h: ...this.
2005-01-06 22:40:24 +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
Roland McGrath
0bec0145c4 2004-08-15 Roland McGrath <roland@frob.com>
* csu/elf-init.c: Update copyright terms including special exception
	for these trivial files, which are statically linked into executables
	that use dynamic linking for the significant library code.
	* io/fstat.c: Likewise.
	* io/fstat64.c: Likewise.
	* io/lstat.c: Likewise.
	* io/lstat64.c: Likewise.
	* io/stat.c: Likewise.
	* io/stat64.c: Likewise.
	* stdlib/atexit.c: Likewise.
	* sysdeps/alpha/elf/initfini.c: Likewise.
	* sysdeps/alpha/elf/start.S: Likewise.
	* sysdeps/arm/elf/start.S: Likewise.
	* sysdeps/cris/elf/start.S: Likewise.
	* sysdeps/generic/initfini.c: Likewise.
	* sysdeps/generic/mknod.c: Likewise.
	* sysdeps/hppa/elf/initfini.c: Likewise.
	* sysdeps/hppa/elf/start.S: Likewise.
	* sysdeps/i386/elf/start.S: Likewise.
	* sysdeps/i386/i686/hp-timing.c: Likewise.
	* sysdeps/ia64/elf/initfini.c: Likewise.
	* sysdeps/ia64/elf/start.S: Likewise.
	* sysdeps/ia64/hp-timing.c: Likewise.
	* sysdeps/m68k/elf/start.S: Likewise.
	* sysdeps/mach/start.c: Likewise.
	* sysdeps/mips/elf/start.S: Likewise.
	* sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
	* sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
	* sysdeps/s390/s390-32/elf/start.S: Likewise.
	* sysdeps/s390/s390-32/initfini.c: Likewise.
	* sysdeps/s390/s390-64/elf/start.S: Likewise.
	* sysdeps/s390/s390-64/initfini.c: Likewise.
	* sysdeps/sh/elf/initfini.c: Likewise.
	* sysdeps/sh/elf/start.S: Likewise.
	* sysdeps/sparc/sparc32/elf/start.S: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
	* sysdeps/sparc/sparc64/elf/start.S: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.c: Likewise.
	* sysdeps/standalone/i386/start.S: Likewise.
	* sysdeps/standalone/i960/start.S: Likewise.
	* sysdeps/standalone/m68k/m68020/start.S: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/osf/alpha/start.S: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/start.c: Likewise.
	* sysdeps/unix/sysv/aix/start.s: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/x86_64/elf/initfini.c: Likewise.
	* sysdeps/x86_64/elf/start.S: Likewise.
2004-08-16 04:51:04 +00:00
Roland McGrath
ba5a329ddd 2004-08-13 Daniel Jacobowitz <dan@debian.org>
* sysdeps/arm/machine-gmon.h (mcount_internal): Mark as
	__attribute_used__.
2004-08-14 06:54:41 +00:00
Roland McGrath
482f870081 2004-06-11 Roland McGrath <roland@redhat.com>
* sysdeps/arm/strlen.S [__ARMEB__]: Compute correctly for big-endian.
	From Krzysztof Halasa <khc@pm.waw.pl>.
2004-06-11 10:15:34 +00:00
Roland McGrath
08b55be5f9 2004-04-29 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/dl-machine.h (RTLD_START): Avoid unnecessary GOT
	entries.
2004-04-29 20:06:49 +00:00
Ulrich Drepper
88aa65dae8 (elf_machine_rela): Don't use INTUSE when calling _dl_signal_error.
(elf_machine_rel): Likewise.
2004-04-22 07:31:08 +00:00
Richard Henderson
154a5429ac * math/Makefile (headers): Add bits/huge_valf.h, bits/huge_vall.h,
and bits/inf.h.
        * math/math.h: Include them.

        * sysdeps/alpha/fpu/bits/mathdef.h, sysdeps/arm/fpu/bits/mathdef.h,
        sysdeps/generic/bits/mathdef.h, sysdeps/i386/fpu/bits/mathdef.h,
        sysdeps/ia64/fpu/bits/mathdef.h, sysdeps/m68k/fpu/bits/mathdef.h,
        sysdeps/mips/fpu/bits/mathdef.h, sysdeps/powerpc/fpu/bits/mathdef.h,
        sysdeps/sh/sh4/fpu/bits/mathdef.h, sysdeps/sparc/fpu/bits/mathdef.h,
        sysdeps/x86_64/fpu/bits/mathdef.h: Remove INFINITY.

        * sysdeps/arm/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
        (HUGE_VALF, HUGE_VALL): Remove.
        * sysdeps/ieee754/bits/huge_val.h: Likewise.
        * sysdeps/sh/bits/huge_val.h: Likewise.

        * sysdeps/generic/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
        * sysdeps/generic/bits/huge_valf.h: New file.
        * sysdeps/generic/bits/huge_vall.h: New file.
        * sysdeps/generic/bits/inf.h: New file.
        * sysdeps/ieee754/bits/huge_valf.h: New file.
        * sysdeps/ieee754/bits/inf.h: New file.
        * sysdeps/i386/bits/huge_val.h: Remove file.
        * sysdeps/i386/bits/huge_vall.h: New file.
        * sysdeps/ia64/bits/huge_val.h: Remove file.
        * sysdeps/ia64/bits/huge_vall.h: New file.
        * sysdeps/ieee754/ldbl-128/bits/huge_vall.h: New file.
        * sysdeps/m68k/bits/huge_val.h: Remove file.
        * sysdeps/m68k/bits/huge_vall.h: New file.
        * sysdeps/s390/bits/huge_val.h: Remove file.
        * sysdeps/sh/sh4/fpu/bits/huge_val.h: Remove file.
        * sysdeps/sparc/bits/huge_vall.h: New file.
        * sysdeps/sparc/sparc32/fpu/bits/huge_val.h: Remove file.
        * sysdeps/sparc/sparc64/fpu/bits/huge_val.h: Remove file.

        * sysdeps/ieee754/bits/nan.h (NAN): Use __builtin_nanf.
        * sysdeps/mips/bits/nan.h (NAN): Likewise.
2004-03-15 21:44:10 +00:00
Ulrich Drepper
cebbd6e78d Use GLRO instead of GL where appropriate. 2004-03-05 10:22:54 +00:00
Ulrich Drepper
b82390a8da (RTLD_START): Remove setting of __libc_stack_end. 2003-09-24 21:08:31 +00:00
Ulrich Drepper
644d82249f (DO_RET): New. 2003-09-17 18:09:36 +00:00
Ulrich Drepper
12a15026b8 (CALL_ROUTINE): Deleted.
(BX): Define.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Optimise a little.
2003-09-17 18:09:25 +00:00
Ulrich Drepper
7e7d334885 Rewrite. 2003-09-14 19:53:42 +00:00
Ulrich Drepper
ab69220d3c (PT_EI): Add __attribute__((always_inline)). 2003-07-31 19:15:42 +00:00
Alexandre Oliva
5027ae109a * elf/dynamic-link.h (elf_machine_rel, elf_machine_rela,
elf_machine_rel_relative, elf_machine_rela_relative): Don't assume
reloc_addr is aligned.
* sysdeps/alpha/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela,
elf_machine_rel_relative, elf_machine_rela_relative): Adjust.
* sysdeps/cris/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/hppa/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela,
elf_machine_rel_relative, elf_machine_rela_relative): Adjust.
* sysdeps/ia64/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/m68k/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/mips/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/powerpc/powerpc64/dl-machine.h
(elf_machine_rela_relative, elf_machine_rela): Adjust.
* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative):
* sysdeps/sh/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/x86_64/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
2003-07-31 06:33:52 +00:00
Ulrich Drepper
79b7c8634d Add libc_hidden_builtin_def. 2003-04-29 22:47:20 +00:00
Roland McGrath
fad367110e 2003-03-23 Jakub Jelinek <jakub@redhat.com>
* sysdeps/alpha/fpu/libm-test-ulps: Update.
	* sysdeps/arm/libm-test-ulps: Update.
	* sysdeps/hppa/fpu/libm-test-ulps: Update.
	* sysdeps/ia64/fpu/libm-test-ulps: Update.
	* sysdeps/mips/fpu/libm-test-ulps: Update.
	* sysdeps/powerpc/nofpu/libm-test-ulps: Update.
	* sysdeps/powerpc/fpu/libm-test-ulps: Update.
	* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.
	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.
	* sysdeps/sh/sh4/fpu/libm-test-ulps: Update.
	* sysdeps/s390/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
2003-03-23 00:52:10 +00:00
Roland McGrath
4208b5c771 2003-03-21 Roland McGrath <roland@redhat.com>
* sysdeps/arm/sysdep.h (CALL_MCOUNT): Add trailing semicolon.
2003-03-21 20:51:59 +00:00
Ulrich Drepper
db16023193 Use libc_hidden_def(name) instead of strong_alias (name, __GI_name). 2002-12-31 20:37:32 +00:00
Ulrich Drepper
044758323b Add __GI__setjmp alias. 2002-12-31 09:35:36 +00:00
Ulrich Drepper
a16ce997aa (_start): Optimise a little. Push stack top as seventh arg to
__libc_start_main.
2002-12-21 18:36:32 +00:00
Roland McGrath
f8a26bed6f 2002-12-08 Roland McGrath <roland@redhat.com>
* elf/Makefile (tests): Uncomment tst-array[123].
	* Makeconfig (CPPFLAGS-.oS): Add -DLIBC_NONSHARED=1.
	* csu/elf-init.c: New file.
	* csu/Makefile (routines, static-only-routines): Add elf-init.
	* sysdeps/alpha/elf/start.S: Use __libc_csu_init in place of _init
	and __libc_csu_fini in place of _fini.
	* sysdeps/arm/elf/start.S: Likewise.
	* sysdeps/cris/elf/start.S: Likewise.
	* sysdeps/hppa/elf/start.S: Likewise.
	* sysdeps/i386/elf/start.S: Likewise.
	* sysdeps/ia64/elf/start.S: Likewise.
	* sysdeps/m68k/elf/start.S: Likewise.
	* sysdeps/mach/hurd/powerpc/static-start.S: Likewise.
	* sysdeps/mips/elf/start.S: Likewise.
	* sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
	* sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
	* sysdeps/s390/s390-32/elf/start.S: Likewise.
	* sysdeps/s390/s390-64/elf/start.S: Likewise.
	* sysdeps/sh/elf/start.S: Likewise.
	* sysdeps/sparc/sparc32/elf/start.S: Likewise.
	* sysdeps/sparc/sparc64/elf/start.S: Likewise.
	* sysdeps/x86_64/elf/start.S: Likewise.
2002-12-09 20:37:24 +00:00
Roland McGrath
d15c9a7856 2002-11-15 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/dl-machine.h (elf_machine_rela): Handle R_386_COPY.
	* sysdeps/arm/dl-machine.h (elf_machine_rela): Handle R_ARM_COPY.
2002-11-15 22:51:20 +00:00
Roland McGrath
a30e09230b 2002-09-28 Roland McGrath <roland@redhat.com>
* sysdeps/mach/hurd/dl-sysdep.c (_dl_important_hwcaps): Use INTUSE for
	_dl_signal_error.
	* sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise.
	* sysdeps/powerpc/powerpc64/dl-machine.c
	(_dl_reloc_overflow): Likewise.
	* sysdeps/arm/dl-machine.h (elf_machine_rel): Likewise.
	(elf_machine_rela): Likewise.
2002-09-28 19:45:29 +00:00
Ulrich Drepper
f756cedbff Not needed anymore. 2002-09-19 06:44:24 +00:00
Ulrich Drepper
280ad607c7 Add libm_hidden_ver. 2002-09-10 01:26:37 +00:00
Ulrich Drepper
bbb3856d85 Avoid unescaped newlines in string constants. 2002-08-28 21:26:20 +00:00
Ulrich Drepper
bc2a913308 Add bits/link.h. 2002-08-27 12:07:22 +00:00
Roland McGrath
f22dc06d3d 2002-08-26 Brian Youmans <3diff@gnu.org>
* crypt/crypt.c: Changed copying permission notice to Lesser GPL
        from Library GPL.
        * crypt/crypt_util.c: Likewise.
        * crypt/ufc.c: Likewise.
        * elf/dl-conflict.c: Likewise.
        * elf/dl-iteratephdr.c: Likewise.
        * iconv/iconvconfig.h: Likewise.
        * linuxthreads/Examples/ex10.c: Likewise.
        * linuxthreads/Examples/ex11.c: Likewise.
        * linuxthreads/Examples/ex13.c: Likewise.
        * linuxthreads/Examples/ex8.c: Likewise.
        * linuxthreads/Examples/ex9.c: Likewise.
        * linuxthreads/barrier.c: Likewise.
        * linuxthreads/events.c: Likewise.
        * linuxthreads/lockfile.c: Likewise.
        * linuxthreads/no-tsd.c: Likewise.
        * linuxthreads/pt-machine.c: Likewise.
        * linuxthreads/ptclock_gettime.c: Likewise.
        * linuxthreads/ptclock_settime.c: Likewise.
        * linuxthreads/rwlock.c: Likewise.
        * linuxthreads/sysdeps/alpha/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/alpha/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/arm/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/arm/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/cris/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/cris/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/hppa/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/hppa/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/i386/i686/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/i386/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/i386/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/i386/useldt.h: Likewise.
        * linuxthreads/sysdeps/ia64/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/ia64/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/m68k/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/m68k/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/mips/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/mips/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/powerpc/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/powerpc/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/pthread/bits/initspin.h: Likewise.
        * linuxthreads/sysdeps/pthread/bits/libc-lock.h: Likewise.
        * linuxthreads/sysdeps/pthread/bits/libc-tsd.h: Likewise.
        * linuxthreads/sysdeps/pthread/getcpuclockid.c: Likewise.
        * linuxthreads/sysdeps/pthread/posix-timer.h: Likewise.
        * linuxthreads/sysdeps/pthread/timer_create.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_delete.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_getoverr.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_gettime.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_routines.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_settime.c: Likewise.
        * linuxthreads/sysdeps/pthread/tst-timer.c: Likewise.
        * linuxthreads/sysdeps/s390/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/s390/s390-32/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/s390/s390-64/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/sh/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sh/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/sparc/sparc32/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sparc/sparc32/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/sparc/sparc32/sparcv9/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sparc/sparc64/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sparc/sparc64/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
        * linuxthreads/tststack.c: Likewise.
        * linuxthreads/unload.c: Likewise.
        * linuxthreads/weaks.c: Likewise.
        * linuxthreads/wrapsyscall.c: Likewise.
        * malloc/arena.c: Likewise.
        * malloc/hooks.c: Likewise.
        * malloc/malloc.c: Likewise.
        * posix/glob/Makefile.am: Likewise.
        * posix/glob/Makefile.in: Likewise.
        * stdlib/gmp-impl.h: Likewise.
        * stdlib/gmp.h: Likewise.
        * sysdeps/generic/dl-iteratephdr-static.c: Likewise.
        * sysdeps/generic/strnlen.c: Likewise.
        * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise.
        * sysdeps/mach/hurd/recvmsg.c: Likewise.
        * sysdeps/mach/hurd/sendmsg.c: Likewise.
        * sysdeps/mach/hurd/spawni.c: Likewise.
        * sysdeps/mach/powerpc/machine-sp.h: Likewise.
        * sysdeps/mach/powerpc/sysdep.h: Likewise.
        * sysdeps/mach/powerpc/thread_state.h: Likewise.
        * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
        * sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: Likewise.
        * sysdeps/x86_64/gmp-mparam.h: Likewise.
2002-08-26 22:39:52 +00:00
Ulrich Drepper
488003cd6b Makefile for arm. 2002-08-12 19:36:38 +00:00
Ulrich Drepper
94c91a35d6 (FIRST_FRAME_POINTER): Define. 2002-07-15 02:08:46 +00:00
Ulrich Drepper
2aac58fcdf (elf_machine_rel): Don't handle
R_ARM_RELATIVE if RTLD_BOOTSTRAP and HAVE_Z_COMBRELOC.  Only check
for rtld map if neither RTLD_BOOTSTRAP nor HAVE_Z_COMBRELOC is defined.
(elf_machine_rela): Remove unused variable.
2002-07-15 02:07:00 +00:00
Ulrich Drepper
37296da75e Protect against multiple inclusion. 2002-04-06 04:05:14 +00:00
Andreas Jaeger
d61bf26511 * sysdeps/i386/pt-machine.h: Add testandset and __compare_and_swap
prototpyes.
	* sysdeps/alpha/pt-machine.h: Likewise.
	* sysdeps/arm/pt-machine.h: Likewise.
	* sysdeps/cris/pt-machine.h: Likewise.
	* sysdeps/hppa/pt-machine.h: Likewise.
	* sysdeps/i386/i686/pt-machine.h: Likewise.
	* sysdeps/ia64/pt-machine.h: Likewise.
	* sysdeps/m68k/pt-machine.h: Likewise.
	* sysdeps/mips/pt-machine.h: Likewise.
	* sysdeps/powerpc/pt-machine.h: Likewise.
	* sysdeps/s390/s390-32/pt-machine.h: Likewise.
	* sysdeps/s390/s390-64/pt-machine.h: Likewise.
	* sysdeps/sh/pt-machine.h: Likewise.
	* sysdeps/sparc/sparc32/pt-machine.h: Likewise.
	* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
	* sysdeps/x86_64/pt-machine.h: Likewise.

	* internals.h: Move testandset and __compare_and_swap prototypes
	to pt-machine.h.
2002-03-17 12:09:54 +00:00
Ulrich Drepper
15a7702daa (__libc_multiple_libcs): Define as hidden. 2002-03-13 03:49:52 +00:00
Ulrich Drepper
ceb7d0bbbe Use rtld_progrname instead of _dl_argv[0]. 2002-03-01 09:43:36 +00:00
Ulrich Drepper
dca9c7304b Add HAVE_VISIBILITY_ATTRIBUTE and HAVE_SDATA_SECTION. 2002-02-28 22:36:33 +00:00
Ulrich Drepper
c577723005 (RTLD_START): Call _dl_init_internal instead of _dl_init. 2002-02-03 00:29:15 +00:00
Ulrich Drepper
f71d7f5726 Move global variables for SHARED code in struct _rtld_global. Export
this struct, remove all exports for the signal variables.
2002-02-01 01:32:06 +00:00
Andreas Jaeger
b6845b6741 (elf_machine_rela): Fix typo in last patch. 2001-12-12 09:02:09 +00:00
Ulrich Drepper
bcb5a520da (elf_machine_runtime_setup): Save original content of .got[1].
(ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
(ELF_MACHINE_PLT_REL): Define.
(elf_machine_rela, elf_machine_rela_relative): New.
(elf_machine_lazy_rel): Reinitialize R_ARM_JUMP_SLOT address instead
of adjusting it if prelinked and prelinking cannot be used.
2001-12-12 00:11:47 +00:00
Ulrich Drepper
ef5f0af552 Arm specific additions to struct link. 2001-12-12 00:11:15 +00:00
Ulrich Drepper
ee448304d6 GCC frame description for Arm. 2001-11-16 01:07:20 +00:00
Ulrich Drepper
d4ef613a24 (elf_machine_rel): Fix thinko in usage of RESOLVE() (r_type, not
reloc->r_type).
2001-09-08 21:31:40 +00:00
Ulrich Drepper
09d4f65308 Fix usage of new _dl_signal_error() format. 2001-09-08 17:16:44 +00:00
Ulrich Drepper
5c6029e5c0 (elf_machine_lookup_noplt_p, elf_machine_lookup_noexec_p): Remove.
(elf_machine_type_class): Define.
2001-08-26 22:26:38 +00:00
Ulrich Drepper
85bdccdbd2 Define elf_machine_rel_relative. Minor optimizations. 2001-08-24 08:43:21 +00:00
Ulrich Drepper
cf9fe93f07 Use __getopt_clean_environment only if USE_NONOPTION_FLAGS is defined. 2001-08-11 20:31:07 +00:00
Ulrich Drepper
17f56d2f9c (elf_machine_runtime_setup): Only set _dl_profile_map for the right object. 2001-08-11 08:54:29 +00:00
Andreas Jaeger
f01ec4673b Put under LGPL v2.1. 2001-07-07 10:13:33 +00:00
Andreas Jaeger
3214b89b32 Update to LGPL v2.1. 2001-07-06 04:56:23 +00:00
Andreas Jaeger
791746df78 Use #function, not @function, for .type of _start. 2001-06-11 07:44:41 +00:00
Andreas Jaeger
13906e12b9 Add .type for the entry point. 2001-06-05 06:20:45 +00:00
Roland McGrath
60446d7a54 2001-06-01 Roland McGrath <roland@frob.com>
* sysdeps/alpha/fpu/fclrexcpt.c: #include <shlib-compat.h>
	and use compat_symbol/versioned_symbol instead of plain
	symbol_version/default_symbol_version.
	* sysdeps/alpha/fpu/fegetenv.c: Likewise.
	* sysdeps/alpha/fpu/fesetenv.c: Likewise.
	* sysdeps/alpha/fpu/feupdateenv.c: Likewise.
	* sysdeps/alpha/fpu/fgetexcptflg.c: Likewise.
	* sysdeps/alpha/fpu/fraiseexcpt.c: Likewise.
	* sysdeps/alpha/fpu/fsetexcptflg.c: Likewise.
	* sysdeps/arm/fpu/fclrexcpt.c: Likewise.
	* sysdeps/arm/fpu/fegetenv.c: Likewise.
	* sysdeps/arm/fpu/fesetenv.c: Likewise.
	* sysdeps/arm/fpu/fraiseexcpt.c: Likewise.
	* sysdeps/arm/fpu/fsetexcptflg.c: Likewise.
	* sysdeps/i386/fpu/fclrexcpt.c: Likewise.
	* sysdeps/i386/fpu/fegetenv.c: Likewise.
	* sysdeps/i386/fpu/fesetenv.c: Likewise.
	* sysdeps/i386/fpu/feupdateenv.c: Likewise.
	* sysdeps/i386/fpu/fgetexcptflg.c: Likewise.
	* sysdeps/i386/fpu/fraiseexcpt.c: Likewise.
	* sysdeps/i386/fpu/fsetexcptflg.c: Likewise.
	* sysdeps/m68k/fpu/fclrexcpt.c: Likewise.
	* sysdeps/m68k/fpu/fegetenv.c: Likewise.
	* sysdeps/m68k/fpu/fesetenv.c: Likewise.
	* sysdeps/m68k/fpu/feupdateenv.c: Likewise.
	* sysdeps/m68k/fpu/fgetexcptflg.c: Likewise.
	* sysdeps/m68k/fpu/fraiseexcpt.c: Likewise.
	* sysdeps/m68k/fpu/fsetexcptflg.c: Likewise.
	* sysdeps/powerpc/fclrexcpt.c: Likewise.
	* sysdeps/powerpc/fpu/fegetenv.c: Likewise.
	* sysdeps/powerpc/fpu/fesetenv.c: Likewise.
	* sysdeps/powerpc/fpu/feupdateenv.c: Likewise.
	* sysdeps/powerpc/fpu/fgetexcptflg.c: Likewise.
	* sysdeps/powerpc/fpu/fraiseexcpt.c: Likewise.
	* sysdeps/powerpc/fpu/fsetexcptflg.c: Likewise.
2001-06-02 05:58:29 +00:00
Ulrich Drepper
dd69124f25 fegetexcept implementation for Arm. 2001-04-22 14:32:20 +00:00