Commit Graph

100 Commits

Author SHA1 Message Date
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
Richard Henderson
e038d690b4 Use <> for math.h and math_private.h everywhere.
Entire tree edited via find | grep | sed.
2012-03-09 16:24:17 -08: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
f84ed68254 Update ChangeLog.hppa.
Add missing entries to ChangeLog.

Signed-off-by: Carlos O'Donell <carlos@systemhalted.org>
2011-10-20 15:09:24 -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
9dd87de7ff Define DEFAULT_STACK_PERMS.
Signed-off-by: Carlos O'Donell <carlos@systemhalted.org>
2011-10-20 14:42:56 -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
5ce24e77ed Add hidden aliases for fenv.h functions.
Add hidden aliases for fegetenv, feupdateenv, and
ftestexcept. This avoids libc needing to go through
the PLT for these functions.

Signed-off-by: Carlos O'Donell <carlos@codesourcery.com>
2011-10-20 14:30:56 -04:00
Carlos O'Donell
2ab0965cb0 Define TLS_DTV_UNALLOCATED for hppa.
Signed-off-by: Carlos O'Donell <carlos@systemhalted.org>
2011-10-20 14:21:00 -04:00
Carlos O'Donell
451398f8b8 Always test for TLS support.
Always test for TLS support on hppa and raise
an error if the TLS support is missing.

Signed-off-by: Carlos O'Donell <carlos@systemhalted.org>
2011-10-20 14:15:51 -04:00
Carlos O'Donell
ab653f4dbe Remove check for HAVE_TLS_SUPPORT
TLS support is now required, remove checks.

Signed-off-by: Carlos O'Donell <carlos@systemhalted.org>
2011-10-20 11:42: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
Andreas Schwab
09272d2c9f hppa: don't call ifunc functions in trace mode 2011-10-05 11:52:45 +02: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
d143075adc Update __set_cr27() to mark r31 clobbered.
The function __set_cr27() uses the `ble`
instruction without marking the link register
r31 as clobbered. This change adds r31 to the
list of clobbers. The TLS thread register is
cr27 and is set by calling __set_cr27().
2010-02-17 09:27:41 -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
057c783bca Implement ELF_MACHINE_LOAD_ADDRESS using PC relative loads.
The current ELF_MACHINE_LOAD_ADDRESS used by the generic
function pointer code was not safe for use before relocation.
The macro has been rewritten to use only PC relative loads.

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

	* sysdeps/hppa/dl-fptr.h: Update copyright year.
	Reduce ELF_MACHINE_BOOT_FPTR_TABLE_LEN to 64.
	Implement ELF_MACHINE_LOAD_ADDRESS using PC relative loads.
2009-11-15 15:11:48 -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
d086703d6c Enable the use of -fPIE on hppa
[BZ #6676] Use PIC relocations in start.S to support the use of -fPIE
on hppa.

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

	[BZ #6676]

	* sysdeps/hppa/elf/start.S: Use R_PARISC_DLTIND* relocations
	to support -fPIE.
2009-11-15 14:30:29 -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
84c54b39d2 2009-04-24 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/hppa/hppa1.1/s_signbit.c: New file.
2009-04-24 20:37:17 +00:00
Carlos O'Donell
ec4cafcbcd 2009-04-23 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/hppa/dl-machine.h: Remove VALID_ELF_OSABI,
	VALID_ELF_ABIVERSION, and VALID_ELF_HEADER.
2009-04-24 02:53:23 +00: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
Carlos O'Donell
370b2f2c97 2009-02-22 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/hppa/dl-machine.h: Use _dl_runtime_profile.
2009-02-22 17:02:14 +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