2008-08-07 Helge Deller * sysdeps/unix/sysv/linux/hppa/ucontext_i.sym: New file. * sysdeps/unix/sysv/linux/hppa/Makefile: New file. * sysdeps/unix/sysv/linux/hppa/getcontext.S: New file. * sysdeps/unix/sysv/linux/hppa/makecontext.c: New file. * sysdeps/unix/sysv/linux/hppa/setcontext.S: New file. * sysdeps/unix/sysv/linux/hppa/swapcontext.c: New file. 2008-06-17 Aurelian Jarno Carlos O'Donell [BZ #6037] * sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Check for -11 (-EAGAIN) instead of 11. Loop again when the kernel returns -45 (-EDEADLOCK). Add back memory clobber. Do not initialize lws_ret and lws_errno. 2008-06-17 Guy Martin [BZ #5957] * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Use shared futex in lll_wait_tid(). 2008-05-12 Aurelien Jarno [BZ #6506] * sysdeps/hppa/fpu/fesetenv.c: bufptr is always read, temp is read while writing back status word. 2008-04-21 Daniel Jacobowitz * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Fix comment describing shmid_ds. 2008-04-04 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Remove memory contraint and instead indicate that *mem is written to. 2008-03-24 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/sys/user.h: New file. 2008-03-14 Carlos O'Donell Guy Martin [BZ #5923] * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Pass timespec and futexp. 2008-02-22 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/Makefile: Remove. * sysdeps/hppa/nptl/Makefile: Set tst-oddstacklimit-ENV. 2007-12-05 Jeff Bailey * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h (__lll_unlock): Use define instead of inline function. (__lll_robust_unlock): Likewise. 2007-10-22 Daniel Jacobowitz * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (F_DUPFD_CLOEXEC): Define. 2007-10-18 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.c (__lll_lock_wait): Add private argument. Pass private to lll_futex_wait. Use atomic_compare_and_exchange_val_acq. (__lll_lock_wait_private): New function. (__lll_timedlock_wait): Add private argument. Pass private to lll_futex_timed_wait. * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Include kernel-features.h and tls.h. (FUTEX_WAITERS): Define. (FUTEX_OWNER_DIED): Define. (FUTEX_TID_MASK): Define. (__lll_private_flag): Define. (lll_futex_timed_wait): Use __lll_private_flag. (lll_futex_wake): Use __lll_private_flag. (lll_futex_requeue): Use __lll_private_flag. (lll_robust_mutex_dead): Rename to... (lll_robust_dead): ... this. Add private argument. Pass private to lll_futex_wake. (lll_futex_wake_unlock): Use __lll_private_flag. (__lll_mutex_trylock): Remove. (lll_mutex_tryock): Remove. (__lll_robust_mutex_trylock): Rename to... (__lll_robust_trylock): ... this. (lll_robust_mutex_trylock): Rename to... (lll_robust_trylock): ... this. Call __lll_robust_trylock. (__lll_mutex_cond_trylock): Rename to... (__lll_cond_trylock): ... this. (lll_mutex_cond_trylock): Rename to... (lll_cond_trylock): ... this. Call __lll_cond_trylock. (__lll_mutex_lock): Add private argument. (__lll_robust_mutex_lock): Remove. (lll_mutex_lock): Define. (__lll_robust_lock): Define. (lll_robust_mutex_lock): Remove. (__lll_mutex_cond_lock): Remove. (lll_robust_lock) Define. (lll_robust_cond_lock): Define. (lll_robust_mutex_cond_lock): Remove. (__lll_cond_lock): Define. (lll_cond_lock): Define. (__lll_mutex_timedlock): Remove. (__lll_timedlock): Define. (lll_timedlock): Define. (lll_robust_mutex_timedlock): Remove. (lll_robust_timedlock): Define. (__lll_mutex_unlock): Remove. (__lll_unlock): Define. (__lll_robust_mutex_unlock): Remove. (__lll_robust_unlock): Define. (lll_robust_mutex_unlock): Remove. (lll_robust_unlock): Define. (__lll_mutex_unlock_force): Remove. (lll_mutex_unlock_force): Remove. (lll_islocked): Remove. (lll_mutex_islocked): Rename to... (lll_islocked): ... this. (lll_trylock): Remove. (lll_unlock): Remove. (lll_wait_tid): Format whitespace. (lll_cond_wait): Remove. (lll_cond_timedwait): Remove. (lll_cond_wake): Remove. (lll_cond_broadcast): Remove. 2007-10-17 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Correct return value type and __THROW marker of splice, vmsplice, and tee. 2007-09-24 Carlos O'Donell * sysdeps/hppa/nptl/tls.h: Fix comment. * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Fix comment format. [__USE_GNU] (O_CLOEXEC): Define. * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Issue error if the library is unsupported. [ASSEMBLER && IS_IN_librt]: Define CENABLE, CDISABLE, and __local_multiple_threads. 2007-08-03 Aurelien Jarno * sysdeps/unix/sysv/linux/hppa/linuxthreads/sysdep-cancel.h: (__local_multiple_threads): Declare as hidden only in libc and in libpthread. 2007-07-28 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/nptl/internaltypes.h: Remove. * sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Split __flags into __pad2, __pad1, __shared, and __flags. Update comments. Update copyright. * sysdeps/hppa/nptl/tls.h: Define THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSOPE_FLAG_WAIT, THREAD_GSCOPE_RSEET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT. Update copyright. * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.c: Update copyright. (__lll_lock_wait): Call lll_futex_wait with LLL_SHARED. (__lll_timedlock_wait): Call lll_futex_timed_wait with LLL_SHARED. (lll_unlock_Wake_cb): Use lll_private_futex_wake. (___lll_timedwait_tid): Call lll_futex_timed_wait with LLL_SAHRED. * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Define FUTEX_PRIVATE_FLAG, LLL_PRIVATE, LLL_SHARED, lll_private_futex_wait, lll_private_futex_timed_wait, lll_private_Futex_wake. Add private argument to lll_futex_wait, lll_futex_timed_wait, lll_futex_wake, lll_futex_wake_unlock. * sysdeps/unix/sysv/linux/hppa/nptl/pthread_once.c: Update copyright. (clear_once_control): Use lll_private_futex_wake. (__pthread_once): Use lll_private_futex_wait, and lll_private_futex_wake. 2007-07-28 Randolph Chung * sysdeps/hppa/nptl/tls.h (DB_THREAD_SELF): Fix definition. 2007-06-16 Jeff Bailey * sysdeps/unix/sysv/linux/hppa/sys/procfs.h: Don't include asm/elf.h. Declare elf_greg_t, elf_gregset_t, elf_fpreg_t, and elf_fpregset_t. 2007-06-16 Jeff Bailey * sysdeps/unix/sysv/linux/hppa/nptl/configure.in: Require at least kernel 2.6.9. * sysdeps/unix/sysv/linux/hppa/nptl/configure: Rebuilt. 2007-05-17 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/nptl/bits/semaphore.h (SEM_VALUE_MAX): Remove. 2007-05-17 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/sysdep.h (PIC_REG_DEF): Define. (PIC_REG_USE): Define. (INLINE_SYSCALL): Use PIC_REG_DEF, PIC_REG_USE. (INTERNAL_SYSCALL): Likewise. (INTERNAL_SYSCALL_NCS): Likewise. * sysdeps/unix/sysv/linux/hppa/sysdep.c (syscall): Use PIC_REG_DEF, PIC_REG_USE. 2007-05-01 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/linuxthreads/bits/pthreadtypes.h [__USE_XOPEN2K]: Define pthread_rwlock_t and pthread_rwlockattr_t. 2007-02-02 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/sysdep.h (PTR_MANGLE): Define. (PTR_DEMANGLE): Define. 2007-02-02 Guy Martin * sysdeps/hppa/dl-trampoline.S (_dl_runtime_profile): Add cfi_endproc. 2006-12-03 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Remove non-atomic versions. Adjust jump target to '0b'. 2006-12-03 Carlos O'Donell * sysdeps/hppa/Makefile: Set long-double-fcts to `no'. * sysdeps/hppa/fpu/libm-test-ulps: Regenerate. * sysdeps/hppa/fpu/bits/mathdef.h: New file. 2006-11-10 Carlos O'Donell * sysdeps/hppa/nptl/pthread_spin_init.c: New file. * sysdeps/hppa/nptl/pthread_spin_unlock.c: Remove strong alias to pthread_spin_init. * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Define RTLD_SINGLE_THREAD_P. 2006-09-20 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (splice): Add offin and offout arguments to the prototype. 2006-09-15 Carlos O'Donell * sysdeps/hppa/nptl/tcb-offsets.sym: Define TID_THREAD_OFFSET. * sysdeps/unix/sysv/linux/hppa/clone.S: Handle RESET_PID, and restore r19 before call to _exit. * sysdeps/unix/sysv/linux/hppa/nptl/clone.S: New file. 2006-09-13 Carlos O'Donell * sysdeps/hppa/dl-machine.h (RTLD_START): Comment the use of _dl_fini_plabel. * sysdeps/hppa/elf/start.S: Correctly pass r23 to argument 6 of __libc_start_main. Comment the order of arguments at entry and those to __libc_start_main. 2006-09-07 Carlos O'Donell * sysdeps/hppa/dl-machine.h (elf_machine_fixup_plt): Remove lvalue cast. * sysdeps/hppa/dl-trampoline.S (_dl_fixup): Correct stack usage. (_dl_runtime_profile): LA fixups. * sysdeps/unix/sysv/linux/hppa/clone.S: Correct stack usage. Return -1 on error. Use branch and link for error handler funciton. * sysdeps/unix/sysv/linux/hppa/sysdep.h: Correct stack usage. Avoid register shuffling. * sysdeps/unix/sysv/linux/hppa/bits/atomic.h (ASM_EAGAIN): Define as -EAGAIN. * sysdeps/unix/sysv/linux/hppa/bits/mman.h: Adjust definitions to match required standards. * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h (lll_futex_wait): Return __ret. (lll_futex_timed_wait): Likewise. (lll_futex_wake): Likewise. (lll_futex_requeue): Likewise. * sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S: Correct stack usage and adjust error return. * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Adjust stack usage for gdb, and avoid extra register loads. * sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c: Copy nptl/sysdeps/pthread/unwind-forcedunwind.c. (LIBGCC_SO): Define and use. * sysdeps/unix/sysv/linux/hppa/nptl/unwind-resume.c: Copy nptl/sysdeps/pthread/unwind-resume.c. (LIBGCC_SO): Define and use. 2006-08-13 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h (FUTEX_LOCK_PI, FUTEX_UNLOCK_PI, FUTEX_TRYLOCK_PI): Define. 2006-07-24 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h: __SIZEOF_PTHREAD_COND_T is 64 bytes. Remove __PAD_ATOMIC_LOCK_T. 2006-07-18 Carlos O'Donell * sysdeps/hppa/nptl/pthread_spin_lock.c (pthread_spin_lock): Swap newval and oldval. * sysdeps/hppa/nptl/pthread_spin_trylock.c (pthread_spin_trylock): Likewise. 2006-07-16 Jeff Bailey * sysdeps/hppa/tst-audit.h: New file. 2006-07-16 Carlos O'Donell * sysdeps/hppa/tls-macros.h: Cleanup formatting. 2006-07-15 Jeff Bailey * sysdeps/hppa/nptl/tls.h (TLS_INIT_TP): Return NULL. 2006-07-13 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/xstat.c: New file. * sysdeps/unix/sysv/linux/hppa/lxstat.c: Likewise. * sysdeps/unix/sysv/linux/hppa/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/hppa/fxstatat.c: Likewise. 2006-07-13 Carlos O'Donell * sysdeps/hppa/nptl/Makefile: New file * sysdeps/hppa/nptl/jmpbuf-unwind.h: Likewise * sysdeps/hppa/nptl/pthread_spin_lock.c: Likewise * sysdeps/hppa/nptl/pthread_spin_trylock.c: Likewise * sysdeps/hppa/nptl/pthread_spin_unlock.c: Likewise * sysdeps/hppa/nptl/pthreaddef.h: Likewise * sysdeps/hppa/nptl/tcb-offsets.sym: Likewise * sysdeps/hppa/nptl/tls.h: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/bits: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/createthread.c: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/fork.c: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/internaltypes.h: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/libc-lowlevellock.c: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.c: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/pt-initfini.c: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/pthread_once.c: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c: Likewise * sysdeps/unix/sysv/linux/hppa/nptl/unwind-resume.c: Likewise 2006-06-08 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/Versions: new errlist compat entry for up to 256 errnos 2006-06-08 Carlos O'Donell * sysdeps/hppa/hppa1.1/Implies: Remove ieee754/ldbl-128. * sysdeps/unix/sysv/linux/hppa/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020609]: Define __ASSUME_LWS_CAS. * sysdeps/unix/sysv/linux/hppa/bits/atomic.h: New file. 2006-06-08 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Reformat (SPLICE_F_MOVE, SPLICE_F_NONBLOCK, SPLICE_F_MORE, SPLICE_F_GIFT): Define. 2006-05-24 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/clone.S: .LerrorRest is a label. 2006-05-24 Carlos O'Donell * sysdeps/hppa/ldsodefs.h: New file. * sysdeps/unix/sysv/linux/hppa/bits/mman.h: Only define MADV_* macros when __USE_BSD is present. (MADV_REMOVE, MADV_DONTFORK, MADV_DOFORK): Define. 2006-05-15 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/clone.S: Accept extra arguments required for NPTL. * sysdeps/unix/sysv/linux/hppa/sysdep.c: Use var args for 6 arg syscall. * sysdeps/unix/sysv/linux/hppa/sysdep.h: Move DOARGS and UNDOARGS into PSEUDO_*'s. (ENTRY_LEAF): Define. (PSEUDO_NOERRNO, PSEUDO_ERRVAL): Use ENTRY_LEAF. (DO_CALL): Create frame. 2006-05-15 Carlos O'Donell * sysdeps/hppa/dl-machine.h: Include tls.h (elf_machine_fixup_plt): Returns fdesc. (elf_machine_profile_fixup_plt): Remove. (elf_machine_plt_value): Returns fdesc. (elf_machine_runtime_setup): Check that dl_profile != NULL. (ARCH_LA_PLTENT, ARCH_LA_PLTEXIT): Define. (RTLD_START): Use iitlbp with sr0. (elf_machine_type_class): Include TLS relocs. (reassemble_21, reassemble_14): Define. (elf_machine_rela): Add DIR21L, DIR14R, PLABEL21L, PLABEL14R, TLS_DTPMOD32, TLS_TPREL32, TLS_DTPOFF32 support. (TRAMPOLINE_TEMPLATE): Move to ... * sysdeps/hppa/dl-trampoline.S: ... here. * sysdeps/hppa/abort-instr.h: Use iitlbp with sr0. * sysdeps/hppa/dl-lookupcfg.h: Inlcude dl-fptr.h. (DL_FIXUP_VALUE_TYPE, DL_FIXUP_MAKE_VALUE, DL_FIXUP_VALUE_CODE_ADDR, DL_FIXUP_VALUE_ADD, DL_FIXUP_ADDR_VALUE): Define. * sysdeps/hppa/sysdep.h: Use "!" as a separator. Cleanup comments. * sysdeps/hppa/bits/link.h (La_hppa_regs, La_hppa_retval): Define. Define prototypes for la_hppa_gnu_pltenter and la_hppa_gnu_pltexit. 2006-04-27 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Include uio.h, and define vmsplice. 2006-04-21 Carlos O'Donell * sysdeps/hppa/dl-tls.h: New file * sysdeps/hppa/libc-tls.c: Likewise. * sysdeps/hppa/tls-macros.h: Likewise. * sysdeps/hppa/elf/configure: Likewise. * sysdeps/hppa/elf/configure.in: Likewise. 2006-04-20 Carlos O'Donell * sysdeps/hppa/fpu/fclrexcpt.c (feclearexcept): Use union to align parameters. Specify memory clobbers. * sysdeps/hppa/fpu/fedisblxcpt.c (fedisableexcept): Likewise. * sysdeps/hppa/fpu/feenablxcpt.c (feenableexcept): Likewise. * sysdeps/hppa/fpu/fegetenv.c (fegetenv): Do not save exception register. Use memcpy to align buffer. * sysdeps/hppa/fpu/fegetexcept.c (fegetexcept): Store and reload fr0. Use union to align parameters. * sysdeps/hppa/fpu/fegetround.c (fegetround): Likewise. * sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Do not save exception registers. Define libm_hidden_def. * sysdeps/hppa/fpu/fesetenv.c (fesetenv): Do not save exception registers. * sysdeps/hppa/fpu/fesetround.c (fesetround): Use union to align parameters, speficy memory clobbers. Define libm_hidde_def * sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Use union to align parameters. Use memcpy to align buffer. * sysdeps/hppa/fpu/fgetexcptflg.c (fegetexceptflag): Likewise. * sysdeps/hppa/fpu/fsetexcptflg.c (fesetexceptflag): Likewise. * sysdeps/hppa/fpu/ftestexcept.c (fetestexcept): Likewise. * sysdeps/hppa/fpu/libm-test-ulps: Update. * sysdeps/hppa/fpu/bits/fenv.h: Add ABI comments. 2006-04-19 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_GNU]: Define MMAP_FIXED. * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h [__USE_GNU]: Define SYNC_FILE_RANGE_WAIT_BEFORE, SYNC_FILE_RANGE_WRITE, SYNC_FILE_RANGE_WAIT_AFTER, sync_file_range, splice, tee. 2006-04-19 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/kernel-features.h: New file. 2006-04-19 Carlos O'Donell * sysdeps/hppa/linuxthreads/pspinlock.c: New file. * sysdeps/hppa/linuxthreads/pt-machine.h: Likewise. * sysdeps/hppa/linuxthreads/tls.h: Likewise. * sysdeps/unix/sysv/linux/hppa/linuxthreads/aio_cancel.c: Likewise. * sysdeps/unix/sysv/linux/hppa/linuxthreads/malloc-machine.h: Likewise. * sysdeps/unix/sysv/linux/hppa/linuxthreads/pt-initfini.c: Likewise. * sysdeps/unix/sysv/linux/hppa/linuxthreads/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/hppa/linuxthreads/bits/initspin.h: Likewise. * sysdeps/unix/sysv/linux/hppa/linuxthreads/bits/pthreadtypes.h: Likewise. 2006-02-28 Roland McGrath * sysdeps/hppa/shlib-versions: New file. * sysdeps/hppa/preconfigure: New file.