From 92b27c7470ca2844e4e1265746cb56ad1f664df3 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 5 Sep 2002 10:28:51 +0000 Subject: [PATCH] Update. 2002-07-29 Steven Munroe * sysdeps/powerpc/__longjmp.S: Moved to... * sysdeps/powerpc/powerpc32/__longjmp.S: ...here. * sysdeps/powerpc/add_n.S: Moved to... * sysdeps/powerpc/powerpc32/add_n.S: ...here. * sysdeps/powerpc/addmul_1.S: Moved to... * sysdeps/powerpc/powerpc32/addmul_1.S: ...here. * sysdeps/powerpc/atomicity.h: Moved to... * sysdeps/powerpc/powerpc32/atomicity.h: ...here. * sysdeps/powerpc/backtrace.c: Moved to... * sysdeps/powerpc/powerpc32/backtrace.c: ...here. * sysdeps/powerpc/bp-asm.h: Moved to... * sysdeps/powerpc/powerpc32/bp-asm.h: ...here. * sysdeps/powerpc/bsd-_setjmp.S: Moved to... * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: ...here. * sysdeps/powerpc/bsd-setjmp.S: Moved to... * sysdeps/powerpc/powerpc32/bsd-setjmp.S: ...here. * sysdeps/powerpc/dl-machine.c: Moved to... * sysdeps/powerpc/powerpc32/dl-machine.c: ...here. * sysdeps/powerpc/dl-machine.h: Moved to... * sysdeps/powerpc/powerpc32/dl-machine.h: ...here. * sysdeps/powerpc/dl-start.S: Moved to... * sysdeps/powerpc/powerpc32/dl-start.S: ...here. * sysdeps/powerpc/gprrest0.S: Moved to... * sysdeps/powerpc/powerpc32/gprrest0.S: ...here. * sysdeps/powerpc/gprrest1.S: Moved to... * sysdeps/powerpc/powerpc32/gprrest1.S: ...here. * sysdeps/powerpc/gprsave0.S: Moved to... * sysdeps/powerpc/powerpc32/gprsave0.S: ...here. * sysdeps/powerpc/gprsave1.S: Moved to... * sysdeps/powerpc/powerpc32/gprsave1.S: ...here. * sysdeps/powerpc/lshift.S: Moved to... * sysdeps/powerpc/powerpc32/lshift.S: ...here. * sysdeps/powerpc/memset.S: Moved to... * sysdeps/powerpc/powerpc32/memset.S: ...here. * sysdeps/powerpc/mul_1.S: Moved to... * sysdeps/powerpc/powerpc32/mul_1.S: ...here. * sysdeps/powerpc/ppc-mcount.S: Moved to... * sysdeps/powerpc/powerpc32/ppc-mcount.S: ...here. * sysdeps/powerpc/register-dump.h: Moved to... * sysdeps/powerpc/powerpc32/register-dump.h: ...here. * sysdeps/powerpc/rshift.S: Moved to... * sysdeps/powerpc/powerpc32/rshift.S: ...here. * sysdeps/powerpc/setjmp.S: Moved to... * sysdeps/powerpc/powerpc32/setjmp.S: ...here. * sysdeps/powerpc/stpcpy.S: Moved to... * sysdeps/powerpc/powerpc32/stpcpy.S: ...here. * sysdeps/powerpc/strchr.S: Moved to... * sysdeps/powerpc/powerpc32/strchr.S: ...here. * sysdeps/powerpc/strcmp.S: Moved to... * sysdeps/powerpc/powerpc32/strcmp.S: ...here. * sysdeps/powerpc/strcpy.S: Moved to... * sysdeps/powerpc/powerpc32/strcpy.S: ...here. * sysdeps/powerpc/strlen.S: Moved to... * sysdeps/powerpc/powerpc32/strlen.S: ...here. * sysdeps/powerpc/sub_n.S: Moved to... * sysdeps/powerpc/powerpc32/sub_n.S: ...here. * sysdeps/powerpc/submul_1.S: Moved to... * sysdeps/powerpc/powerpc32/submul_1.S: ...here. * sysdeps/powerpc/elf/bzero.S: Moved to... * sysdeps/powerpc/powerpc32/elf/bzero.S: ...here. * sysdeps/powerpc/elf/start.S: Moved to... * sysdeps/powerpc/powerpc32/elf/start.S: ...here. * sysdeps/powerpc/fpu/__longjmp.S: Moved to... * sysdeps/powerpc/powerpc32/fpu/__longjmp.S: ...here. * sysdeps/powerpc/fpu/fprrest.S: Moved to... * sysdeps/powerpc/powerpc32/fpu/fprrest.S: ...here. * sysdeps/powerpc/fpu/fprsave.S: Moved to... * sysdeps/powerpc/powerpc32/fpu/fprsave.S: ...here. * sysdeps/powerpc/fpu/setjmp.S: Moved to... * sysdeps/powerpc/powerpc32/fpu/setjmp.S: ...here. * sysdeps/powerpc/fpu/s_copysign.S: Moved to... * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: ...here. * sysdeps/powerpc/fpu/s_copysignf.S: Moved to... * sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: ...here. * sysdeps/unix/sysv/linux/powerpc/brk.S: Moved to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: ...here. * sysdeps/unix/sysv/linux/powerpc/clone.S: Moved to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: ...here. * sysdeps/unix/sysv/linux/powerpc/glob64.c: Moved to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: ...here. * sysdeps/unix/sysv/linux/powerpc/kernel_stat.h: Moved to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: ...here. * sysdeps/unix/sysv/linux/powerpc/socket.S: Moved to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: ...here. * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Moved to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: ...here. * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Moved to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: ...here. Support PowerPC64. Separate powerpc into powerpc/powerpc32 and powerpc/powerpc64. 2002-07-29 Steven Munroe * FAQ.in: Add powerpc64 to supported targets list. Also state the minimum gcc version is 3.2 * README: Add powerpc64 to supported targets list. * configure.in: Change machine=powerpc to machine=powerpc/powerpc32. Add powerpc64 and machine=powerpc/powerpc64. (HAVE_ASM_GLOBAL_DOT_NAME): Define if linux*powerpc/powerpc64*. * shlib-versions: Set DEFAULT version to 2.2.5 for powerpc64. * sysdeps/powerpc/Dist: Remove dl-machine.c, dl-start.S, ppc-mcount.S, gprsave1.S, gprsave0.S, gprrest1.S, and gprrest0.S. * sysdeps/powerpc/powerpc32/Dist: New file. * sysdeps/powerpc/Implies: Remove wordsize-32 and powerpc/soft-fp. * sysdeps/powerpc/powerpc32/Implies: New file. * sysdeps/powerpc/Makefile(cflags): Remove powerpc32 specific cflags. ($(with-fp) = no): Move test to powerpc32/Makefile. ($(subdir) = misc): Move to powerpc32/Makefile. ($(build-shared) = yes): Move to powerpc32/Makefile. ($(subdir) = csu): Move to powerpc32/Makefile. (sysdep-rtld-routines): Remove dl-start. Moved these bits to ... * sysdeps/powerpc/powerpc32/Makefile: New file. * sysdeps/powerpc/Versions: Remove libgcc functions. * sysdeps/powerpc/powerpc32/Versions: New file. * sysdeps/powerpc/fpu/Makefile: Remove fprsave and fprrest. * sysdeps/powerpc/powerpc32/fpu/Makefile: New file. * sysdeps/unix/sysv/linux/configure.in (powerpc*): Set arch_minimum_kernel=2.4.19 for powerpc/powerpc64. Also set libc_cv_gcc_unwind_find_fde=yes only if !powerpc/powerpc64. ($machine): Add powerpc/powerpc64 to if ... | for libc_cv_slibdir=/libc64. (powerpc*): Set ldd_rewrite_script. * sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed: New file. * sysdeps/unix/sysv/linux/powerpc/Dist: Remove clone.S. * sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: New file. Add clone.S. * sysdeps/unix/sysv/linux/powerpc/Makefile: Remove oldgetrlimit64. * sysdeps/unix/sysv/linux/powerpc/Versions: Remove GLIBC_2.0 functions. Remove GLIBC_2.2 functions except getrlimit and setrlimit. Moved them to ... * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: New file. 2002-09-04 Ulrich Drepper * libio/tst-atime.c: Include . (do_test): Only perform fstatvfs check if ST_NOATIME is defined. 2002-09-03 Isamu Hasegawa * posix/regcomp.c (regcomp): Append "__restrict" modifier to avoid warnings of some compilers. (build_collating_symbol): Change the type of characters from "unsigned char" to "char", and append a cast to "char*" pointer in array subscript. (build_collating_symbol): Likewise. (build_equiv_class): Likewise. (build_charclass): Likewise. (re_compile_pattern): Remove incorrect cast. (re_compile_fastmap_iter): Change the type of characters from "unsigned char" to "char", and append a cast to "char*" pointer in array subscript. (parse_bracket_exp): Likewise. * posix/regex_internal.c (re_string_construct_common): Likewise. (re_string_allocate): Likewise. (re_string_construct): Likewise. (re_string_realloc_buffers): Likewise. (build_wcs_buffer): Likewise. (re_string_reconstruct): Likewise. * posix/regex_internal.h: Change the type of characters in re_string_t and bracket_elem_t from "unsigned char" to "char". * posix/regexec.c (regexec): Append "__restrict" modifier to avoid warnings of some compilers. (transit_state_bkref_loop): Change the type of characters from "unsigned char" to "char", and append a cast to "char*" pointer in array subscript. (check_node_accept_bytes): Likewise. (find_collation_sequence_value): Likewise. --- ChangeLog | 170 +++++++++++++++++++++ FAQ.in | 7 + README.template | 1 + configure.in | 7 +- libio/tst-atime.c | 3 + linuxthreads/ChangeLog | 7 + linuxthreads/shlib-versions | 1 + .../sysdeps/powerpc/{ => powerpc32}/pt-machine.h | 0 posix/regex_internal.c | 29 ++-- posix/regex_internal.h | 26 ++-- posix/regexec.c | 36 ++--- shlib-versions | 2 + sysdeps/powerpc/Implies | 2 - sysdeps/powerpc/Makefile | 78 +++------- sysdeps/powerpc/Versions | 44 +----- sysdeps/powerpc/fpu/Makefile | 3 - sysdeps/powerpc/{ => powerpc32}/Dist | 0 sysdeps/powerpc/powerpc32/Implies | 2 + sysdeps/powerpc/{ => powerpc32}/Makefile | 21 +-- sysdeps/powerpc/{ => powerpc32}/Versions | 4 - sysdeps/powerpc/{ => powerpc32}/__longjmp.S | 0 sysdeps/powerpc/{ => powerpc32}/add_n.S | 0 sysdeps/powerpc/{ => powerpc32}/addmul_1.S | 0 sysdeps/powerpc/{ => powerpc32}/atomicity.h | 0 sysdeps/powerpc/{ => powerpc32}/backtrace.c | 0 sysdeps/powerpc/{ => powerpc32}/bp-asm.h | 0 sysdeps/powerpc/{ => powerpc32}/bsd-_setjmp.S | 0 sysdeps/powerpc/{ => powerpc32}/bsd-setjmp.S | 0 sysdeps/powerpc/{ => powerpc32}/divdi3.c | 0 sysdeps/powerpc/{ => powerpc32}/dl-machine.c | 0 sysdeps/powerpc/{ => powerpc32}/dl-machine.h | 0 sysdeps/powerpc/{ => powerpc32}/dl-start.S | 0 sysdeps/powerpc/{ => powerpc32}/elf/bzero.S | 0 sysdeps/powerpc/{ => powerpc32}/elf/start.S | 0 sysdeps/powerpc/powerpc32/fpu/Makefile | 3 + sysdeps/powerpc/{ => powerpc32}/fpu/__longjmp.S | 0 sysdeps/powerpc/{ => powerpc32}/fpu/fprrest.S | 0 sysdeps/powerpc/{ => powerpc32}/fpu/fprsave.S | 0 sysdeps/powerpc/{ => powerpc32}/fpu/s_copysign.S | 0 sysdeps/powerpc/{ => powerpc32}/fpu/s_copysignf.S | 0 sysdeps/powerpc/{ => powerpc32}/fpu/setjmp.S | 0 sysdeps/powerpc/{ => powerpc32}/gprrest0.S | 0 sysdeps/powerpc/{ => powerpc32}/gprrest1.S | 0 sysdeps/powerpc/{ => powerpc32}/gprsave0.S | 0 sysdeps/powerpc/{ => powerpc32}/gprsave1.S | 0 sysdeps/powerpc/{ => powerpc32}/libgcc-compat.S | 0 sysdeps/powerpc/{ => powerpc32}/lshift.S | 0 sysdeps/powerpc/{ => powerpc32}/memset.S | 0 sysdeps/powerpc/{ => powerpc32}/mul_1.S | 0 sysdeps/powerpc/{ => powerpc32}/ppc-mcount.S | 0 sysdeps/powerpc/{ => powerpc32}/register-dump.h | 0 sysdeps/powerpc/{ => powerpc32}/rshift.S | 0 sysdeps/powerpc/{ => powerpc32}/setjmp.S | 0 sysdeps/powerpc/{ => powerpc32}/stpcpy.S | 0 sysdeps/powerpc/{ => powerpc32}/strchr.S | 0 sysdeps/powerpc/{ => powerpc32}/strcmp.S | 0 sysdeps/powerpc/{ => powerpc32}/strcpy.S | 0 sysdeps/powerpc/{ => powerpc32}/strlen.S | 0 sysdeps/powerpc/{ => powerpc32}/sub_n.S | 0 sysdeps/powerpc/{ => powerpc32}/submul_1.S | 0 sysdeps/unix/sysv/linux/configure.in | 11 +- sysdeps/unix/sysv/linux/powerpc/Dist | 1 - sysdeps/unix/sysv/linux/powerpc/Makefile | 4 - sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed | 15 ++ sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist | 1 + sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile | 3 + .../sysv/linux/powerpc/{ => powerpc32}/Versions | 0 .../unix/sysv/linux/powerpc/{ => powerpc32}/brk.S | 0 .../sysv/linux/powerpc/{ => powerpc32}/clone.S | 0 .../linux/powerpc/{ => powerpc32}/kernel_stat.h | 0 .../sysv/linux/powerpc/{ => powerpc32}/socket.S | 0 .../linux/powerpc/{ => powerpc32}/syscalls.list | 0 .../sysv/linux/powerpc/{ => powerpc32}/sysdep.h | 0 73 files changed, 304 insertions(+), 177 deletions(-) rename linuxthreads/sysdeps/powerpc/{ => powerpc32}/pt-machine.h (100%) rewrite sysdeps/powerpc/Makefile (74%) rewrite sysdeps/powerpc/Versions (90%) rename sysdeps/powerpc/{ => powerpc32}/Dist (100%) create mode 100644 sysdeps/powerpc/powerpc32/Implies copy sysdeps/powerpc/{ => powerpc32}/Makefile (70%) copy sysdeps/powerpc/{ => powerpc32}/Versions (91%) rename sysdeps/powerpc/{ => powerpc32}/__longjmp.S (100%) rename sysdeps/powerpc/{ => powerpc32}/add_n.S (100%) rename sysdeps/powerpc/{ => powerpc32}/addmul_1.S (100%) rename sysdeps/powerpc/{ => powerpc32}/atomicity.h (100%) rename sysdeps/powerpc/{ => powerpc32}/backtrace.c (100%) rename sysdeps/powerpc/{ => powerpc32}/bp-asm.h (100%) rename sysdeps/powerpc/{ => powerpc32}/bsd-_setjmp.S (100%) rename sysdeps/powerpc/{ => powerpc32}/bsd-setjmp.S (100%) rename sysdeps/powerpc/{ => powerpc32}/divdi3.c (100%) rename sysdeps/powerpc/{ => powerpc32}/dl-machine.c (100%) rename sysdeps/powerpc/{ => powerpc32}/dl-machine.h (100%) rename sysdeps/powerpc/{ => powerpc32}/dl-start.S (100%) rename sysdeps/powerpc/{ => powerpc32}/elf/bzero.S (100%) rename sysdeps/powerpc/{ => powerpc32}/elf/start.S (100%) create mode 100644 sysdeps/powerpc/powerpc32/fpu/Makefile rename sysdeps/powerpc/{ => powerpc32}/fpu/__longjmp.S (100%) rename sysdeps/powerpc/{ => powerpc32}/fpu/fprrest.S (100%) rename sysdeps/powerpc/{ => powerpc32}/fpu/fprsave.S (100%) rename sysdeps/powerpc/{ => powerpc32}/fpu/s_copysign.S (100%) rename sysdeps/powerpc/{ => powerpc32}/fpu/s_copysignf.S (100%) rename sysdeps/powerpc/{ => powerpc32}/fpu/setjmp.S (100%) rename sysdeps/powerpc/{ => powerpc32}/gprrest0.S (100%) rename sysdeps/powerpc/{ => powerpc32}/gprrest1.S (100%) rename sysdeps/powerpc/{ => powerpc32}/gprsave0.S (100%) rename sysdeps/powerpc/{ => powerpc32}/gprsave1.S (100%) rename sysdeps/powerpc/{ => powerpc32}/libgcc-compat.S (100%) rename sysdeps/powerpc/{ => powerpc32}/lshift.S (100%) rename sysdeps/powerpc/{ => powerpc32}/memset.S (100%) rename sysdeps/powerpc/{ => powerpc32}/mul_1.S (100%) rename sysdeps/powerpc/{ => powerpc32}/ppc-mcount.S (100%) rename sysdeps/powerpc/{ => powerpc32}/register-dump.h (100%) rename sysdeps/powerpc/{ => powerpc32}/rshift.S (100%) rename sysdeps/powerpc/{ => powerpc32}/setjmp.S (100%) rename sysdeps/powerpc/{ => powerpc32}/stpcpy.S (100%) rename sysdeps/powerpc/{ => powerpc32}/strchr.S (100%) rename sysdeps/powerpc/{ => powerpc32}/strcmp.S (100%) rename sysdeps/powerpc/{ => powerpc32}/strcpy.S (100%) rename sysdeps/powerpc/{ => powerpc32}/strlen.S (100%) rename sysdeps/powerpc/{ => powerpc32}/sub_n.S (100%) rename sysdeps/powerpc/{ => powerpc32}/submul_1.S (100%) create mode 100644 sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile rename sysdeps/unix/sysv/linux/powerpc/{ => powerpc32}/Versions (100%) rename sysdeps/unix/sysv/linux/powerpc/{ => powerpc32}/brk.S (100%) rename sysdeps/unix/sysv/linux/powerpc/{ => powerpc32}/clone.S (100%) rename sysdeps/unix/sysv/linux/powerpc/{ => powerpc32}/kernel_stat.h (100%) rename sysdeps/unix/sysv/linux/powerpc/{ => powerpc32}/socket.S (100%) rename sysdeps/unix/sysv/linux/powerpc/{ => powerpc32}/syscalls.list (100%) rename sysdeps/unix/sysv/linux/powerpc/{ => powerpc32}/sysdep.h (100%) diff --git a/ChangeLog b/ChangeLog index 9cf0160b8f..e66e1245d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,173 @@ +2002-07-29 Steven Munroe + + * sysdeps/powerpc/__longjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/__longjmp.S: ...here. + * sysdeps/powerpc/add_n.S: Moved to... + * sysdeps/powerpc/powerpc32/add_n.S: ...here. + * sysdeps/powerpc/addmul_1.S: Moved to... + * sysdeps/powerpc/powerpc32/addmul_1.S: ...here. + * sysdeps/powerpc/atomicity.h: Moved to... + * sysdeps/powerpc/powerpc32/atomicity.h: ...here. + * sysdeps/powerpc/backtrace.c: Moved to... + * sysdeps/powerpc/powerpc32/backtrace.c: ...here. + * sysdeps/powerpc/bp-asm.h: Moved to... + * sysdeps/powerpc/powerpc32/bp-asm.h: ...here. + * sysdeps/powerpc/bsd-_setjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: ...here. + * sysdeps/powerpc/bsd-setjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/bsd-setjmp.S: ...here. + * sysdeps/powerpc/dl-machine.c: Moved to... + * sysdeps/powerpc/powerpc32/dl-machine.c: ...here. + * sysdeps/powerpc/dl-machine.h: Moved to... + * sysdeps/powerpc/powerpc32/dl-machine.h: ...here. + * sysdeps/powerpc/dl-start.S: Moved to... + * sysdeps/powerpc/powerpc32/dl-start.S: ...here. + * sysdeps/powerpc/gprrest0.S: Moved to... + * sysdeps/powerpc/powerpc32/gprrest0.S: ...here. + * sysdeps/powerpc/gprrest1.S: Moved to... + * sysdeps/powerpc/powerpc32/gprrest1.S: ...here. + * sysdeps/powerpc/gprsave0.S: Moved to... + * sysdeps/powerpc/powerpc32/gprsave0.S: ...here. + * sysdeps/powerpc/gprsave1.S: Moved to... + * sysdeps/powerpc/powerpc32/gprsave1.S: ...here. + * sysdeps/powerpc/lshift.S: Moved to... + * sysdeps/powerpc/powerpc32/lshift.S: ...here. + * sysdeps/powerpc/memset.S: Moved to... + * sysdeps/powerpc/powerpc32/memset.S: ...here. + * sysdeps/powerpc/mul_1.S: Moved to... + * sysdeps/powerpc/powerpc32/mul_1.S: ...here. + * sysdeps/powerpc/ppc-mcount.S: Moved to... + * sysdeps/powerpc/powerpc32/ppc-mcount.S: ...here. + * sysdeps/powerpc/register-dump.h: Moved to... + * sysdeps/powerpc/powerpc32/register-dump.h: ...here. + * sysdeps/powerpc/rshift.S: Moved to... + * sysdeps/powerpc/powerpc32/rshift.S: ...here. + * sysdeps/powerpc/setjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/setjmp.S: ...here. + * sysdeps/powerpc/stpcpy.S: Moved to... + * sysdeps/powerpc/powerpc32/stpcpy.S: ...here. + * sysdeps/powerpc/strchr.S: Moved to... + * sysdeps/powerpc/powerpc32/strchr.S: ...here. + * sysdeps/powerpc/strcmp.S: Moved to... + * sysdeps/powerpc/powerpc32/strcmp.S: ...here. + * sysdeps/powerpc/strcpy.S: Moved to... + * sysdeps/powerpc/powerpc32/strcpy.S: ...here. + * sysdeps/powerpc/strlen.S: Moved to... + * sysdeps/powerpc/powerpc32/strlen.S: ...here. + * sysdeps/powerpc/sub_n.S: Moved to... + * sysdeps/powerpc/powerpc32/sub_n.S: ...here. + * sysdeps/powerpc/submul_1.S: Moved to... + * sysdeps/powerpc/powerpc32/submul_1.S: ...here. + * sysdeps/powerpc/elf/bzero.S: Moved to... + * sysdeps/powerpc/powerpc32/elf/bzero.S: ...here. + * sysdeps/powerpc/elf/start.S: Moved to... + * sysdeps/powerpc/powerpc32/elf/start.S: ...here. + * sysdeps/powerpc/fpu/__longjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/__longjmp.S: ...here. + * sysdeps/powerpc/fpu/fprrest.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/fprrest.S: ...here. + * sysdeps/powerpc/fpu/fprsave.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/fprsave.S: ...here. + * sysdeps/powerpc/fpu/setjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/setjmp.S: ...here. + * sysdeps/powerpc/fpu/s_copysign.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: ...here. + * sysdeps/powerpc/fpu/s_copysignf.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: ...here. + * sysdeps/unix/sysv/linux/powerpc/brk.S: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: ...here. + * sysdeps/unix/sysv/linux/powerpc/clone.S: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: ...here. + * sysdeps/unix/sysv/linux/powerpc/glob64.c: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: ...here. + * sysdeps/unix/sysv/linux/powerpc/kernel_stat.h: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: ...here. + * sysdeps/unix/sysv/linux/powerpc/socket.S: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: ...here. + * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: ...here. + * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: ...here. + Support PowerPC64. Separate powerpc into powerpc/powerpc32 and + powerpc/powerpc64. + +2002-07-29 Steven Munroe + + * FAQ.in: Add powerpc64 to supported targets list. Also state the + minimum gcc version is 3.2 + * README: Add powerpc64 to supported targets list. + * configure.in: Change machine=powerpc to machine=powerpc/powerpc32. + Add powerpc64 and machine=powerpc/powerpc64. + (HAVE_ASM_GLOBAL_DOT_NAME): Define if linux*powerpc/powerpc64*. + * shlib-versions: Set DEFAULT version to 2.2.5 for powerpc64. + * sysdeps/powerpc/Dist: Remove dl-machine.c, dl-start.S, ppc-mcount.S, + gprsave1.S, gprsave0.S, gprrest1.S, and gprrest0.S. + * sysdeps/powerpc/powerpc32/Dist: New file. + * sysdeps/powerpc/Implies: Remove wordsize-32 and powerpc/soft-fp. + * sysdeps/powerpc/powerpc32/Implies: New file. + * sysdeps/powerpc/Makefile(cflags): Remove powerpc32 specific cflags. + ($(with-fp) = no): Move test to powerpc32/Makefile. + ($(subdir) = misc): Move to powerpc32/Makefile. + ($(build-shared) = yes): Move to powerpc32/Makefile. + ($(subdir) = csu): Move to powerpc32/Makefile. + (sysdep-rtld-routines): Remove dl-start. Moved these bits to ... + * sysdeps/powerpc/powerpc32/Makefile: New file. + * sysdeps/powerpc/Versions: Remove libgcc functions. + * sysdeps/powerpc/powerpc32/Versions: New file. + * sysdeps/powerpc/fpu/Makefile: Remove fprsave and fprrest. + * sysdeps/powerpc/powerpc32/fpu/Makefile: New file. + * sysdeps/unix/sysv/linux/configure.in (powerpc*): + Set arch_minimum_kernel=2.4.19 for powerpc/powerpc64. Also set + libc_cv_gcc_unwind_find_fde=yes only if !powerpc/powerpc64. + ($machine): Add powerpc/powerpc64 to if ... | for + libc_cv_slibdir=/libc64. + (powerpc*): Set ldd_rewrite_script. + * sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed: New file. + * sysdeps/unix/sysv/linux/powerpc/Dist: Remove clone.S. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: New file. + Add clone.S. + * sysdeps/unix/sysv/linux/powerpc/Makefile: Remove oldgetrlimit64. + * sysdeps/unix/sysv/linux/powerpc/Versions: Remove GLIBC_2.0 + functions. Remove GLIBC_2.2 functions except getrlimit and + setrlimit. Moved them to ... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: New file. + +2002-09-04 Ulrich Drepper + + * libio/tst-atime.c: Include . + (do_test): Only perform fstatvfs check if ST_NOATIME is defined. + +2002-09-03 Isamu Hasegawa + + * posix/regcomp.c (regcomp): Append "__restrict" modifier to avoid + warnings of some compilers. + (build_collating_symbol): Change the type of characters from + "unsigned char" to "char", and append a cast to "char*" pointer in + array subscript. + (build_collating_symbol): Likewise. + (build_equiv_class): Likewise. + (build_charclass): Likewise. + (re_compile_pattern): Remove incorrect cast. + (re_compile_fastmap_iter): Change the type of characters from + "unsigned char" to "char", and append a cast to "char*" pointer + in array subscript. + (parse_bracket_exp): Likewise. + * posix/regex_internal.c (re_string_construct_common): Likewise. + (re_string_allocate): Likewise. + (re_string_construct): Likewise. + (re_string_realloc_buffers): Likewise. + (build_wcs_buffer): Likewise. + (re_string_reconstruct): Likewise. + * posix/regex_internal.h: Change the type of characters in + re_string_t and bracket_elem_t from "unsigned char" to "char". + * posix/regexec.c (regexec): Append "__restrict" modifier to avoid + warnings of some compilers. + (transit_state_bkref_loop): Change the type of characters from + "unsigned char" to "char", and append a cast to "char*" pointer in + array subscript. + (check_node_accept_bytes): Likewise. + (find_collation_sequence_value): Likewise. + 2002-09-04 Roland McGrath * resolv/nss_dns/dns-network.c (MAXPACKET): Increase minimum value diff --git a/FAQ.in b/FAQ.in index b6d4ac00c5..c5d96c9b6a 100644 --- a/FAQ.in +++ b/FAQ.in @@ -30,6 +30,7 @@ in the future, are: m68k-*-linux-gnu Linux-2.x on Motorola 680x0 alpha*-*-linux-gnu Linux-2.x on DEC Alpha powerpc-*-linux-gnu Linux and MkLinux on PowerPC systems + powerpc64-*-linux-gnu Linux-2.4+ on 64-bit PowerPC systems sparc-*-linux-gnu Linux-2.x on SPARC sparc64-*-linux-gnu Linux-2.x on UltraSPARC arm-*-none ARM standalone systems @@ -379,6 +380,11 @@ doesn't handle all cases and needs help from the kernel). For details check also my page . +??powerpc64 Which compiler should I use for powerpc64? + +{SM} You want to use at least gcc 3.2 (together with the right versions +of all the other tools, of course). + ? Installation and configuration issues ?? Can I replace the libc on my Linux system with GNU libc? @@ -1668,6 +1674,7 @@ Answers were given by: {CG} Cristian Gafton, {AO} Alexandre Oliva, {BH} Bruno Haible, +{SM} Steven Munroe, Local Variables: mode:outline diff --git a/README.template b/README.template index 68d8054cf4..0cfca03627 100644 --- a/README.template +++ b/README.template @@ -10,6 +10,7 @@ configurations: m68k-*-linux-gnu Linux-2.x on Motorola 680x0 alpha*-*-linux-gnu Linux-2.x on DEC Alpha powerpc-*-linux-gnu Linux and MkLinux on PowerPC systems + powerpc64-*-linux-gnu Linux-2.4+ on 64-bit PowerPC systems sparc-*-linux-gnu Linux-2.x on SPARC sparc64-*-linux-gnu Linux-2.x on UltraSPARC 64-bit arm-*-none ARM standalone systems diff --git a/configure.in b/configure.in index 025586fa3d..776e26ff52 100644 --- a/configure.in +++ b/configure.in @@ -313,6 +313,8 @@ m88???) base_machine=m88k machine=m88k/$machine ;; m88k) base_machine=m88k machine=m88k/m88100 ;; mips64*) base_machine=mips64 machine=mips/mips64/$machine ;; mips*) base_machine=mips machine=mips/$machine ;; +powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;; +powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;; s390) base_machine=s390 machine=s390/s390-32 ;; s390x) base_machine=s390 machine=s390/s390-64 ;; sh3*) base_machine=sh machine=sh/sh3 ;; @@ -895,8 +897,9 @@ if test "x$libc_cv_asm_type_prefix" != xno; then fi # The Aix ld uses global .symbol_names instead of symbol_names. -case "$os" in -aix4.3*) +# Unfortunately also used in the PPC64 ELF ABI. +case "${os}${machine}" in +aix4.3* | linux*powerpc/powerpc64*) AC_DEFINE(HAVE_ASM_GLOBAL_DOT_NAME) esac diff --git a/libio/tst-atime.c b/libio/tst-atime.c index 488963210e..0b0b4f04c4 100644 --- a/libio/tst-atime.c +++ b/libio/tst-atime.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -40,6 +41,7 @@ do_test (void) return 1; } +#ifdef ST_NOATIME /* Make sure the filesystem doesn't have the noatime option set. If statvfs is not available just continue. */ e = fstatvfs (fd, &sv); @@ -57,6 +59,7 @@ do_test (void) return 0; } } +#endif /* Make sure it gets removed. */ add_temp_file (buf); diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 0281b2a46b..08084a4639 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,10 @@ +2002-07-29 Steven Munroe + + * shlib-versions: Set libpthread version to 2.3 for powerpc64. + * sysdeps/powerpc/pt-machine.h: moved to... + * sysdeps/powerpc/powerpc32/pt-machine.h: ...here + * sysdeps/powerpc/powerpc64/pt-machine.h: New file. + 2002-09-02 Roland McGrath * sysdeps/powerpc/Makefile (CFLAGS-pt-initfini.s): New variable. diff --git a/linuxthreads/shlib-versions b/linuxthreads/shlib-versions index 8046856da6..58488ce65c 100644 --- a/linuxthreads/shlib-versions +++ b/linuxthreads/shlib-versions @@ -7,4 +7,5 @@ hppa.*-.*-linux.* libpthread=0 GLIBC_2.2 s390x-.*-linux.* libpthread=0 GLIBC_2.2 cris-.*-linux.* libpthread=0 GLIBC_2.2 x86_64-.*-linux.* libpthread=0 GLIBC_2.2.5 +powerpc64-.*-linux.* libpthread=0 GLIBC_2.3 .*-.*-linux.* libpthread=0 diff --git a/linuxthreads/sysdeps/powerpc/pt-machine.h b/linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h similarity index 100% rename from linuxthreads/sysdeps/powerpc/pt-machine.h rename to linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h diff --git a/posix/regex_internal.c b/posix/regex_internal.c index 25e7b7e079..c4400a8c23 100644 --- a/posix/regex_internal.c +++ b/posix/regex_internal.c @@ -57,8 +57,8 @@ #include "regex.h" #include "regex_internal.h" -static void re_string_construct_common (const unsigned char *str, - int len, re_string_t *pstr, +static void re_string_construct_common (const char *str, int len, + re_string_t *pstr, RE_TRANSLATE_TYPE trans, int icase); #ifdef RE_ENABLE_I18N static int re_string_skip_chars (re_string_t *pstr, int new_raw_idx); @@ -86,7 +86,7 @@ static unsigned int inline calc_state_hash (const re_node_set *nodes, static reg_errcode_t re_string_allocate (pstr, str, len, init_len, trans, icase) re_string_t *pstr; - const unsigned char *str; + const char *str; int len, init_len, icase; RE_TRANSLATE_TYPE trans; { @@ -99,8 +99,7 @@ re_string_allocate (pstr, str, len, init_len, trans, icase) if (BE (ret != REG_NOERROR, 0)) return ret; - pstr->mbs_case = (MBS_CASE_ALLOCATED (pstr) ? pstr->mbs_case - : (unsigned char *)str); + pstr->mbs_case = (MBS_CASE_ALLOCATED (pstr) ? pstr->mbs_case : (char *) str); pstr->mbs = MBS_ALLOCATED (pstr) ? pstr->mbs : pstr->mbs_case; pstr->valid_len = (MBS_CASE_ALLOCATED (pstr) || MBS_ALLOCATED (pstr) || MB_CUR_MAX > 1) ? pstr->valid_len : len; @@ -112,7 +111,7 @@ re_string_allocate (pstr, str, len, init_len, trans, icase) static reg_errcode_t re_string_construct (pstr, str, len, trans, icase) re_string_t *pstr; - const unsigned char *str; + const char *str; int len, icase; RE_TRANSLATE_TYPE trans; { @@ -128,8 +127,7 @@ re_string_construct (pstr, str, len, trans, icase) if (BE (ret != REG_NOERROR, 0)) return ret; } - pstr->mbs_case = (MBS_CASE_ALLOCATED (pstr) ? pstr->mbs_case - : (unsigned char *)str); + pstr->mbs_case = (MBS_CASE_ALLOCATED (pstr) ? pstr->mbs_case : (char *) str); pstr->mbs = MBS_ALLOCATED (pstr) ? pstr->mbs : pstr->mbs_case; if (icase) @@ -178,13 +176,13 @@ re_string_realloc_buffers (pstr, new_buf_len) #endif /* RE_ENABLE_I18N */ if (MBS_ALLOCATED (pstr)) { - pstr->mbs = re_realloc (pstr->mbs, unsigned char, new_buf_len); + pstr->mbs = re_realloc (pstr->mbs, char, new_buf_len); if (BE (pstr->mbs == NULL, 0)) return REG_ESPACE; } if (MBS_CASE_ALLOCATED (pstr)) { - pstr->mbs_case = re_realloc (pstr->mbs_case, unsigned char, new_buf_len); + pstr->mbs_case = re_realloc (pstr->mbs_case, char, new_buf_len); if (BE (pstr->mbs_case == NULL, 0)) return REG_ESPACE; if (!MBS_ALLOCATED (pstr)) @@ -197,7 +195,7 @@ re_string_realloc_buffers (pstr, new_buf_len) static void re_string_construct_common (str, len, pstr, trans, icase) - const unsigned char *str; + const char *str; int len; re_string_t *pstr; RE_TRANSLATE_TYPE trans; @@ -256,8 +254,9 @@ build_wcs_buffer (pstr) /* Apply the translateion if we need. */ if (pstr->trans != NULL && mbclen == 1) { - int ch = pstr->trans[pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]]; - pstr->mbs_case[byte_idx] = ch; + int ch = *((unsigned char *) pstr->raw_mbs + pstr->raw_mbs_idx + + byte_idx); + pstr->mbs_case[byte_idx] = pstr->trans[ch]; } /* Write wide character and padding. */ pstr->wcs[byte_idx++] = wc; @@ -421,9 +420,9 @@ re_string_reconstruct (pstr, idx, eflags, newline) pstr->tip_context = ((eflags & REG_NOTBOL) ? CONTEXT_BEGBUF : CONTEXT_NEWLINE | CONTEXT_BEGBUF); if (!MBS_CASE_ALLOCATED (pstr)) - pstr->mbs_case = (unsigned char *)pstr->raw_mbs; + pstr->mbs_case = (char *) pstr->raw_mbs; if (!MBS_ALLOCATED (pstr) && !MBS_CASE_ALLOCATED (pstr)) - pstr->mbs = (unsigned char *)pstr->raw_mbs; + pstr->mbs = (char *) pstr->raw_mbs; offset = idx; } diff --git a/posix/regex_internal.h b/posix/regex_internal.h index a7f6042935..574bf652b8 100644 --- a/posix/regex_internal.h +++ b/posix/regex_internal.h @@ -228,15 +228,15 @@ struct re_string_t { /* Indicate the raw buffer which is the original string passed as an argument of regexec(), re_search(), etc.. */ - const unsigned char *raw_mbs; + const char *raw_mbs; /* Store the multibyte string. In case of "case insensitive mode" like REG_ICASE, upper cases of the string are stored, otherwise MBS points the same address that RAW_MBS points. */ - unsigned char *mbs; + char *mbs; /* Store the case sensitive multibyte string. In case of "case insensitive mode", the original string are stored, otherwise MBS_CASE points the same address that MBS points. */ - unsigned char *mbs_case; + char *mbs_case; #ifdef RE_ENABLE_I18N /* Store the wide character string which is corresponding to MBS. */ wint_t *wcs; @@ -275,13 +275,12 @@ typedef struct re_string_t re_string_t; #define MBS_CASE_ALLOCATED(pstr) (pstr->trans != NULL) -static reg_errcode_t re_string_allocate (re_string_t *pstr, - const unsigned char *str, int len, - int init_len, +static reg_errcode_t re_string_allocate (re_string_t *pstr, const char *str, + int len, int init_len, RE_TRANSLATE_TYPE trans, int icase); -static reg_errcode_t re_string_construct (re_string_t *pstr, - const unsigned char *str, int len, - RE_TRANSLATE_TYPE trans, int icase); +static reg_errcode_t re_string_construct (re_string_t *pstr, const char *str, + int len, RE_TRANSLATE_TYPE trans, + int icase); static reg_errcode_t re_string_reconstruct (re_string_t *pstr, int idx, int eflags, int newline); static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr, @@ -513,7 +512,7 @@ typedef struct union { unsigned char ch; - unsigned char *name; + char *name; wchar_t wch; } opr; } bracket_elem_t; @@ -581,8 +580,7 @@ re_string_elem_size_at (pstr, idx) int idx; { #ifdef _LIBC - const unsigned char *p; - const char *extra; + const char *extra, *p; const int32_t *table, *indirect; int32_t tmp; # include @@ -595,8 +593,8 @@ re_string_elem_size_at (pstr, idx) indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); p = pstr->mbs + idx; - tmp = findidx (&p); - return p - (const unsigned char *) pstr->mbs - idx; + tmp = findidx ((const unsigned char **) &p); + return p - pstr->mbs - idx; } else #endif /* _LIBC */ diff --git a/posix/regexec.c b/posix/regexec.c index f9b162b13c..4a9c64a191 100644 --- a/posix/regexec.c +++ b/posix/regexec.c @@ -123,7 +123,7 @@ static re_dfastate_t **build_trtable (const regex_t *dfa, static int check_node_accept_bytes (const regex_t *preg, int node_idx, const re_string_t *input, int idx); # ifdef _LIBC -static unsigned int find_collation_sequence_value (const unsigned char *mbs, +static unsigned int find_collation_sequence_value (const char *mbs, size_t name_len); # endif /* _LIBC */ #endif /* RE_ENABLE_I18N */ @@ -153,8 +153,8 @@ static reg_errcode_t extend_buffers (re_match_context_t *mctx); int regexec (preg, string, nmatch, pmatch, eflags) - const regex_t *preg; - const char *string; + const regex_t *__restrict preg; + const char *__restrict string; size_t nmatch; regmatch_t pmatch[]; int eflags; @@ -1621,7 +1621,7 @@ transit_state_bkref_loop (preg, nodes, work_state_log, mctx) for (i = 0; i < nodes->nelem; ++i) { - unsigned char *buf; + char *buf; int dest_str_idx, subexp_idx, prev_nelem, subexp_len; int node_idx = nodes->elems[i]; unsigned int context; @@ -2069,7 +2069,7 @@ check_node_accept_bytes (preg, node_idx, input, str_idx) { const re_charset_t *cset = node->opr.mbcset; # ifdef _LIBC - const unsigned char *pin = re_string_get_buffer (input) + str_idx; + const char *pin = re_string_get_buffer (input) + str_idx; # endif /* _LIBC */ int match_len = 0; wchar_t wc = ((cset->nranges || cset->nchar_classes || cset->nmbchars) @@ -2098,18 +2098,17 @@ check_node_accept_bytes (preg, node_idx, input, str_idx) { unsigned int in_collseq = 0; const int32_t *table, *indirect; - const unsigned char *weights, *extra, *collseqwc; + const char *weights, *extra, *collseqwc; int32_t idx; /* This #include defines a local function! */ # include /* match with collating_symbol? */ if (cset->ncoll_syms) - extra = (const unsigned char *) - _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); + extra = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); for (i = 0; i < cset->ncoll_syms; ++i) { - const unsigned char *coll_sym = extra + cset->coll_syms[i]; + const char *coll_sym = extra + cset->coll_syms[i]; /* Compare the length of input collating element and the length of current collating element. */ if (*coll_sym != elem_len) @@ -2148,13 +2147,11 @@ check_node_accept_bytes (preg, node_idx, input, str_idx) /* match with equivalence_class? */ if (cset->nequiv_classes) { - const unsigned char *cp = pin; + const unsigned char *cp = (const unsigned char *) pin; table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); - weights = (const unsigned char *) - _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB); - extra = (const unsigned char *) - _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); + weights = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB); + extra = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); idx = findidx (&cp); @@ -2183,7 +2180,12 @@ check_node_accept_bytes (preg, node_idx, input, str_idx) # endif /* _LIBC */ { /* match with range expression? */ - wchar_t cmp_buf[6] = {L'\0', L'\0', wc, L'\0', L'\0', L'\0'}; +#if __GNUC__ >= 2 + wchar_t cmp_buf[] = {L'\0', L'\0', wc, L'\0', L'\0', L'\0'}; +#else + wchar_t cmp_buf[] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'}; + cmp_buf[2] = wc; +#endif for (i = 0; i < cset->nranges; ++i) { cmp_buf[0] = cset->range_starts[i]; @@ -2213,7 +2215,7 @@ check_node_accept_bytes (preg, node_idx, input, str_idx) # ifdef _LIBC static unsigned int find_collation_sequence_value (mbs, mbs_len) - const unsigned char *mbs; + const char *mbs; size_t mbs_len; { uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); @@ -2224,7 +2226,7 @@ find_collation_sequence_value (mbs, mbs_len) /* No valid character. Match it as a single byte character. */ const unsigned char *collseq = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB); - return collseq[mbs[0]]; + return collseq[*(unsigned char *) mbs]; } return UINT_MAX; } diff --git a/shlib-versions b/shlib-versions index c9cb01c215..72cbb4af0e 100644 --- a/shlib-versions +++ b/shlib-versions @@ -24,6 +24,7 @@ s390x-.*-linux.* DEFAULT GLIBC_2.2 cris-.*-linux.* DEFAULT GLIBC_2.2 x86_64-.*-linux.* DEFAULT GLIBC_2.2.5 +powerpc64-.*-linux.* DEFAULT GLIBC_2.3 .*-.*-gnu-gnu.* DEFAULT GLIBC_2.2.6 # Configuration Library=version Earliest symbol set (optional) @@ -69,6 +70,7 @@ ia64-.*-linux.* ld=ld-linux-ia64.so.2 GLIBC_2.2 mips.*-.*-linux.* ld=ld.so.1 GLIBC_2.0 GLIBC_2.2 hppa.*-.*-.* ld=ld.so.1 GLIBC_2.2 s390x-.*-linux.* ld=ld64.so.1 GLIBC_2.2 +powerpc64.*-.*-linux.* ld=ld64.so.1 GLIBC_2.3 cris-.*-linux.* ld=ld.so.1 GLIBC_2.2 x86_64-.*-linux.* ld=ld-linux-x86-64.so.2 GLIBC_2.2.5 # We use the ELF ABI standard name for the default. diff --git a/sysdeps/powerpc/Implies b/sysdeps/powerpc/Implies index 7009ffeada..12ca48b4c9 100644 --- a/sysdeps/powerpc/Implies +++ b/sysdeps/powerpc/Implies @@ -1,4 +1,2 @@ -wordsize-32 ieee754/flt-32 ieee754/dbl-64 -powerpc/soft-fp diff --git a/sysdeps/powerpc/Makefile b/sysdeps/powerpc/Makefile dissimilarity index 74% index 0737f6f2d3..befa9c3bb7 100644 --- a/sysdeps/powerpc/Makefile +++ b/sysdeps/powerpc/Makefile @@ -1,59 +1,19 @@ -# We always want to use the new mnemonic syntax even if we are on a RS6000 -# machine. -+cflags += -mnew-mnemonics -Wa,-mppc -mpowerpc -asm-CPPFLAGS += -Wa,-mppc - -ifeq ($(with-fp),no) -+cflags += -msoft-float -sysdep-LDFLAGS += -msoft-float -endif - -ifeq ($(subdir),gmon) -sysdep_routines += ppc-mcount -endif - -ifeq ($(subdir),misc) -sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1 -endif - -# On PPC, -fpic works until the GOT contains 2^15 bytes, and possibly -# more depending on how clever the linker is. Each GOT entry takes 4 bytes, -# so that's at least 8192 entries. Since libc only uses about 2000 entries, -# we want to use -fpic, because this generates fewer relocs. -ifeq (yes,$(build-shared)) -pic-ccflag = -fpic -endif - -ifeq ($(subdir),csu) -ifneq ($(elf),no) -# The initfini generation code doesn't work in the presence of -fPIC, so -# we use -fpic instead which is much better. -CFLAGS-initfini.s = -g0 -fpic -O1 - -# There is no benefit to using sdata for these objects, and the user -# of the library should be able to control what goes into sdata. -CFLAGS-init.o = -G0 -CFLAGS-gmon-start.o = -G0 -endif -ifeq (yes,$(build-shared)) -# Compatibility -ifeq (yes,$(have-protected)) -CPPFLAGS-divdi3.c = -DHAVE_DOT_HIDDEN -CPPFLAGS-libgcc-compat.S = -DHAVE_DOT_HIDDEN -endif -sysdep_routines += divdi3 libgcc-compat -shared-only-routines += divdi3 libgcc-compat -endif -endif - -ifeq ($(subdir),string) -CFLAGS-memcmp.c += -Wno-uninitialized -endif - -ifeq ($(subdir),elf) -# extra shared linker files to link into dl-allobjs.so and libc -sysdep-dl-routines += dl-machine -sysdep_routines += dl-machine -# extra shared linker files to link only into dl-allobjs.so -sysdep-rtld-routines += dl-machine dl-start -endif +# We always want to use the new mnemonic syntax even if we are on a RS6000 +# machine. ++cflags += -mnew-mnemonics + +ifeq ($(subdir),gmon) +sysdep_routines += ppc-mcount +endif + +ifeq ($(subdir),string) +CFLAGS-memcmp.c += -Wno-uninitialized +endif + +ifeq ($(subdir),elf) +# extra shared linker files to link into dl-allobjs.so and libc +sysdep-dl-routines += dl-machine +sysdep_routines += dl-machine +# extra shared linker files to link only into dl-allobjs.so +sysdep-rtld-routines += dl-machine +endif diff --git a/sysdeps/powerpc/Versions b/sysdeps/powerpc/Versions dissimilarity index 90% index e26809a3c7..b7d5bf904b 100644 --- a/sysdeps/powerpc/Versions +++ b/sysdeps/powerpc/Versions @@ -1,38 +1,6 @@ -libc { - GLIBC_2.0 { - # Functions from libgcc. - __divdi3; __moddi3; __udivdi3; __umoddi3; - __cmpdi2; __ucmpdi2; - __ashldi3; __ashrdi3; __lshrdi3; - __fixdfdi; __fixunsdfdi; - __fixsfdi; __fixunssfdi; - __floatdidf; __floatdisf; - } -} - -libm { - GLIBC_2.1 { - # symbols used in macros from sysdeps/powerpc/bits/fenv.h - __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env; - } - GLIBC_2.2 { - # Special functions to save and restore registers used by the - # runtime libraries. - _restgpr0_13; _restgpr0_14; _restgpr0_15; _restgpr0_16; _restgpr0_17; - _restgpr0_18; _restgpr0_19; _restgpr0_20; _restgpr0_21; _restgpr0_22; - _restgpr0_22; _restgpr0_23; _restgpr0_24; _restgpr0_25; _restgpr0_26; - _restgpr0_27; _restgpr0_28; _restgpr0_29; _restgpr0_30; _restgpr0_31; - _savegpr0_13; _savegpr0_14; _savegpr0_15; _savegpr0_16; _savegpr0_17; - _savegpr0_18; _savegpr0_19; _savegpr0_20; _savegpr0_21; _savegpr0_22; - _savegpr0_22; _savegpr0_23; _savegpr0_24; _savegpr0_25; _savegpr0_26; - _savegpr0_27; _savegpr0_28; _savegpr0_29; _savegpr0_30; _savegpr0_31; - _restgpr1_13; _restgpr1_14; _restgpr1_15; _restgpr1_16; _restgpr1_17; - _restgpr1_18; _restgpr1_19; _restgpr1_20; _restgpr1_21; _restgpr1_22; - _restgpr1_22; _restgpr1_23; _restgpr1_24; _restgpr1_25; _restgpr1_26; - _restgpr1_27; _restgpr1_28; _restgpr1_29; _restgpr1_30; _restgpr1_31; - _savegpr1_13; _savegpr1_14; _savegpr1_15; _savegpr1_16; _savegpr1_17; - _savegpr1_18; _savegpr1_19; _savegpr1_20; _savegpr1_21; _savegpr1_22; - _savegpr1_22; _savegpr1_23; _savegpr1_24; _savegpr1_25; _savegpr1_26; - _savegpr1_27; _savegpr1_28; _savegpr1_29; _savegpr1_30; _savegpr1_31; - } -} +libm { + GLIBC_2.1 { + # symbols used in macros from sysdeps/powerpc/bits/fenv.h + __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env; + } +} diff --git a/sysdeps/powerpc/fpu/Makefile b/sysdeps/powerpc/fpu/Makefile index 391cf3caf9..bf2ed92e7b 100644 --- a/sysdeps/powerpc/fpu/Makefile +++ b/sysdeps/powerpc/fpu/Makefile @@ -1,6 +1,3 @@ ifeq ($(subdir),math) libm-support += fenv_const fe_nomask t_sqrt endif -ifeq ($(subdir),misc) -sysdep_routines += fprsave fprrest -endif diff --git a/sysdeps/powerpc/Dist b/sysdeps/powerpc/powerpc32/Dist similarity index 100% rename from sysdeps/powerpc/Dist rename to sysdeps/powerpc/powerpc32/Dist diff --git a/sysdeps/powerpc/powerpc32/Implies b/sysdeps/powerpc/powerpc32/Implies new file mode 100644 index 0000000000..9ef3ac175b --- /dev/null +++ b/sysdeps/powerpc/powerpc32/Implies @@ -0,0 +1,2 @@ +wordsize-32 +powerpc/soft-fp diff --git a/sysdeps/powerpc/Makefile b/sysdeps/powerpc/powerpc32/Makefile similarity index 70% copy from sysdeps/powerpc/Makefile copy to sysdeps/powerpc/powerpc32/Makefile index 0737f6f2d3..d687ab4c85 100644 --- a/sysdeps/powerpc/Makefile +++ b/sysdeps/powerpc/powerpc32/Makefile @@ -1,6 +1,6 @@ -# We always want to use the new mnemonic syntax even if we are on a RS6000 -# machine. -+cflags += -mnew-mnemonics -Wa,-mppc -mpowerpc +# Powerpc32 specific build options. + ++cflags += -Wa,-mppc -mpowerpc asm-CPPFLAGS += -Wa,-mppc ifeq ($(with-fp),no) @@ -8,15 +8,11 @@ ifeq ($(with-fp),no) sysdep-LDFLAGS += -msoft-float endif -ifeq ($(subdir),gmon) -sysdep_routines += ppc-mcount -endif - ifeq ($(subdir),misc) sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1 endif -# On PPC, -fpic works until the GOT contains 2^15 bytes, and possibly +# On PPC, -fpic works until the GOT contains 215 bytes, and possibly # more depending on how clever the linker is. Each GOT entry takes 4 bytes, # so that's at least 8192 entries. Since libc only uses about 2000 entries, # we want to use -fpic, because this generates fewer relocs. @@ -46,14 +42,7 @@ shared-only-routines += divdi3 libgcc-compat endif endif -ifeq ($(subdir),string) -CFLAGS-memcmp.c += -Wno-uninitialized -endif - ifeq ($(subdir),elf) -# extra shared linker files to link into dl-allobjs.so and libc -sysdep-dl-routines += dl-machine -sysdep_routines += dl-machine # extra shared linker files to link only into dl-allobjs.so -sysdep-rtld-routines += dl-machine dl-start +sysdep-rtld-routines += dl-start endif diff --git a/sysdeps/powerpc/Versions b/sysdeps/powerpc/powerpc32/Versions similarity index 91% copy from sysdeps/powerpc/Versions copy to sysdeps/powerpc/powerpc32/Versions index e26809a3c7..3635c4a4a1 100644 --- a/sysdeps/powerpc/Versions +++ b/sysdeps/powerpc/powerpc32/Versions @@ -11,10 +11,6 @@ libc { } libm { - GLIBC_2.1 { - # symbols used in macros from sysdeps/powerpc/bits/fenv.h - __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env; - } GLIBC_2.2 { # Special functions to save and restore registers used by the # runtime libraries. diff --git a/sysdeps/powerpc/__longjmp.S b/sysdeps/powerpc/powerpc32/__longjmp.S similarity index 100% rename from sysdeps/powerpc/__longjmp.S rename to sysdeps/powerpc/powerpc32/__longjmp.S diff --git a/sysdeps/powerpc/add_n.S b/sysdeps/powerpc/powerpc32/add_n.S similarity index 100% rename from sysdeps/powerpc/add_n.S rename to sysdeps/powerpc/powerpc32/add_n.S diff --git a/sysdeps/powerpc/addmul_1.S b/sysdeps/powerpc/powerpc32/addmul_1.S similarity index 100% rename from sysdeps/powerpc/addmul_1.S rename to sysdeps/powerpc/powerpc32/addmul_1.S diff --git a/sysdeps/powerpc/atomicity.h b/sysdeps/powerpc/powerpc32/atomicity.h similarity index 100% rename from sysdeps/powerpc/atomicity.h rename to sysdeps/powerpc/powerpc32/atomicity.h diff --git a/sysdeps/powerpc/backtrace.c b/sysdeps/powerpc/powerpc32/backtrace.c similarity index 100% rename from sysdeps/powerpc/backtrace.c rename to sysdeps/powerpc/powerpc32/backtrace.c diff --git a/sysdeps/powerpc/bp-asm.h b/sysdeps/powerpc/powerpc32/bp-asm.h similarity index 100% rename from sysdeps/powerpc/bp-asm.h rename to sysdeps/powerpc/powerpc32/bp-asm.h diff --git a/sysdeps/powerpc/bsd-_setjmp.S b/sysdeps/powerpc/powerpc32/bsd-_setjmp.S similarity index 100% rename from sysdeps/powerpc/bsd-_setjmp.S rename to sysdeps/powerpc/powerpc32/bsd-_setjmp.S diff --git a/sysdeps/powerpc/bsd-setjmp.S b/sysdeps/powerpc/powerpc32/bsd-setjmp.S similarity index 100% rename from sysdeps/powerpc/bsd-setjmp.S rename to sysdeps/powerpc/powerpc32/bsd-setjmp.S diff --git a/sysdeps/powerpc/divdi3.c b/sysdeps/powerpc/powerpc32/divdi3.c similarity index 100% rename from sysdeps/powerpc/divdi3.c rename to sysdeps/powerpc/powerpc32/divdi3.c diff --git a/sysdeps/powerpc/dl-machine.c b/sysdeps/powerpc/powerpc32/dl-machine.c similarity index 100% rename from sysdeps/powerpc/dl-machine.c rename to sysdeps/powerpc/powerpc32/dl-machine.c diff --git a/sysdeps/powerpc/dl-machine.h b/sysdeps/powerpc/powerpc32/dl-machine.h similarity index 100% rename from sysdeps/powerpc/dl-machine.h rename to sysdeps/powerpc/powerpc32/dl-machine.h diff --git a/sysdeps/powerpc/dl-start.S b/sysdeps/powerpc/powerpc32/dl-start.S similarity index 100% rename from sysdeps/powerpc/dl-start.S rename to sysdeps/powerpc/powerpc32/dl-start.S diff --git a/sysdeps/powerpc/elf/bzero.S b/sysdeps/powerpc/powerpc32/elf/bzero.S similarity index 100% rename from sysdeps/powerpc/elf/bzero.S rename to sysdeps/powerpc/powerpc32/elf/bzero.S diff --git a/sysdeps/powerpc/elf/start.S b/sysdeps/powerpc/powerpc32/elf/start.S similarity index 100% rename from sysdeps/powerpc/elf/start.S rename to sysdeps/powerpc/powerpc32/elf/start.S diff --git a/sysdeps/powerpc/powerpc32/fpu/Makefile b/sysdeps/powerpc/powerpc32/fpu/Makefile new file mode 100644 index 0000000000..e05073970d --- /dev/null +++ b/sysdeps/powerpc/powerpc32/fpu/Makefile @@ -0,0 +1,3 @@ +ifeq ($(subdir),misc) +sysdep_routines += fprsave fprrest +endif diff --git a/sysdeps/powerpc/fpu/__longjmp.S b/sysdeps/powerpc/powerpc32/fpu/__longjmp.S similarity index 100% rename from sysdeps/powerpc/fpu/__longjmp.S rename to sysdeps/powerpc/powerpc32/fpu/__longjmp.S diff --git a/sysdeps/powerpc/fpu/fprrest.S b/sysdeps/powerpc/powerpc32/fpu/fprrest.S similarity index 100% rename from sysdeps/powerpc/fpu/fprrest.S rename to sysdeps/powerpc/powerpc32/fpu/fprrest.S diff --git a/sysdeps/powerpc/fpu/fprsave.S b/sysdeps/powerpc/powerpc32/fpu/fprsave.S similarity index 100% rename from sysdeps/powerpc/fpu/fprsave.S rename to sysdeps/powerpc/powerpc32/fpu/fprsave.S diff --git a/sysdeps/powerpc/fpu/s_copysign.S b/sysdeps/powerpc/powerpc32/fpu/s_copysign.S similarity index 100% rename from sysdeps/powerpc/fpu/s_copysign.S rename to sysdeps/powerpc/powerpc32/fpu/s_copysign.S diff --git a/sysdeps/powerpc/fpu/s_copysignf.S b/sysdeps/powerpc/powerpc32/fpu/s_copysignf.S similarity index 100% rename from sysdeps/powerpc/fpu/s_copysignf.S rename to sysdeps/powerpc/powerpc32/fpu/s_copysignf.S diff --git a/sysdeps/powerpc/fpu/setjmp.S b/sysdeps/powerpc/powerpc32/fpu/setjmp.S similarity index 100% rename from sysdeps/powerpc/fpu/setjmp.S rename to sysdeps/powerpc/powerpc32/fpu/setjmp.S diff --git a/sysdeps/powerpc/gprrest0.S b/sysdeps/powerpc/powerpc32/gprrest0.S similarity index 100% rename from sysdeps/powerpc/gprrest0.S rename to sysdeps/powerpc/powerpc32/gprrest0.S diff --git a/sysdeps/powerpc/gprrest1.S b/sysdeps/powerpc/powerpc32/gprrest1.S similarity index 100% rename from sysdeps/powerpc/gprrest1.S rename to sysdeps/powerpc/powerpc32/gprrest1.S diff --git a/sysdeps/powerpc/gprsave0.S b/sysdeps/powerpc/powerpc32/gprsave0.S similarity index 100% rename from sysdeps/powerpc/gprsave0.S rename to sysdeps/powerpc/powerpc32/gprsave0.S diff --git a/sysdeps/powerpc/gprsave1.S b/sysdeps/powerpc/powerpc32/gprsave1.S similarity index 100% rename from sysdeps/powerpc/gprsave1.S rename to sysdeps/powerpc/powerpc32/gprsave1.S diff --git a/sysdeps/powerpc/libgcc-compat.S b/sysdeps/powerpc/powerpc32/libgcc-compat.S similarity index 100% rename from sysdeps/powerpc/libgcc-compat.S rename to sysdeps/powerpc/powerpc32/libgcc-compat.S diff --git a/sysdeps/powerpc/lshift.S b/sysdeps/powerpc/powerpc32/lshift.S similarity index 100% rename from sysdeps/powerpc/lshift.S rename to sysdeps/powerpc/powerpc32/lshift.S diff --git a/sysdeps/powerpc/memset.S b/sysdeps/powerpc/powerpc32/memset.S similarity index 100% rename from sysdeps/powerpc/memset.S rename to sysdeps/powerpc/powerpc32/memset.S diff --git a/sysdeps/powerpc/mul_1.S b/sysdeps/powerpc/powerpc32/mul_1.S similarity index 100% rename from sysdeps/powerpc/mul_1.S rename to sysdeps/powerpc/powerpc32/mul_1.S diff --git a/sysdeps/powerpc/ppc-mcount.S b/sysdeps/powerpc/powerpc32/ppc-mcount.S similarity index 100% rename from sysdeps/powerpc/ppc-mcount.S rename to sysdeps/powerpc/powerpc32/ppc-mcount.S diff --git a/sysdeps/powerpc/register-dump.h b/sysdeps/powerpc/powerpc32/register-dump.h similarity index 100% rename from sysdeps/powerpc/register-dump.h rename to sysdeps/powerpc/powerpc32/register-dump.h diff --git a/sysdeps/powerpc/rshift.S b/sysdeps/powerpc/powerpc32/rshift.S similarity index 100% rename from sysdeps/powerpc/rshift.S rename to sysdeps/powerpc/powerpc32/rshift.S diff --git a/sysdeps/powerpc/setjmp.S b/sysdeps/powerpc/powerpc32/setjmp.S similarity index 100% rename from sysdeps/powerpc/setjmp.S rename to sysdeps/powerpc/powerpc32/setjmp.S diff --git a/sysdeps/powerpc/stpcpy.S b/sysdeps/powerpc/powerpc32/stpcpy.S similarity index 100% rename from sysdeps/powerpc/stpcpy.S rename to sysdeps/powerpc/powerpc32/stpcpy.S diff --git a/sysdeps/powerpc/strchr.S b/sysdeps/powerpc/powerpc32/strchr.S similarity index 100% rename from sysdeps/powerpc/strchr.S rename to sysdeps/powerpc/powerpc32/strchr.S diff --git a/sysdeps/powerpc/strcmp.S b/sysdeps/powerpc/powerpc32/strcmp.S similarity index 100% rename from sysdeps/powerpc/strcmp.S rename to sysdeps/powerpc/powerpc32/strcmp.S diff --git a/sysdeps/powerpc/strcpy.S b/sysdeps/powerpc/powerpc32/strcpy.S similarity index 100% rename from sysdeps/powerpc/strcpy.S rename to sysdeps/powerpc/powerpc32/strcpy.S diff --git a/sysdeps/powerpc/strlen.S b/sysdeps/powerpc/powerpc32/strlen.S similarity index 100% rename from sysdeps/powerpc/strlen.S rename to sysdeps/powerpc/powerpc32/strlen.S diff --git a/sysdeps/powerpc/sub_n.S b/sysdeps/powerpc/powerpc32/sub_n.S similarity index 100% rename from sysdeps/powerpc/sub_n.S rename to sysdeps/powerpc/powerpc32/sub_n.S diff --git a/sysdeps/powerpc/submul_1.S b/sysdeps/powerpc/powerpc32/submul_1.S similarity index 100% rename from sysdeps/powerpc/submul_1.S rename to sysdeps/powerpc/powerpc32/submul_1.S 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 similarity index 100% rename from sysdeps/unix/sysv/linux/powerpc/Versions rename to 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 similarity index 100% rename from sysdeps/unix/sysv/linux/powerpc/brk.S rename to 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 similarity index 100% rename from sysdeps/unix/sysv/linux/powerpc/clone.S rename to 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 similarity index 100% rename from sysdeps/unix/sysv/linux/powerpc/kernel_stat.h rename to 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 similarity index 100% rename from sysdeps/unix/sysv/linux/powerpc/socket.S rename to 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 similarity index 100% rename from sysdeps/unix/sysv/linux/powerpc/syscalls.list rename to 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 similarity index 100% rename from sysdeps/unix/sysv/linux/powerpc/sysdep.h rename to sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h -- 2.11.4.GIT