aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/hppa
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@systemhalted.org>2014-04-29 03:08:48 -0400
committerCarlos O'Donell <carlos@systemhalted.org>2014-04-29 04:20:39 -0400
commit5abebba403181de898bbea4ee1bcce5f088c663b (patch)
tree0c4a8eac85e1f2db87621b524bfcbdeb24c2c8f9 /sysdeps/hppa
parent4e4a58f4ee45cea6f3083af8f12d3834bb999555 (diff)
downloadglibc-5abebba403181de898bbea4ee1bcce5f088c663b.tar.xz
glibc-5abebba403181de898bbea4ee1bcce5f088c663b.zip
Relocate hppa from ports to libc.
Diffstat (limited to 'sysdeps/hppa')
-rw-r--r--sysdeps/hppa/Makefile44
-rw-r--r--sysdeps/hppa/Versions12
-rw-r--r--sysdeps/hppa/__longjmp.c84
-rw-r--r--sysdeps/hppa/abort-instr.h6
-rw-r--r--sysdeps/hppa/add_n.S57
-rw-r--r--sysdeps/hppa/bits/endian.h7
-rw-r--r--sysdeps/hppa/bits/link.h56
-rw-r--r--sysdeps/hppa/bits/linkmap.h6
-rw-r--r--sysdeps/hppa/bits/setjmp.h60
-rw-r--r--sysdeps/hppa/bsd-_setjmp.S38
-rw-r--r--sysdeps/hppa/bsd-setjmp.S35
-rw-r--r--sysdeps/hppa/configure89
-rw-r--r--sysdeps/hppa/configure.ac66
-rw-r--r--sysdeps/hppa/crti.S79
-rw-r--r--sysdeps/hppa/crtn.S87
-rw-r--r--sysdeps/hppa/dl-fptr.c337
-rw-r--r--sysdeps/hppa/dl-fptr.h39
-rw-r--r--sysdeps/hppa/dl-irel.h47
-rw-r--r--sysdeps/hppa/dl-lookupcfg.h82
-rw-r--r--sysdeps/hppa/dl-machine.h782
-rw-r--r--sysdeps/hppa/dl-symaddr.c35
-rw-r--r--sysdeps/hppa/dl-tls.h31
-rw-r--r--sysdeps/hppa/dl-trampoline.S287
-rw-r--r--sysdeps/hppa/entry.h10
-rw-r--r--sysdeps/hppa/fpu/bits/fenv.h91
-rw-r--r--sysdeps/hppa/fpu/bits/mathdef.h38
-rw-r--r--sysdeps/hppa/fpu/fclrexcpt.c36
-rw-r--r--sysdeps/hppa/fpu/fedisblxcpt.c37
-rw-r--r--sysdeps/hppa/fpu/feenablxcpt.c37
-rw-r--r--sysdeps/hppa/fpu/fegetenv.c35
-rw-r--r--sysdeps/hppa/fpu/fegetexcept.c33
-rw-r--r--sysdeps/hppa/fpu/fegetround.c27
-rw-r--r--sysdeps/hppa/fpu/feholdexcpt.c53
-rw-r--r--sysdeps/hppa/fpu/fesetenv.c63
-rw-r--r--sysdeps/hppa/fpu/fesetround.c40
-rw-r--r--sysdeps/hppa/fpu/feupdateenv.c40
-rw-r--r--sysdeps/hppa/fpu/fgetexcptflg.c36
-rw-r--r--sysdeps/hppa/fpu/fpu_control.h66
-rw-r--r--sysdeps/hppa/fpu/fraiseexcpt.c101
-rw-r--r--sysdeps/hppa/fpu/fsetexcptflg.c37
-rw-r--r--sysdeps/hppa/fpu/ftestexcept.c34
-rw-r--r--sysdeps/hppa/fpu/libm-test-ulps717
-rw-r--r--sysdeps/hppa/frame.h27
-rw-r--r--sysdeps/hppa/gccframe.h22
-rw-r--r--sysdeps/hppa/get-rounding-mode.h35
-rw-r--r--sysdeps/hppa/hppa1.1/Implies3
-rw-r--r--sysdeps/hppa/hppa1.1/addmul_1.S103
-rw-r--r--sysdeps/hppa/hppa1.1/mul_1.S99
-rw-r--r--sysdeps/hppa/hppa1.1/s_signbit.c34
-rw-r--r--sysdeps/hppa/hppa1.1/submul_1.S112
-rw-r--r--sysdeps/hppa/hppa1.1/udiv_qrnnd.S77
-rw-r--r--sysdeps/hppa/jmpbuf-offsets.h19
-rw-r--r--sysdeps/hppa/jmpbuf-unwind.h26
-rw-r--r--sysdeps/hppa/ldsodefs.h41
-rw-r--r--sysdeps/hppa/libc-tls.c36
-rw-r--r--sysdeps/hppa/libgcc-compat.c42
-rw-r--r--sysdeps/hppa/lshift.S65
-rw-r--r--sysdeps/hppa/machine-gmon.h24
-rw-r--r--sysdeps/hppa/math_private.h27
-rw-r--r--sysdeps/hppa/memusage.h21
-rw-r--r--sysdeps/hppa/mp_clz_tab.c1
-rw-r--r--sysdeps/hppa/nptl/Makefile20
-rw-r--r--sysdeps/hppa/nptl/jmpbuf-unwind.h30
-rw-r--r--sysdeps/hppa/nptl/pthread_spin_init.c28
-rw-r--r--sysdeps/hppa/nptl/pthread_spin_lock.c23
-rw-r--r--sysdeps/hppa/nptl/pthread_spin_unlock.c28
-rw-r--r--sysdeps/hppa/nptl/pthreaddef.h39
-rw-r--r--sysdeps/hppa/nptl/shlib-versions1
-rw-r--r--sysdeps/hppa/nptl/tcb-offsets.sym19
-rw-r--r--sysdeps/hppa/nptl/tls.h171
-rw-r--r--sysdeps/hppa/nptl/tst-oddstacklimit.c26
-rw-r--r--sysdeps/hppa/preconfigure6
-rw-r--r--sysdeps/hppa/rshift.S62
-rw-r--r--sysdeps/hppa/setjmp.S72
-rw-r--r--sysdeps/hppa/shlib-versions9
-rw-r--r--sysdeps/hppa/stackinfo.h33
-rw-r--r--sysdeps/hppa/start.S143
-rw-r--r--sysdeps/hppa/sub_n.S58
-rw-r--r--sysdeps/hppa/sysdep.h76
-rw-r--r--sysdeps/hppa/tininess.h1
-rw-r--r--sysdeps/hppa/tls-macros.h114
-rw-r--r--sysdeps/hppa/tst-audit.h25
-rw-r--r--sysdeps/hppa/udiv_qrnnd.S285
83 files changed, 5980 insertions, 0 deletions
diff --git a/sysdeps/hppa/Makefile b/sysdeps/hppa/Makefile
new file mode 100644
index 0000000000..8d0c08a9b0
--- /dev/null
+++ b/sysdeps/hppa/Makefile
@@ -0,0 +1,44 @@
+# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+# Contributed by David Huggins-Daines (dhd@debian.org)
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library. If not, see
+# <http://www.gnu.org/licenses/>.
+
+# We used to need this since the build process uses ld -r. Now we use
+# ld -r --unique=.text* which does more or less the same thing, but better.
+# CFLAGS-.os += -ffunction-sections
+LDFLAGS-c_pic.os += -Wl,--unique=.text*
+
+ifeq ($(subdir),elf)
+CFLAGS-rtld.c += -mdisable-fpregs
+sysdep-dl-routines += dl-symaddr dl-fptr
+sysdep_routines += $(sysdep-dl-routines)
+sysdep-rtld-routines += $(sysdep-dl-routines)
+endif
+
+ifeq ($(subdir),csu)
+ifeq (yes,$(build-shared))
+# Compatibility
+ifeq (yes,$(have-protected))
+CPPFLAGS-libgcc-compat.c = -DHAVE_DOT_HIDDEN
+endif
+sysdep_routines += libgcc-compat
+shared-only-routines += libgcc-compat
+endif
+endif
+
+# We implement a 64-bit `long double'. The standard says we can do this.
+# This means our `long double' and `double' are identical.
+long-double-fcts = no
diff --git a/sysdeps/hppa/Versions b/sysdeps/hppa/Versions
new file mode 100644
index 0000000000..2ae3cbdf17
--- /dev/null
+++ b/sysdeps/hppa/Versions
@@ -0,0 +1,12 @@
+ld {
+ GLIBC_PRIVATE {
+ # hppa specific functions in the dynamic linker, but used by libc.so.
+ _dl_symbol_address; _dl_unmap; _dl_lookup_address;
+ _dl_function_address;
+ }
+}
+libc {
+ GLIBC_2.2 {
+ __clz_tab;
+ }
+}
diff --git a/sysdeps/hppa/__longjmp.c b/sysdeps/hppa/__longjmp.c
new file mode 100644
index 0000000000..cb1aed1c5c
--- /dev/null
+++ b/sysdeps/hppa/__longjmp.c
@@ -0,0 +1,84 @@
+/* longjmp for PA-RISC.
+ Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY