[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r22612 - in /fsf/trunk/libc: ./ ports/ ports/sysdeps/arm/ ports/sysdeps/arm/bits/ ports/sysdeps/arm/include/ ports/sysdeps/a...



Author: eglibc
Date: Tue Mar 12 00:02:07 2013
New Revision: 22612

Log:
Import glibc-mainline for 2013-03-12

Added:
    fsf/trunk/libc/ports/sysdeps/arm/include/
    fsf/trunk/libc/ports/sysdeps/arm/include/bits/
    fsf/trunk/libc/ports/sysdeps/arm/include/bits/setjmp.h
    fsf/trunk/libc/ports/sysdeps/arm/preconfigure.in
Removed:
    fsf/trunk/libc/ports/sysdeps/arm/jmpbuf-offsets.h
    fsf/trunk/libc/sysdeps/x86_64/multiarch/bzero.S
    fsf/trunk/libc/sysdeps/x86_64/multiarch/memset-x86-64.S
    fsf/trunk/libc/sysdeps/x86_64/multiarch/memset.S
    fsf/trunk/libc/sysdeps/x86_64/multiarch/memset_chk.S
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/Versions.def
    fsf/trunk/libc/ports/ChangeLog.aarch64
    fsf/trunk/libc/ports/ChangeLog.am33
    fsf/trunk/libc/ports/ChangeLog.arm
    fsf/trunk/libc/ports/ChangeLog.ia64
    fsf/trunk/libc/ports/ChangeLog.m68k
    fsf/trunk/libc/ports/ChangeLog.tile
    fsf/trunk/libc/ports/sysdeps/arm/__longjmp.S
    fsf/trunk/libc/ports/sysdeps/arm/bits/setjmp.h
    fsf/trunk/libc/ports/sysdeps/arm/jmpbuf-unwind.h
    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/unix/sysv/linux/aarch64/nptl/libpthread.abilist
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/am33/bits/mman.h
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/bits/mman.h
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/makecontext.c
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist
    fsf/trunk/libc/sysdeps/x86_64/memset.S
    fsf/trunk/libc/sysdeps/x86_64/multiarch/Makefile
    fsf/trunk/libc/sysdeps/x86_64/multiarch/ifunc-impl-list.c
    fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.c
    fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Tue Mar 12 00:02:07 2013
@@ -1,3 +1,33 @@
+2013-03-13  OndÃÂej BÃÂlka  <neleai@xxxxxxxxx>
+
+	* sysdeps/x86_64/memset.S: Remove USE_MULTIARCH conditional for
+	definining bcopy.
+
+	* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
+	Remove Prefer_SSE_for_memop.
+	* sysdeps/x86_64/multiarch/init-arch.h: Remove
+	bit_Prefer_SSE_for_memop, index_Prefer_SSE_for_memop,
+	HAS_PREFER_SSE_FOR_MEMOP.
+
+	* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Remove
+	memset-x86-64.
+
+	* sysdeps/x86_64/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list):
+	Remove zero, memset ifunc support.
+
+	* sysdeps/x86_64/multiarch/bzero.S: Remove file.
+	* sysdeps/x86_64/multiarch/memset-x86-64.S: Likewise.
+	* sysdeps/x86_64/multiarch/memset.S: Likewise.
+	* sysdeps/x86_64/multiarch/memset_chk.S: Likewise.
+
+2013-03-11  Andreas Schwab  <schwab@xxxxxxx>
+
+	[BZ #15234]
+	* Versions.def (libpthread): Add GLIBC_2.3, so that it can be used
+	by SHLIB_COMPAT.
+	* sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist
+	(GLIBC_2.16): Remove pthread_atfork.
+
 2013-03-08  Paul Pluzhnikov  <ppluzhnikov@xxxxxxxxxx>
 
 	* posix/Makefile (testcases.h): Set LC_ALL=C before sed.

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Tue Mar 12 00:02:07 2013
@@ -11,7 +11,7 @@
 
   11561, 12723, 13550, 13951, 14142, 14200, 14317, 14327, 14496, 14920,
   14964, 14981, 14982, 14985, 14994, 14996, 15003, 15006, 15020, 15023,
-  15036, 15054, 15055, 15062, 15078, 15160, 15232.
+  15036, 15054, 15055, 15062, 15078, 15160, 15232, 15234.
 
 * Add support for calling C++11 thread_local object destructors on thread
   and program exit.  This needs compiler support for offloading C++11

Modified: fsf/trunk/libc/Versions.def
==============================================================================
--- fsf/trunk/libc/Versions.def (original)
+++ fsf/trunk/libc/Versions.def Tue Mar 12 00:02:07 2013
@@ -93,6 +93,7 @@
   GLIBC_2.2
   GLIBC_2.2.3
   GLIBC_2.2.6
+  GLIBC_2.3
   GLIBC_2.3.2
   GLIBC_2.3.3
   GLIBC_2.3.4

Modified: fsf/trunk/libc/ports/ChangeLog.aarch64
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.aarch64 (original)
+++ fsf/trunk/libc/ports/ChangeLog.aarch64 Tue Mar 12 00:02:07 2013
@@ -1,3 +1,9 @@
+2013-03-11  Andreas Schwab  <schwab@xxxxxxx>
+
+	[BZ #15234]
+	* sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
+	(GLIBC_2.17): Remove pthread_atfork.
+
 2013-03-07  Andreas Jaeger  <aj@xxxxxxx>
 
 	* sysdeps/unix/sysv/linux/aarch64/bits/mman.h: Remove all defines

Modified: fsf/trunk/libc/ports/ChangeLog.am33
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.am33 (original)
+++ fsf/trunk/libc/ports/ChangeLog.am33 Tue Mar 12 00:02:07 2013
@@ -1,3 +1,8 @@
+2013-03-11  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/unix/sysv/linux/am33/bits/mman.h: Remove all defines
+	provided by bits/mman-linux.h and include <bits/mman-linux.h>.
+
 2013-02-28  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/am33/elf/start.S: Don't include "bp-sym.h".

Modified: fsf/trunk/libc/ports/ChangeLog.arm
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.arm (original)
+++ fsf/trunk/libc/ports/ChangeLog.arm Tue Mar 12 00:02:07 2013
@@ -1,3 +1,30 @@
+2013-03-11  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* sysdeps/arm/bits/setjmp.h: Test [!__ASSEMBLER__] rather than [!_ASM].
+	* sysdeps/arm/jmpbuf-offsets.h: File removed.
+	* sysdeps/arm/jmpbuf-unwind.h: Don't #include it.
+	* sysdeps/arm/include/bits/setjmp.h: New file.
+	* sysdeps/arm/setjmp.S (_SETJMP_H, _ASM): Macros removed.
+	Use JMP_BUF_REGLIST macro.
+	* sysdeps/arm/__longjmp.S: Likewise.
+
+	* sysdeps/arm/memcpy.S: Convert to unified assembly syntax.
+	* sysdeps/arm/memmove.S: Likewise.
+	* sysdeps/arm/memset.S: Likewise.
+	* sysdeps/arm/strlen.S: Likewise.
+
+	* sysdeps/arm/memcpy.S: Use r10 instead of r9.
+	* sysdeps/arm/memmove.S: Likewise.
+
+	* sysdeps/arm/preconfigure.in: New file.
+	* sysdeps/arm/preconfigure: Replaced with generated file.
+
+2013-03-11  Andreas Schwab  <schwab@xxxxxxx>
+
+	[BZ #15234]
+	* sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist (GLIBC_2.4):
+	Remove pthread_atfork.
+
 2013-03-06  Richard Henderson <rth@xxxxxxxxxx>
 
 	* sysdeps/arm/armv6/rawmemchr.S: New file.

Modified: fsf/trunk/libc/ports/ChangeLog.ia64
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.ia64 (original)
+++ fsf/trunk/libc/ports/ChangeLog.ia64 Tue Mar 12 00:02:07 2013
@@ -1,3 +1,13 @@
+2013-03-11  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/unix/sysv/linux/ia64/bits/mman.h: Remove all defines
+	provided by bits/mman-linux.h and include <bits/mman-linux.h>.
+
+2013-03-10  Mike Frysinger  <vapier@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): Change
+	type of rbs to unsigned.  Change stack_start cast to unsigned.
+
 2013-03-10  Mike Frysinger  <vapier@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/ia64/nptl/dl-sysdep.h:

Modified: fsf/trunk/libc/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.m68k (original)
+++ fsf/trunk/libc/ports/ChangeLog.m68k Tue Mar 12 00:02:07 2013
@@ -1,3 +1,9 @@
+2013-03-11  Andreas Schwab  <schwab@xxxxxxx>
+
+	[BZ #15234]
+	* sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist
+	(GLIBC_2.4): Remove pthread_atfork.
+
 2013-03-06  Andreas Jaeger  <aj@xxxxxxx>
 
 	* sysdeps/unix/sysv/linux/m68k/bits/mman.h: Remove all defines

Modified: fsf/trunk/libc/ports/ChangeLog.tile
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.tile (original)
+++ fsf/trunk/libc/ports/ChangeLog.tile Tue Mar 12 00:02:07 2013
@@ -1,3 +1,13 @@
+2013-03-11  Andreas Schwab  <schwab@xxxxxxx>
+
+	[BZ #15234]
+	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist
+	(GLIBC_2.12): Remove pthread_atfork.
+	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist
+	(GLIBC_2.12): Likewise.
+	* sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist
+	(GLIBC_2.12): Likewise.
+
 2013-03-05  Andreas Jaeger  <aj@xxxxxxx>
 
 	* sysdeps/unix/sysv/linux/tile/bits/mman.h: Remove all defines

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 Tue Mar 12 00:02:07 2013
@@ -19,8 +19,6 @@
 /* ??? Needs more rearrangement for the LDM to handle thumb mode.  */
 #define NO_THUMB
 #include <sysdep.h>
-#define _SETJMP_H
-#define _ASM
 #include <bits/setjmp.h>
 #include <rtld-global-offsets.h>
 #include <arm-features.h>
@@ -37,7 +35,7 @@
 	cfi_undefined (r4)
 	CHECK_SP (r4)
 #endif
-	ldmia	ip!, {v1-v6, sl, fp, sp, lr}
+	ldmia	ip!, JMP_BUF_REGLIST
 	cfi_restore (v1)
 	cfi_restore (v2)
 	cfi_restore (v3)

Modified: fsf/trunk/libc/ports/sysdeps/arm/bits/setjmp.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/bits/setjmp.h (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/bits/setjmp.h Tue Mar 12 00:02:07 2013
@@ -24,7 +24,7 @@
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
 #endif
 
-#ifndef _ASM
+#ifndef __ASSEMBLER__
 /* The exact set of registers saved may depend on the particular core
    in use, as some coprocessor registers may need to be saved.  The C
    Library ABI requires that the buffer be 8-byte aligned, and

Added: fsf/trunk/libc/ports/sysdeps/arm/include/bits/setjmp.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/include/bits/setjmp.h (added)
+++ fsf/trunk/libc/ports/sysdeps/arm/include/bits/setjmp.h Tue Mar 12 00:02:07 2013
@@ -1,0 +1,34 @@
+/* Private jmp_buf-related definitions.  ARM EABI version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C 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/>.  */
+
+#ifndef _INCLUDE_BITS_SETJMP_H
+#define _INCLUDE_BITS_SETJMP_H 1
+
+#ifndef __ASSEMBLER__
+/* Get the public declarations.  */
+# include <sysdeps/arm/bits/setjmp.h>
+#endif
+
+/* Register list for a ldm/stm instruction to load/store
+   the general registers from a __jmp_buf.  */
+#define JMP_BUF_REGLIST		{v1-v6, sl, fp, sp, lr}
+
+/* Index of __jmp_buf where the sp register resides.  */
+#define __JMP_BUF_SP		8
+
+#endif  /* include/bits/setjmp.h */

Removed: fsf/trunk/libc/ports/sysdeps/arm/jmpbuf-offsets.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/jmpbuf-offsets.h (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/jmpbuf-offsets.h (removed)
@@ -1,19 +1,0 @@
-/* Private macros for accessing __jmp_buf contents.  ARM EABI version.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
-   This file is part of the GNU C 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/>.  */
-
-#define __JMP_BUF_SP		8

Modified: fsf/trunk/libc/ports/sysdeps/arm/jmpbuf-unwind.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/jmpbuf-unwind.h (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/jmpbuf-unwind.h Tue Mar 12 00:02:07 2013
@@ -16,7 +16,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <setjmp.h>
-#include <jmpbuf-offsets.h>
 #include <stdint.h>
 #include <unwind.h>
 

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 Tue Mar 12 00:02:07 2013
@@ -53,6 +53,7 @@
 #endif
 
 		.text
+		.syntax unified
 
 /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
 
@@ -84,7 +85,7 @@
 
 	CALGN(	ands	ip, r1, #31		)
 	CALGN(	rsb	r3, ip, #32		)
-	CALGN(	sbcnes	r4, r3, r2		)  @ C is always set here
+	CALGN(	sbcsne	r4, r3, r2		)  @ C is always set here
 	CALGN(	bcs	2f			)
 	CALGN(	adr	r4, 6f			)
 	CALGN(	subs	r2, r2, r3		)  @ C gets set
@@ -139,12 +140,12 @@
 		cfi_restore (r8)
 
 8:		movs	r2, r2, lsl #31
-		ldrneb	r3, [r1], #1
-		ldrcsb	r4, [r1], #1
-		ldrcsb	ip, [r1]
-		strneb	r3, [r0], #1
-		strcsb	r4, [r0], #1
-		strcsb	ip, [r0]
+		ldrbne	r3, [r1], #1
+		ldrbcs	r4, [r1], #1
+		ldrbcs	ip, [r1]
+		strbne	r3, [r0], #1
+		strbcs	r4, [r0], #1
+		strbcs	ip, [r0]
 
 #if defined (__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__)
 		pop	{r0, r4, lr}
@@ -160,11 +161,11 @@
 
 9:		rsb	ip, ip, #4
 		cmp	ip, #2
-		ldrgtb	r3, [r1], #1
-		ldrgeb	r4, [r1], #1
+		ldrbgt	r3, [r1], #1
+		ldrbge	r4, [r1], #1
 		ldrb	lr, [r1], #1
-		strgtb	r3, [r0], #1
-		strgeb	r4, [r0], #1
+		strbgt	r3, [r0], #1
+		strbge	r4, [r0], #1
 		subs	r2, r2, ip
 		strb	lr, [r0], #1
 		blt	8b
@@ -185,17 +186,17 @@
 
 	CALGN(	ands	ip, r1, #31		)
 	CALGN(	rsb	ip, ip, #32		)
-	CALGN(	sbcnes	r4, ip, r2		)  @ C is always set here
+	CALGN(	sbcsne	r4, ip, r2		)  @ C is always set here
 	CALGN(	subcc	r2, r2, ip		)
 	CALGN(	bcc	15f			)
 
-11:		push	{r5 - r9}
+11:		push	{r5 - r8, r10}
 		cfi_adjust_cfa_offset (20)
 		cfi_rel_offset (r5, 0)
 		cfi_rel_offset (r6, 4)
 		cfi_rel_offset (r7, 8)
 		cfi_rel_offset (r8, 12)
-		cfi_rel_offset (r9, 16)
+		cfi_rel_offset (r10, 16)
 
 	PLD(	pld	[r1, #0]		)
 	PLD(	subs	r2, r2, #96		)
@@ -208,7 +209,7 @@
 13:		ldmia	r1!, {r4, r5, r6, r7}
 		mov	r3, lr, PULL #\pull
 		subs	r2, r2, #32
-		ldmia	r1!, {r8, r9, ip, lr}
+		ldmia	r1!, {r8, r10, ip, lr}
 		orr	r3, r3, r4, PUSH #\push
 		mov	r4, r4, PULL #\pull
 		orr	r4, r4, r5, PUSH #\push
@@ -219,23 +220,23 @@
 		mov	r7, r7, PULL #\pull
 		orr	r7, r7, r8, PUSH #\push
 		mov	r8, r8, PULL #\pull
-		orr	r8, r8, r9, PUSH #\push
-		mov	r9, r9, PULL #\pull
-		orr	r9, r9, ip, PUSH #\push
+		orr	r8, r8, r10, PUSH #\push
+		mov	r10, r10, PULL #\pull
+		orr	r10, r10, ip, PUSH #\push
 		mov	ip, ip, PULL #\pull
 		orr	ip, ip, lr, PUSH #\push
-		stmia	r0!, {r3, r4, r5, r6, r7, r8, r9, ip}
+		stmia	r0!, {r3, r4, r5, r6, r7, r8, r10, ip}
 		bge	12b
 	PLD(	cmn	r2, #96			)
 	PLD(	bge	13b			)
 
-		pop	{r5 - r9}
+		pop	{r5 - r8, r10}
 		cfi_adjust_cfa_offset (-20)
 		cfi_restore (r5)
 		cfi_restore (r6)
 		cfi_restore (r7)
 		cfi_restore (r8)
-		cfi_restore (r9)
+		cfi_restore (r10)
 
 14:		ands	ip, r2, #28
 		beq	16f

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 Tue Mar 12 00:02:07 2013
@@ -53,6 +53,7 @@
 #endif
 
 		.text
+		.syntax unified
 
 /*
  * Prototype: void *memmove(void *dest, const void *src, size_t n);
@@ -100,7 +101,7 @@
 		blt	5f
 
 	CALGN(	ands	ip, r1, #31		)
-	CALGN(	sbcnes	r4, ip, r2		)  @ C is always set here
+	CALGN(	sbcsne	r4, ip, r2		)  @ C is always set here
 	CALGN(	bcs	2f			)
 	CALGN(	adr	r4, 6f			)
 	CALGN(	subs	r2, r2, ip		)  @ C is set here
@@ -155,12 +156,12 @@
 		cfi_restore (r8)
 
 8:		movs	r2, r2, lsl #31
-		ldrneb	r3, [r1, #-1]!
-		ldrcsb	r4, [r1, #-1]!
-		ldrcsb	ip, [r1, #-1]
-		strneb	r3, [r0, #-1]!
-		strcsb	r4, [r0, #-1]!
-		strcsb	ip, [r0, #-1]
+		ldrbne	r3, [r1, #-1]!
+		ldrbcs	r4, [r1, #-1]!
+		ldrbcs	ip, [r1, #-1]
+		strbne	r3, [r0, #-1]!
+		strbcs	r4, [r0, #-1]!
+		strbcs	ip, [r0, #-1]
 
 #if defined (__ARM_ARCH_4T__) && defined (__THUMB_INTERWORK__)
 		pop	{r0, r4, lr}
@@ -175,11 +176,11 @@
 		cfi_restore_state
 
 9:		cmp	ip, #2
-		ldrgtb	r3, [r1, #-1]!
-		ldrgeb	r4, [r1, #-1]!
+		ldrbgt	r3, [r1, #-1]!
+		ldrbge	r4, [r1, #-1]!
 		ldrb	lr, [r1, #-1]!
-		strgtb	r3, [r0, #-1]!
-		strgeb	r4, [r0, #-1]!
+		strbgt	r3, [r0, #-1]!
+		strbge	r4, [r0, #-1]!
 		subs	r2, r2, ip
 		strb	lr, [r0, #-1]!
 		blt	8b
@@ -200,17 +201,17 @@
 
 	CALGN(	ands	ip, r1, #31		)
 	CALGN(	rsb	ip, ip, #32		)
-	CALGN(	sbcnes	r4, ip, r2		)  @ C is always set here
+	CALGN(	sbcsne	r4, ip, r2		)  @ C is always set here
 	CALGN(	subcc	r2, r2, ip		)
 	CALGN(	bcc	15f			)
 
-11:		push	{r5 - r9}
+11:		push	{r5 - r8, r10}
 		cfi_adjust_cfa_offset (20)
 		cfi_rel_offset (r5, 0)
 		cfi_rel_offset (r6, 4)
 		cfi_rel_offset (r7, 8)
 		cfi_rel_offset (r8, 12)
-		cfi_rel_offset (r9, 16)
+		cfi_rel_offset (r10, 16)
 
 	PLD(	pld	[r1, #-4]		)
 	PLD(	subs	r2, r2, #96		)
@@ -220,15 +221,15 @@
 	PLD(	pld	[r1, #-96]		)
 
 12:	PLD(	pld	[r1, #-128]		)
-13:		ldmdb   r1!, {r7, r8, r9, ip}
+13:		ldmdb   r1!, {r7, r8, r10, ip}
 		mov     lr, r3, PUSH #\push
 		subs    r2, r2, #32
 		ldmdb   r1!, {r3, r4, r5, r6}
 		orr     lr, lr, ip, PULL #\pull
 		mov     ip, ip, PUSH #\push
-		orr     ip, ip, r9, PULL #\pull
-		mov     r9, r9, PUSH #\push
-		orr     r9, r9, r8, PULL #\pull
+		orr     ip, ip, r10, PULL #\pull
+		mov     r10, r10, PUSH #\push
+		orr     r10, r10, r8, PULL #\pull
 		mov     r8, r8, PUSH #\push
 		orr     r8, r8, r7, PULL #\pull
 		mov     r7, r7, PUSH #\push
@@ -239,18 +240,18 @@
 		orr     r5, r5, r4, PULL #\pull
 		mov     r4, r4, PUSH #\push
 		orr     r4, r4, r3, PULL #\pull
-		stmdb   r0!, {r4 - r9, ip, lr}
+		stmdb   r0!, {r4 - r8, r10, ip, lr}
 		bge	12b
 	PLD(	cmn	r2, #96			)
 	PLD(	bge	13b			)
 
-		pop	{r5 - r9}
+		pop	{r5 - r8, r10}
 		cfi_adjust_cfa_offset (-20)
 		cfi_restore (r5)
 		cfi_restore (r6)
 		cfi_restore (r7)
 		cfi_restore (r8)
-		cfi_restore (r9)
+		cfi_restore (r10)
 
 14:		ands	ip, r2, #28
 		beq	16f

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 Tue Mar 12 00:02:07 2013
@@ -20,6 +20,9 @@
 #define NO_THUMB
 #include <sysdep.h>
 
+	.text
+	.syntax unified
+
 /* void *memset (dstpp, c, len) */
 
 ENTRY(memset)
@@ -29,7 +32,7 @@
 
 1:
 	tst	r3, #3		@ aligned yet?
-	strneb	r1, [r3], #1
+	strbne	r1, [r3], #1
 	subne	r2, r2, #1
 	bne	1b
 
@@ -40,27 +43,27 @@
 
 1:
 	subs	r2, r2, #8
-	stmcsia	r3!, {r1, ip}	@ store up to 32 bytes per loop iteration
-	subcss	r2, r2, #8
-	stmcsia	r3!, {r1, ip}
-	subcss	r2, r2, #8
-	stmcsia	r3!, {r1, ip}
-	subcss	r2, r2, #8
-	stmcsia	r3!, {r1, ip}
+	stmiacs	r3!, {r1, ip}	@ store up to 32 bytes per loop iteration
+	subscs	r2, r2, #8
+	stmiacs	r3!, {r1, ip}
+	subscs	r2, r2, #8
+	stmiacs	r3!, {r1, ip}
+	subscs	r2, r2, #8
+	stmiacs	r3!, {r1, ip}
 	bcs	1b
 
 	and	r2, r2, #7
 2:
 	subs	r2, r2, #1	@ store up to 4 bytes per loop iteration
-	strcsb	r1, [r3], #1
-	subcss	r2, r2, #1
-	strcsb	r1, [r3], #1
-	subcss	r2, r2, #1
-	strcsb	r1, [r3], #1
-	subcss	r2, r2, #1
-	strcsb	r1, [r3], #1
+	strbcs	r1, [r3], #1
+	subscs	r2, r2, #1
+	strbcs	r1, [r3], #1
+	subscs	r2, r2, #1
+	strbcs	r1, [r3], #1
+	subscs	r2, r2, #1
+	strbcs	r1, [r3], #1
 	bcs	2b
-	
+
 	DO_RET(lr)
 END(memset)
 libc_hidden_builtin_def (memset)

Modified: fsf/trunk/libc/ports/sysdeps/arm/preconfigure
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/preconfigure (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/preconfigure Tue Mar 12 00:02:07 2013
@@ -1,53 +1,58 @@
+# This file is generated from configure.in by Autoconf.  DO NOT EDIT!
+ # Local preconfigure fragment for sysdeps/arm
+
 case "$machine" in
 arm*)
-	base_machine=arm
-	case $config_os in
-	linux-gnueabi*)
-		# Lets ask the compiler which ARM family we've got
-		# Unfortunately it doesn't define any flags for implementations
-		# that you might pass to -mcpu or -mtune
-		# Note if you add patterns here you must ensure that
-		# an appropriate directory exists in sysdeps/arm
-		archcppflag=`echo "" |
-		$CC $CFLAGS $CPPFLAGS -E -dM - |
-		  grep '__ARM_ARCH_[0-9].*__' |
-		  sed -e 's/^#define //' -e 's/ .*//'`
+  case $config_os in
+  linux-gnueabi*)
+    if  "${CFLAGS+set}" != "set" ; then
+      CFLAGS="-g -O2"
+    fi
+    CFLAGS="$CFLAGS -fno-unwind-tables"
+    ;;
+  linux*)
+    as_fn_error $? "Old ABI no longer supported" "$LINENO" 5
+    ;;
+  esac
 
-		case x$archcppflag in
-		x__ARM_ARCH_[89]*__)
-		  machine=armv7
-		  echo "Found compiler is configured for something newer than v7 - using v7"
-		  ;;
+  base_machine=arm
+  # Lets ask the compiler which ARM family we've got
+  # Unfortunately it doesn't define any flags for implementations
+  # that you might pass to -mcpu or -mtune
+  # Note if you add patterns here you must ensure that
+  # an appropriate directory exists in sysdeps/arm
+  archcppflag=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null |
+    sed -n 's/^#define \(__ARM_ARCH_[0-9].*__\) .*$/\1/p'`
 
-		x__ARM_ARCH_7A__)
-		  machine=armv7
-		  echo "Found compiler is configured for $machine"
-		  ;;
+  case "x$archcppflag" in
+  x__ARM_ARCH_89*__)
+    machine=armv7
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Found compiler is configured for something newer than v7 - using v7" >&5
+$as_echo "$as_me: Found compiler is configured for something newer than v7 - using v7" >&6;}
+    ;;
 
-		x__ARM_ARCH_6T2__)
-		  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"
-		  ;;
-		esac
+  x__ARM_ARCH_7A__)
+    machine=armv7
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Found compiler is configured for $machine" >&5
+$as_echo "$as_me: Found compiler is configured for $machine" >&6;}
+    ;;
 
-		machine=arm/$machine
-		if [ "${CFLAGS+set}" != "set" ]; then
-		  CFLAGS="-g -O2"
-		fi
-		CFLAGS="$CFLAGS -fno-unwind-tables"
-		;;
-	linux*)
-		echo "Old ABI no longer supported" 2>&1
-		exit 1
-		;;
-	esac
-	;;
+  x__ARM_ARCH_6T2__)
+    machine=armv6t2
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Found compiler is configured for $machine" >&5
+$as_echo "$as_me: Found compiler is configured for $machine" >&6;}
+    ;;
+  x__ARM_ARCH_6*__)
+    machine=armv6
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Found compiler is configured for $machine" >&5
+$as_echo "$as_me: Found compiler is configured for $machine" >&6;}
+    ;;
+  *)
+    machine=arm
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: arm/preconfigure: Did not find ARM architecture type; using default" >&5
+$as_echo "$as_me: WARNING: arm/preconfigure: Did not find ARM architecture type; using default" >&2;}
+    ;;
+  esac
+
+  machine=arm/$machine
 esac

Added: fsf/trunk/libc/ports/sysdeps/arm/preconfigure.in
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/preconfigure.in (added)
+++ fsf/trunk/libc/ports/sysdeps/arm/preconfigure.in Tue Mar 12 00:02:07 2013
@@ -1,0 +1,53 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local preconfigure fragment for sysdeps/arm
+
+case "$machine" in
+arm*)
+  case $config_os in
+  linux-gnueabi*)
+    if [ "${CFLAGS+set}" != "set" ]; then
+      CFLAGS="-g -O2"
+    fi
+    CFLAGS="$CFLAGS -fno-unwind-tables"
+    ;;
+  linux*)
+    AC_MSG_ERROR([Old ABI no longer supported])
+    ;;
+  esac
+
+  base_machine=arm
+  # Lets ask the compiler which ARM family we've got
+  # Unfortunately it doesn't define any flags for implementations
+  # that you might pass to -mcpu or -mtune
+  # Note if you add patterns here you must ensure that
+  # an appropriate directory exists in sysdeps/arm
+  archcppflag=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null |
+    sed -n 's/^#define \(__ARM_ARCH_[0-9].*__\) .*$/\1/p'`
+
+  case "x$archcppflag" in
+  x__ARM_ARCH_[89]*__)
+    machine=armv7
+    AC_MSG_NOTICE([Found compiler is configured for something newer than v7 - using v7])
+    ;;
+
+  x__ARM_ARCH_7A__)
+    machine=armv7
+    AC_MSG_NOTICE([Found compiler is configured for $machine])
+    ;;
+
+  x__ARM_ARCH_6T2__)
+    machine=armv6t2
+    AC_MSG_NOTICE([Found compiler is configured for $machine])
+    ;;
+  x__ARM_ARCH_6*__)
+    machine=armv6
+    AC_MSG_NOTICE([Found compiler is configured for $machine])
+    ;;
+  *)
+    machine=arm
+    AC_MSG_WARN([arm/preconfigure: Did not find ARM architecture type; using default])
+    ;;
+  esac
+
+  machine=arm/$machine
+esac

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 Tue Mar 12 00:02:07 2013
@@ -19,8 +19,6 @@
 /* ??? Needs more rearrangement for the STM to handle thumb mode.  */
 #define NO_THUMB
 #include <sysdep.h>
-#define _SETJMP_H
-#define _ASM
 #include <bits/setjmp.h>
 #include <rtld-global-offsets.h>
 #include <arm-features.h>
@@ -29,7 +27,7 @@
 	mov	ip, r0
 
 	/* Save registers */
-	stmia	ip!, {v1-v6, sl, fp, sp, lr}
+	stmia	ip!, JMP_BUF_REGLIST
 
 #if !defined ARM_ASSUME_NO_IWMMXT || defined __SOFTFP__
 # define NEED_HWCAP 1

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 Tue Mar 12 00:02:07 2013
@@ -24,6 +24,9 @@
  * entry: r0 -> string
  * exit: r0 = len
  */
+
+	.syntax unified
+	.text
 
 ENTRY(strlen)
 	bic     r1, r0, $3              @ addr of word containing first byte

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist Tue Mar 12 00:02:07 2013
@@ -73,7 +73,6 @@
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/am33/bits/mman.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/am33/bits/mman.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/am33/bits/mman.h Tue Mar 12 00:02:07 2013
@@ -24,35 +24,6 @@
    But the kernel header is not namespace clean.  */
 
 
-/* Protections are chosen from these bits, OR'd together.  The
-   implementation does not necessarily support PROT_EXEC or PROT_WRITE
-   without PROT_READ.  The only guarantees are that no writing will be
-   allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */
-
-#define PROT_READ	0x1		/* Page can be read.  */
-#define PROT_WRITE	0x2		/* Page can be written.  */
-#define PROT_EXEC	0x4		/* Page can be executed.  */
-#define PROT_NONE	0x0		/* Page can not be accessed.  */
-#define PROT_GROWSDOWN	  0x01000000	/* Extend change to start of
-					   growsdown vma (mprotect only).  */
-#define PROT_GROWSUP	  0x02000000	/* Extend change to start of
-					   growsup vma (mprotect only).  */
-
-/* Sharing types (must choose one and only one of these).  */
-#define MAP_SHARED	0x01		/* Share changes.  */
-#define MAP_PRIVATE	0x02		/* Changes are private.  */
-#ifdef __USE_MISC
-# define MAP_TYPE	0x0f		/* Mask for type of mapping.  */
-#endif
-
-/* Other flags.  */
-#define MAP_FIXED	0x10		/* Interpret addr exactly.  */
-#ifdef __USE_MISC
-# define MAP_FILE	0
-# define MAP_ANONYMOUS	0x20		/* Don't use a file.  */
-# define MAP_ANON	MAP_ANONYMOUS
-#endif
-
 /* These are Linux-specific.  */
 #ifdef __USE_MISC
 # define MAP_GROWSDOWN	0x0100		/* Stack-like segment.  */
@@ -62,35 +33,5 @@
 # define MAP_NORESERVE	0x4000		/* Don't check for reservations.  */
 #endif
 
-/* Flags to `msync'.  */
-#define MS_ASYNC	1		/* Sync memory asynchronously.  */
-#define MS_SYNC		4		/* Synchronous memory sync.  */
-#define MS_INVALIDATE	2		/* Invalidate the caches.  */
-
-/* Flags for `mlockall'.  */
-#define MCL_CURRENT	1		/* Lock all currently mapped pages.  */
-#define MCL_FUTURE	2		/* Lock all additions to address
-					   space.  */
-
-/* Flags for `mremap'.  */
-#ifdef __USE_GNU
-# define MREMAP_MAYMOVE	1
-#endif
-
-/* Advice to `madvise'.  */
-#ifdef __USE_BSD
-# define MADV_NORMAL	 0	/* No further special treatment.  */
-# define MADV_RANDOM	 1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	 3	/* Will need these pages.  */
-# define MADV_DONTNEED	 4	/* Don't need these pages.  */
-#endif
-
-/* The POSIX people had to invent similar names for the same things.  */
-#ifdef __USE_XOPEN2K
-# define POSIX_MADV_NORMAL	0 /* No further special treatment.  */
-# define POSIX_MADV_RANDOM	1 /* Expect random page references.  */
-# define POSIX_MADV_SEQUENTIAL	2 /* Expect sequential page references.  */
-# define POSIX_MADV_WILLNEED	3 /* Will need these pages.  */
-# define POSIX_MADV_DONTNEED	4 /* Don't need these pages.  */
-#endif
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist Tue Mar 12 00:02:07 2013
@@ -83,7 +83,6 @@
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/bits/mman.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/bits/mman.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/bits/mman.h Tue Mar 12 00:02:07 2013
@@ -23,36 +23,6 @@
 /* The following definitions basically come from the kernel headers.
    But the kernel header is not namespace clean.  */
 
-
-/* Protections are chosen from these bits, OR'd together.  The
-   implementation does not necessarily support PROT_EXEC or PROT_WRITE
-   without PROT_READ.  The only guarantees are that no writing will be
-   allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */
-
-#define PROT_READ	  0x1		/* Page can be read.  */
-#define PROT_WRITE	  0x2		/* Page can be written.  */
-#define PROT_EXEC	  0x4		/* Page can be executed.  */
-#define PROT_NONE	  0x0		/* Page can not be accessed.  */
-#define PROT_GROWSDOWN	  0x01000000	/* Extend change to start of
-					   growsdown vma (mprotect only).  */
-#define PROT_GROWSUP	  0x02000000	/* Extend change to start of
-					   growsup vma (mprotect only).  */
-
-/* Sharing types (must choose one and only one of these).  */
-#define MAP_SHARED	  0x01		/* Share changes.  */
-#define MAP_PRIVATE	  0x02		/* Changes are private.  */
-#ifdef __USE_MISC
-# define MAP_TYPE	  0x0f		/* Mask for type of mapping.  */
-#endif
-
-/* Other flags.  */
-#define MAP_FIXED	  0x10		/* Interpret addr exactly.  */
-#ifdef __USE_MISC
-# define MAP_FILE	  0
-# define MAP_ANONYMOUS	  0x20		/* Don't use a file.  */
-# define MAP_ANON	  MAP_ANONYMOUS
-#endif
-
 /* These are Linux-specific.  */
 #ifdef __USE_MISC
 # define MAP_GROWSDOWN	  0x00100	/* Stack-like segment.  */
@@ -67,47 +37,5 @@
 # define MAP_HUGETLB	  0x40000	/* Create huge page mapping.  */
 #endif
 
-/* Flags to `msync'.  */
-#define MS_ASYNC	  0x1		/* Sync memory asynchronously.  */
-#define MS_INVALIDATE	  0x2		/* Invalidate the caches.  */
-#define MS_SYNC		  0x4		/* Synchronous memory sync.  */
-
-/* Flags for `mlockall'.  */
-#define MCL_CURRENT	  0x1		/* Lock all currently mapped pages.  */
-#define MCL_FUTURE	  0x2		/* Lock all additions to address
-					   space.  */
-
-/* Flags for `mremap'.  */
-#ifdef __USE_GNU
-# define MREMAP_MAYMOVE	1
-# define MREMAP_FIXED	2
-#endif
-
-/* Advice to `madvise'.  */
-#ifdef __USE_BSD
-# define MADV_NORMAL	  0	/* No further special treatment.  */
-# define MADV_RANDOM	  1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	  3	/* Will need these pages.  */
-# define MADV_DONTNEED	  4	/* Don't need these pages.  */
-# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	  11	/* Do inherit across fork.  */
-# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
-# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
-# define MADV_HUGEPAGE	  14	/* Worth backing with hugepages.  */
-# define MADV_NOHUGEPAGE  15	/* Not worth backing with hugepages.  */
-# define MADV_DONTDUMP	  16	/* Explicity exclude from the core dump,
-				   overrides the coredump filter bits.  */
-# define MADV_DODUMP	  17	/* Clear the MADV_DONTDUMP flag.  */
-# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
-#endif
-
-/* The POSIX people had to invent similar names for the same things.  */
-#ifdef __USE_XOPEN2K
-# define POSIX_MADV_NORMAL	0 /* No further special treatment.  */
-# define POSIX_MADV_RANDOM	1 /* Expect random page references.  */
-# define POSIX_MADV_SEQUENTIAL	2 /* Expect sequential page references.  */
-# define POSIX_MADV_WILLNEED	3 /* Will need these pages.  */
-# define POSIX_MADV_DONTNEED	4 /* Don't need these pages.  */
-#endif
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/makecontext.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/makecontext.c (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/makecontext.c Tue Mar 12 00:02:07 2013
@@ -48,7 +48,7 @@
   extern void __start_context (ucontext_t *link, long gp, ...);
   unsigned long stack_start, stack_end;
   va_list ap;
-  long *rbs;
+  unsigned long *rbs;
   int i;
 
   stack_start = (long) sc->sc_stack.ss_sp;
@@ -72,7 +72,7 @@
   /* set up the call frame: */
   sc->sc_ar_pfs = ((sc->sc_ar_pfs & ~0x3fffffffffUL)
 		   | (argc + 2) | ((argc + 2) << 7));
-  rbs = (long *) stack_start;
+  rbs = (unsigned long *) stack_start;
   PUSH((long) ucp->uc_link);
   PUSH(((struct fdesc *) &__start_context)->gp);
   va_start (ap, argc);

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist Tue Mar 12 00:02:07 2013
@@ -83,7 +83,6 @@
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist Tue Mar 12 00:02:07 2013
@@ -73,7 +73,6 @@
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist Tue Mar 12 00:02:07 2013
@@ -73,7 +73,6 @@
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist Tue Mar 12 00:02:07 2013
@@ -73,7 +73,6 @@
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist Tue Mar 12 00:02:07 2013
@@ -73,7 +73,6 @@
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F

Modified: fsf/trunk/libc/sysdeps/x86_64/memset.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/memset.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/memset.S Tue Mar 12 00:02:07 2013
@@ -23,7 +23,7 @@
 #define __STOS_UPPER_BOUNDARY	$65536
 
 	.text
-#if !defined NOT_IN_libc && !defined USE_MULTIARCH
+#if !defined NOT_IN_libc
 ENTRY(__bzero)
 	mov	%rsi,%rdx	/* Adjust parameter.  */
 	xorl	%esi,%esi	/* Fill with 0s.  */

Modified: fsf/trunk/libc/sysdeps/x86_64/multiarch/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/Makefile (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/Makefile Tue Mar 12 00:02:07 2013
@@ -10,7 +10,7 @@
 		   strend-sse4 memcmp-sse4 memcpy-ssse3 mempcpy-ssse3 \
 		   memmove-ssse3 memcpy-ssse3-back mempcpy-ssse3-back \
 		   memmove-ssse3-back strcasestr-nonascii strcasecmp_l-ssse3 \
-		   strncase_l-ssse3 strlen-sse4 strlen-sse2-no-bsf memset-x86-64 \
+		   strncase_l-ssse3 strlen-sse4 strlen-sse2-no-bsf \
 		   strcpy-ssse3 strncpy-ssse3 stpcpy-ssse3 stpncpy-ssse3 \
 		   strcpy-sse2-unaligned strncpy-sse2-unaligned \
 		   stpcpy-sse2-unaligned stpncpy-sse2-unaligned \

Removed: fsf/trunk/libc/sysdeps/x86_64/multiarch/bzero.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/bzero.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/bzero.S (removed)
@@ -1,28 +1,0 @@
-/* bzero.  x86-64 version.
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
-   This file is part of the GNU C 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/>.  */
-
-#include <sysdep.h>
-#include <init-arch.h>
-
-	.text
-ENTRY(__bzero)
-	mov	%rsi,%rdx	/* Adjust parameter.  */
-	xorl	%esi,%esi	/* Fill with 0s.  */
-	jmp	__libc_memset	/* Branch to IFUNC memset.  */
-END(__bzero)
-weak_alias (__bzero, bzero)

Modified: fsf/trunk/libc/sysdeps/x86_64/multiarch/ifunc-impl-list.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/ifunc-impl-list.c (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/ifunc-impl-list.c Tue Mar 12 00:02:07 2013
@@ -60,17 +60,6 @@
 	      IFUNC_IMPL_ADD (array, i, memmove, HAS_SSSE3,
 			      __memmove_ssse3)
 	      IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_sse2))
-
-  /* Support sysdeps/x86_64/multiarch/memset_chk.S.  */
-  IFUNC_IMPL (i, name, __memset_chk,
-	      IFUNC_IMPL_ADD (array, i, __memset_chk, 1, __memset_chk_sse2)
-	      IFUNC_IMPL_ADD (array, i, __memset_chk, 1,
-			      __memset_chk_x86_64))
-
-  /* Support sysdeps/x86_64/multiarch/memset.S.  */
-  IFUNC_IMPL (i, name, memset,
-	      IFUNC_IMPL_ADD (array, i, memset, 1, __memset_sse2)
-	      IFUNC_IMPL_ADD (array, i, memset, 1, __memset_x86_64))
 
   /* Support sysdeps/x86_64/multiarch/rawmemchr.S.  */
   IFUNC_IMPL (i, name, rawmemchr,

Modified: fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.c (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.c Tue Mar 12 00:02:07 2013
@@ -57,11 +57,6 @@
       kind = arch_kind_intel;
 
       get_common_indeces (&family, &model);
-
-      /* Intel processors prefer SSE instruction for memory/string
-	 routines if they are available.  */
-      __cpu_features.feature[index_Prefer_SSE_for_memop]
-	|= bit_Prefer_SSE_for_memop;
 
       unsigned int eax = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax;
       unsigned int extended_family = (eax >> 20) & 0xff;
@@ -125,12 +120,6 @@
 
       ecx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx;
 
-      /* AMD processors prefer SSE instructions for memory/string routines
-	 if they are available, otherwise they prefer integer instructions.  */
-      if ((ecx & 0x200))
-	__cpu_features.feature[index_Prefer_SSE_for_memop]
-	  |= bit_Prefer_SSE_for_memop;
-
       unsigned int eax;
       __cpuid (0x80000000, eax, ebx, ecx, edx);
       if (eax >= 0x80000001)

Modified: fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.h Tue Mar 12 00:02:07 2013
@@ -18,7 +18,6 @@
 #define bit_Fast_Rep_String		(1 << 0)
 #define bit_Fast_Copy_Backward		(1 << 1)
 #define bit_Slow_BSF			(1 << 2)
-#define bit_Prefer_SSE_for_memop	(1 << 3)
 #define bit_Fast_Unaligned_Load		(1 << 4)
 #define bit_Prefer_PMINUB_for_stringop	(1 << 5)
 #define bit_AVX_Usable			(1 << 6)
@@ -58,7 +57,6 @@
 # define index_Fast_Rep_String		FEATURE_INDEX_1*FEATURE_SIZE
 # define index_Fast_Copy_Backward	FEATURE_INDEX_1*FEATURE_SIZE
 # define index_Slow_BSF			FEATURE_INDEX_1*FEATURE_SIZE
-# define index_Prefer_SSE_for_memop	FEATURE_INDEX_1*FEATURE_SIZE
 # define index_Fast_Unaligned_Load	FEATURE_INDEX_1*FEATURE_SIZE
 # define index_Prefer_PMINUB_for_stringop FEATURE_INDEX_1*FEATURE_SIZE
 # define index_AVX_Usable		FEATURE_INDEX_1*FEATURE_SIZE
@@ -157,7 +155,6 @@
 # define index_Fast_Rep_String		FEATURE_INDEX_1
 # define index_Fast_Copy_Backward	FEATURE_INDEX_1
 # define index_Slow_BSF			FEATURE_INDEX_1
-# define index_Prefer_SSE_for_memop	FEATURE_INDEX_1
 # define index_Fast_Unaligned_Load	FEATURE_INDEX_1
 # define index_AVX_Usable		FEATURE_INDEX_1
 # define index_FMA_Usable		FEATURE_INDEX_1
@@ -169,7 +166,6 @@
 # define HAS_FAST_REP_STRING		HAS_ARCH_FEATURE (Fast_Rep_String)
 # define HAS_FAST_COPY_BACKWARD		HAS_ARCH_FEATURE (Fast_Copy_Backward)
 # define HAS_SLOW_BSF			HAS_ARCH_FEATURE (Slow_BSF)
-# define HAS_PREFER_SSE_FOR_MEMOP	HAS_ARCH_FEATURE (Prefer_SSE_for_memop)
 # define HAS_FAST_UNALIGNED_LOAD	HAS_ARCH_FEATURE (Fast_Unaligned_Load)
 # define HAS_AVX			HAS_ARCH_FEATURE (AVX_Usable)
 # define HAS_FMA			HAS_ARCH_FEATURE (FMA_Usable)

Removed: fsf/trunk/libc/sysdeps/x86_64/multiarch/memset-x86-64.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/memset-x86-64.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/memset-x86-64.S (removed)
@@ -1,19 +1,0 @@
-#include <sysdep.h>
-
-#ifndef NOT_IN_libc
-# undef ENTRY_CHK
-# define ENTRY_CHK(name) \
-	.type __memset_chk_x86_64, @function; \
-	.globl __memset_chk_x86_64; \
-	.p2align 4; \
-	__memset_chk_x86_64: cfi_startproc; \
-	CALL_MCOUNT
-# undef END_CHK
-# define END_CHK(name) \
-	cfi_endproc; .size __memset_chk_x86_64, .-__memset_chk_x86_64
-
-# undef libc_hidden_builtin_def
-# define libc_hidden_builtin_def(name)
-# define memset __memset_x86_64
-# include "../memset.S"
-#endif

Removed: fsf/trunk/libc/sysdeps/x86_64/multiarch/memset.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/memset.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/memset.S (removed)
@@ -1,79 +1,0 @@
-/* Multiple versions of memset
-   All versions must be listed in ifunc-impl-list.c.
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
-   This file is part of the GNU C 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/>.  */
-
-#include <sysdep.h>
-#include <init-arch.h>
-
-/* Define multiple versions only for the definition in lib.  */
-#ifndef NOT_IN_libc
-ENTRY(memset)
-	.type	memset, @gnu_indirect_function
-	cmpl	$0, __cpu_features+KIND_OFFSET(%rip)
-	jne	1f
-	call	__init_cpu_features
-1:	leaq	__memset_x86_64(%rip), %rax
-	testl	$bit_Prefer_SSE_for_memop, __cpu_features+FEATURE_OFFSET+index_Prefer_SSE_for_memop(%rip)
-	jz	2f
-	leaq	__memset_sse2(%rip), %rax
-2:	ret
-END(memset)
-
-/* Define internal IFUNC memset for bzero.  */
-	.globl __libc_memset
-	.hidden __libc_memset
-	__libc_memset = memset
-
-# define USE_SSE2 1
-
-# undef ENTRY
-# define ENTRY(name) \
-	.type __memset_sse2, @function; \
-	.globl __memset_sse2; \
-	.p2align 4; \
-	__memset_sse2: cfi_startproc; \
-	CALL_MCOUNT
-# undef END
-# define END(name) \
-	cfi_endproc; .size __memset_sse2, .-__memset_sse2
-
-# undef ENTRY_CHK
-# define ENTRY_CHK(name) \
-	.type __memset_chk_sse2, @function; \
-	.globl __memset_chk_sse2; \
-	.p2align 4; \
-	__memset_chk_sse2: cfi_startproc; \
-	CALL_MCOUNT
-# undef END_CHK
-# define END_CHK(name) \
-	cfi_endproc; .size __memset_chk_sse2, .-__memset_chk_sse2
-
-# ifdef SHARED
-#  undef libc_hidden_builtin_def
-/* It doesn't make sense to send libc-internal memset calls through a PLT.
-   The speedup we get from using GPR instruction is likely eaten away
-   by the indirect call in the PLT.  */
-#  define libc_hidden_builtin_def(name) \
-	.globl __GI_memset; __GI_memset = __memset_sse2
-# endif
-
-# undef strong_alias
-# define strong_alias(original, alias)
-#endif
-
-#include "../memset.S"

Removed: fsf/trunk/libc/sysdeps/x86_64/multiarch/memset_chk.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/memset_chk.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/memset_chk.S (removed)
@@ -1,44 +1,0 @@
-/* Multiple versions of __memset_chk
-   All versions must be listed in ifunc-impl-list.c.
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
-   This file is part of the GNU C 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/>.  */
-
-#include <sysdep.h>
-#include <init-arch.h>
-
-/* Define multiple versions only for the definition in lib.  */
-#ifndef NOT_IN_libc
-# ifdef SHARED
-ENTRY(__memset_chk)
-	.type	__memset_chk, @gnu_indirect_function
-	cmpl	$0, __cpu_features+KIND_OFFSET(%rip)
-	jne	1f
-	call	__init_cpu_features
-1:	leaq	__memset_chk_x86_64(%rip), %rax
-	testl	$bit_Prefer_SSE_for_memop, __cpu_features+FEATURE_OFFSET+index_Prefer_SSE_for_memop(%rip)
-	jz	2f
-	leaq	__memset_chk_sse2(%rip), %rax
-2:	ret
-END(__memset_chk)
-
-strong_alias (__memset_chk, __memset_zero_constant_len_parameter)
-	.section .gnu.warning.__memset_zero_constant_len_parameter
-	.string "memset used with constant zero length parameter; this could be due to transposed parameters"
-# else
-#  include "../memset_chk.S"
-# endif
-#endif

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits