2004-02-13 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/powerpc64/__longjmp-common.S: New file.
* sysdeps/powerpc/powerpc64/__longjmp.S [NOT_IN_libc](__longjmp):
Non-versioned __longjmp for rtld-__longjmp.
[!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
default version of __longjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmx__longjmp): Original version of __longjmp.
* sysdeps/powerpc/powerpc64/bsd-_setjmp.S [NOT_IN_libc](_setjmp):
Non-versioned _setjmp for rtld-_setjmp.
[!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define
as default version of _setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmx_setjmp): Original version of _setjmp.
* sysdeps/powerpc/powerpc64/bsd-setjmp.S (__vmxsetjmp): Branch to
__vmx__sigsetjmp and define as default version of setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmxsetjmp): Original version of setjmp.
* sysdeps/powerpc/powerpc64/setjmp-common.S: New file.
* sysdeps/powerpc/powerpc64/setjmp.S [NOT_IN_libc](__setjmp):
Non-versioned __sigsetjmp for rtld-setjmp.
[!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
as default version of __sigsetjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmx__sigsetjmp): Original version of __sigsetjmp.
* sysdeps/powerpc/powerpc32/__longjmp-common.S: New File
* sysdeps/powerpc/powerpc32/__longjmp.S [NOT_IN_libc](__longjmp):
Non-versioned __longjmp for rtld-__longjmp.
[!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
default version of __longjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__longjmp): Original version of __longjmp.
* sysdeps/powerpc/powerpc32/bsd-_setjmp.S [NOT_IN_libc](_setjmp):
Non-versioned _setjmp for rtld-_setjmp.
[!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define
as default version of _setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx_setjmp): Original version of _setjmp.
* sysdeps/powerpc/powerpc32/bsd-setjmp.S (__vmxsetjmp): Branch to
__vmx__sigsetjmp and define as default version of setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmxsetjmp): Original version of setjmp.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: New file.
* sysdeps/powerpc/powerpc32/fpu/__longjmp.S [NOT_IN_libc](__longjmp):
Non-versioned __longjmp for rtld-__longjmp.
[!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
default version of __longjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__longjmp): Original version of __longjmp.
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: New file.
* sysdeps/powerpc/powerpc32/fpu/setjmp.S [NOT_IN_libc](__setjmp):
Non-versioned __sigsetjmp for rtld-setjmp.
[!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
as default version of __sigsetjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__sigsetjmp): Original version of __sigsetjmp.
* sysdeps/powerpc/powerpc32/setjmp-common.S: New file.
* sysdeps/powerpc/powerpc32/setjmp.S [NOT_IN_libc](__setjmp):
Non-versioned __sigsetjmp for rtld-setjmp.
[!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
as default version of __sigsetjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__sigsetjmp): Original version of __sigsetjmp.
* sysdeps/powerpc/Dist: New File.
* sysdeps/powerpc/Makefile (sysdep_routines): Add novmx-longjmp.c
and novmx-sigjmp.c
* sysdeps/powerpc/Versions (libc): To GLIBC_2.3_4 add _longjmp,
__sigsetjmp, _setjmp, longjmp, and setjmp. To GLIBC_PRIVATE add
__novmx__libc_longjmp, __novmx__libc_siglongjmp, __vmx__libc_longjmp,
and __vmx__libc_siglongjmp.
* sysdeps/powerpc/bits/setjmp.h: Define JB_VRSAVE, JB_VRS, and adjust
JB_SIZE to add VMX regs to __jmp_buf.
* sysdeps/powerpc/longjmp.c: New file.
* sysdeps/powerpc/novmxsetjmp.h: New file.
* sysdeps/powerpc/novmx-longjmp.c: New file.
* sysdeps/powerpc/novmx-sigjmp.c: New file.
* sysdeps/powerpc/sigjmp.c: New file.
2004-02-06 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/powerpc32/dl-machine.c: Declare __cache_line_size as
weak extern.
(__elf_machine_runtime_setup): Invalidate the instruction cache over
the whole range of the PLT.
2003-04-16 Jakub Jelinek <jakub@redhat.com>
* elf/Makefile (distribute): Add tst-tlsmod{[7-9],1[0-2]}.c and
tst-tls10.h.
(tests): Add tst-tls1[0-2].
(modules-names): Add tst-tlsmod{[7-8],1[0-2]}.
($(objpfx)tst-tlsmod8.so): Depend on tst-tlsmod7.so.
($(objpfx)tst-tlsmod10.so): Depend on tst-tlsmod9.so.
($(objpfx)tst-tlsmod12.so): Depend on tst-tlsmod11.so.
($(objpfx)tst-tls10): Depend on tst-tlsmod8.so.
($(objpfx)tst-tls11): Depend on tst-tlsmod10.so.
($(objpfx)tst-tls12): Depend on tst-tlsmod12.so.
* elf/tst-tls10.c: New test.
* elf/tst-tls11.c: New test.
* elf/tst-tls12.c: New test.
* elf/tst-tls10.h: New file.
* elf/tst-tlsmod7.c: New file.
* elf/tst-tlsmod8.c: New file.
* elf/tst-tlsmod9.c: New file.
* elf/tst-tlsmod10.c: New file.
* elf/tst-tlsmod11.c: New file.
* elf/tst-tlsmod12.c: New file.
2003-04-15 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/bits/atomic.h: Moved ppc32/64 specific code to ...
* sysdeps/powerpc/powerpc32/bits/atomic.h: New file.
* sysdeps/powerpc/powerpc64/bits/atomic.h: New file.
* posix/regex.h: Include <sys/types.h>.
2003-04-15 Jakub Jelinek <jakub@redhat.com>
* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Avoid
checking R_PPC_RELATIVE, R_PPC_NONE and whether relocation is
against local symbol in conflict processing.
(LIBC_START_MAIN, LIBC_START_MAIN_AUXVEC_ARG, MAIN_AUXVEC_ARG)
(INIT_MAIN_ARGS): Define, and #include <sysdeps/generic/libc-start.c>.
(__libc_start_main): Just call the generic one for most of the work.
* sysdeps/generic/libc-start.c [LIBC_START_MAIN]: If defined, define a
static function by that name instead of BP_SYM (__libc_start_main).
[LIBC_START_MAIN_AUXVEC_ARG]: Take AUXVEC as argument.
[MAIN_AUXVEC_ARG]: Pass 4th argument to MAIN.
[INIT_MAIN_ARGS]: Give INIT the same args as MAIN.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [DL_PLATFORM_AUXV]:
Use this macro for extra AT_* cases.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c (DL_PLATFORM_AUXV):
New macro, guts from ...
(__aux_init_cache): ... here, function removed.
(DL_PLATFORM_INIT): Don't define this.
* sysdeps/powerpc/powerpc32/memset.S: Put __cache_line_size in bss.
* sysdeps/powerpc/powerpc64/memset.S: Likewise.
* Versions.def (libthread_db): Add GLICB_2.3.3 set.
Don't use weak_extern for dl_rtld_map. Instead check only if [SHARED].
(elf_machine_rela): Clean up.
* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Clean up.
PowerPC TLS support contributed by Paul Mackerras <paulus@samba.org>.
* sysdeps/powerpc/powerpc32/elf/configure.in: New file.
* sysdeps/powerpc/powerpc32/elf/configure: New generated file.
* elf/tls-macros.h [__powerpc__ && !__powerpc64__]
(TLS_LE, TLS_IE, TLS_LD, TLS_GD): Define them.
* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Support
new relocs for TLS.
* sysdeps/powerpc/dl-tls.h (TLS_TP_OFFSET, TLS_DTV_OFFSET): Move these
macros out of [SHARED].
(TLS_TPREL_VALUE, TLS_DTPREL_VALUE): New macros.
* elf/elf.h: Define R_PPC_* relocs for TLS support.
Clean up R_PPC64_* macro definition comments.
* sysdeps/powerpc/powerpc32/sysdep.h: New file. Define powerpc32
specific macros copied from sysdeps/powerpc/sysdep.h.
* sysdeps/powerpc/powerpc64/sysdep.h: New file. Define powerpc64
specific macros.
* sysdeps/unix/powerpc/sysdep.h: Include <bits/wordsize.h>.
[__WORDSIZE==64]: Include sysdeps/powerpc/powerpc64/sysdep.h.
[!__WORDSIZE==64]: Include sysdeps/powerpc/powerpc32/sysdep.h.
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.