165 Commits

Author SHA1 Message Date
Carlos O'Donell
2b6c81984b Update copyright year to 2012. 2012-03-22 00:12:30 -04:00
Carlos O'Donell
0e8a8f6d58 [PARISC] small atomic.h optimization
We do not negate the light-weight syscall return and instead
just check for the negative errno value allowing the compiler
to optimize as required.
2012-03-22 00:05:14 -04:00
Paul Eggert
ab84e3ff9c Replace FSF snail mail address by URL. 2012-03-09 23:56:38 +00:00
Carlos O'Donell
a64b8a466b HPPA: Update socket.h, pthreadtypes.h and pthread.h
Synchronize from core libc headers.
2012-03-05 10:37:28 -05:00
Carlos O'Donell
ad8ae7daff HPPA: Initialize EPOLLONESHOT and EPOLLET correctly.
The value of EPOLLONESHOT and EPOLLET should be
initialized with an unsigned value.
2012-01-09 00:47:04 -05:00
Carlos O'Donell
c27dd89f4b HPPA: Update pthread.h
Sync from libc pthread.h to get all the recent
changes including the use of const instead of
__const and __NOTHROWNL where appropriate.
2012-01-08 23:38:50 -05:00
Carlos O'Donell
2f4e78942c HPPA: Use const instead of __const
Adjust sys/epoll.h and sys/timerfd.h to use const
instead of __const.
2012-01-08 23:33:42 -05:00
Carlos O'Donell
f683020445 Update sys/procfs.h.
The signal.h and sys/ucontext.h headers no longer
need to be included directly into procfs.h. This
syncrhonizes this file with other canonical targets
and makes maintenance easier.

Signed-off-by: Carlos O'Donell <carlos@systemhalted.org>
2011-10-21 12:16:52 -04:00
Carlos O'Donell
8cb8321faf Update cancellable assembly system call wrappers.
This patch updates sysdep-cancel.h to include the
new no-cancel wrapper and provides CFI directives
for all of the assembly. The CFI directives should
allow unwinding information to be generated.

Signed-off-by: Carlos O'Donell <carlos@sytemhalted.org>
2011-10-21 10:08:04 -04:00
Carlos O'Donell
25f991b858 Remove hppa linuxthreads support.
We now require NPTL and TLS to build glibc therefore
the hppa linuxthreads support is no longer needed.
Debian has already transitioned to NPTL support and
we will continue to work out NPTL issues.

Signed-off-by: Carlos O'Donell <carlos@systemhalted.org>
2011-10-20 14:49:52 -04:00
Carlos O'Donell
930046be6f Syncrhonize fcntl.h with canonical source.
Update fcntl.h to match canonical i386 fcntl.h, but
update constants to match hppa linux kernel values.

Signed-off-by: Carlos O'Donell <carlos@systemhalted.org>
2011-10-20 14:37:02 -04:00
Carlos O'Donell
db6a567d0d Add hppa values for *_CLOEXEC and *_NONBLOCK
The following patch adds hppa specific files
that define the various _CLOEXEC and _NONBLOCK
values in order to match the ones from the kernel.

Signed-off-by: Guy Martin <gmsoft@tuxicoman.be>
Tested-by: Carlos O'Donell <carlos@systemhalted.org>
2011-10-20 11:23:02 -04:00
Carlos O'Donell
3680f14a7d [hppa] Fix incorrect stack frame usage in vfork.
In a multithreaded environment the call to vfork was
incorrectly creating a stack frame. Given that the
child unwinds the stack frame first to call exec, it
will corrupt any values the parent stored in the stack
frame. The solution is to avoid creating a stack frame
unless required to call an error function, in which case
we are assured no child was created.
2010-06-24 12:13:36 -04:00
Carlos O'Donell
131fafa7da [hppa] Fix *context stack usage for varargs
The getcontext, and setcontext functions should
not adjust the stack, and should load the stack
pointer from the machine context. Calling makecontext
should create a frame for spilled incoming arguments,
and sync uc_stack.ss_sp to the machine context.
We do not support calling getcontext, modifying ss_sp,
and calling setcontext directly.
2010-06-23 17:03:11 -04:00
Andreas Schwab
c14e796ff6 hppa: Update nptl/pthread.h to match generic file 2010-06-07 14:46:19 +02:00
Carlos O'Donell
3af825d53b hppa: Define MSG_WAITFORONE.
Signed-off-by: Carlos O'Donell <carlos@codesourcery.com>
2010-03-31 13:52:39 -04:00
Matt Turner
f3ed03373a Fix SOCK_CLOEXEC on HPPA to match O_CLOEXEC.
The kernel defines SOCK_CLOEXEC as
include/linux/net.h:#define SOCK_CLOEXEC        O_CLOEXEC
arch/parisc/include/asm/fcntl.h:#define O_CLOEXEC   010000000

