summary refs log tree commit diff
path: root/sysdeps/unix/sysv
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r--sysdeps/unix/sysv/linux/configure.in11
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/Makefile4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed15
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions (renamed from sysdeps/unix/sysv/linux/powerpc/Versions)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S (renamed from sysdeps/unix/sysv/linux/powerpc/brk.S)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S (renamed from sysdeps/unix/sysv/linux/powerpc/clone.S)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h (renamed from sysdeps/unix/sysv/linux/powerpc/kernel_stat.h)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (renamed from sysdeps/unix/sysv/linux/powerpc/socket.S)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (renamed from sysdeps/unix/sysv/linux/powerpc/syscalls.list)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (renamed from sysdeps/unix/sysv/linux/powerpc/sysdep.h)0
13 files changed, 28 insertions, 7 deletions
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index 1873e4ecf6..4d52ee539c 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -74,10 +74,13 @@ case "$machine" in
     arch_minimum_kernel=2.4.0
     libc_cv_gcc_unwind_find_fde=yes
     ;;
-  powerpc*)
+  powerpc/powerpc32)
     libc_cv_gcc_unwind_find_fde=yes
     arch_minimum_kernel=2.0.10
     ;;
+  powerpc/powerpc64)
+    arch_minimum_kernel=2.4.19
+    ;;
   s390/s390-32)
     libc_cv_gcc_unwind_find_fde=yes
     arch_minimum_kernel=2.2.10
@@ -151,7 +154,8 @@ fi
 # in /lib and /etc.
 if test "$prefix" = "/usr" -o "$prefix" = "/usr/"; then
   # 64bit libraries on sparc go to /lib64 and not /lib
-  if test "$machine" = "sparc/sparc64" -o "$machine" = "x86_64"; then
+  if test "$machine" = "sparc/sparc64" -o "$machine" = "x86_64" \
+	  -o "$machine" = "powerpc/powerpc64"; then
     libc_cv_slibdir="/lib64"
     if test "$libdir" = '${exec_prefix}/lib'; then
       libdir='${exec_prefix}/lib64';
@@ -235,6 +239,9 @@ case "$machine" in
   x86_64*)
     ldd_rewrite_script=../sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
     ;;
+  powerpc*)
+    ldd_rewrite_script=../sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed
+    ;;
   *)
     ;;
 esac
diff --git a/sysdeps/unix/sysv/linux/powerpc/Dist b/sysdeps/unix/sysv/linux/powerpc/Dist
index 2cd4c796ea..4f09f64323 100644
--- a/sysdeps/unix/sysv/linux/powerpc/Dist
+++ b/sysdeps/unix/sysv/linux/powerpc/Dist
@@ -1,4 +1,3 @@
-clone.S
 dl-brk.S
 fe_nomask.c
 ipc_priv.h
diff --git a/sysdeps/unix/sysv/linux/powerpc/Makefile b/sysdeps/unix/sysv/linux/powerpc/Makefile
index 931611f4db..9d02acecc4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/Makefile
+++ b/sysdeps/unix/sysv/linux/powerpc/Makefile
@@ -2,7 +2,3 @@ ifeq ($(subdir),signal)
 sysdep_routines += rt_sigsuspend rt_sigprocmask rt_sigtimedwait	\
 		   rt_sigqueueinfo rt_sigaction rt_sigpending
 endif
-
-ifeq ($(subdir),resource)
-sysdep_routines += oldgetrlimit64
-endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed
new file mode 100644
index 0000000000..9039b69548
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed
@@ -0,0 +1,15 @@
+/LD_TRACE_LOADED_OBJECTS=1/a\
+add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
+
+# ldd is generated from elf/ldd.bash.in with the name
+# of ld.so as generated in Makeconfig
+
+# that name is replaced by a pair referring to both
+# the 32bit and 64bit dynamic linker.
+
+# /lib(64|)/*(64|).so* is replaced with /lib/*.so* and /lib64/*64.so*
+# this works for /lib64/ld64.so.x and /lib/ld.so.x as input
+s_lib64_lib_
+s_64\.so_\.so_
+s_^RTLDLIST=\(.*lib\)\(/[^/]*\)\(\.so\.[0-9.]*\)[[:blank:]]*$_RTLDLIST="\1\2\3 \164\264\3"_
+
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist
new file mode 100644
index 0000000000..738b9cc542
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist
@@ -0,0 +1 @@
+clone.S
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
new file mode 100644
index 0000000000..966a7689e2
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
@@ -0,0 +1,3 @@
+ifeq ($(subdir),resource)
+sysdep_routines += oldgetrlimit64
+endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/Versions b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions
index d0bf4a89c0..d0bf4a89c0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/Versions
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions
diff --git a/sysdeps/unix/sysv/linux/powerpc/brk.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S
index 8ecbb548a2..8ecbb548a2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/brk.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S
diff --git a/sysdeps/unix/sysv/linux/powerpc/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
index 97849a5b26..97849a5b26 100644
--- a/sysdeps/unix/sysv/linux/powerpc/clone.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
diff --git a/sysdeps/unix/sysv/linux/powerpc/kernel_stat.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h
index a2db586165..a2db586165 100644
--- a/sysdeps/unix/sysv/linux/powerpc/kernel_stat.h
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h
diff --git a/sysdeps/unix/sysv/linux/powerpc/socket.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S
index dbdccefe4c..dbdccefe4c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/socket.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S
diff --git a/sysdeps/unix/sysv/linux/powerpc/syscalls.list b/sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list
index 434a9a1f7a..434a9a1f7a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/syscalls.list
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list
diff --git a/sysdeps/unix/sysv/linux/powerpc/sysdep.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
index 78ff4edcc6..78ff4edcc6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sysdep.h
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h