Commit Graph

105 Commits

Author SHA1 Message Date
Carlos O'Donell 18bbce4028 hppa: Rename all *.s to *.S.
Top-level is removing the rule for *.s, therefore
we change all of our files to *.S. There was no
reason not to use *.S.
2012-05-19 18:54:43 +02:00
Carlos O'Donell 0d9130fc21 hppa: Use new libgcc_so in shlib-versions.
The version of libcc.so used is now controlled via
shlib-versions.
2012-05-19 18:54:42 +02:00
Carlos O'Donell cfdc17edd4 hppa: Build fixes for STT_GNU_IFUNC.
Stub out enough files to allow the hppa
port to build without STT_GNU_IFUNC.
2012-04-17 06:01:19 +02:00
Carlos O'Donell dde6fc785a hppa: Remove relocation in OPD handling code.
A current bug in the hppa binutils code causes
relative relocations to be mixed with OPD relocations.

The OPD handling code in ld.so requires a relocation to
setup one of the data structures.

At startup ld.so tries to use the structure to handle
an OPD relocation *before* the structure is completely
setup by the relative relocation and this causes a crash.

This code is a workaround and a bandaid, the real fix
is in the static linker, but until then we must avoid
relocations in dl-fptr.c.

We copy dl-fptr.c from generic code, modify it, and
adjust the headers to fixup the structure at runtime
instead of having the relocation do this for us
automatically.
2012-04-17 05:46:34 +02:00
Carlos O'Donell c053fa34cd hppa: Remove elf/ and create crti.S/crtn.S
This patch removes the elf/ directory, moving any
special configury down a directory e.g. TLS checks.

This patch also implements the required crti.S
and crtn.S files, verifying that they match the
current implementation.
2012-04-17 05:33:26 +02: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
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