But glibc was defining
sysdeps/unix/sysv/linux/hppa/bits/socket.h:  SOCK_CLOEXEC = 01000000,

Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: Carlos O'Donell <carlos@codesourcery.com>
2010-02-17 09:52:26 -05:00
Carlos O'Donell
317d0e66a0 Define MADV_MERGEABLE and MADV_UNMERGEABLE.
Add MADV_MERGEABLE and MADV_UNMERGEABLE to bits/mman.h,
matching HPPA values used in Linux kernel 2.6.32.
2010-02-17 09:27:42 -05:00
Carlos O'Donell
40215fde03 Add unlimited argument support to makecontext()
The initial implementation of makecontext()
supported only 8 arguments. This change adds
support for unlimited argument processing given
a large enough stack.
2010-02-17 09:27:40 -05:00
Carlos O'Donell
fa1b9bae63 Fix SOCK_CLOEXEC for accept4
Adjust the value of SOCK_CLOEXEC to match the kernel
value used for accept4. This has never worked in the
past, and all old applications are broken, therefore
we change this value to match the kernel value.
2010-02-01 17:55:00 -05:00
Carlos O'Donell
cbbda7adb2 Adjust errlist-compat to 257 for GLIBC_2.12
Added definitions for EOWNERDEAD, ENOTRECOVERABLE
and ERFKILL.
2010-02-01 17:54:59 -05:00
Carlos O'Donell
b8eca7ff8c Update constants and rearrange file.
Update F_SETOWN_EX and F_GETOWN_EX. Rearrange
the file to match other targets, reducing future
diffs against other targets and making maintenance
easier.
2010-02-01 17:54:58 -05:00
Carlos O'Donell
b80ec53691 Add correct aligment to pthread_*_t structures.
In the switch to NPTL the pthrad_mutex_t, pthread_cond_t,
and pthread_rwlock_t structures were made binary compatible
with the Linuxthread versions. However, their aligment when
embedded in other structures was changed. When rebuilding
libstdc++ this was detected, and the following changes return
the structures to their original Linuxthreads alignments.

2009-11-25  Carlos O'Donell  <carlos@codesourcery.com>

	* sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h:
	Use correct alignment for pthread_mutex_t, pthread_cond_t,
	and pthread_rwlock_t.
2009-11-25 18:18:56 -05:00
Carlos O'Donell
8fe357d5c6 Avoid warnings when including atomic.h.
Cast oldval to the same type as ret to avoid warnings when
including atomic.h.

2009-11-22  Carlos O'Donell  <carlos@codesourcery.com>

	* sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Avoid warnings
	by casting oldval to int.
2009-11-25 18:17:27 -05:00
Carlos O'Donell
b8b2e2b9d1 Move socket.h to bits/socket.h
Place socket.h in the correct location.

