diff options
Diffstat (limited to 'sysdeps/unix/sysv')
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 |