Update.
2002-07-29 Steven Munroe <sjmunroe@us.ibm.com> * 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 <sjmunroe@us.ibm.com> * 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 <drepper@redhat.com> * libio/tst-atime.c: Include <errno.h>. (do_test): Only perform fstatvfs check if ST_NOATIME is defined. 2002-09-03 Isamu Hasegawa <isamu@yamato.ibm.com> * 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.
This commit is contained in:
parent
75e4a28221
commit
92b27c7470
170
ChangeLog
170
ChangeLog
@ -1,3 +1,173 @@
|
||||
2002-07-29 Steven Munroe <sjmunroe@us.ibm.com>
|
||||
|
||||
* 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 <sjmunroe@us.ibm.com>
|
||||
|
||||
* 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 <drepper@redhat.com>
|
||||
|
||||
* libio/tst-atime.c: Include <errno.h>.
|
||||
(do_test): Only perform fstatvfs check if ST_NOATIME is defined.
|
||||
|
||||
2002-09-03 Isamu Hasegawa <isamu@yamato.ibm.com>
|
||||
|
||||
* 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 <roland@redhat.com>
|
||||
|
||||
* resolv/nss_dns/dns-network.c (MAXPACKET): Increase minimum value
|
||||
|
7
FAQ.in
7
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 <http://www.suse.de/~aj/glibc-mips.html>.
|
||||
|
||||
??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, <gafton@redhat.com>
|
||||
{AO} Alexandre Oliva, <aoliva@redhat.com>
|
||||
{BH} Bruno Haible, <haible@clisp.cons.org>
|
||||
{SM} Steven Munroe, <sjmunroe@us.ibm.com>
|
||||
|
||||
Local Variables:
|
||||
mode:outline
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@ -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);
|
||||
|
@ -1,3 +1,10 @@
|
||||
2002-07-29 Steven Munroe <sjmunroe@us.ibm.com>
|
||||
|
||||
* 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 <roland@redhat.com>
|
||||
|
||||
* sysdeps/powerpc/Makefile (CFLAGS-pt-initfini.s): New variable.
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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 <locale/weight.h>
|
||||
@ -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 */
|
||||
|
@ -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 <locale/weight.h>
|
||||
|
||||
/* 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;
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -1,4 +1,2 @@
|
||||
wordsize-32
|
||||
ieee754/flt-32
|
||||
ieee754/dbl-64
|
||||
powerpc/soft-fp
|
||||
|
@ -1,51 +1,11 @@
|
||||
# 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
|
||||
+cflags += -mnew-mnemonics
|
||||
|
||||
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
|
||||
@ -55,5 +15,5 @@ ifeq ($(subdir),elf)
|
||||
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-machine
|
||||
endif
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,3 @@
|
||||
ifeq ($(subdir),math)
|
||||
libm-support += fenv_const fe_nomask t_sqrt
|
||||
endif
|
||||
ifeq ($(subdir),misc)
|
||||
sysdep_routines += fprsave fprrest
|
||||
endif
|
||||
|
2
sysdeps/powerpc/powerpc32/Implies
Normal file
2
sysdeps/powerpc/powerpc32/Implies
Normal file
@ -0,0 +1,2 @@
|
||||
wordsize-32
|
||||
powerpc/soft-fp
|
48
sysdeps/powerpc/powerpc32/Makefile
Normal file
48
sysdeps/powerpc/powerpc32/Makefile
Normal file
@ -0,0 +1,48 @@
|
||||
# Powerpc32 specific build options.
|
||||
|
||||
+cflags += -Wa,-mppc -mpowerpc
|
||||
asm-CPPFLAGS += -Wa,-mppc
|
||||
|
||||
ifeq ($(with-fp),no)
|
||||
+cflags += -msoft-float
|
||||
sysdep-LDFLAGS += -msoft-float
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),misc)
|
||||
sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1
|
||||
endif
|
||||
|
||||
# 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.
|
||||
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),elf)
|
||||
# extra shared linker files to link only into dl-allobjs.so
|
||||
sysdep-rtld-routines += dl-start
|
||||
endif
|
34
sysdeps/powerpc/powerpc32/Versions
Normal file
34
sysdeps/powerpc/powerpc32/Versions
Normal file
@ -0,0 +1,34 @@
|
||||
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.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;
|
||||
}
|
||||
}
|
3
sysdeps/powerpc/powerpc32/fpu/Makefile
Normal file
3
sysdeps/powerpc/powerpc32/fpu/Makefile
Normal file
@ -0,0 +1,3 @@
|
||||
ifeq ($(subdir),misc)
|
||||
sysdep_routines += fprsave fprrest
|
||||
endif
|
@ -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
|
||||
|
@ -1,4 +1,3 @@
|
||||
clone.S
|
||||
dl-brk.S
|
||||
fe_nomask.c
|
||||
ipc_priv.h
|
||||
|
@ -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
|
||||
|
15
sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed
Normal file
15
sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed
Normal file
@ -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"_
|
||||
|
1
sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist
Normal file
1
sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist
Normal file
@ -0,0 +1 @@
|
||||
clone.S
|
3
sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
Normal file
3
sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
Normal file
@ -0,0 +1,3 @@
|
||||
ifeq ($(subdir),resource)
|
||||
sysdep_routines += oldgetrlimit64
|
||||
endif
|
Loading…
Reference in New Issue
Block a user