2009-11-15  Carlos O'Donell  <carlos@codesourcery.com>

	[BZ #6676]

	* sysdeps/unix/sysv/linux/hppa/socket.h: Move from here...
	* sysdeps/unix/sysv/linux/hppa/bits/socket.h: ... to here.
2009-11-15 15:53:20 -05:00
Carlos O'Donell
c832a3a9b7 Update bits/fcntl.h for hppa.
Define values for F_GETOWN_EX and F_SETOWN_EX.
Define fallocate64@@GLIBC_2.11 and provide declarations
in fcntl.h with appropriate aliases.

2009-11-15  Carlos O'Donell  <carlos@codesourcery.com>

	* sysdeps/unix/sysv/linux/hppa/Versions (libc): Add
	fallocate64@@GLIBC_2.11.
	* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
	[__USE_GNU]: Define F_GETOWN_EX, and F_SETOWN_EX.
	[!__USE_FILE_OFFSET64]: Define fallocate.
	[__USE_FILE_OFFSET64 && __REDIRECT]: Define __REDIRECT.
	[__USE_FILE_OFFSET64 && !__REDIRECT]: Define fallocate as
	fallocate64.
	[__USE_LARGEFILE64]: define fallocate64.
2009-11-15 15:46:46 -05:00
Carlos O'Donell
a2ed3d2a8e Remove constants which are now defined in generic file.
Several constants are now defined in a generic file and no longer
need to be defined in the hppa specific file.

2009-11-15  Carlos O'Donell  <carlos@codesourcery.com>

	* sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:
	Remove FUTEX_WAITERS, FUTEX_OWNER_DIED, and FUTEX_TID_MASK.
2009-11-15 14:36:46 -05:00
Carlos O'Donell
926d329540 Fix socket constants.
[BZ #10527] Provide corrected socket constants that match the
kernel values.

2009-11-15  Carlos O'Donell  <carlos@codesourcery.com>
	    Aurelian Jarno  <aurelien@aurel32.net>

	[BZ #10527]

	* sysdeps/unix/sysv/linux/hppa/socket.h: New file.
2009-11-15 14:33:51 -05:00
Carlos O'Donell
8ef75725ce Use LIBGCC_S_SO to override generic version.
[BZ #10920] Use the new generic override to specify the hppa
specific libgcc_s.so.4 version number. Remove the files which
hppa no longer has to duplicate in order to accomplish
overriding libgcc_s.so version number.

2009-11-08  Carlos O'Donell  <carlos@codesourcery.com>

	[BZ #10920]

	* sysdeps/hppa/libgcc_s.h: New file.
	* sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c: Remove.
	* sysdeps/unix/sysv/linux/hppa/nptl/unwind-resume.c: Remove.
2009-11-15 14:19:25 -05:00
Carlos O'Donell
be0f2008ac Implement new NPTL POSIX Threads ABI for HPPA.
This version of the NPTL POSIX thread ABI for hppa does
not break backwards compatibility with the the old
Linuxthreads ABI, and is therefore suitable for release
by distributions.

	sysdeps/unix/sysv/linux/hppa/
	* internaltypes.h: New file.

	sysdeps/unix/sysv/linux/hppa/nptl/
	* pthreadP.h: New file.
	* pthread.h: New file.
	* pthread_cond_broadcast.c: New file.
	* pthread_cond_destroy.c: New file.
	* pthread_cond_init.c: New file.
	* pthread_cond_signal.c: New file.
	* pthread_cond_timedwait.c: New file.
	* pthread_cond_wait.c: New file.
	* bits/pthreadtypes.h: Make pthread_mutex_t,
	pthread_rwlock_t, and pthread_cond_t backwards
	compatible.
2009-09-08 14:32:53 -04:00
Carlos O'Donell
783398d8c2 2009-04-23 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Do not include
	sysdep.h. Document the reason for other includes.
2009-04-24 02:50:30 +00:00
Carlos O'Donell
fa34de4116 2009-04-23 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/unix/sysv/linux/hppa/sysdep.h [!__ASSEMBLER__]:
	Include errno.h.
2009-04-24 02:48:15 +00:00
Carlos O'Donell
6f5d2fa8aa 2009-02-25 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h:
	Adjust comment. Sort macros alphabetically. Remove old
	lock comments.
2009-02-26 21:36:13 +00:00
Carlos O'Donell
8ff04e6454 2009-02-25 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c:
	Update from nptl/sysdeps/pthread/unwind-forcedunwind.c
	* sysdeps/unix/sysv/linux/hppa/nptl/unwind-resume.c:
	Update from nptl/sysdeps/pthread/unwind-resume.c
2009-02-26 21:29:22 +00:00
Carlos O'Donell
cdc618aab4 2009-02-25 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Define
	FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME,
	and FUTEX_BITSET_MATCH_ANY.
2009-02-26 19:46:02 +00:00
Carlos O'Donell
d4bf22dbef 2009-02-22 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/unix/sysv/linux/hppa/Versions: Add missing bracket.
2009-02-22 17:15:19 +00:00
Joseph Myers
b3862ba3c8 2009-02-13 Khem Raj <raj.khem@gmail.com>
* sysdeps/unix/sysv/linux/hppa/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.
2009-02-13 17:34:30 +00:00
Carlos O'Donell
ab4340a815 2009-02-09 Arthur Loiret <aloiret@debian.org>
[BZ #9717]

	* sysdeps/unix/sysv/linux/hppa/linuxthreads/malloc-machine.h
	(MALLOC): Adjust __libc_tsd_define arguments.
	(tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get}
	arguments.
2009-02-09 20:27:56 +00:00
Carlos O'Donell
5bccf60972 2008-08-07 Helge Deller <deller@gmx.de>
* 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-08-07 23:52:34 +00:00
Carlos O'Donell
2906e90e24 2008-06-17 Aurelian Jarno <aurelien@aurel32.net>
Carlos O'Donell  <carlos@systemhalted.org>

	[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 11:45:52 +00:00
Carlos O'Donell
6f85344ee3 2008-06-17 Guy Martin <gmsoft@tuxicoman.be>
[BZ #5957]
	* sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:
	Use shared futex in lll_wait_tid().
2008-06-17 11:44:25 +00:00
Daniel Jacobowitz
89e412f535 * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Fix comment describing
shmid_ds.

	* sysdeps/unix/sysv/linux/mips/bits/shm.h: Fix comment describing
	shmid_ds.
2008-04-21 15:45:00 +00:00
Carlos O'Donell
f6fe80ef8d 2008-04-04 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Remove
	memory contraint and instead indicate that *mem is
	written to.
2008-04-04 18:57:47 +00:00
Carlos O'Donell
b5186f3bba 2008-03-24 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/unix/sysv/linux/hppa/sys/user.h: New file.
2008-03-24 13:07:56 +00:00
Carlos O'Donell
ad9393f0e1 2008-03-14 Carlos O'Donell <carlos@codesourcery.com>
Guy Martin <gmsoft@tuxicoman.be>

	[BZ #5923]
	* sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Pass
	timespec and futexp.
2008-03-14 23:40:55 +00:00
Carlos O'Donell
9d9e479801 2008-02-22 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/unix/sysv/linux/hppa/Makefile: Remove.
	* sysdeps/hppa/nptl/Makefile: Set tst-oddstacklimit-ENV.
2008-02-23 01:18:18 +00:00
Jeff Bailey
9cd7e988d3 2007-12-05 Jeff Bailey <jeffbailey@google.com>
* sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h
          (__lll_unlock): Use define instead of inline function.
          (__lll_robust_unlock): Likewise.
2007-12-09 02:20:34 +00:00
Daniel Jacobowitz
7e0bd9eb99 Define F_DUPFD_CLOEXEC. 2007-10-22 13:11:49 +00:00
Carlos O'Donell
a732ab4917 2007-10-18 Carlos O'Donell <carlos@systemhalted.org>
* 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-19 01:47:47 +00:00
Carlos O'Donell
d3fad32baf 2007-10-17 Carlos O'Donell <carlos@systemhalted.org>
* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Correct return value
	type and __THROW marker of splice, vmsplice, and tee.
2007-10-18 02:19:00 +00:00