[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r22532 - in /fsf/trunk/libc: ./ ports/ ports/sysdeps/am33/elf/ ports/sysdeps/arm/ ports/sysdeps/powerpc/powerpc32/405/ ports...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r22532 - in /fsf/trunk/libc: ./ ports/ ports/sysdeps/am33/elf/ ports/sysdeps/arm/ ports/sysdeps/powerpc/powerpc32/405/ ports...
- From: eglibc@xxxxxxxxxx
- Date: Fri, 01 Mar 2013 00:02:07 -0000
Author: eglibc
Date: Fri Mar 1 00:02:06 2013
New Revision: 22532
Log:
Import glibc-mainline for 2013-03-01
Removed:
fsf/trunk/libc/sysdeps/powerpc/powerpc32/bp-asm.h
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/ports/ChangeLog.am33
fsf/trunk/libc/ports/ChangeLog.arm
fsf/trunk/libc/ports/ChangeLog.powerpc
fsf/trunk/libc/ports/ChangeLog.tile
fsf/trunk/libc/ports/sysdeps/am33/elf/start.S
fsf/trunk/libc/ports/sysdeps/arm/__longjmp.S
fsf/trunk/libc/ports/sysdeps/arm/arm-mcount.S
fsf/trunk/libc/ports/sysdeps/arm/crti.S
fsf/trunk/libc/ports/sysdeps/arm/crtn.S
fsf/trunk/libc/ports/sysdeps/arm/dl-tlsdesc.S
fsf/trunk/libc/ports/sysdeps/arm/dl-trampoline.S
fsf/trunk/libc/ports/sysdeps/arm/memcpy.S
fsf/trunk/libc/ports/sysdeps/arm/memmove.S
fsf/trunk/libc/ports/sysdeps/arm/memset.S
fsf/trunk/libc/ports/sysdeps/arm/preconfigure
fsf/trunk/libc/ports/sysdeps/arm/setjmp.S
fsf/trunk/libc/ports/sysdeps/arm/strlen.S
fsf/trunk/libc/ports/sysdeps/arm/sysdep.h
fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S
fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S
fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memset.S
fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S
fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S
fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S
fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S
fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/476/memset.S
fsf/trunk/libc/ports/sysdeps/unix/arm/sysdep.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/am33/clone.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/Makefile
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/clone.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/getcontext.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/mmap.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/mmap64.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/setcontext.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/syscall.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/vfork.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h
fsf/trunk/libc/sysdeps/powerpc/powerpc32/__longjmp-common.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/a2/memcpy.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/add_n.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/addmul_1.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/bsd-_setjmp.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/bsd-setjmp.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/bzero.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/cell/memcpy.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/lshift.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/memset.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/mul_1.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/mpa.c
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memcmp.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memcpy.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memset.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/strncmp.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power6/memcpy.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power6/memset.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memchr.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memcmp.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memcpy.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/mempcpy.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memrchr.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memset.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/rawmemchr.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strcasecmp.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strchr.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strchrnul.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strlen.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strncmp.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strnlen.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/rshift.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/setjmp-common.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/start.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/stpcpy.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/strchr.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/strcmp.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/strcpy.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/strlen.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/strncmp.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/sub_n.S
fsf/trunk/libc/sysdeps/powerpc/powerpc32/submul_1.S
fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/mpa.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S
fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Mar 1 00:02:06 2013
@@ -1,3 +1,175 @@
+2013-02-28 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #13550]
+ * sysdeps/powerpc/powerpc32/bp-asm.h: Remove file.
+ * sysdeps/powerpc/powerpc32/__longjmp-common.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__longjmp): Don't use BP_SYM and CHECK_BOUNDS_BOTH_WIDE_LIT.
+ * sysdeps/powerpc/powerpc32/a2/memcpy.S: Don't include <bp-sym.h>
+ and <bp-asm.h>.
+ (memcpy): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/add_n.S: Don't include <bp-sym.h> and
+ <bp-asm.h>.
+ (__mpn_add_n): Don't use BP_SYM.
+ (__mpn_add_n) [__BOUNDED_POINTERS_]: Remove conditional code.
+ * sysdeps/powerpc/powerpc32/addmul_1.S: Don't include <bp-sym.h>
+ and <bp-asm.h>.
+ (__mpn_addmul_1): Don't use BP_SYM.
+ (__mpn_addmul_1) [__BOUNDED_POINTERS__]: Remove conditional code.
+ * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Don't include
+ <bp-sym.h>.
+ (_setjmp): Don't use BP_SYM.
+ (__novmx_setjmp): Likewise.
+ (__GI__setjmp): Likewise.
+ (__vmx_setjmp): Likewise.
+ * sysdeps/powerpc/powerpc32/bsd-setjmp.S: Don't include
+ <bp-sym.h>.
+ * sysdeps/powerpc/powerpc32/bzero.S: Don't include <bp-sym.h>.
+ (__bzero): Don't use BP_SYM.
+ (__bzero) [__BOUNDED_POINTERS__]: Remove conditional code.
+ (__bzero) [!__BOUNDED_POINTERS__]: Make code unconditional.
+ * sysdeps/powerpc/powerpc32/cell/memcpy.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (memcpy): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__longjmp): Don't use BP_SYM and CHECK_BOUNDS_BOTH_WIDE_LIT.
+ * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__sigsetjmp): Don't use BP_SYM and CHECK_BOUNDS_BOTH_WIDE_LIT.
+ * sysdeps/powerpc/powerpc32/lshift.S: Don't include <bp-sym.h> and
+ <bp-asm.h>.
+ (__mpn_lshift): Don't use BP_SYM.
+ (__mpn_lshift) [__BOUNDED_POINTERS__]: Remove conditional code.
+ * sysdeps/powerpc/powerpc32/memset.S: Don't include <bp-sym.h> and
+ <bp-asm.h>.
+ (memset): Don't use BP_SYM.
+ (memset) [__BOUNDED_POINTERS__]: Remove conditional code.
+ (memset) [!__BOUNDED_POINTERS__]: Make code unconditional.
+ * sysdeps/powerpc/powerpc32/mul_1.S: Don't include <bp-sym.h> and
+ <bp-asm.h>.
+ (__mpn_mul_1): Don't use BP_SYM.
+ (__mpn_mul_1) [__BOUNDED_POINTERS__]: Remove conditional code.
+ * sysdeps/powerpc/powerpc32/power4/memcmp.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (memcmp): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power4/memcpy.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (memcpy): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power4/memset.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (memset): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power4/strncmp.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (strncmp): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power6/memcpy.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (memcpy): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power6/memset.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (memset): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/memchr.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__memchr): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/memcmp.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (memcmp): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/memcpy.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (memcpy): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/mempcpy.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__mempcpy): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/memrchr.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__memrchr): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/memset.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (memset): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/rawmemchr.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__rawmemchr): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/strcasecmp.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__STRCMP): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/strchr.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (strchr): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/strchrnul.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__strchrnul): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/strlen.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (strlen): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/strncmp.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (strncmp): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/power7/strnlen.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__strnlen): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/rshift.S: Don't include <bp-sym.h> and
+ <bp-asm.h>.
+ (__mpn_rshift): Don't use BP_SYM.
+ (__mpn_rshift) [__BOUNDED_POINTERS__]: Remove conditional code.
+ * sysdeps/powerpc/powerpc32/setjmp-common.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__sigsetjmp): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/start.S: Don't include "bp-sym.h".
+ (L(start_addresses)): Don't use BP_SYM.
+ (_start): Likewise.
+ * sysdeps/powerpc/powerpc32/stpcpy.S: Don't include <bp-sym.h> and
+ <bp-asm.h>.
+ (__stpcpy): Don't use BP_SYM and macros from bp-asm.h.
+ (__stpcpy) [__BOUNDED_POINTERS__]: Remove conditional code.
+ (__stpcpy) [!__BOUNDED_POINTERS__]: Make code unconditional.
+ * sysdeps/powerpc/powerpc32/strchr.S: Don't include <bp-sym.h> and
+ <bp-asm.h>.
+ (strchr): Don't use BP_SYM.h and macros from bp-asm.h.
+ (strchr) [__BOUNDED_POINTERS__]: Remove conditional code.
+ (strchr) [!__BOUNDED_POINTERS__]: Make code unconditional.
+ * sysdeps/powerpc/powerpc32/strcmp.S: Don't include <bp-sym.h> and
+ <bp-asm.h>.
+ (strcmp): Don't use BP_SYM and CHECK_BOUNDS_LOW. Remove GKM FIXME
+ comments.
+ (strcmp) [__BOUNDED_POINTERS__]: Remove conditional code.
+ * sysdeps/powerpc/powerpc32/strcpy.S: Don't include <bp-sym.h> and
+ <bp-asm.h>.
+ (strcpy): Don't use BP_SYM and macros from bp-asm.h. Remove GKM
+ FIXME comments.
+ (strcpy) [__BOUNDED_POINTERS__]: Remove conditional code.
+ (strcpy) [!__BOUNDED_POINTERS__]: Make code unconditional.
+ * sysdeps/powerpc/powerpc32/strlen.S: Don't include <bp-sym.h> and
+ <bp-asm.h>.
+ (strlen): Don't use BP_SYM and CHECK_BOUNDS_LOW. Remove GKM FIXME
+ comment.
+ * sysdeps/powerpc/powerpc32/strncmp.S: Don't include <bp-sym.h>
+ and <bp-asm.h>.
+ (strncmp): Don't use BP_SYM,
+ * sysdeps/powerpc/powerpc32/sub_n.S: Don't include <bp-sym.h> and
+ <bp-asm.h>.
+ (__mpn_sub_n): Don't use BP_SYM.
+ (__mpn_sub_n) [__BOUNDED_POINTERS__]: Remove conditional code.
+ * sysdeps/powerpc/powerpc32/submul_1.S: Don't include <bp-sym.h>
+ and <bp-asm.h>.
+ (__mpn_submul_1): Don't use BP_SYM.
+ (__mpn_submul_1) [__BOUNDED_POINTERS__]: Remove conditional code.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__brk): Don't use BP_SYM and DISCARD_BOUNDS.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (__clone): Don't use BP_SYM and DISCARD_BOUNDS. Remove GKM FIXME
+ comment.
+
+2013-02-28 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
+
+ * sysdeps/powerpc/powerpc32/power4/fpu/mpa.c (add_magnitudes):
+ Use ZK to minimize writes to Z.
+ (sub_magnitudes): Simplify code a bit.
+ * sysdeps/powerpc/powerpc64/power4/fpu/mpa.c (add_magnitudes):
+ Use ZK to minimize writes to Z.
+ (sub_magnitudes): Simplify code a bit.
+
2013-02-27 Roland McGrath <roland@xxxxxxxxxxxxx>
* csu/gmon-start.c: Add special exception to license text.
Modified: fsf/trunk/libc/ports/ChangeLog.am33
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.am33 (original)
+++ fsf/trunk/libc/ports/ChangeLog.am33 Fri Mar 1 00:02:06 2013
@@ -1,3 +1,10 @@
+2013-02-28 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/am33/elf/start.S: Don't include "bp-sym.h".
+ (_start): Don't use BP_SYM.
+ * sysdeps/unix/sysv/linux/am33/clone.S: Don't include <bp-sym.h>.
+ (__clone): Don't use BP_SYM.
+
2013-02-14 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
[BZ #13550]
Modified: fsf/trunk/libc/ports/ChangeLog.arm
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.arm (original)
+++ fsf/trunk/libc/ports/ChangeLog.arm Fri Mar 1 00:02:06 2013
@@ -1,3 +1,61 @@
+2013-02-28 Richard Henderson <rth@xxxxxxxxxx>
+
+ * sysdeps/arm/preconfigure: Adjust scan for __ARM_ARCH_* defines.
+
+ * sysdeps/arm/preconfigure: Handle __ARM_ARCH_6*__.
+
+ * sysdeps/unix/sysv/linux/arm/Makefile [elf] (sysdep-rtld-routines):
+ Include libc-do-syscall.
+
+ * sysdeps/arm/sysdep.h: Fix assembly whitespace.
+ * ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise.
+
+ * sysdeps/arm/sysdep.h (PC_OFS): New macros.
+ * sysdeps/arm/__longjmp.S (__longjmp): Use PC_OFS.
+ * sysdeps/arm/setjmp.S (__sigsetjmp): Likewise.
+ * sysdeps/unix/arm/sysdep.S (__syscall_error): Likewise.
+ * sysdeps/unix/sysv/linux/arm/getcontext.S (__getcontext): Likewise.
+ * sysdeps/unix/sysv/linux/arm/setcontext.S (__startcontext): Likewise.
+ * sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
+ (SINGLE_THREAD_P): Likewise.
+ * sysdeps/unix/sysv/linux/arm/sysdep.h
+ (SYSCALL_ERROR_HANDLER): Likewise.
+ * sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
+ (_Unwind_Resume): Use stringified PC_OFS.
+ * sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
+ (_Unwind_Resume): Likewise.
+
+ * ports/sysdeps/arm/arm-mcount.S: Always use unified syntax and
+ always add IT markup.
+ * sysdeps/unix/sysv/linux/arm/mmap64.S (__mmap64): Likewise.
+ * sysdeps/arm/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Add IT markup.
+ * sysdeps/unix/arm/sysdep.S (__syscall_error): Likewise.
+ * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Likewise.
+ * sysdeps/unix/sysv/linux/arm/mmap.S (__mmap): Likewise.
+ * sysdeps/unix/sysv/linux/arm/syscall.S (syscall): Likewise.
+ * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_RET): Likewise.
+ * sysdeps/unix/sysv/linux/arm/vfork.S (__vfork): Likewise.
+
+ * ports/sysdeps/arm/__longjmp.S: Define NO_THUMB before <sysdep.h>
+ * sysdeps/arm/crti.S, sysdeps/arm/crtn.S: Likewise.
+ * sysdeps/arm/dl-trampoline.S: Likewise.
+ * sysdeps/arm/memcpy.S: Likewise.
+ * sysdeps/arm/memmove.S: Likewise.
+ * sysdeps/arm/memset.S: Likewise.
+ * sysdeps/arm/setjmp.S: Likewise.
+ * sysdeps/arm/strlen.S: Likewise.
+ * sysdeps/unix/sysv/linux/arm/____longjmp_chk.S: Likewise.
+ * sysdeps/unix/sysv/linux/arm/setcontext.S: Likewise.
+
+2013-02-27 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * sysdeps/arm/sysdep.h (CFI_SECTIONS): New macro.
+ (ENTRY): Use it.
+ * sysdeps/arm/dl-tlsdesc.S: Likewise.
+ * sysdeps/arm/dl-trampoline.S: Likewise.
+ * sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h (PSEUDO): Likewise.
+
2013-02-18 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
[BZ #14920]
Modified: fsf/trunk/libc/ports/ChangeLog.powerpc
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.powerpc (original)
+++ fsf/trunk/libc/ports/ChangeLog.powerpc Fri Mar 1 00:02:06 2013
@@ -1,3 +1,31 @@
+2013-02-28 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #13550]
+ * sysdeps/powerpc/powerpc32/405/memcmp.S: Don't include <bp-sym.h>
+ and <bp-asm.h>.
+ (memcmp): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/405/memcpy.S: Don't include <bp-sym.h>
+ and <bp-asm.h>.
+ (memcpy): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/405/memset.S: Don't include <bp-sym.h>
+ and <bp-asm.h>.
+ (memset): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/405/strcmp.S: Don't include <bp-sym.h>
+ and <bp-asm.h>.
+ (strcmp): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/405/strcpy.S: Don't include <bp-sym.h>
+ and <bp-asm.h>.
+ (strcpy): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/405/strlen.S: Don't include <bp-sym.h>
+ and <bp-asm.h>.
+ (strlen): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/405/strncmp.S: Don't include
+ <bp-sym.h> and <bp-asm.h>.
+ (strncmp): Don't use BP_SYM.
+ * sysdeps/powerpc/powerpc32/476/memset.S: Don't include <bp-sym.h>
+ and <bp-asm.h>.
+ (memset): Don't use BP_SYM.
+
2013-02-18 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist:
Modified: fsf/trunk/libc/ports/ChangeLog.tile
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.tile (original)
+++ fsf/trunk/libc/ports/ChangeLog.tile Fri Mar 1 00:02:06 2013
@@ -1,3 +1,12 @@
+2013-02-28 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h
+ (FUTEX_WAIT_REQUEUE_PI): Define.
+ (FUTEX_CMP_REQUEUE_PI): Likewise.
+ (lll_futex_wait_requeue_pi): Likewise.
+ (lll_futex_timed_wait_requeue_pi): Likewise.
+ (lll_futex_cmp_requeue_pi): Likewise.
+
2013-02-18 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist:
Modified: fsf/trunk/libc/ports/sysdeps/am33/elf/start.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/am33/elf/start.S (original)
+++ fsf/trunk/libc/ports/sysdeps/am33/elf/start.S Fri Mar 1 00:02:06 2013
@@ -37,8 +37,6 @@
NULL
*/
-#include "bp-sym.h"
-
.text
.globl _start
.type _start,@function
@@ -63,13 +61,13 @@
mov 0,a3
mov (32,sp), d1 /* argc. */
- mov BP_SYM (main), d0 /* main. */
+ mov main, d0 /* main. */
/* Call the user's main function, and exit with its value.
But let the libc call main. */
- call BP_SYM (__libc_start_main),[],0
+ call __libc_start_main,[],0
- call BP_SYM (abort),[],0 /* Crash if somehow `exit' does return. */
+ call abort,[],0 /* Crash if somehow `exit' does return. */
/* Define a symbol for the first piece of initialized data. */
.data
Modified: fsf/trunk/libc/ports/sysdeps/arm/__longjmp.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/__longjmp.S (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/__longjmp.S Fri Mar 1 00:02:06 2013
@@ -16,6 +16,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
+/* ??? Needs more rearrangement for the LDM to handle thumb mode. */
+#define NO_THUMB
#include <sysdep.h>
#define _SETJMP_H
#define _ASM
@@ -105,12 +107,12 @@
#ifdef NEED_HWCAP
# ifdef IS_IN_rtld
-1: .long _GLOBAL_OFFSET_TABLE_ - 0b - 8
+1: .long _GLOBAL_OFFSET_TABLE_ - 0b - PC_OFS
.Lrtld_local_ro:
.long C_SYMBOL_NAME(_rtld_local_ro)(GOTOFF)
# else
# ifdef PIC
-1: .long _GLOBAL_OFFSET_TABLE_ - 0b - 8
+1: .long _GLOBAL_OFFSET_TABLE_ - 0b - PC_OFS
.Lrtld_global_ro:
.long C_SYMBOL_NAME(_rtld_global_ro)(GOT)
# else
Modified: fsf/trunk/libc/ports/sysdeps/arm/arm-mcount.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/arm-mcount.S (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/arm-mcount.S Fri Mar 1 00:02:06 2013
@@ -24,8 +24,8 @@
#ifdef __thumb2__
.thumb
+#endif
.syntax unified
-#endif
/* Use an assembly stub with a special ABI. The calling lr has been
@@ -77,15 +77,10 @@
cfi_rel_offset (r3, 12)
cfi_rel_offset (fp, 16)
cfi_rel_offset (lr, 20)
-#ifdef __thumb2__
movs r0, fp
ittt ne
ldrne r0, [r0, #-4]
-#else
- movs fp, fp
- ldrne r0, [fp, #-4]
-#endif
- movnes r1, lr
+ movsne r1, lr
blne __mcount_internal
#ifdef __thumb2__
ldmia sp!, {r0, r1, r2, r3, fp, pc}
Modified: fsf/trunk/libc/ports/sysdeps/arm/crti.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/crti.S (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/crti.S Fri Mar 1 00:02:06 2013
@@ -38,6 +38,8 @@
they can be called as functions. The symbols _init and _fini are
magic and cause the linker to emit DT_INIT and DT_FINI. */
+/* Always build .init and .fini sections in ARM mode. */
+#define NO_THUMB
#include <libc-symbols.h>
#include <sysdep.h>
Modified: fsf/trunk/libc/ports/sysdeps/arm/crtn.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/crtn.S (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/crtn.S Fri Mar 1 00:02:06 2013
@@ -33,6 +33,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
+/* Always build .init and .fini sections in ARM mode. */
+#define NO_THUMB
#include <sysdep.h>
/* crtn.S puts function epilogues in the .init and .fini sections
Modified: fsf/trunk/libc/ports/sysdeps/arm/dl-tlsdesc.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/dl-tlsdesc.S (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/dl-tlsdesc.S Fri Mar 1 00:02:06 2013
@@ -29,7 +29,7 @@
.text
@ emit debug information with cfi
@ use arm-specific pseudos for unwinding itself
- .cfi_sections .debug_frame
+ CFI_SECTIONS
.hidden _dl_tlsdesc_return
.global _dl_tlsdesc_return
.type _dl_tlsdesc_return,#function
@@ -116,6 +116,7 @@
ldr r3, [r1]
ldr r2, [r0, r3, lsl #3]
cmn r2, #1
+ ittt ne
ldrne r3, [r1, #4]
addne r3, r2, r3
rsbne r0, r4, r3
Modified: fsf/trunk/libc/ports/sysdeps/arm/dl-trampoline.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/dl-trampoline.S (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/dl-trampoline.S Fri Mar 1 00:02:06 2013
@@ -16,6 +16,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
+/* ??? Needs more rearrangement for the LDM to handle thumb mode. */
+#define NO_THUMB
#include <sysdep.h>
#include <libc-symbols.h>
@@ -28,7 +30,7 @@
.text
.globl _dl_runtime_resolve
.type _dl_runtime_resolve, #function
- .cfi_sections .debug_frame
+ CFI_SECTIONS
cfi_startproc
.align 2
_dl_runtime_resolve:
@@ -77,7 +79,7 @@
#ifndef PROF
.globl _dl_runtime_profile
.type _dl_runtime_profile, #function
- .cfi_sections .debug_frame
+ CFI_SECTIONS
cfi_startproc
.align 2
_dl_runtime_profile:
Modified: fsf/trunk/libc/ports/sysdeps/arm/memcpy.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/memcpy.S (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/memcpy.S Fri Mar 1 00:02:06 2013
@@ -17,6 +17,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
+/* Thumb requires excessive IT insns here. */
+#define NO_THUMB
#include <sysdep.h>
/*
Modified: fsf/trunk/libc/ports/sysdeps/arm/memmove.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/memmove.S (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/memmove.S Fri Mar 1 00:02:06 2013
@@ -17,6 +17,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
+/* Thumb requires excessive IT insns here. */
+#define NO_THUMB
#include <sysdep.h>
/*
Modified: fsf/trunk/libc/ports/sysdeps/arm/memset.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/memset.S (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/memset.S Fri Mar 1 00:02:06 2013
@@ -16,6 +16,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
+/* Thumb requires excessive IT insns here. */
+#define NO_THUMB
#include <sysdep.h>
/* void *memset (dstpp, c, len) */
Modified: fsf/trunk/libc/ports/sysdeps/arm/preconfigure
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/preconfigure (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/preconfigure Fri Mar 1 00:02:06 2013
@@ -10,7 +10,7 @@
# an appropriate directory exists in sysdeps/arm
archcppflag=`echo "" |
$CC $CFLAGS $CPPFLAGS -E -dM - |
- grep __ARM_ARCH |
+ grep '__ARM_ARCH_[0-9].*__' |
sed -e 's/^#define //' -e 's/ .*//'`
case x$archcppflag in
@@ -28,7 +28,10 @@
machine=armv6t2
echo "Found compiler is configured for $machine"
;;
-
+ x__ARM_ARCH_6*__)
+ machine=armv6
+ echo "Found compiler is configured for $machine"
+ ;;
*)
machine=arm
echo 2>&1 "arm/preconfigure: Did not find ARM architecture type; using default"
Modified: fsf/trunk/libc/ports/sysdeps/arm/setjmp.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/setjmp.S (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/setjmp.S Fri Mar 1 00:02:06 2013
@@ -16,6 +16,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
+/* ??? Needs more rearrangement for the STM to handle thumb mode. */
+#define NO_THUMB
#include <sysdep.h>
#define _SETJMP_H
#define _ASM
@@ -91,12 +93,12 @@
#ifdef NEED_HWCAP
# ifdef IS_IN_rtld
-1: .long _GLOBAL_OFFSET_TABLE_ - 0b - 8
+1: .long _GLOBAL_OFFSET_TABLE_ - 0b - PC_OFS
.Lrtld_local_ro:
.long C_SYMBOL_NAME(_rtld_local_ro)(GOTOFF)
# else
# ifdef PIC
-1: .long _GLOBAL_OFFSET_TABLE_ - 0b - 8
+1: .long _GLOBAL_OFFSET_TABLE_ - 0b - PC_OFS
.Lrtld_global_ro:
.long C_SYMBOL_NAME(_rtld_global_ro)(GOT)
# else
Modified: fsf/trunk/libc/ports/sysdeps/arm/strlen.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/strlen.S (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/strlen.S Fri Mar 1 00:02:06 2013
@@ -16,6 +16,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
+/* Thumb requires excessive IT insns here. */
+#define NO_THUMB
#include <sysdep.h>
/* size_t strlen(const char *S)
Modified: fsf/trunk/libc/ports/sysdeps/arm/sysdep.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/sysdep.h (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/sysdep.h Fri Mar 1 00:02:06 2013
@@ -58,40 +58,43 @@
#endif
/* Define an entry point visible from C. */
-#define ENTRY(name) \
- .globl C_SYMBOL_NAME(name); \
- .type C_SYMBOL_NAME(name),%function; \
- .align ALIGNARG(4); \
- C_LABEL(name) \
- .cfi_sections .debug_frame; \
- cfi_startproc; \
- CALL_MCOUNT
+#define ENTRY(name) \
+ .globl C_SYMBOL_NAME(name); \
+ .type C_SYMBOL_NAME(name),%function; \
+ .align ALIGNARG(4); \
+ C_LABEL(name) \
+ CFI_SECTIONS; \
+ cfi_startproc; \
+ CALL_MCOUNT
+
+#define CFI_SECTIONS \
+ .cfi_sections .debug_frame
#undef END
-#define END(name) \
- cfi_endproc; \
- ASM_SIZE_DIRECTIVE(name)
+#define END(name) \
+ cfi_endproc; \
+ ASM_SIZE_DIRECTIVE(name)
/* If compiled for profiling, call `mcount' at the start of each function. */
#ifdef PROF
/* Call __gnu_mcount_nc if GCC >= 4.4. */
#if __GNUC_PREREQ(4,4)
-#define CALL_MCOUNT \
- str lr,[sp, #-4]!; \
- cfi_adjust_cfa_offset (4); \
- cfi_rel_offset (lr, 0); \
- bl PLTJMP(mcount); \
- cfi_adjust_cfa_offset (-4); \
- cfi_restore (lr)
+#define CALL_MCOUNT \
+ str lr,[sp, #-4]!; \
+ cfi_adjust_cfa_offset (4); \
+ cfi_rel_offset (lr, 0); \
+ bl PLTJMP(mcount); \
+ cfi_adjust_cfa_offset (-4); \
+ cfi_restore (lr)
#else /* else call _mcount */
-#define CALL_MCOUNT \
- str lr,[sp, #-4]!; \
- cfi_adjust_cfa_offset (4); \
- cfi_rel_offset (lr, 0); \
- bl PLTJMP(mcount); \
- ldr lr, [sp], #4; \
- cfi_adjust_cfa_offset (-4); \
- cfi_restore (lr)
+#define CALL_MCOUNT \
+ str lr,[sp, #-4]!; \
+ cfi_adjust_cfa_offset (4); \
+ cfi_rel_offset (lr, 0); \
+ bl PLTJMP(mcount); \
+ ldr lr, [sp], #4; \
+ cfi_adjust_cfa_offset (-4); \
+ cfi_restore (lr)
#endif
#else
#define CALL_MCOUNT /* Do nothing. */
@@ -115,3 +118,11 @@
.eabi_attribute 24, 1
#endif /* __ASSEMBLER__ */
+
+/* This number is the offset from the pc at the current location. */
+/* ??? At the moment we're not turning on thumb mode in assembly. */
+#if defined(__thumb__) && !defined(__ASSEMBLER__)
+# define PC_OFS 4
+#else
+# define PC_OFS 8
+#endif
Modified: fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S (original)
+++ fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* memcmp
@@ -32,7 +30,7 @@
return src1 > src2, src1 < src2 or src1 = src2.
If src1 = src2 and no null, repeat. */
-EALIGN (BP_SYM (memcmp), 5, 0)
+EALIGN (memcmp, 5, 0)
srwi. r6,r5,5
beq L(preword2_count_loop)
mtctr r6
@@ -125,6 +123,6 @@
blt cr5,L(l_r)
addi r3,r0,-1
blr
-END (BP_SYM (memcmp))
+END (memcmp)
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp,bcmp)
Modified: fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S (original)
+++ fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* memcpy
@@ -33,7 +31,7 @@
If 32 or more bytes to copy we use 32 byte copy loop.
Finaly we copy 0-31 extra bytes. */
-EALIGN (BP_SYM (memcpy), 5, 0)
+EALIGN (memcpy, 5, 0)
/* Check if bytes to copy are greater than 256 and if
source and destination are unaligned */
cmpwi r5,0x0100
@@ -128,5 +126,5 @@
L(end_memcpy):
mr r3,r0
blr
-END (BP_SYM (memcpy))
+END (memcpy)
libc_hidden_builtin_def (memcpy)
Modified: fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memset.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memset.S (original)
+++ fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memset.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* memset
@@ -37,7 +35,7 @@
If 16 or more words to set we use 16 word copy loop.
Finaly we set 0-15 extra bytes with string store. */
-EALIGN (BP_SYM (memset), 5, 0)
+EALIGN (memset, 5, 0)
rlwinm r11,r4,0,24,31
rlwimi r11,r4,8,16,23
rlwimi r11,r11,16,0,15
@@ -150,5 +148,5 @@
mtxer r7
stswx r8,0,r3
b L(end_memset)
-END (BP_SYM (memset))
+END (memset)
libc_hidden_builtin_def (memset)
Modified: fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S (original)
+++ fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* strcmp
@@ -34,7 +32,7 @@
return src1 > src2, src1 < src2 or src1 = src2.
If src1 = src2 and no null, repeat. */
-EALIGN (BP_SYM(strcmp),5,0)
+EALIGN (strcmp,5,0)
neg r7,r3
clrlwi r7,r7,20
neg r8,r4
@@ -132,5 +130,5 @@
cmpwi r5,0
beq L(end_strcmp)
b L(byte_loop)
-END (BP_SYM (strcmp))
+END (strcmp)
libc_hidden_builtin_def (strcmp)
Modified: fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S (original)
+++ fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* strcpy
@@ -33,7 +31,7 @@
where in the last 8 bytes it is. Copy the appropriate bytes of the last
8 according to the null position. */
-EALIGN (BP_SYM (strcpy), 5, 0)
+EALIGN (strcpy, 5, 0)
neg r7,r4
subi r4,r4,1
clrlwi. r8,r7,29
@@ -105,5 +103,5 @@
L(end_strcpy):
blr
-END (BP_SYM (strcpy))
+END (strcpy)
libc_hidden_builtin_def (strcpy)
Modified: fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S (original)
+++ fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* strlen
@@ -31,7 +29,7 @@
the count and return the count value. We need to subtract one because
we don't count the null character as a byte. */
-EALIGN (BP_SYM (strlen),5,0)
+EALIGN (strlen,5,0)
neg r7,r3
clrlwi. r8,r7,29
addi r4,0,0
@@ -73,5 +71,5 @@
L(end_strlen):
addi r3,r4,-1
blr
-END (BP_SYM (strlen))
+END (strlen)
libc_hidden_builtin_def (strlen)
Modified: fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S (original)
+++ fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* strncmp
@@ -39,7 +37,7 @@
return src1 > src2, src1 < src2 or src1 = src2.
If src1 = src2 and no null, repeat. */
-EALIGN (BP_SYM(strncmp),5,0)
+EALIGN (strncmp,5,0)
neg r7,r3
clrlwi r7,r7,20
neg r8,r4
@@ -126,5 +124,5 @@
L(st1):
mfcr r3
blr
-END (BP_SYM (strncmp))
+END (strncmp)
libc_hidden_builtin_def (strncmp)
Modified: fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/476/memset.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/476/memset.S (original)
+++ fsf/trunk/libc/ports/sysdeps/powerpc/powerpc32/476/memset.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* memset
@@ -37,7 +35,7 @@
If 16 or more words to set we use 16 word copy loop.
Finaly we set 0-15 extra bytes with string store. */
-EALIGN (BP_SYM (memset), 5, 0)
+EALIGN (memset, 5, 0)
rlwinm r11,r4,0,24,31
rlwimi r11,r4,8,16,23
rlwimi r11,r11,16,0,15
@@ -150,5 +148,5 @@
mtxer r7
stswx r8,0,r3
b L(end_memset)
-END (BP_SYM (memset))
+END (memset)
libc_hidden_builtin_def (memset)
Modified: fsf/trunk/libc/ports/sysdeps/unix/arm/sysdep.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/arm/sysdep.S (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/arm/sysdep.S Fri Mar 1 00:02:06 2013
@@ -31,8 +31,9 @@
/* We translate the system's EWOULDBLOCK error into EAGAIN.
The GNU C library always defines EWOULDBLOCK==EAGAIN.
EWOULDBLOCK_sys is the original number. */
- cmp r0, $EWOULDBLOCK_sys /* Is it the old EWOULDBLOCK? */
- moveq r0, $EAGAIN /* Yes; translate it to EAGAIN. */
+ cmp r0, $EWOULDBLOCK_sys /* Is it the old EWOULDBLOCK? */
+ it eq
+ moveq r0, $EAGAIN /* Yes; translate it to EAGAIN. */
#endif
#ifndef IS_IN_rtld
@@ -50,14 +51,14 @@
mvn r0, #0
RETINSTR (, ip)
-1: .word errno(gottpoff) + (. - 2b - 8)
+1: .word errno(gottpoff) + (. - 2b - PC_OFS)
#elif RTLD_PRIVATE_ERRNO
ldr r1, 1f
0: str r0, [pc, r1]
mvn r0, $0
DO_RET(r14)
-1: .word C_SYMBOL_NAME(rtld_errno) - 0b - 8
+1: .word C_SYMBOL_NAME(rtld_errno) - 0b - PC_OFS
#else
#error "Unsupported non-TLS case"
#endif
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/am33/clone.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/am33/clone.S (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/am33/clone.S Fri Mar 1 00:02:06 2013
@@ -24,12 +24,11 @@
#define _ERRNO_H 1
#include <bits/errno.h>
#include <asm-syntax.h>
-#include <bp-sym.h>
/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */
.text
-ENTRY (BP_SYM (__clone))
+ENTRY (__clone)
/* Sanity check arguments. */
cmp 0,d0 /* no NULL function pointers */
beq L(error_inval)
@@ -75,6 +74,6 @@
#endif
call JUMPTARGET (_exit),[],0
-PSEUDO_END (BP_SYM (__clone))
+PSEUDO_END (__clone)
-weak_alias (BP_SYM (__clone), BP_SYM (clone))
+weak_alias (__clone, clone)
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/Makefile
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/Makefile (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/Makefile Fri Mar 1 00:02:06 2013
@@ -10,7 +10,7 @@
endif
ifeq ($(subdir),elf)
-sysdep-rtld-routines += aeabi_read_tp
+sysdep-rtld-routines += aeabi_read_tp libc-do-syscall
endif
ifeq ($(subdir),misc)
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S Fri Mar 1 00:02:06 2013
@@ -15,6 +15,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
+/* ??? Needs more rearrangement for the LDM to handle thumb mode. */
+#define NO_THUMB
#include <sysdep.h>
.section .rodata.str1.1,"aMS",%progbits,1
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/clone.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/clone.S (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/clone.S Fri Mar 1 00:02:06 2013
@@ -33,6 +33,7 @@
ENTRY(__clone)
@ sanity check args
cmp r0, #0
+ ite ne
cmpne r1, #0
moveq r0, #-EINVAL
beq PLTJMP(syscall_error)
@@ -78,8 +79,9 @@
sub pc, r0, #31
mov r1, r0
tst ip, #CLONE_VM
+ ldr r7, =SYS_ify(getpid)
+ ite ne
movne r0, #-1
- ldr r7, =SYS_ify(getpid)
swieq 0x0
str r0, [r1, #PID_OFFSET]
str r0, [r1, #TID_OFFSET]
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/getcontext.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/getcontext.S (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/getcontext.S Fri Mar 1 00:02:06 2013
@@ -103,7 +103,7 @@
END(__getcontext)
#ifdef PIC
-1: .long _GLOBAL_OFFSET_TABLE_ - 0b - 8
+1: .long _GLOBAL_OFFSET_TABLE_ - 0b - PC_OFS
.Lrtld_global_ro:
.long C_SYMBOL_NAME(_rtld_global_ro)(GOT)
#else
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/mmap.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/mmap.S (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/mmap.S Fri Mar 1 00:02:06 2013
@@ -51,6 +51,7 @@
cfi_restore (r5)
cmn r0, $4096
+ it cc
RETINSTR(cc, lr)
b PLTJMP(syscall_error)
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/mmap64.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/mmap64.S (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/mmap64.S Fri Mar 1 00:02:06 2013
@@ -16,6 +16,8 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+
+ .syntax unified
#define EINVAL 22
@@ -42,7 +44,8 @@
cfi_remember_state
movs r4, ip, lsl $20 @ check that offset is page-aligned
mov ip, ip, lsr $12
- moveqs r4, r5, lsr $12 @ check for overflow
+ it eq
+ movseq r4, r5, lsr $12 @ check for overflow
bne .Linval
ldr r4, [sp, $8] @ load fd
orr r5, ip, r5, lsl $20 @ compose page offset
@@ -52,6 +55,7 @@
cfi_adjust_cfa_offset (-8)
cfi_restore (r4)
cfi_restore (r5)
+ it cc
RETINSTR(cc, lr)
b PLTJMP(syscall_error)
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h Fri Mar 1 00:02:06 2013
@@ -30,161 +30,157 @@
# undef PSEUDO
# define PSEUDO(name, syscall_name, args) \
- .section ".text"; \
- PSEUDO_PROLOGUE; \
- .type __##syscall_name##_nocancel,%function; \
- .globl __##syscall_name##_nocancel; \
- __##syscall_name##_nocancel: \
- .cfi_sections .debug_frame; \
- cfi_startproc; \
- DO_CALL (syscall_name, args); \
- cmn r0, $4096; \
- PSEUDO_RET; \
- cfi_endproc; \
- .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
+ .text; \
+ PSEUDO_PROLOGUE; \
+ ENTRY (__##syscall_name##_nocancel); \
+ CFI_SECTIONS; \
+ DO_CALL (syscall_name, args); \
+ cmn r0, $4096; \
+ PSEUDO_RET; \
+ END (__##syscall_name##_nocancel); \
ENTRY (name); \
- SINGLE_THREAD_P; \
- DOARGS_##args; \
- bne .Lpseudo_cancel; \
- cfi_remember_state; \
- ldr r7, =SYS_ify (syscall_name); \
- swi 0x0; \
- UNDOARGS_##args; \
- cmn r0, $4096; \
- PSEUDO_RET; \
- cfi_restore_state; \
+ SINGLE_THREAD_P; \
+ DOARGS_##args; \
+ bne .Lpseudo_cancel; \
+ cfi_remember_state; \
+ ldr r7, =SYS_ify (syscall_name); \
+ swi 0x0; \
+ UNDOARGS_##args; \
+ cmn r0, $4096; \
+ PSEUDO_RET; \
+ cfi_restore_state; \
.Lpseudo_cancel: \
- .fnstart; /* matched by the .fnend in UNDOARGS below. */ \
- DOCARGS_##args; /* save syscall args etc. around CENABLE. */ \
- CENABLE; \
- mov ip, r0; /* put mask in safe place. */ \
- UNDOCARGS_##args; /* restore syscall args. */ \
- ldr r7, =SYS_ify (syscall_name); \
- swi 0x0; /* do the call. */ \
- mov r7, r0; /* save syscall return value. */ \
- mov r0, ip; /* get mask back. */ \
- CDISABLE; \
- mov r0, r7; /* retrieve return value. */ \
- RESTORE_LR_##args; \
- UNDOARGS_##args; \
- cmn r0, $4096
+ .fnstart; /* matched by the .fnend in UNDOARGS below. */ \
+ DOCARGS_##args; /* save syscall args etc. around CENABLE. */ \
+ CENABLE; \
+ mov ip, r0; /* put mask in safe place. */ \
+ UNDOCARGS_##args; /* restore syscall args. */ \
+ ldr r7, =SYS_ify (syscall_name); \
+ swi 0x0; /* do the call. */ \
+ mov r7, r0; /* save syscall return value. */ \
+ mov r0, ip; /* get mask back. */ \
+ CDISABLE; \
+ mov r0, r7; /* retrieve return value. */ \
+ RESTORE_LR_##args; \
+ UNDOARGS_##args; \
+ cmn r0, $4096
/* DOARGS pushes eight bytes on the stack for five arguments, twelve bytes for
six arguments, and four bytes for fewer. In order to preserve doubleword
alignment, sometimes we must save an extra register. */
-# define RESTART_UNWIND \
- .fnend; \
- .fnstart; \
- .save {r7}; \
- .save {lr}
-
-# define DOCARGS_0 \
- .save {r7}; \
- str lr, [sp, #-4]!; \
- cfi_adjust_cfa_offset (4); \
- cfi_rel_offset (lr, 0); \
- .save {lr}
+# define RESTART_UNWIND \
+ .fnend; \
+ .fnstart; \
+ .save {r7}; \
+ .save {lr}
+
+# define DOCARGS_0 \
+ .save {r7}; \
+ str lr, [sp, #-4]!; \
+ cfi_adjust_cfa_offset (4); \
+ cfi_rel_offset (lr, 0); \
+ .save {lr}
# define UNDOCARGS_0
-# define RESTORE_LR_0 \
- ldr lr, [sp], #4; \
- cfi_adjust_cfa_offset (-4); \
- cfi_restore (lr)
-
-# define DOCARGS_1 \
- .save {r7}; \
- stmfd sp!, {r0, r1, lr}; \
- cfi_adjust_cfa_offset (12); \
- cfi_rel_offset (lr, 8); \
- .save {lr}; \
- .pad #8
-# define UNDOCARGS_1 \
- ldr r0, [sp], #8; \
- cfi_adjust_cfa_offset (-8); \
- RESTART_UNWIND
-# define RESTORE_LR_1 \
- RESTORE_LR_0
-
-# define DOCARGS_2 \
- .save {r7}; \
- stmfd sp!, {r0, r1, lr}; \
- cfi_adjust_cfa_offset (12); \
- cfi_rel_offset (lr, 8); \
- .save {lr}; \
- .pad #8
-# define UNDOCARGS_2 \
- ldmfd sp!, {r0, r1}; \
- cfi_adjust_cfa_offset (-8); \
- RESTART_UNWIND
-# define RESTORE_LR_2 \
- RESTORE_LR_0
-
-# define DOCARGS_3 \
- .save {r7}; \
- stmfd sp!, {r0, r1, r2, r3, lr}; \
- cfi_adjust_cfa_offset (20); \
- cfi_rel_offset (lr, 16); \
- .save {lr}; \
- .pad #16
-# define UNDOCARGS_3 \
- ldmfd sp!, {r0, r1, r2, r3}; \
- cfi_adjust_cfa_offset (-16); \
- RESTART_UNWIND
-# define RESTORE_LR_3 \
- RESTORE_LR_0
-
-# define DOCARGS_4 \
- .save {r7}; \
- stmfd sp!, {r0, r1, r2, r3, lr}; \
- cfi_adjust_cfa_offset (20); \
- cfi_rel_offset (lr, 16); \
- .save {lr}; \
- .pad #16
-# define UNDOCARGS_4 \
- ldmfd sp!, {r0, r1, r2, r3}; \
- cfi_adjust_cfa_offset (-16); \
- RESTART_UNWIND
-# define RESTORE_LR_4 \
- RESTORE_LR_0
+# define RESTORE_LR_0 \
+ ldr lr, [sp], #4; \
+ cfi_adjust_cfa_offset (-4); \
+ cfi_restore (lr)
+
+# define DOCARGS_1 \
+ .save {r7}; \
+ stmfd sp!, {r0, r1, lr}; \
+ cfi_adjust_cfa_offset (12); \
+ cfi_rel_offset (lr, 8); \
+ .save {lr}; \
+ .pad #8
+# define UNDOCARGS_1 \
+ ldr r0, [sp], #8; \
+ cfi_adjust_cfa_offset (-8); \
+ RESTART_UNWIND
+# define RESTORE_LR_1 \
+ RESTORE_LR_0
+
+# define DOCARGS_2 \
+ .save {r7}; \
+ stmfd sp!, {r0, r1, lr}; \
+ cfi_adjust_cfa_offset (12); \
+ cfi_rel_offset (lr, 8); \
+ .save {lr}; \
+ .pad #8
+# define UNDOCARGS_2 \
+ ldmfd sp!, {r0, r1}; \
+ cfi_adjust_cfa_offset (-8); \
+ RESTART_UNWIND
+# define RESTORE_LR_2 \
+ RESTORE_LR_0
+
+# define DOCARGS_3 \
+ .save {r7}; \
+ stmfd sp!, {r0, r1, r2, r3, lr}; \
+ cfi_adjust_cfa_offset (20); \
+ cfi_rel_offset (lr, 16); \
+ .save {lr}; \
+ .pad #16
+# define UNDOCARGS_3 \
+ ldmfd sp!, {r0, r1, r2, r3}; \
+ cfi_adjust_cfa_offset (-16); \
+ RESTART_UNWIND
+# define RESTORE_LR_3 \
+ RESTORE_LR_0
+
+# define DOCARGS_4 \
+ .save {r7}; \
+ stmfd sp!, {r0, r1, r2, r3, lr}; \
+ cfi_adjust_cfa_offset (20); \
+ cfi_rel_offset (lr, 16); \
+ .save {lr}; \
+ .pad #16
+# define UNDOCARGS_4 \
+ ldmfd sp!, {r0, r1, r2, r3}; \
+ cfi_adjust_cfa_offset (-16); \
+ RESTART_UNWIND
+# define RESTORE_LR_4 \
+ RESTORE_LR_0
/* r4 is only stmfd'ed for correct stack alignment. */
-# define DOCARGS_5 \
- .save {r4, r7}; \
- stmfd sp!, {r0, r1, r2, r3, r4, lr}; \
- cfi_adjust_cfa_offset (24); \
- cfi_rel_offset (lr, 20); \
- .save {lr}; \
- .pad #20
-# define UNDOCARGS_5 \
- ldmfd sp!, {r0, r1, r2, r3}; \
- cfi_adjust_cfa_offset (-16); \
- .fnend; \
- .fnstart; \
- .save {r4, r7}; \
- .save {lr}; \
- .pad #4
-# define RESTORE_LR_5 \
- ldmfd sp!, {r4, lr}; \
- cfi_adjust_cfa_offset (-8); \
- /* r4 will be marked as restored later. */ \
- cfi_restore (lr)
-
-# define DOCARGS_6 \
- .save {r4, r5, r7}; \
- stmfd sp!, {r0, r1, r2, r3, lr}; \
- cfi_adjust_cfa_offset (20); \
- cfi_rel_offset (lr, 16); \
- .save {lr}; \
- .pad #16
-# define UNDOCARGS_6 \
- ldmfd sp!, {r0, r1, r2, r3}; \
- cfi_adjust_cfa_offset (-16); \
- .fnend; \
- .fnstart; \
- .save {r4, r5, r7}; \
- .save {lr};
-# define RESTORE_LR_6 \
- RESTORE_LR_0
+# define DOCARGS_5 \
+ .save {r4, r7}; \
+ stmfd sp!, {r0, r1, r2, r3, r4, lr}; \
+ cfi_adjust_cfa_offset (24); \
+ cfi_rel_offset (lr, 20); \
+ .save {lr}; \
+ .pad #20
+# define UNDOCARGS_5 \
+ ldmfd sp!, {r0, r1, r2, r3}; \
+ cfi_adjust_cfa_offset (-16); \
+ .fnend; \
+ .fnstart; \
+ .save {r4, r7}; \
+ .save {lr}; \
+ .pad #4
+# define RESTORE_LR_5 \
+ ldmfd sp!, {r4, lr}; \
+ cfi_adjust_cfa_offset (-8); \
+ /* r4 will be marked as restored later. */ \
+ cfi_restore (lr)
+
+# define DOCARGS_6 \
+ .save {r4, r5, r7}; \
+ stmfd sp!, {r0, r1, r2, r3, lr}; \
+ cfi_adjust_cfa_offset (20); \
+ cfi_rel_offset (lr, 16); \
+ .save {lr}; \
+ .pad #16
+# define UNDOCARGS_6 \
+ ldmfd sp!, {r0, r1, r2, r3}; \
+ cfi_adjust_cfa_offset (-16); \
+ .fnend; \
+ .fnstart; \
+ .save {r4, r5, r7}; \
+ .save {lr};
+# define RESTORE_LR_6 \
+ RESTORE_LR_0
# ifdef IS_IN_libpthread
# define CENABLE bl PLTJMP(__pthread_enable_asynccancel)
@@ -207,12 +203,12 @@
# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
# else
# define SINGLE_THREAD_P \
- ldr ip, 1b; \
-2: \
- ldr ip, [pc, ip]; \
- teq ip, #0;
+ ldr ip, 1b; \
+ 2: \
+ ldr ip, [pc, ip]; \
+ teq ip, #0;
# define PSEUDO_PROLOGUE \
- 1: .word __local_multiple_threads - 2f - 8;
+ 1: .word __local_multiple_threads - 2f - PC_OFS;
# endif
# else
/* There is no __local_multiple_threads for librt, so use the TCB. */
@@ -223,15 +219,15 @@
# else
# define PSEUDO_PROLOGUE
# define SINGLE_THREAD_P \
- stmfd sp!, {r0, lr}; \
- cfi_adjust_cfa_offset (8); \
- cfi_rel_offset (lr, 4); \
- bl __aeabi_read_tp; \
- ldr ip, [r0, #MULTIPLE_THREADS_OFFSET]; \
- ldmfd sp!, {r0, lr}; \
- cfi_adjust_cfa_offset (-8); \
- cfi_restore (lr); \
- teq ip, #0
+ stmfd sp!, {r0, lr}; \
+ cfi_adjust_cfa_offset (8); \
+ cfi_rel_offset (lr, 4); \
+ bl __aeabi_read_tp; \
+ ldr ip, [r0, #MULTIPLE_THREADS_OFFSET]; \
+ ldmfd sp!, {r0, lr}; \
+ cfi_adjust_cfa_offset (-8); \
+ cfi_restore (lr); \
+ teq ip, #0
# define SINGLE_THREAD_P_PIC(x) SINGLE_THREAD_P
# endif
# endif
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c Fri Mar 1 00:02:06 2013
@@ -84,6 +84,9 @@
ARM unwinder relies on register state at entrance. So we write this in
assembly. */
+#define STR1(S) #S
+#define STR(S) STR1(S)
+
asm (
" .globl _Unwind_Resume\n"
" .type _Unwind_Resume, %function\n"
@@ -118,11 +121,7 @@
" b 5b\n"
" " CFI_ENDPROC "\n"
" .align 2\n"
-#ifdef __thumb2__
-"1: .word _GLOBAL_OFFSET_TABLE_ - 3b - 4\n"
-#else
-"1: .word _GLOBAL_OFFSET_TABLE_ - 3b - 8\n"
-#endif
+"1: .word _GLOBAL_OFFSET_TABLE_ - 3b - " STR (PC_OFS) "\n"
"2: .word libgcc_s_resume(GOTOFF)\n"
" .size _Unwind_Resume, .-_Unwind_Resume\n"
);
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c Fri Mar 1 00:02:06 2013
@@ -47,6 +47,9 @@
ARM unwinder relies on register state at entrance. So we write this in
assembly. */
+#define STR1(S) #S
+#define STR(S) STR1(S)
+
asm (
" .globl _Unwind_Resume\n"
" .type _Unwind_Resume, %function\n"
@@ -81,11 +84,7 @@
" b 5b\n"
" " CFI_ENDPROC "\n"
" .align 2\n"
-#ifdef __thumb2__
-"1: .word _GLOBAL_OFFSET_TABLE_ - 3b - 4\n"
-#else
-"1: .word _GLOBAL_OFFSET_TABLE_ - 3b - 8\n"
-#endif
+"1: .word _GLOBAL_OFFSET_TABLE_ - 3b - " STR (PC_OFS) "\n"
"2: .word libgcc_s_resume(GOTOFF)\n"
" .size _Unwind_Resume, .-_Unwind_Resume\n"
);
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/setcontext.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/setcontext.S (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/setcontext.S Fri Mar 1 00:02:06 2013
@@ -15,6 +15,8 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+/* ??? Needs more rearrangement for the LDM to handle thumb mode. */
+#define NO_THUMB
#include <sysdep.h>
#include <rtld-global-offsets.h>
@@ -93,7 +95,7 @@
END(__startcontext)
#ifdef PIC
-1: .long _GLOBAL_OFFSET_TABLE_ - 0b - 8
+1: .long _GLOBAL_OFFSET_TABLE_ - 0b - PC_OFS
.Lrtld_global_ro:
.long C_SYMBOL_NAME(_rtld_global_ro)(GOT)
#else
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/syscall.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/syscall.S (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/syscall.S Fri Mar 1 00:02:06 2013
@@ -42,6 +42,7 @@
cfi_restore (r6)
cfi_restore (r7)
cmn r0, #4096
+ it cc
RETINSTR(cc, lr)
b PLTJMP(syscall_error)
PSEUDO_END (syscall)
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h Fri Mar 1 00:02:06 2013
@@ -57,49 +57,50 @@
test with -4095. */
#undef PSEUDO
-#define PSEUDO(name, syscall_name, args) \
- .text; \
- ENTRY (name); \
- DO_CALL (syscall_name, args); \
- cmn r0, $4096;
-
-#define PSEUDO_RET \
- RETINSTR(cc, lr); \
- b PLTJMP(SYSCALL_ERROR)
+#define PSEUDO(name, syscall_name, args) \
+ .text; \
+ ENTRY (name); \
+ DO_CALL (syscall_name, args); \
+ cmn r0, $4096;
+
+#define PSEUDO_RET \
+ it cc; \
+ RETINSTR(cc, lr); \
+ b PLTJMP(SYSCALL_ERROR)
#undef ret
#define ret PSEUDO_RET
#undef PSEUDO_END
-#define PSEUDO_END(name) \
- SYSCALL_ERROR_HANDLER; \
+#define PSEUDO_END(name) \
+ SYSCALL_ERROR_HANDLER; \
END (name)
#undef PSEUDO_NOERRNO
-#define PSEUDO_NOERRNO(name, syscall_name, args) \
- .text; \
- ENTRY (name); \
- DO_CALL (syscall_name, args);
-
-#define PSEUDO_RET_NOERRNO \
- DO_RET (lr);
+#define PSEUDO_NOERRNO(name, syscall_name, args) \
+ .text; \
+ ENTRY (name); \
+ DO_CALL (syscall_name, args);
+
+#define PSEUDO_RET_NOERRNO \
+ DO_RET (lr);
#undef ret_NOERRNO
#define ret_NOERRNO PSEUDO_RET_NOERRNO
#undef PSEUDO_END_NOERRNO
-#define PSEUDO_END_NOERRNO(name) \
+#define PSEUDO_END_NOERRNO(name) \
END (name)
/* The function has to return the error code. */
#undef PSEUDO_ERRVAL
-#define PSEUDO_ERRVAL(name, syscall_name, args) \
- .text; \
- ENTRY (name) \
- DO_CALL (syscall_name, args); \
- rsb r0, r0, #0
+#define PSEUDO_ERRVAL(name, syscall_name, args) \
+ .text; \
+ ENTRY (name) \
+ DO_CALL (syscall_name, args); \
+ rsb r0, r0, #0
#undef PSEUDO_END_ERRVAL
-#define PSEUDO_END_ERRVAL(name) \
+#define PSEUDO_END_ERRVAL(name) \
END (name)
#define ret_ERRVAL PSEUDO_RET_NOERRNO
@@ -114,7 +115,7 @@
0: str r0, [pc, r1]; \
mvn r0, #0; \
DO_RET(lr); \
-1: .word C_SYMBOL_NAME(rtld_errno) - 0b - 8;
+1: .word C_SYMBOL_NAME(rtld_errno) - 0b - PC_OFS;
# else
# if defined(__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__)
# define POP_PC \
@@ -192,19 +193,19 @@
syscalls. */
#undef DO_CALL
-#define DO_CALL(syscall_name, args) \
- DOARGS_##args; \
- ldr r7, =SYS_ify (syscall_name); \
- swi 0x0; \
- UNDOARGS_##args
+#define DO_CALL(syscall_name, args) \
+ DOARGS_##args; \
+ ldr r7, =SYS_ify (syscall_name); \
+ swi 0x0; \
+ UNDOARGS_##args
#undef DOARGS_0
-#define DOARGS_0 \
- .fnstart; \
- str r7, [sp, #-4]!; \
- cfi_adjust_cfa_offset (4); \
- cfi_rel_offset (r7, 0); \
- .save { r7 }
+#define DOARGS_0 \
+ .fnstart; \
+ str r7, [sp, #-4]!; \
+ cfi_adjust_cfa_offset (4); \
+ cfi_rel_offset (r7, 0); \
+ .save { r7 }
#undef DOARGS_1
#define DOARGS_1 DOARGS_0
#undef DOARGS_2
@@ -214,44 +215,44 @@
#undef DOARGS_4
#define DOARGS_4 DOARGS_0
#undef DOARGS_5
-#define DOARGS_5 \
- .fnstart; \
- stmfd sp!, {r4, r7}; \
- cfi_adjust_cfa_offset (8); \
- cfi_rel_offset (r4, 0); \
- cfi_rel_offset (r7, 4); \
- .save { r4, r7 }; \
- ldr r4, [sp, #8]
+#define DOARGS_5 \
+ .fnstart; \
+ stmfd sp!, {r4, r7}; \
+ cfi_adjust_cfa_offset (8); \
+ cfi_rel_offset (r4, 0); \
+ cfi_rel_offset (r7, 4); \
+ .save { r4, r7 }; \
+ ldr r4, [sp, #8]
#undef DOARGS_6
-#define DOARGS_6 \
- .fnstart; \
- mov ip, sp; \
- stmfd sp!, {r4, r5, r7}; \
- cfi_adjust_cfa_offset (12); \
- cfi_rel_offset (r4, 0); \
- cfi_rel_offset (r5, 4); \
- cfi_rel_offset (r7, 8); \
- .save { r4, r5, r7 }; \
- ldmia ip, {r4, r5}
+#define DOARGS_6 \
+ .fnstart; \
+ mov ip, sp; \
+ stmfd sp!, {r4, r5, r7}; \
+ cfi_adjust_cfa_offset (12); \
+ cfi_rel_offset (r4, 0); \
+ cfi_rel_offset (r5, 4); \
+ cfi_rel_offset (r7, 8); \
+ .save { r4, r5, r7 }; \
+ ldmia ip, {r4, r5}
#undef DOARGS_7
-#define DOARGS_7 \
- .fnstart; \
- mov ip, sp; \
- stmfd sp!, {r4, r5, r6, r7}; \
- cfi_adjust_cfa_offset (16); \
- cfi_rel_offset (r4, 0); \
- cfi_rel_offset (r5, 4); \
- cfi_rel_offset (r6, 8); \
- cfi_rel_offset (r7, 12); \
- .save { r4, r5, r6, r7 }; \
- ldmia ip, {r4, r5, r6}
+#define DOARGS_7 \
+ .fnstart; \
+ mov ip, sp; \
+ stmfd sp!, {r4, r5, r6, r7}; \
+ cfi_adjust_cfa_offset (16); \
+ cfi_rel_offset (r4, 0); \
+ cfi_rel_offset (r5, 4); \
+ cfi_rel_offset (r6, 8); \
+ cfi_rel_offset (r7, 12); \
+ .save { r4, r5, r6, r7 }; \
+ ldmia ip, {r4, r5, r6}
#undef UNDOARGS_0
-#define UNDOARGS_0 \
- ldr r7, [sp], #4; \
- cfi_adjust_cfa_offset (-4); \
- cfi_restore (r7); \
- .fnend
+#define UNDOARGS_0 \
+ ldr r7, [sp], #4; \
+ cfi_adjust_cfa_offset (-4); \
+ cfi_restore (r7); \
+ .fnend
#undef UNDOARGS_1
#define UNDOARGS_1 UNDOARGS_0
#undef UNDOARGS_2
@@ -261,29 +262,29 @@
#undef UNDOARGS_4
#define UNDOARGS_4 UNDOARGS_0
#undef UNDOARGS_5
-#define UNDOARGS_5 \
- ldmfd sp!, {r4, r7}; \
- cfi_adjust_cfa_offset (-8); \
- cfi_restore (r4); \
- cfi_restore (r7); \
- .fnend
+#define UNDOARGS_5 \
+ ldmfd sp!, {r4, r7}; \
+ cfi_adjust_cfa_offset (-8); \
+ cfi_restore (r4); \
+ cfi_restore (r7); \
+ .fnend
#undef UNDOARGS_6
-#define UNDOARGS_6 \
- ldmfd sp!, {r4, r5, r7}; \
- cfi_adjust_cfa_offset (-12); \
- cfi_restore (r4); \
- cfi_restore (r5); \
- cfi_restore (r7); \
- .fnend
+#define UNDOARGS_6 \
+ ldmfd sp!, {r4, r5, r7}; \
+ cfi_adjust_cfa_offset (-12); \
+ cfi_restore (r4); \
+ cfi_restore (r5); \
+ cfi_restore (r7); \
+ .fnend
#undef UNDOARGS_7
-#define UNDOARGS_7 \
- ldmfd sp!, {r4, r5, r6, r7}; \
- cfi_adjust_cfa_offset (-16); \
- cfi_restore (r4); \
- cfi_restore (r5); \
- cfi_restore (r6); \
- cfi_restore (r7); \
- .fnend
+#define UNDOARGS_7 \
+ ldmfd sp!, {r4, r5, r6, r7}; \
+ cfi_adjust_cfa_offset (-16); \
+ cfi_restore (r4); \
+ cfi_restore (r5); \
+ cfi_restore (r6); \
+ cfi_restore (r7); \
+ .fnend
#else /* not __ASSEMBLER__ */
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/vfork.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/vfork.S (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/vfork.S Fri Mar 1 00:02:06 2013
@@ -51,6 +51,7 @@
RESTORE_PID
#endif
cmn a1, #4096
+ it cc
RETINSTR(cc, lr)
b PLTJMP(SYSCALL_ERROR)
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h Fri Mar 1 00:02:06 2013
@@ -38,6 +38,8 @@
#define FUTEX_TRYLOCK_PI 8
#define FUTEX_WAIT_BITSET 9
#define FUTEX_WAKE_BITSET 10
+#define FUTEX_WAIT_REQUEUE_PI 11
+#define FUTEX_CMP_REQUEUE_PI 12
#define FUTEX_PRIVATE_FLAG 128
#define FUTEX_CLOCK_REALTIME 256
@@ -139,7 +141,33 @@
INTERNAL_SYSCALL_ERROR_P (__ret, __err); \
})
-
+/* Priority Inheritance support. */
+#define lll_futex_wait_requeue_pi(futexp, val, mutex, private) \
+ lll_futex_timed_wait_requeue_pi (futexp, val, NULL, 0, mutex, private)
+
+#define lll_futex_timed_wait_requeue_pi(futexp, val, timespec, clockbit, \
+ mutex, private) \
+ ({ \
+ INTERNAL_SYSCALL_DECL (__err); \
+ long int __ret; \
+ int __op = FUTEX_WAIT_REQUEUE_PI | clockbit; \
+ \
+ __ret = INTERNAL_SYSCALL (futex, __err, 5, (futexp), \
+ __lll_private_flag (__op, private), \
+ (val), (timespec), mutex); \
+ INTERNAL_SYSCALL_ERROR_P (__ret, __err); \
+ })
+
+#define lll_futex_cmp_requeue_pi(futexp, nr_wake, nr_move, mutex, val, priv) \
+ ({ \
+ INTERNAL_SYSCALL_DECL (__err); \
+ long int __ret; \
+ \
+ __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp), \
+ __lll_private_flag (FUTEX_CMP_REQUEUE_PI, priv),\
+ (nr_wake), (nr_move), (mutex), (val)); \
+ INTERNAL_SYSCALL_ERROR_P (__ret, __err); \
+ })
static inline int __attribute__ ((always_inline))
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/__longjmp-common.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/__longjmp-common.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/__longjmp-common.S Fri Mar 1 00:02:06 2013
@@ -23,11 +23,8 @@
#else
# include <jmpbuf-offsets.h>
#endif
-#include <bp-sym.h>
-#include <bp-asm.h>
-ENTRY (BP_SYM (__longjmp))
- CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
+ENTRY (__longjmp)
#if defined PTR_DEMANGLE || defined CHECK_SP
lwz r24,(JB_GPR1*4)(r3)
@@ -71,4 +68,4 @@
lwz r31,((JB_GPRS+17)*4)(r3)
mr r3,r4
blr
-END (BP_SYM (__longjmp))
+END (__longjmp)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/a2/memcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/a2/memcpy.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/a2/memcpy.S Fri Mar 1 00:02:06 2013
@@ -18,14 +18,12 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
#define PREFETCH_AHEAD 4 /* no cache lines SRC prefetching ahead */
#define ZERO_AHEAD 2 /* no cache lines DST zeroing ahead */
.machine a2
-EALIGN (BP_SYM (memcpy), 5, 0)
+EALIGN (memcpy, 5, 0)
CALL_MCOUNT
dcbt 0,r4 /* Prefetch ONE SRC cacheline */
@@ -525,5 +523,5 @@
b L(lessthancacheline)
-END (BP_SYM (memcpy))
+END (memcpy)
libc_hidden_builtin_def (memcpy)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/add_n.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/add_n.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/add_n.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* mp_limb_t mpn_add_n (mp_ptr res_ptr, mp_srcptr s1_ptr, mp_srcptr s2_ptr,
mp_size_t size)
@@ -28,14 +26,8 @@
possible 2-unrolled inner loop will not be. Also, watch out for the
alignment... */
-EALIGN (BP_SYM (__mpn_add_n), 3, 0)
+EALIGN (__mpn_add_n, 3, 0)
-#if __BOUNDED_POINTERS__
- slwi r10,r6,2 /* convert limbs to bytes */
- CHECK_BOUNDS_BOTH_WIDE (r3, r8, r9, r10)
- CHECK_BOUNDS_BOTH_WIDE (r4, r8, r9, r10)
- CHECK_BOUNDS_BOTH_WIDE (r5, r8, r9, r10)
-#endif
/* Set up for loop below. */
mtcrf 0x01,r6
srwi. r7,r6,1
@@ -73,4 +65,4 @@
/* Return the carry. */
L(1): addze r3,r10
blr
-END (BP_SYM (__mpn_add_n))
+END (__mpn_add_n)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/addmul_1.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/addmul_1.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/addmul_1.S Fri Mar 1 00:02:06 2013
@@ -17,18 +17,11 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* mp_limb_t mpn_addmul_1 (mp_ptr res_ptr, mp_srcptr s1_ptr,
mp_size_t s1_size, mp_limb_t s2_limb)
Calculate res+s1*s2 and put result back in res; return carry. */
-ENTRY (BP_SYM (__mpn_addmul_1))
-#if __BOUNDED_POINTERS__
- slwi r10,r5,2 /* convert limbs to bytes */
- CHECK_BOUNDS_BOTH_WIDE (r3, r8, r9, r10)
- CHECK_BOUNDS_BOTH_WIDE (r4, r8, r9, r10)
-#endif
+ENTRY (__mpn_addmul_1)
mtctr r5
lwz r0,0(r4)
@@ -52,4 +45,4 @@
L(1): stw r8,4(r3)
addze r3,r10
blr
-END (BP_SYM (__mpn_addmul_1))
+END (__mpn_addmul_1)
Removed: fsf/trunk/libc/sysdeps/powerpc/powerpc32/bp-asm.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/bp-asm.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/bp-asm.h (removed)
@@ -1,112 +1,0 @@
-/* Bounded-pointer definitions for PowerPC assembler.
- Copyright (C) 2000-2013 Free Software Foundation, Inc.
- Contributed by Greg McGary <greg@xxxxxxxxxx>
- This file is part of the GNU C Library. Its master source is NOT part of
- the C library, however. The master source lives in the GNU MP Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#if __BOUNDED_POINTERS__
-
-/* Byte offsets of BP components. */
-# define oVALUE 0
-# define oLOW 4
-# define oHIGH 8
-
-/* Don't check bounds, just convert the BP register to its simple
- pointer value. */
-
-# define DISCARD_BOUNDS(rBP) \
- lwz rBP, oVALUE(rBP)
-
-/* Check low bound, with the side effect that the BP register is converted
- its simple pointer value. Move the high bound into a register for
- later use. */
-
-# define CHECK_BOUNDS_LOW(rBP, rLOW, rHIGH) \
- lwz rHIGH, oHIGH(rBP); \
- lwz rLOW, oLOW(rBP); \
- lwz rBP, oVALUE(rBP); \
- twllt rBP, rLOW
-
-/* Check the high bound, which is in a register, using the given
- conditional trap instruction. */
-
-# define CHECK_BOUNDS_HIGH(rVALUE, rHIGH, TWLcc) \
- TWLcc rVALUE, rHIGH
-
-/* Check the high bound, which is stored at the return-value's high
- bound slot, using the given conditional trap instruction. */
-
-# define CHECK_BOUNDS_HIGH_RTN(rVALUE, rHIGH, TWLcc) \
- lwz rHIGH, oHIGH(rRTN); \
- TWLcc rVALUE, rHIGH
-
-/* Check both bounds, with the side effect that the BP register is
- converted to its simple pointer value. */
-
-# define CHECK_BOUNDS_BOTH(rBP, rLOW, rHIGH) \
- CHECK_BOUNDS_LOW(rBP, rLOW, rHIGH); \
- twlge rBP, rHIGH
-
-/* Check bounds on a memory region of given length, with the side
- effect that the BP register is converted to its simple pointer
- value. */
-
-# define CHECK_BOUNDS_BOTH_WIDE(rBP, rLOW, rHIGH, rLENGTH) \
- CHECK_BOUNDS_LOW (rBP, rLOW, rHIGH); \
- sub rHIGH, rHIGH, rLENGTH; \
- twlgt rBP, rHIGH
-
-# define CHECK_BOUNDS_BOTH_WIDE_LIT(rBP, rLOW, rHIGH, LENGTH) \
- CHECK_BOUNDS_LOW (rBP, rLOW, rHIGH); \
- subi rHIGH, rHIGH, LENGTH; \
- twlgt rBP, rHIGH
-
-/* Store a pointer value register into the return-value's pointer
- value slot. */
-
-# define STORE_RETURN_VALUE(rVALUE) \
- stw rVALUE, oVALUE(rRTN)
-
-/* Store a low and high bounds into the return-value's pointer bounds
- slots. */
-
-# define STORE_RETURN_BOUNDS(rLOW, rHIGH) \
- stw rLOW, oLOW(rRTN); \
- stw rHIGH, oHIGH(rRTN)
-
-/* Stuff zero value/low/high into the BP addressed by rRTN. */
-
-# define RETURN_NULL_BOUNDED_POINTER \
- li r4, 0; \
- STORE_RETURN_VALUE (r4); \
- STORE_RETURN_BOUNDS (r4, r4)
-
-#else
-
-# define DISCARD_BOUNDS(rBP)
-# define CHECK_BOUNDS_LOW(rBP, rLOW, rHIGH)
-# define CHECK_BOUNDS_HIGH(rVALUE, rHIGH, TWLcc)
-# define CHECK_BOUNDS_HIGH_RTN(rVALUE, rHIGH, TWLcc)
-# define CHECK_BOUNDS_BOTH(rBP, rLOW, rHIGH)
-# define CHECK_BOUNDS_BOTH_WIDE(rBP, rLOW, rHIGH, rLENGTH)
-# define CHECK_BOUNDS_BOTH_WIDE_LIT(rBP, rLOW, rHIGH, LENGTH)
-# define STORE_RETURN_VALUE(rVALUE)
-# define STORE_RETURN_BOUNDS(rLOW, rHIGH)
-
-# define RETURN_NULL_BOUNDED_POINTER li rRTN, 0
-
-#endif
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/bsd-_setjmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/bsd-_setjmp.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/bsd-_setjmp.S Fri Mar 1 00:02:06 2013
@@ -18,14 +18,13 @@
#include <shlib-compat.h>
#include <libc-symbols.h>
#include <sysdep.h>
-#include <bp-sym.h>
#if defined NOT_IN_libc
/* Build a non-versioned object for rtld-*. */
-ENTRY (BP_SYM (_setjmp))
+ENTRY (_setjmp)
li r4,0 /* Set second argument to 0. */
- b BP_SYM (__sigsetjmp@local)
-END (BP_SYM (_setjmp))
+ b __sigsetjmp@local
+END (_setjmp)
libc_hidden_def (_setjmp)
#else
/* Build a versioned object for libc. */
@@ -33,10 +32,10 @@
# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
symbol_version (__novmx_setjmp,_setjmp,GLIBC_2.0);
-ENTRY (BP_SYM (__novmx_setjmp))
+ENTRY (__novmx_setjmp)
li r4,0 /* Set second argument to 0. */
- b BP_SYM (__novmx__sigsetjmp@local)
-END (BP_SYM (__novmx_setjmp))
+ b __novmx__sigsetjmp@local
+END (__novmx_setjmp)
libc_hidden_def (__novmx_setjmp)
# endif /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) */
@@ -44,14 +43,14 @@
/* __GI__setjmp prototype is needed for ntpl i.e. _setjmp is defined
as a libc_hidden_proto & is used in sysdeps/generic/libc-start.c
if HAVE_CLEANUP_JMP_BUF is defined */
-ENTRY (BP_SYM (__GI__setjmp))
+ENTRY (__GI__setjmp)
li r4,0 /* Set second argument to 0. */
- b BP_SYM (__vmx__sigsetjmp@local)
-END (BP_SYM (__GI__setjmp))
+ b __vmx__sigsetjmp@local
+END (__GI__setjmp)
-ENTRY (BP_SYM (__vmx_setjmp))
+ENTRY (__vmx_setjmp)
li r4,0 /* Set second argument to 0. */
- b BP_SYM (__vmx__sigsetjmp@local)
-END (BP_SYM (__vmx_setjmp))
+ b __vmx__sigsetjmp@local
+END (__vmx_setjmp)
libc_hidden_def (__vmx_setjmp)
#endif /* !NOT_IN_libc */
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/bsd-setjmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/bsd-setjmp.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/bsd-setjmp.S Fri Mar 1 00:02:06 2013
@@ -18,7 +18,6 @@
#include <shlib-compat.h>
#include <libc-symbols.h>
#include <sysdep.h>
-#include <bp-sym.h>
#if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/bzero.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/bzero.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/bzero.S Fri Mar 1 00:02:06 2013
@@ -17,20 +17,11 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-ENTRY (BP_SYM (__bzero))
+ENTRY (__bzero)
-#if __BOUNDED_POINTERS__
- mr r6,r4
- li r5,0
- mr r4,r3
- /* Tell memset that we don't want a return value. */
- li r3,0
-#else
mr r5,r4
li r4,0
-#endif
- b BP_SYM (memset)@local
-END (BP_SYM (__bzero))
-weak_alias (BP_SYM (__bzero), BP_SYM (bzero))
+ b memset@local
+END (__bzero)
+weak_alias (__bzero, bzero)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/cell/memcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/cell/memcpy.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/cell/memcpy.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
#define PREFETCH_AHEAD 6 /* no cache lines SRC prefetching ahead */
#define ZERO_AHEAD 4 /* no cache lines DST zeroing ahead */
@@ -41,7 +39,7 @@
.align 7
-EALIGN (BP_SYM (memcpy), 5, 0)
+EALIGN (memcpy, 5, 0)
CALL_MCOUNT
dcbt 0,r4 /* Prefetch ONE SRC cacheline */
@@ -240,5 +238,5 @@
stb r0,0(r6)
1: blr
-END (BP_SYM (memcpy))
+END (memcpy)
libc_hidden_builtin_def (memcpy)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S Fri Mar 1 00:02:06 2013
@@ -23,12 +23,9 @@
#else
# include <jmpbuf-offsets.h>
#endif
-#include <bp-sym.h>
-#include <bp-asm.h>
.machine "altivec"
-ENTRY (BP_SYM (__longjmp))
- CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
+ENTRY (__longjmp)
#ifndef __NO_VMX__
# ifdef PIC
mflr r6
@@ -173,4 +170,4 @@
lfd fp31,((JB_FPRS+17*2)*4)(r3)
mr r3,r4
blr
-END (BP_SYM (__longjmp))
+END (__longjmp)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S Fri Mar 1 00:02:06 2013
@@ -23,12 +23,9 @@
#else
# include <jmpbuf-offsets.h>
#endif
-#include <bp-sym.h>
-#include <bp-asm.h>
.machine "altivec"
-ENTRY (BP_SYM (__sigsetjmp))
- CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
+ENTRY (__sigsetjmp)
#ifdef PTR_MANGLE
mr r5,r1
@@ -179,5 +176,5 @@
stvx 31,0,r6
L(no_vmx):
#endif
- b BP_SYM (__sigjmp_save@local)
-END (BP_SYM (__sigsetjmp))
+ b __sigjmp_save@local
+END (__sigsetjmp)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/lshift.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/lshift.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/lshift.S Fri Mar 1 00:02:06 2013
@@ -17,19 +17,12 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* mp_limb_t mpn_lshift (mp_ptr wp, mp_srcptr up, mp_size_t usize,
unsigned int cnt) */
-EALIGN (BP_SYM (__mpn_lshift), 3, 0)
+EALIGN (__mpn_lshift, 3, 0)
-#if __BOUNDED_POINTERS__
- slwi r10,r5,2 /* convert limbs to bytes */
- CHECK_BOUNDS_BOTH_WIDE (r3, r8, r9, r10)
- CHECK_BOUNDS_BOTH_WIDE (r4, r8, r9, r10)
-#endif
mtctr r5 # copy size into CTR
cmplwi cr0,r5,16 # is size < 16
slwi r0,r5,2
@@ -129,4 +122,4 @@
DO_LSHIFT(30)
DO_LSHIFT(31)
-END (BP_SYM (__mpn_lshift))
+END (__mpn_lshift)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/memset.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/memset.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/memset.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* __ptr_t [r3] memset (__ptr_t s [r3], int c [r4], size_t n [r5]));
Returns 's'.
@@ -29,21 +27,14 @@
takes advantage of the dcbz instruction. */
.section ".text"
-EALIGN (BP_SYM (memset), 5, 1)
+EALIGN (memset, 5, 1)
#define rTMP r0
#define rRTN r3 /* initial value of 1st argument */
-#if __BOUNDED_POINTERS__
-# define rMEMP0 r4 /* original value of 1st arg */
-# define rCHR r5 /* char to set in each byte */
-# define rLEN r6 /* length of region to set */
-# define rMEMP r10 /* address at which we are storing */
-#else
-# define rMEMP0 r3 /* original value of 1st arg */
-# define rCHR r4 /* char to set in each byte */
-# define rLEN r5 /* length of region to set */
-# define rMEMP r6 /* address at which we are storing */
-#endif
+#define rMEMP0 r3 /* original value of 1st arg */
+#define rCHR r4 /* char to set in each byte */
+#define rLEN r5 /* length of region to set */
+#define rMEMP r6 /* address at which we are storing */
#define rALIGN r7 /* number of bytes we are setting now (when aligning) */
#define rMEMP2 r8
@@ -54,15 +45,6 @@
#define rGOT r9 /* Address of the Global Offset Table. */
#define rCLS r8 /* Cache line size obtained from static. */
#define rCLM r9 /* Cache line size mask to check for cache alignment. */
-
-#if __BOUNDED_POINTERS__
- cmplwi cr1, rRTN, 0
- CHECK_BOUNDS_BOTH_WIDE (rMEMP0, rTMP, rTMP2, rLEN)
- beq cr1, L(b0)
- STORE_RETURN_VALUE (rMEMP0)
- STORE_RETURN_BOUNDS (rTMP, rTMP2)
-L(b0):
-#endif
/* take care of case for size <= 4 */
cmplwi cr1, rLEN, 4
@@ -321,5 +303,5 @@
clrrwi. rALIGN, rLEN, 5
b L(nondcbz)
-END (BP_SYM (memset))
+END (memset)
libc_hidden_builtin_def (memset)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/mul_1.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/mul_1.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/mul_1.S Fri Mar 1 00:02:06 2013
@@ -17,19 +17,12 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* mp_limb_t mpn_mul_1 (mp_ptr res_ptr, mp_srcptr s1_ptr,
mp_size_t s1_size, mp_limb_t s2_limb)
Calculate s1*s2 and put result in res_ptr; return carry. */
-ENTRY (BP_SYM (__mpn_mul_1))
-#if __BOUNDED_POINTERS__
- slwi r10,r5,2 /* convert limbs to bytes */
- CHECK_BOUNDS_BOTH_WIDE (r3, r8, r9, r10)
- CHECK_BOUNDS_BOTH_WIDE (r4, r8, r9, r10)
-#endif
+ENTRY (__mpn_mul_1)
mtctr r5
lwz r0,0(r4)
@@ -49,4 +42,4 @@
L(1): stw r7,4(r3)
addze r3,r10
blr
-END (BP_SYM (__mpn_mul_1))
+END (__mpn_mul_1)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/mpa.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/mpa.c (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/mpa.c Fri Mar 1 00:02:06 2013
@@ -363,6 +363,7 @@
{
long i, j, k;
long p2 = p;
+ double zk;
EZ = EX;
@@ -370,45 +371,54 @@
j = p2 + EY - EX;
k = p2 + 1;
- if (j < 1)
+ if (__glibc_unlikely (j < 1))
{
__cpy (x, z, p);
return;
}
- else
- Z[k] = ZERO;
+
+ zk = ZERO;
for (; j > 0; i--, j--)
{
- Z[k] += X[i] + Y[j];
- if (Z[k] >= RADIX)
- {
- Z[k] -= RADIX;
- Z[--k] = ONE;
- }
- else
- Z[--k] = ZERO;
+ zk += X[i] + Y[j];
+ if (zk >= RADIX)
+ {
+ Z[k--] = zk - RADIX;
+ zk = ONE;
+ }
+ else
+ {
+ Z[k--] = zk;
+ zk = ZERO;
+ }
}
for (; i > 0; i--)
{
- Z[k] += X[i];
- if (Z[k] >= RADIX)
- {
- Z[k] -= RADIX;
- Z[--k] = ONE;
- }
- else
- Z[--k] = ZERO;
- }
-
- if (Z[1] == ZERO)
+ zk += X[i];
+ if (zk >= RADIX)
+ {
+ Z[k--] = zk - RADIX;
+ zk = ONE;
+ }
+ else
+ {
+ Z[k--] = zk;
+ zk = ZERO;
+ }
+ }
+
+ if (zk == ZERO)
{
for (i = 1; i <= p2; i++)
Z[i] = Z[i + 1];
}
else
- EZ += ONE;
+ {
+ Z[1] = zk;
+ EZ += ONE;
+ }
}
/* Subtract the magnitudes of *X and *Y assuming that abs (*x) > abs (*y) > 0.
@@ -420,65 +430,63 @@
{
long i, j, k;
long p2 = p;
+ double zk;
EZ = EX;
-
- if (EX == EY)
- {
- i = j = k = p2;
- Z[k] = Z[k + 1] = ZERO;
- }
- else
- {
- j = EX - EY;
- if (j > p2)
- {
- __cpy (x, z, p);
- return;
- }
- else
- {
- i = p2;
- j = p2 + 1 - j;
- k = p2;
- if (Y[j] > ZERO)
- {
- Z[k + 1] = RADIX - Y[j--];
- Z[k] = MONE;
- }
- else
- {
- Z[k + 1] = ZERO;
- Z[k] = ZERO;
- j--;
- }
- }
- }
-
+ i = p2;
+ j = p2 + EY - EX;
+ k = p2;
+
+ /* Y is too small compared to X, copy X over to the result. */
+ if (__glibc_unlikely (j < 1))
+ {
+ __cpy (x, z, p);
+ return;
+ }
+
+ /* The relevant least significant digit in Y is non-zero, so we factor it in
+ to enhance accuracy. */
+ if (j < p2 && Y[j + 1] > ZERO)
+ {
+ Z[k + 1] = RADIX - Y[j + 1];
+ zk = MONE;
+ }
+ else
+ zk = Z[k + 1] = ZERO;
+
+ /* Subtract and borrow. */
for (; j > 0; i--, j--)
{
- Z[k] += (X[i] - Y[j]);
- if (Z[k] < ZERO)
- {
- Z[k] += RADIX;
- Z[--k] = MONE;
- }
- else
- Z[--k] = ZERO;
- }
-
+ zk += (X[i] - Y[j]);
+ if (zk < ZERO)
+ {
+ Z[k--] = zk + RADIX;
+ zk = MONE;
+ }
+ else
+ {
+ Z[k--] = zk;
+ zk = ZERO;
+ }
+ }
+
+ /* We're done with digits from Y, so it's just digits in X. */
for (; i > 0; i--)
{
- Z[k] += X[i];
- if (Z[k] < ZERO)
- {
- Z[k] += RADIX;
- Z[--k] = MONE;
- }
- else
- Z[--k] = ZERO;
- }
-
+ zk += X[i];
+ if (zk < ZERO)
+ {
+ Z[k--] = zk + RADIX;
+ zk = MONE;
+ }
+ else
+ {
+ Z[k--] = zk;
+ zk = ZERO;
+ }
+ }
+
+ /* Normalize. */
for (i = 1; Z[i] == ZERO; i++);
EZ = EZ - i + 1;
for (k = 1; i <= p2 + 1;)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memcmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memcmp.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memcmp.S Fri Mar 1 00:02:06 2013
@@ -17,13 +17,11 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* int [r3] memcmp (const char *s1 [r3], const char *s2 [r4], size_t size [r5]) */
.machine power4
-EALIGN (BP_SYM(memcmp), 4, 0)
+EALIGN (memcmp, 4, 0)
CALL_MCOUNT
#define rTMP r0
@@ -979,7 +977,7 @@
lwz r24,20(r1)
lwz 1,0(1)
blr
-END (BP_SYM (memcmp))
+END (memcmp)
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp, bcmp)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memcpy.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memcpy.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* __ptr_t [r3] memcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
Returns 'dst'.
@@ -34,7 +32,7 @@
Each case has an optimized unrolled loop. */
.machine power4
-EALIGN (BP_SYM (memcpy), 5, 0)
+EALIGN (memcpy, 5, 0)
CALL_MCOUNT
stwu 1,-32(1)
@@ -420,6 +418,6 @@
lwz 31,24(1)
addi 1,1,32
blr
-END (BP_SYM (memcpy))
+END (memcpy)
libc_hidden_builtin_def (memcpy)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memset.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memset.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/memset.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* __ptr_t [r3] memset (__ptr_t s [r3], int c [r4], size_t n [r5]));
Returns 's'.
@@ -28,7 +26,7 @@
to 0, to take advantage of the dcbz instruction. */
.machine power4
-EALIGN (BP_SYM (memset), 5, 0)
+EALIGN (memset, 5, 0)
CALL_MCOUNT
#define rTMP r0
@@ -224,5 +222,5 @@
stw rCHR, -4(rMEMP)
stw rCHR, -8(rMEMP)
blr
-END (BP_SYM (memset))
+END (memset)
libc_hidden_builtin_def (memset)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/strncmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/strncmp.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/strncmp.S Fri Mar 1 00:02:06 2013
@@ -17,14 +17,12 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* See strlen.s for comments on how the end-of-string testing works. */
/* int [r3] strncmp (const char *s1 [r3], const char *s2 [r4], size_t size [r5]) */
-EALIGN (BP_SYM(strncmp), 4, 0)
+EALIGN (strncmp, 4, 0)
#define rTMP r0
#define rRTN r3
@@ -171,5 +169,5 @@
L(ux):
li rRTN, 0
blr
-END (BP_SYM (strncmp))
+END (strncmp)
libc_hidden_builtin_def (strncmp)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power6/memcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power6/memcpy.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power6/memcpy.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* __ptr_t [r3] memcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
Returns 'dst'.
@@ -34,7 +32,7 @@
Each case has an optimized unrolled loop. */
.machine power6
-EALIGN (BP_SYM (memcpy), 5, 0)
+EALIGN (memcpy, 5, 0)
CALL_MCOUNT
stwu 1,-32(1)
@@ -837,6 +835,6 @@
lwz 31,24(1)
addi 1,1,32
blr
-END (BP_SYM (memcpy))
+END (memcpy)
libc_hidden_builtin_def (memcpy)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power6/memset.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power6/memset.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power6/memset.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* __ptr_t [r3] memset (__ptr_t s [r3], int c [r4], size_t n [r5]));
Returns 's'.
@@ -28,7 +26,7 @@
to 0, to take advantage of the dcbz instruction. */
.machine power6
-EALIGN (BP_SYM (memset), 7, 0)
+EALIGN (memset, 7, 0)
CALL_MCOUNT
#define rTMP r0
@@ -537,5 +535,5 @@
stw rCHR, -4(rMEMP)
stw rCHR, -8(rMEMP)
blr
-END (BP_SYM (memset))
+END (memset)
libc_hidden_builtin_def (memset)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memchr.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memchr.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memchr.S Fri Mar 1 00:02:06 2013
@@ -18,12 +18,10 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* int [r3] memchr (char *s [r3], int byte [r4], int size [r5]) */
.machine power7
-ENTRY (BP_SYM (__memchr))
+ENTRY (__memchr)
CALL_MCOUNT
dcbt 0,r3
clrrwi r8,r3,2
@@ -202,6 +200,6 @@
li r3,0
blr
-END (BP_SYM (__memchr))
-weak_alias (BP_SYM (__memchr), BP_SYM(memchr))
+END (__memchr)
+weak_alias (__memchr, memchr)
libc_hidden_builtin_def (memchr)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memcmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memcmp.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memcmp.S Fri Mar 1 00:02:06 2013
@@ -17,15 +17,13 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* int [r3] memcmp (const char *s1 [r3],
const char *s2 [r4],
size_t size [r5]) */
.machine power7
-EALIGN (BP_SYM(memcmp),4,0)
+EALIGN (memcmp,4,0)
CALL_MCOUNT
#define rTMP r0
@@ -982,6 +980,6 @@
lwz r24,20(r1)
lwz 1,0(1)
blr
-END (BP_SYM (memcmp))
+END (memcmp)
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp,bcmp)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memcpy.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memcpy.S Fri Mar 1 00:02:06 2013
@@ -18,14 +18,12 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* __ptr_t [r3] memcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
Returns 'dst'. */
.machine power7
-EALIGN (BP_SYM (memcpy), 5, 0)
+EALIGN (memcpy, 5, 0)
CALL_MCOUNT
stwu 1,-32(1)
@@ -522,5 +520,5 @@
addi 1,1,32
blr
-END (BP_SYM (memcpy))
+END (memcpy)
libc_hidden_builtin_def (memcpy)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/mempcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/mempcpy.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/mempcpy.S Fri Mar 1 00:02:06 2013
@@ -18,14 +18,12 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* __ptr_t [r3] __mempcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
Returns 'dst' + 'len'. */
.machine power7
-EALIGN (BP_SYM (__mempcpy), 5, 0)
+EALIGN (__mempcpy, 5, 0)
CALL_MCOUNT
stwu 1,-32(1)
@@ -464,7 +462,7 @@
addi 1,1,32
blr
-END (BP_SYM (__mempcpy))
-libc_hidden_def (BP_SYM (__mempcpy))
-weak_alias (BP_SYM (__mempcpy), BP_SYM (mempcpy))
+END (__mempcpy)
+libc_hidden_def (__mempcpy)
+weak_alias (__mempcpy, mempcpy)
libc_hidden_builtin_def (mempcpy)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memrchr.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memrchr.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memrchr.S Fri Mar 1 00:02:06 2013
@@ -18,12 +18,10 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* int [r3] memrchr (char *s [r3], int byte [r4], int size [r5]) */
.machine power7
-ENTRY (BP_SYM (__memrchr))
+ENTRY (__memrchr)
CALL_MCOUNT
dcbt 0,r3
mr r7,r3
@@ -172,6 +170,6 @@
ble L(null)
b L(loop_small)
-END (BP_SYM (__memrchr))
-weak_alias (BP_SYM (__memrchr), BP_SYM(memrchr))
+END (__memrchr)
+weak_alias (__memrchr, memrchr)
libc_hidden_builtin_def (memrchr)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memset.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memset.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/memset.S Fri Mar 1 00:02:06 2013
@@ -18,14 +18,12 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* __ptr_t [r3] memset (__ptr_t s [r3], int c [r4], size_t n [r5]));
Returns 's'. */
.machine power7
-EALIGN (BP_SYM (memset), 5, 0)
+EALIGN (memset, 5, 0)
CALL_MCOUNT
.align 4
@@ -429,5 +427,5 @@
stw 4,4(10)
blr
-END (BP_SYM (memset))
+END (memset)
libc_hidden_builtin_def (memset)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/rawmemchr.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/rawmemchr.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/rawmemchr.S Fri Mar 1 00:02:06 2013
@@ -18,12 +18,10 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* int [r3] rawmemchr (void *s [r3], int c [r4]) */
.machine power7
-ENTRY (BP_SYM(__rawmemchr))
+ENTRY (__rawmemchr)
CALL_MCOUNT
dcbt 0,r3
clrrwi r8,r3,2 /* Align the address to word boundary. */
@@ -96,6 +94,6 @@
srwi r0,r0,3 /* Convert leading zeroes to bytes. */
add r3,r8,r0 /* Return address of the matching char. */
blr
-END (BP_SYM (__rawmemchr))
+END (__rawmemchr)
weak_alias (__rawmemchr,rawmemchr)
libc_hidden_builtin_def (__rawmemchr)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strcasecmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strcasecmp.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strcasecmp.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
#include <locale-defines.h>
/* int [r3] strcasecmp (const char *s1 [r3], const char *s2 [r4] )
@@ -33,7 +31,7 @@
# define STRCMP strcasecmp
#endif
-ENTRY (BP_SYM (__STRCMP))
+ENTRY (__STRCMP)
#define rRTN r3 /* Return value */
#define rSTR1 r5 /* 1st string */
@@ -125,7 +123,7 @@
bnelr
bne cr7,L(loop)
blr
-END (BP_SYM (__STRCMP))
+END (__STRCMP)
-weak_alias (BP_SYM (__STRCMP), BP_SYM (STRCMP))
+weak_alias (__STRCMP, STRCMP)
libc_hidden_builtin_def (__STRCMP)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strchr.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strchr.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strchr.S Fri Mar 1 00:02:06 2013
@@ -18,12 +18,10 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* int [r3] strchr (char *s [r3], int c [r4]) */
.machine power7
-ENTRY (BP_SYM(strchr))
+ENTRY (strchr)
CALL_MCOUNT
dcbt 0,r3
clrrwi r8,r3,2 /* Align the address to word boundary. */
@@ -197,6 +195,6 @@
srwi r0,r0,3 /* Convert leading zeros to bytes. */
add r3,r8,r0 /* Return address of the matching null byte. */
blr
-END (BP_SYM (strchr))
-weak_alias (BP_SYM (strchr), BP_SYM (index))
+END (strchr)
+weak_alias (strchr, index)
libc_hidden_builtin_def (strchr)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strchrnul.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strchrnul.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strchrnul.S Fri Mar 1 00:02:06 2013
@@ -18,12 +18,10 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* int [r3] strchrnul (char *s [r3], int c [r4]) */
.machine power7
-ENTRY (BP_SYM(__strchrnul))
+ENTRY (__strchrnul)
CALL_MCOUNT
dcbt 0,r3
clrrwi r8,r3,2 /* Align the address to word boundary. */
@@ -111,6 +109,6 @@
srwi r0,r0,3 /* Convert leading zeros to bytes. */
add r3,r8,r0 /* Return address of matching c/null byte. */
blr
-END (BP_SYM (__strchrnul))
+END (__strchrnul)
weak_alias (__strchrnul,strchrnul)
libc_hidden_builtin_def (__strchrnul)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strlen.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strlen.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strlen.S Fri Mar 1 00:02:06 2013
@@ -18,12 +18,10 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* int [r3] strlen (char *s [r3]) */
.machine power7
-ENTRY (BP_SYM (strlen))
+ENTRY (strlen)
CALL_MCOUNT
dcbt 0,r3
clrrwi r4,r3,2 /* Align the address to word boundary. */
@@ -93,5 +91,5 @@
srwi r0,r0,3 /* Convert leading zeroes to bytes. */
add r3,r5,r0 /* Compute final length. */
blr
-END (BP_SYM (strlen))
+END (strlen)
libc_hidden_builtin_def (strlen)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strncmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strncmp.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strncmp.S Fri Mar 1 00:02:06 2013
@@ -17,8 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
/* See strlen.s for comments on how the end-of-string testing works. */
@@ -26,7 +24,7 @@
const char *s2 [r4],
size_t size [r5]) */
-EALIGN (BP_SYM(strncmp),5,0)
+EALIGN (strncmp,5,0)
#define rTMP r0
#define rRTN r3
@@ -175,5 +173,5 @@
L(ux):
li rRTN,0
blr
-END (BP_SYM (strncmp))
+END (strncmp)
libc_hidden_builtin_def (strncmp)
Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strnlen.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strnlen.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/strnlen.S Fri Mar 1 00:02:06 2013
@@ -18,12 +18,10 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-sym.h>
[... 807 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits