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

[Commits] r16585 - in /fsf/trunk/ports: ./ sysdeps/alpha/ sysdeps/arm/ sysdeps/arm/bits/ sysdeps/arm/fpu/ sysdeps/mips/ sysdeps/mips/n...



Author: eglibc
Date: Sun Jan  8 00:02:28 2012
New Revision: 16585

Log:
Import glibc-ports-mainline for 2012-01-08

Added:
    fsf/trunk/ports/sysdeps/mips/nptl/shlib-versions
Removed:
    fsf/trunk/ports/sysdeps/arm/__longjmp.S
    fsf/trunk/ports/sysdeps/arm/bits/atomic.h
    fsf/trunk/ports/sysdeps/arm/bits/huge_val.h
    fsf/trunk/ports/sysdeps/arm/bits/setjmp.h
    fsf/trunk/ports/sysdeps/arm/fpu/
    fsf/trunk/ports/sysdeps/arm/jmpbuf-offsets.h
    fsf/trunk/ports/sysdeps/arm/machine-gmon.h
    fsf/trunk/ports/sysdeps/arm/setjmp.S
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/check_pf.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/eabi/check_pf.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/mmap64.S
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/msgctl.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/Makefile
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind.h
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/semctl.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/shmctl.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/sigrestorer.S
Modified:
    fsf/trunk/ports/ChangeLog.alpha
    fsf/trunk/ports/ChangeLog.arm
    fsf/trunk/ports/ChangeLog.m68k
    fsf/trunk/ports/ChangeLog.mips
    fsf/trunk/ports/ChangeLog.tile
    fsf/trunk/ports/sysdeps/alpha/backtrace.c
    fsf/trunk/ports/sysdeps/arm/preconfigure
    fsf/trunk/ports/sysdeps/mips/backtrace.c
    fsf/trunk/ports/sysdeps/tile/backtrace.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/wordexp.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/eabi/Makefile
    fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure
    fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure.in

Modified: fsf/trunk/ports/ChangeLog.alpha
==============================================================================
--- fsf/trunk/ports/ChangeLog.alpha (original)
+++ fsf/trunk/ports/ChangeLog.alpha Sun Jan  8 00:02:28 2012
@@ -1,3 +1,9 @@
+2012-01-07  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/alpha/backtrace.c: Use x86_64 version of backtrace.c.
+	* sysdeps/unix/sysv/linux/alpha/wordexp.c: Use sparc64 version of
+	wordexp.c.
+
 2011-10-05  Andreas Schwab  <schwab@xxxxxxxxxx>
 
 	* sysdeps/alpha/dl-machine.h (elf_machine_rela)

Modified: fsf/trunk/ports/ChangeLog.arm
==============================================================================
--- fsf/trunk/ports/ChangeLog.arm (original)
+++ fsf/trunk/ports/ChangeLog.arm Sun Jan  8 00:02:28 2012
@@ -1,3 +1,47 @@
+2012-01-07  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/arm/preconfigure: Give error for old-ABI ARM.
+	* sysdeps/unix/sysv/linux/arm/eabi/Makefile (arm-using-eabi):
+	Don't define.
+	* sysdeps/arm/__longjmp.S: Remove.
+	* sysdeps/arm/bits/atomic.h: Remove.
+	* sysdeps/arm/bits/huge_val.h: Remove.
+	* sysdeps/arm/bits/setjmp.h: Remove.
+	* sysdeps/arm/fpu/__longjmp.S: Remove.
+	* sysdeps/arm/fpu/bits/fenv.h: Remove.
+	* sysdeps/arm/fpu/bits/setjmp.h: Remove.
+	* sysdeps/arm/fpu/fclrexcpt.c: Remove.
+	* sysdeps/arm/fpu/fedisblxcpt.c: Remove.
+	* sysdeps/arm/fpu/feenablxcpt.c: Remove.
+	* sysdeps/arm/fpu/fegetenv.c: Remove.
+	* sysdeps/arm/fpu/fegetexcept.c: Remove.
+	* sysdeps/arm/fpu/fegetround.c: Remove.
+	* sysdeps/arm/fpu/feholdexcpt.c: Remove.
+	* sysdeps/arm/fpu/fesetenv.c: Remove.
+	* sysdeps/arm/fpu/fesetround.c: Remove.
+	* sysdeps/arm/fpu/fpu_control.h: Remove.
+	* sysdeps/arm/fpu/fraiseexcpt.c: Remove.
+	* sysdeps/arm/fpu/fsetexcptflg.c: Remove.
+	* sysdeps/arm/fpu/ftestexcept.c: Remove.
+	* sysdeps/arm/fpu/jmpbuf-offsets.h: Remove.
+	* sysdeps/arm/fpu/setjmp.S: Remove.
+	* sysdeps/arm/jmpbuf-offsets.h: Remove.
+	* sysdeps/arm/machine-gmon.h: Remove.
+	* sysdeps/arm/setjmp.S: Remove.
+	* sysdeps/unix/sysv/linux/arm/____longjmp_chk.S: Remove.
+	* sysdeps/unix/sysv/linux/arm/check_pf.c: Remove.
+	* sysdeps/unix/sysv/linux/arm/eabi/check_pf.c: Remove.
+	* sysdeps/unix/sysv/linux/arm/mmap64.S: Remove.
+	* sysdeps/unix/sysv/linux/arm/msgctl.c: Remove.
+	* sysdeps/unix/sysv/linux/arm/nptl/Makefile: Remove.
+	* sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h: Remove.
+	* sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c: Remove.
+	* sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c: Remove.
+	* sysdeps/unix/sysv/linux/arm/nptl/unwind.h: Remove.
+	* sysdeps/unix/sysv/linux/arm/semctl.c: Remove.
+	* sysdeps/unix/sysv/linux/arm/shmctl.c: Remove.
+	* sysdeps/unix/sysv/linux/arm/sigrestorer.S: Remove.
+
 2012-01-05  Nathan Sidwell  <nathan@xxxxxxxxxxxxxxxx>
 	    Tom de Vries  <tom@xxxxxxxxxxxxxxxx>
 

Modified: fsf/trunk/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/ports/ChangeLog.m68k (original)
+++ fsf/trunk/ports/ChangeLog.m68k Sun Jan  8 00:02:28 2012
@@ -1,3 +1,9 @@
+2012-01-07  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/m68k/configure.in: Set
+	arch_minimum_kernel, libc_cv_gcc_unwind_find_fde and
+	ldd_rewrite_script.
+
 2012-01-05  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
 
 	* sysdeps/m68k/dl-trampoline.S: Add cfi directives.

Modified: fsf/trunk/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/ports/ChangeLog.mips (original)
+++ fsf/trunk/ports/ChangeLog.mips Sun Jan  8 00:02:28 2012
@@ -1,3 +1,11 @@
+2012-01-07  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/mips/nptl/shlib-versions: New.
+
+2012-01-07  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/mips/backtrace.c: Use x86_64 version of backtrace.c.
+
 2012-01-04  Tom de Vries  <tom@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/mips/Makefile: Compile initfini.c, pt-initfini.c with

Modified: fsf/trunk/ports/ChangeLog.tile
==============================================================================
--- fsf/trunk/ports/ChangeLog.tile (original)
+++ fsf/trunk/ports/ChangeLog.tile Sun Jan  8 00:02:28 2012
@@ -1,3 +1,7 @@
+2012-01-07  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/tile/backtrace.c: Use x86_64 version of backtrace.c.
+
 2011-12-03  Chris Metcalf  <cmetcalf@xxxxxxxxxx>
 
 	* data/c++-types-tile-linux-gnu.data: New file.

Modified: fsf/trunk/ports/sysdeps/alpha/backtrace.c
==============================================================================
--- fsf/trunk/ports/sysdeps/alpha/backtrace.c (original)
+++ fsf/trunk/ports/sysdeps/alpha/backtrace.c Sun Jan  8 00:02:28 2012
@@ -1,1 +1,1 @@
-#include <sysdeps/ia64/backtrace.c>
+#include <sysdeps/x86_64/backtrace.c>

Removed: fsf/trunk/ports/sysdeps/arm/__longjmp.S
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/__longjmp.S (original)
+++ fsf/trunk/ports/sysdeps/arm/__longjmp.S (removed)
@@ -1,37 +1,0 @@
-/* longjmp for ARM.
-   Copyright (C) 1997, 1998, 2009 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#define _SETJMP_H
-#define _ASM
-#include <bits/setjmp.h>
-
-/* __longjmp(jmpbuf, val) */
-
-ENTRY (__longjmp)
-	mov	ip, r0
-	movs	r0, r1		/* get the return value in place */
-	moveq	r0, #1		/* can't let setjmp() return zero! */
-
-#ifdef CHECK_SP
-	ldr	r4, [ip, #32]
-	CHECK_SP (r4)
-#endif
-	LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc})
-END (__longjmp)

Removed: fsf/trunk/ports/sysdeps/arm/bits/atomic.h
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/bits/atomic.h (original)
+++ fsf/trunk/ports/sysdeps/arm/bits/atomic.h (removed)
@@ -1,101 +1,0 @@
-/* Copyright (C) 2002, 2003, 2004, 2005 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <stdint.h>
-#include <sysdep.h>
-
-
-typedef int8_t atomic8_t;
-typedef uint8_t uatomic8_t;
-typedef int_fast8_t atomic_fast8_t;
-typedef uint_fast8_t uatomic_fast8_t;
-
-typedef int32_t atomic32_t;
-typedef uint32_t uatomic32_t;
-typedef int_fast32_t atomic_fast32_t;
-typedef uint_fast32_t uatomic_fast32_t;
-
-typedef intptr_t atomicptr_t;
-typedef uintptr_t uatomicptr_t;
-typedef intmax_t atomic_max_t;
-typedef uintmax_t uatomic_max_t;
-
-void __arm_link_error (void);
-
-#define atomic_exchange_acq(mem, newvalue)				      \
-  ({ __typeof (*mem) result;						      \
-     if (sizeof (*mem) == 1)						      \
-       __asm__ __volatile__ ("swpb %0, %1, [%2]"			      \
-			     : "=&r,&r" (result)			      \
-			     : "r,0" (newvalue), "r,r" (mem) : "memory");     \
-     else if (sizeof (*mem) == 4)					      \
-       __asm__ __volatile__ ("swp %0, %1, [%2]"				      \
-			     : "=&r,&r" (result)			      \
-			     : "r,0" (newvalue), "r,r" (mem) : "memory");     \
-     else								      \
-       {								      \
-	 result = 0;							      \
-	 abort ();							      \
-       }								      \
-     result; })
-
-/* Atomic compare and exchange.  These sequences are not actually atomic;
-   there is a race if *MEM != OLDVAL and we are preempted between the two
-   swaps.  However, they are very close to atomic, and are the best that a
-   pre-ARMv6 implementation can do without operating system support.
-   LinuxThreads has been using these sequences for many years.  */
-
-#define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
-  ({ __typeof (oldval) result, tmp;					      \
-     __asm__ ("\n"							      \
-	      "0:\tldr\t%1,[%2]\n\t"					      \
-	      "cmp\t%1,%4\n\t"						      \
-	      "movne\t%0,%1\n\t"					      \
-	      "bne\t1f\n\t"						      \
-	      "swpb\t%0,%3,[%2]\n\t"					      \
-	      "cmp\t%1,%0\n\t"						      \
-	      "swpbne\t%1,%0,[%2]\n\t"					      \
-	      "bne\t0b\n\t"						      \
-	      "1:"							      \
-	      : "=&r" (result), "=&r" (tmp)				      \
-	      : "r" (mem), "r" (newval), "r" (oldval)			      \
-	      : "cc", "memory");					      \
-     result; })
-
-#define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
-  ({ __arm_link_error (); oldval; })
-
-#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
-  ({ __typeof (oldval) result, tmp;					      \
-     __asm__ ("\n"							      \
-	      "0:\tldr\t%1,[%2]\n\t"					      \
-	      "cmp\t%1,%4\n\t"						      \
-	      "movne\t%0,%1\n\t"					      \
-	      "bne\t1f\n\t"						      \
-	      "swp\t%0,%3,[%2]\n\t"					      \
-	      "cmp\t%1,%0\n\t"						      \
-	      "swpne\t%1,%0,[%2]\n\t"					      \
-	      "bne\t0b\n\t"						      \
-	      "1:"							      \
-	      : "=&r" (result), "=&r" (tmp)				      \
-	      : "r" (mem), "r" (newval), "r" (oldval)			      \
-	      : "cc", "memory");					      \
-     result; })
-
-#define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
-  ({ __arm_link_error (); oldval; })

Removed: fsf/trunk/ports/sysdeps/arm/bits/huge_val.h
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/bits/huge_val.h (original)
+++ fsf/trunk/ports/sysdeps/arm/bits/huge_val.h (removed)
@@ -1,56 +1,0 @@
-/* `HUGE_VAL' constant for IEEE 754 machines (where it is infinity).
-   Used by <stdlib.h> and <math.h> functions for overflow.
-   ARM version.
-   Copyright (C) 1992, 95, 96, 97, 98, 99, 2000, 2004
-   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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _MATH_H
-# error "Never use <bits/huge_val.h> directly; include <math.h> instead."
-#endif
-
-/* IEEE positive infinity (-HUGE_VAL is negative infinity).  */
-
-#if __GNUC_PREREQ(3,3)
-# define HUGE_VAL  (__builtin_huge_val())
-#elif __GNUC_PREREQ(2,96)
-# define HUGE_VAL (__extension__ 0x1.0p2047)
-#elif defined __GNUC__
-
-# define HUGE_VAL \
-  (__extension__							      \
-   ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; })   \
-    { __l: 0x000000007ff00000ULL }).__d)
-
-#else /* not GCC */
-
-# include <endian.h>
-
-typedef union { unsigned char __c[8]; double __d; } __huge_val_t;
-
-# if __BYTE_ORDER == __BIG_ENDIAN
-#  define __HUGE_VAL_bytes	{ 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }
-# endif
-# if __BYTE_ORDER == __LITTLE_ENDIAN
-#  define __HUGE_VAL_bytes	{ 0, 0, 0xf0, 0x7f, 0, 0, 0, 0 }
-# endif
-
-static __huge_val_t __huge_val = { __HUGE_VAL_bytes };
-# define HUGE_VAL	(__huge_val.__d)
-
-#endif	/* GCC.  */

Removed: fsf/trunk/ports/sysdeps/arm/bits/setjmp.h
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/bits/setjmp.h (original)
+++ fsf/trunk/ports/sysdeps/arm/bits/setjmp.h (removed)
@@ -1,34 +1,0 @@
-/* Copyright (C) 1997,1998,2005,2006 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Define the machine-dependent type `jmp_buf'.  ARM version. */
-
-#ifndef _BITS_SETJMP_H
-#define _BITS_SETJMP_H 1
-
-#if !defined _SETJMP_H && !defined _PTHREAD_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-#ifndef _ASM
-/* Jump buffer contains v1-v6, sl, fp, sp and pc.  Other registers are not
-   saved.  */
-typedef int __jmp_buf[10];
-#endif
-
-#endif

Removed: fsf/trunk/ports/sysdeps/arm/jmpbuf-offsets.h
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/jmpbuf-offsets.h (original)
+++ fsf/trunk/ports/sysdeps/arm/jmpbuf-offsets.h (removed)
@@ -1,20 +1,0 @@
-/* Private macros for accessing __jmp_buf contents.  ARM version.
-   Copyright (C) 2006 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __JMP_BUF_SP		8

Removed: fsf/trunk/ports/sysdeps/arm/machine-gmon.h
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/machine-gmon.h (original)
+++ fsf/trunk/ports/sysdeps/arm/machine-gmon.h (removed)
@@ -1,90 +1,0 @@
-/* Machine-dependent definitions for profiling support.  ARM version.
-   Copyright (C) 1996, 1997, 1998 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* GCC for the ARM cannot compile __builtin_return_address(N) for N != 0, 
-   so we must use an assembly stub.  */
-
-#include <sysdep.h>
-#ifndef NO_UNDERSCORES
-/* The asm symbols for C functions are `_function'.
-   The canonical name for the counter function is `mcount', no _.  */
-void _mcount (void) asm ("mcount");
-#else
-/* The canonical name for the function is `_mcount' in both C and asm,
-   but some old asm code might assume it's `mcount'.  */
-void _mcount (void);
-weak_alias (_mcount, mcount)
-#endif
-
-static void mcount_internal (u_long frompc, u_long selfpc) __attribute_used__;
-
-#define _MCOUNT_DECL(frompc, selfpc) \
-static void mcount_internal (u_long frompc, u_long selfpc)
-
-/* This macro/func MUST save r0, r1 because the compiler inserts
-	blind calls to _mount(), ignoring the fact that _mcount may
-	clobber registers; therefore, _mcount may NOT clobber registers */
-/* if (this_fp!=0) {
-	r0 = this_fp
-	r1 = this_lr
-  	r1 = [r1-4] which is caller's lr 
-	if (r1!=0) 
-		r1 = caller's lr
-	call mcount_internal(this_lr, caller's_lr)
-   }
-*/
-
-#ifdef __thumb2__
-
-#define MCOUNT								\
-void _mcount (void)							\
-{									\
-  __asm__("push		{r0, r1, r2, r3};"				\
-	  "movs		fp, fp;"				      	\
-	  "it		eq;"						\
-          "moveq	r1, #0;"					\
-	  "itttt	ne;"						\
-	  "ldrne	r1, [fp, $-4];"					\
-	  "ldrne	r0, [fp, $-12];"				\
-	  "movnes	r0, r0;"					\
-	  "ldrne	r0, [r0, $-4];"					\
-	  "movs		r0, r0;"					\
-	  "it		ne;"						\
-	  "blne		mcount_internal;"				\
-	  "pop		{r0, r1, r2, r3}");				\
-}
-
-#else
-
-#define MCOUNT								\
-void _mcount (void)							\
-{									\
-  __asm__("stmdb	sp!, {r0, r1, r2, r3};"				\
-	  "movs		fp, fp;"				      	\
-          "moveq	r1, #0;"					\
-	  "ldrne	r1, [fp, $-4];"					\
-	  "ldrne	r0, [fp, $-12];"				\
-	  "movnes	r0, r0;"					\
-	  "ldrne	r0, [r0, $-4];"					\
-	  "movs		r0, r0;"					\
-	  "blne		mcount_internal;"				\
-	  "ldmia	sp!, {r0, r1, r2, r3}");			\
-}
-
-#endif

Modified: fsf/trunk/ports/sysdeps/arm/preconfigure
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/preconfigure (original)
+++ fsf/trunk/ports/sysdeps/arm/preconfigure Sun Jan  8 00:02:28 2012
@@ -42,7 +42,8 @@
 		CFLAGS="$CFLAGS -fno-unwind-tables"
 		;;
 	*)
-		machine=arm/$machine
+		echo "Old ABI no longer supported" 2>&1
+		exit 1
 		;;
 	esac
 	;;

Removed: fsf/trunk/ports/sysdeps/arm/setjmp.S
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/setjmp.S (original)
+++ fsf/trunk/ports/sysdeps/arm/setjmp.S (removed)
@@ -1,33 +1,0 @@
-/* setjmp for ARM.
-   Copyright (C) 1997, 1998, 2008 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#define _SETJMP_H
-#define _ASM
-#include <bits/setjmp.h>
-
-ENTRY (__sigsetjmp)
-	/* Save registers */
-	stmia	r0, {v1-v6, sl, fp, sp, lr}
-
-	/* Make a tail call to __sigjmp_save; it takes the same args.  */
-	B	PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
-END (__sigsetjmp)
-
-hidden_def (__sigsetjmp)

Modified: fsf/trunk/ports/sysdeps/mips/backtrace.c
==============================================================================
--- fsf/trunk/ports/sysdeps/mips/backtrace.c (original)
+++ fsf/trunk/ports/sysdeps/mips/backtrace.c Sun Jan  8 00:02:28 2012
@@ -1,1 +1,1 @@
-#include <sysdeps/ia64/backtrace.c>
+#include <sysdeps/x86_64/backtrace.c>

Added: fsf/trunk/ports/sysdeps/mips/nptl/shlib-versions
==============================================================================
--- fsf/trunk/ports/sysdeps/mips/nptl/shlib-versions (added)
+++ fsf/trunk/ports/sysdeps/mips/nptl/shlib-versions Sun Jan  8 00:02:28 2012
@@ -1,0 +1,1 @@
+mips.*-.*-linux.*	libpthread=0		GLIBC_2.0 GLIBC_2.2

Modified: fsf/trunk/ports/sysdeps/tile/backtrace.c
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/backtrace.c (original)
+++ fsf/trunk/ports/sysdeps/tile/backtrace.c Sun Jan  8 00:02:28 2012
@@ -1,1 +1,1 @@
-#include <sysdeps/ia64/backtrace.c>
+#include <sysdeps/x86_64/backtrace.c>

Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/wordexp.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/wordexp.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/wordexp.c Sun Jan  8 00:02:28 2012
@@ -1,1 +1,1 @@
-#include <sysdeps/unix/sysv/linux/ia64/wordexp.c>
+#include <sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c>

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S (removed)
@@ -1,75 +1,0 @@
-/* Copyright (C) 2009 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-	.section .rodata.str1.1,"aMS",%progbits,1
-	.type	longjmp_msg,%object
-longjmp_msg:
-	.string "longjmp causes uninitialized stack frame"
-	.size	longjmp_msg, .-longjmp_msg
-	.text
-
-#define __longjmp ____longjmp_chk
-
-#ifdef PIC
-# define CALL_FAIL						\
-	ldr	sl, .L_GOT;					\
-.L_GOT_OFF:							\
-	add	sl, pc, sl;					\
-	ldr	r0, .Lstr;					\
-	add	r0, sl, r0;					\
-	B	PLTJMP(HIDDEN_JUMPTARGET(__fortify_fail));	\
-.L_GOT:								\
-	.word	_GLOBAL_OFFSET_TABLE_-(.L_GOT_OFF+8);		\
-.Lstr:								\
-	.word	longjmp_msg(GOTOFF);
-#else
-# define CALL_FAIL					\
-	ldr	r0, .Lstr;				\
-	B	HIDDEN_JUMPTARGET(__fortify_fail);	\
-.Lstr:							\
-	.word	longjmp_msg;
-#endif
-
-#define CHECK_SP(reg)				\
-	cmp	sp, reg;			\
-	bls	.Lok;				\
-	mov	r5, r0;				\
-	mov	r0, #0;				\
-	sub	sp, sp, #16;			\
-	mov	r1, sp;				\
-	swi	#SYS_ify(sigaltstack);		\
-	cmp	r0, #0;				\
-	bne	.Lok2;				\
-	ldr	r1, [sp, #4];			\
-	tst	r1, #1;				\
-	beq	.Lfail;				\
-	ldr	r2, [sp, #0];			\
-	ldr	r3, [sp, #8];			\
-	add	r2, r2, r3;			\
-	sub	r2, r2, reg;			\
-	cmp	r2, r3;				\
-	bhi	.Lok2;				\
-.Lfail:						\
-	CALL_FAIL				\
-.Lok2:						\
-	mov	r0, r5;				\
-.Lok:
-
-#include <__longjmp.S>

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/check_pf.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/check_pf.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/check_pf.c (removed)
@@ -1,312 +1,0 @@
-/* Determine protocol families for which interfaces exist.  Linux version.
-   Copyright (C) 2003, 2006, 2007, 2008 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <assert.h>
-#include <errno.h>
-#include <ifaddrs.h>
-#include <netdb.h>
-#include <stddef.h>
-#include <string.h>
-#include <time.h>
-#include <unistd.h>
-#include <sys/socket.h>
-
-#include <asm/types.h>
-#include <linux/netlink.h>
-#include <linux/rtnetlink.h>
-
-#include <not-cancel.h>
-#include <kernel-features.h>
-
-
-#ifndef IFA_F_HOMEADDRESS
-# define IFA_F_HOMEADDRESS 0
-#endif
-#ifndef IFA_F_OPTIMISTIC
-# define IFA_F_OPTIMISTIC 0
-#endif
-
-
-static int
-make_request (int fd, pid_t pid, bool *seen_ipv4, bool *seen_ipv6,
-	      struct in6addrinfo **in6ai, size_t *in6ailen)
-{
-  struct req
-  {
-    struct nlmsghdr nlh;
-    struct rtgenmsg g;
-  } req;
-  struct sockaddr_nl nladdr;
-
-  /* struct rtgenmsg consists of a single byte but the ARM ABI rounds
-     it up to a word.  Clear the padding explicitly here.  */
-  assert (sizeof (req.g) == 4);
-  memset (&req.g, '\0', sizeof (req.g));
-
-  req.nlh.nlmsg_len = sizeof (req);
-  req.nlh.nlmsg_type = RTM_GETADDR;
-  req.nlh.nlmsg_flags = NLM_F_ROOT | NLM_F_MATCH | NLM_F_REQUEST;
-  req.nlh.nlmsg_pid = 0;
-  req.nlh.nlmsg_seq = time (NULL);
-  req.g.rtgen_family = AF_UNSPEC;
-
-  memset (&nladdr, '\0', sizeof (nladdr));
-  nladdr.nl_family = AF_NETLINK;
-
-#ifdef PAGE_SIZE
-  /* Help the compiler optimize out the malloc call if PAGE_SIZE
-     is constant and smaller or equal to PTHREAD_STACK_MIN/4.  */
-  const size_t buf_size = PAGE_SIZE;
-#else
-  const size_t buf_size = __getpagesize ();
-#endif
-  bool use_malloc = false;
-  char *buf;
-
-  if (__libc_use_alloca (buf_size))
-    buf = alloca (buf_size);
-  else
-    {
-      buf = malloc (buf_size);
-      if (buf != NULL)
-	use_malloc = true;
-      else
-	goto out_fail;
-    }
-
-  struct iovec iov = { buf, buf_size };
-
-  if (TEMP_FAILURE_RETRY (__sendto (fd, (void *) &req, sizeof (req), 0,
-				    (struct sockaddr *) &nladdr,
-				    sizeof (nladdr))) < 0)
-    goto out_fail;
-
-  *seen_ipv4 = false;
-  *seen_ipv6 = false;
-
-  bool done = false;
-  struct in6ailist
-  {
-    struct in6addrinfo info;
-    struct in6ailist *next;
-  } *in6ailist = NULL;
-  size_t in6ailistlen = 0;
-
-  do
-    {
-      struct msghdr msg =
-	{
-	  (void *) &nladdr, sizeof (nladdr),
-	  &iov, 1,
-	  NULL, 0,
-	  0
-	};
-
-      ssize_t read_len = TEMP_FAILURE_RETRY (__recvmsg (fd, &msg, 0));
-      if (read_len < 0)
-	goto out_fail;
-
-      if (msg.msg_flags & MSG_TRUNC)
-	goto out_fail;
-
-      struct nlmsghdr *nlmh;
-      for (nlmh = (struct nlmsghdr *) buf;
-	   NLMSG_OK (nlmh, (size_t) read_len);
-	   nlmh = (struct nlmsghdr *) NLMSG_NEXT (nlmh, read_len))
-	{
-	  if (nladdr.nl_pid != 0 || (pid_t) nlmh->nlmsg_pid != pid
-	      || nlmh->nlmsg_seq != req.nlh.nlmsg_seq)
-	    continue;
-
-	  if (nlmh->nlmsg_type == RTM_NEWADDR)
-	    {
-	      struct ifaddrmsg *ifam = (struct ifaddrmsg *) NLMSG_DATA (nlmh);
-	      struct rtattr *rta = IFA_RTA (ifam);
-	      size_t len = nlmh->nlmsg_len - NLMSG_LENGTH (sizeof (*ifam));
-
-	      if (ifam->ifa_family != AF_INET
-		  && ifam->ifa_family != AF_INET6)
-		continue;
-
-	      const void *local = NULL;
-	      const void *address = NULL;
-	      while (RTA_OK (rta, len))
-		{
-		  switch (rta->rta_type)
-		    {
-		    case IFA_LOCAL:
-		      local = RTA_DATA (rta);
-		      break;
-
-		    case IFA_ADDRESS:
-		      address = RTA_DATA (rta);
-		      goto out;
-		    }
-
-		  rta = RTA_NEXT (rta, len);
-		}
-
-	      if (local != NULL)
-		{
-		  address = local;
-		out:
-		  if (ifam->ifa_family == AF_INET)
-		    {
-		      if (*(const in_addr_t *) address
-			  != htonl (INADDR_LOOPBACK))
-			*seen_ipv4 = true;
-		    }
-		  else
-		    {
-		      if (!IN6_IS_ADDR_LOOPBACK (address))
-			*seen_ipv6 = true;
-		    }
-		}
-
-	      struct in6ailist *newp = alloca (sizeof (*newp));
-	      newp->info.flags = (((ifam->ifa_flags
-				    & (IFA_F_DEPRECATED
-				       | IFA_F_OPTIMISTIC))
-				   ? in6ai_deprecated : 0)
-				  | ((ifam->ifa_flags
-				      & IFA_F_HOMEADDRESS)
-				     ? in6ai_homeaddress : 0));
-	      newp->info.prefixlen = ifam->ifa_prefixlen;
-	      newp->info.index = ifam->ifa_index;
-	      if (ifam->ifa_family == AF_INET)
-		{
-		  newp->info.addr[0] = 0;
-		  newp->info.addr[1] = 0;
-		  newp->info.addr[2] = htonl (0xffff);
-		  newp->info.addr[3] = *(const in_addr_t *) address;
-		}
-	      else
-		memcpy (newp->info.addr, address, sizeof (newp->info.addr));
-	      newp->next = in6ailist;
-	      in6ailist = newp;
-	      ++in6ailistlen;
-	    }
-	  else if (nlmh->nlmsg_type == NLMSG_DONE)
-	    /* We found the end, leave the loop.  */
-	    done = true;
-	}
-    }
-  while (! done);
-
-  close_not_cancel_no_status (fd);
-
-  if (*seen_ipv6 && in6ailist != NULL)
-    {
-      *in6ai = malloc (in6ailistlen * sizeof (**in6ai));
-      if (*in6ai == NULL)
-	goto out_fail;
-
-      *in6ailen = in6ailistlen;
-
-      do
-	{
-	  (*in6ai)[--in6ailistlen] = in6ailist->info;
-	  in6ailist = in6ailist->next;
-	}
-      while (in6ailist != NULL);
-    }
-
-  if (use_malloc)
-    free (buf);
-  return 0;
-
-out_fail:
-  if (use_malloc)
-    free (buf);
-  return -1;
-}
-
-
-/* We don't know if we have NETLINK support compiled in in our
-   Kernel.  */
-#if __ASSUME_NETLINK_SUPPORT == 0
-/* Define in ifaddrs.h.  */
-extern int __no_netlink_support attribute_hidden;
-#else
-# define __no_netlink_support 0
-#endif
-
-
-void
-attribute_hidden
-__check_pf (bool *seen_ipv4, bool *seen_ipv6,
-	    struct in6addrinfo **in6ai, size_t *in6ailen)
-{
-  *in6ai = NULL;
-  *in6ailen = 0;
-
-  if (! __no_netlink_support)
-    {
-      int fd = __socket (PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
-
-      struct sockaddr_nl nladdr;
-      memset (&nladdr, '\0', sizeof (nladdr));
-      nladdr.nl_family = AF_NETLINK;
-
-      socklen_t addr_len = sizeof (nladdr);
-
-      if (fd >= 0
-	  && __bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) == 0
-	  && __getsockname (fd, (struct sockaddr *) &nladdr, &addr_len) == 0
-	  && make_request (fd, nladdr.nl_pid, seen_ipv4, seen_ipv6,
-			   in6ai, in6ailen) == 0)
-	/* It worked.  */
-	return;
-
-      if (fd >= 0)
-	__close (fd);
-
-#if __ASSUME_NETLINK_SUPPORT == 0
-      /* Remember that there is no netlink support.  */
-      __no_netlink_support = 1;
-#else
-      /* We cannot determine what interfaces are available.  Be
-	 pessimistic.  */
-      *seen_ipv4 = true;
-      *seen_ipv6 = true;
-#endif
-    }
-
-#if __ASSUME_NETLINK_SUPPORT == 0
-  /* No netlink.  Get the interface list via getifaddrs.  */
-  struct ifaddrs *ifa = NULL;
-  if (getifaddrs (&ifa) != 0)
-    {
-      /* We cannot determine what interfaces are available.  Be
-	 pessimistic.  */
-      *seen_ipv4 = true;
-      *seen_ipv6 = true;
-      return;
-    }
-
-  struct ifaddrs *runp;
-  for (runp = ifa; runp != NULL; runp = runp->ifa_next)
-    if (runp->ifa_addr->sa_family == PF_INET)
-      *seen_ipv4 = true;
-    else if (runp->ifa_addr->sa_family == PF_INET6)
-      *seen_ipv6 = true;
-
-  (void) freeifaddrs (ifa);
-#endif
-}

Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/eabi/Makefile
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/eabi/Makefile (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/eabi/Makefile Sun Jan  8 00:02:28 2012
@@ -1,6 +1,3 @@
-# Set this flag here so that arm/nptl/Makefile will see it.
-arm-using-eabi = yes
-
 ifeq ($(subdir),csu)
 # In order for unwinding to fail when it falls out of main, we need a
 # cantunwind marker.  There's one in start.S.  To make sure we reach it, add

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/eabi/check_pf.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/eabi/check_pf.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/eabi/check_pf.c (removed)
@@ -1,1 +1,0 @@
-#include <sysdeps/unix/sysv/linux/check_pf.c>

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/mmap64.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/mmap64.S (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/mmap64.S (removed)
@@ -1,89 +1,0 @@
-/* Copyright (C) 2000, 2003, 2005 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-#define	EINVAL		22
-#define	ENOSYS		38
-
-#include "kernel-features.h"
-
-#ifdef __ARMEB__
-# define LOW_OFFSET      4 + 4
-/* The initial + 4 is for the stack postdecrement.  */
-# define HIGH_OFFSET 4 + 4 + 0
-#else
-# define LOW_OFFSET      4 + 0
-# define HIGH_OFFSET 4 + 4 + 4
-#endif
-
-	/* The mmap2 system call takes six arguments, all in registers.  */
-	.text
-ENTRY (__mmap64)
-#ifdef __NR_mmap2
-	ldr	ip, [sp, $LOW_OFFSET]
-	str	r5, [sp, #-4]!   
-	ldr	r5, [sp, $HIGH_OFFSET]
-	str	r4, [sp, #-4]!   
-	movs	r4, ip, lsl $20		@ check that offset is page-aligned
-	mov	ip, ip, lsr $12
-	moveqs	r4, r5, lsr $12		@ check for overflow
-	bne	.Linval
-	ldr	r4, [sp, $8]		@ load fd
-	orr	r5, ip, r5, lsl $20	@ compose page offset
-	mov	ip, r0
-	DO_CALL (mmap2, 0)
-	cmn	r0, $4096
-# ifdef __ASSUME_MMAP2_SYSCALL
-	ldr	r4, [sp], #4
-	ldr	r5, [sp], #4
-	RETINSTR(cc, lr)	
-	b	PLTJMP(syscall_error)
-# else
-	ldrcc	r4, [sp], #4
-	ldrcc	r5, [sp], #4
-	RETINSTR(cc, lr)
-	cmn	r0, $ENOSYS
-	bne	.Lerror
-	/* The current kernel does not support mmap2.  Fall back to plain
-	   mmap if the offset is small enough.  */
-	ldr	r5, [sp, $16]
-	mov	r0, ip			@ first arg was clobbered
-	teq	r5, $0
-	ldreq	r4, [sp], #4
-	ldreq	r5, [sp], #4
-	beq	PLTJMP(__mmap)
-# endif
-.Linval:
-	mov	r0, $-EINVAL
-.Lerror:
-	ldr	r4, [sp], #4
-	ldr	r5, [sp], #4
-	b	PLTJMP(syscall_error)
-#else
-	/* The kernel headers do not support mmap2.  Fall back to plain
-	   mmap if the offset is small enough.  */
-	ldr	ip, [sp, $8]
-	teq	ip, $0
-	beq	PLTJMP(__mmap)
-	mov	r0, $-EINVAL
-	b	PLTJMP(syscall_error)
-#endif
-PSEUDO_END (__mmap64)
-
-weak_alias (__mmap64, mmap64)

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/msgctl.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/msgctl.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/msgctl.c (removed)
@@ -1,1 +1,0 @@
-#include <sysdeps/unix/sysv/linux/i386/msgctl.c>

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/Makefile
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/Makefile (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/Makefile (removed)
@@ -1,8 +1,0 @@
-ifeq ($(subdir),nptl)
-ifneq ($(arm-using-eabi),yes)
-# These tests rely on PTHREAD_KEYS_MAX.  The SJLJ exception machinery
-# in libgcc registers one key, however, so only PTHREAD_KEYS_MAX-1
-# keys are available.  This works fine for EABI targets.
-tests := $(filter-out tst-key1 tst-key4,$(tests))
-endif
-endif

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h (removed)
@@ -1,136 +1,0 @@
-/* Copyright (C) 2003, 2004, 2005, 2007, 2008, 2012
-   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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#include <tls.h>
-#ifndef __ASSEMBLER__
-# include <nptl/pthreadP.h>
-#endif
-
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
-
-# undef PSEUDO
-# define PSEUDO(name, syscall_name, args)				\
-  .section ".text";							\
-    PSEUDO_PROLOGUE;							\
-  ENTRY (__##syscall_name##_nocancel);					\
-    DO_CALL (syscall_name, args);					\
-    PSEUDO_RET;								\
-  END (__##syscall_name##_nocancel);					\
-  ENTRY (name);								\
-    SINGLE_THREAD_P;							\
-    DOARGS_##args;							\
-    bne .Lpseudo_cancel;						\
-    DO_CALL (syscall_name, 0);						\
-    UNDOARGS_##args;							\
-    cmn r0, $4096;							\
-    PSEUDO_RET;								\
-  .Lpseudo_cancel:							\
-    DOCARGS_##args;	/* save syscall args etc. around CENABLE.  */	\
-    CENABLE;								\
-    mov ip, r0;		/* put mask in safe place.  */			\
-    UNDOCARGS_##args;	/* restore syscall args.  */			\
-    swi SYS_ify (syscall_name);	/* do the call.  */			\
-    str r0, [sp, $-4]!; /* save syscall return value.  */		\
-    mov r0, ip;		/* get mask back.  */				\
-    CDISABLE;								\
-    ldmfd sp!, {r0, lr}; /* retrieve return value and address.  */	\
-    UNDOARGS_##args;							\
-    cmn r0, $4096;
-
-# define DOCARGS_0	str lr, [sp, #-4]!;
-# define UNDOCARGS_0
-
-# define DOCARGS_1	stmfd sp!, {r0, lr};
-# define UNDOCARGS_1	ldr r0, [sp], #4;
-
-# define DOCARGS_2	stmfd sp!, {r0, r1, lr};
-# define UNDOCARGS_2	ldmfd sp!, {r0, r1};
-
-# define DOCARGS_3	stmfd sp!, {r0, r1, r2, lr};
-# define UNDOCARGS_3	ldmfd sp!, {r0, r1, r2};
-
-# define DOCARGS_4	stmfd sp!, {r0, r1, r2, r3, lr};
-# define UNDOCARGS_4	ldmfd sp!, {r0, r1, r2, r3};
-
-# define DOCARGS_5	DOCARGS_4
-# define UNDOCARGS_5	UNDOCARGS_4
-
-# define DOCARGS_6	DOCARGS_5
-# define UNDOCARGS_6	UNDOCARGS_5
-
-# ifdef IS_IN_libpthread
-#  define CENABLE	bl PLTJMP(__pthread_enable_asynccancel)
-#  define CDISABLE	bl PLTJMP(__pthread_disable_asynccancel)
-#  define __local_multiple_threads __pthread_multiple_threads
-# elif !defined NOT_IN_libc
-#  define CENABLE	bl PLTJMP(__libc_enable_asynccancel)
-#  define CDISABLE	bl PLTJMP(__libc_disable_asynccancel)
-#  define __local_multiple_threads __libc_multiple_threads
-# elif defined IS_IN_librt
-#  define CENABLE	bl PLTJMP(__librt_enable_asynccancel)
-#  define CDISABLE	bl PLTJMP(__librt_disable_asynccancel)
-# else
-#  error Unsupported library
-# endif
-
-# if defined IS_IN_libpthread || !defined NOT_IN_libc
-#  ifndef __ASSEMBLER__
-extern int __local_multiple_threads attribute_hidden;
-#   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;
-#   define PSEUDO_PROLOGUE						\
-  1:  .word __local_multiple_threads - 2f - 8;
-#  endif
-# else
-/*  There is no __local_multiple_threads for librt, so use the TCB.  */
-#  ifndef __ASSEMBLER__
-#   define SINGLE_THREAD_P						\
-  __builtin_expect (THREAD_GETMEM (THREAD_SELF,				\
-				   header.multiple_threads) == 0, 1)
-#  else
-#   define PSEUDO_PROLOGUE
-#   define SINGLE_THREAD_P						\
-  stmfd	sp!, {r0, lr};							\
-  bl	__aeabi_read_tp;						\
-  ldr	ip, [r0, #MULTIPLE_THREADS_OFFSET];				\
-  ldmfd	sp!, {r0, lr};							\
-  teq	ip, #0
-#   define SINGLE_THREAD_P_PIC(x) SINGLE_THREAD_P
-#  endif
-# endif
-
-#elif !defined __ASSEMBLER__
-
-/* For rtld, et cetera.  */
-# define SINGLE_THREAD_P 1
-# define NO_CANCELLATION 1
-
-#endif
-
-#ifndef __ASSEMBLER__
-# define RTLD_SINGLE_THREAD_P \
-  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
-				   header.multiple_threads) == 0, 1)
-#endif

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c (removed)
@@ -1,146 +1,0 @@
-/* Copyright (C) 2003, 2009 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>.
-
-   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; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include <dlfcn.h>
-#include <stdio.h>
-#include <unwind.h>
-#include <pthreadP.h>
-
-static void *libgcc_s_handle;
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
-static _Unwind_Reason_Code (*libgcc_s_personality)
-  (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
-   struct _Unwind_Context *);
-static _Unwind_Reason_Code (*libgcc_s_forcedunwind)
-  (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
-static _Unwind_Word (*libgcc_s_getcfa) (struct _Unwind_Context *);
-static void (*libgcc_s_sjlj_register) (struct SjLj_Function_Context *);
-static void (*libgcc_s_sjlj_unregister) (struct SjLj_Function_Context *);
-
-void
-__attribute_noinline__
-pthread_cancel_init (void)
-{
-  void *resume, *personality, *forcedunwind, *getcfa;
-  void *handle;
-  void *sjlj_register, *sjlj_unregister;
-
-  if (__builtin_expect (libgcc_s_handle != NULL, 1))
-    {
-      /* Force gcc to reload all values.  */
-      asm volatile ("" ::: "memory");
-      return;
-    }
-
-  handle = __libc_dlopen ("libgcc_s.so.1");
-
-  if (handle == NULL
-      || (sjlj_register = __libc_dlsym (handle, "_Unwind_SjLj_Register")) == NULL
-      || (sjlj_unregister = __libc_dlsym (handle, "_Unwind_SjLj_Unregister")) == NULL
-      || (resume = __libc_dlsym (handle, "_Unwind_SjLj_Resume")) == NULL
-      || (personality = __libc_dlsym (handle, "__gcc_personality_sj0")) == NULL
-      || (forcedunwind = __libc_dlsym (handle, "_Unwind_SjLj_ForcedUnwind"))
-	 == NULL
-      || (getcfa = __libc_dlsym (handle, "_Unwind_GetCFA")) == NULL
-      )
-    __libc_fatal ("libgcc_s.so.1 must be installed for pthread_cancel to work\n");
-
-  libgcc_s_resume = resume;
-  libgcc_s_personality = personality;
-  libgcc_s_forcedunwind = forcedunwind;
-  libgcc_s_sjlj_register = sjlj_register;
-  libgcc_s_sjlj_unregister = sjlj_unregister;
-  libgcc_s_getcfa = getcfa;
-  /* Make sure libgcc_s_getcfa is written last.  Otherwise,
-     pthread_cancel_init might return early even when the pointer the
-     caller is interested in is not initialized yet.  */
-  atomic_write_barrier ();
-  libgcc_s_handle = handle;
-}
-
-void
-__libc_freeres_fn_section
-__unwind_freeres (void)
-{
-  void *handle = libgcc_s_handle;
-  if (handle != NULL)
-    {
-      libgcc_s_handle = NULL;
-      __libc_dlclose (handle);
-    }
-}
-
-void
-_Unwind_Resume (struct _Unwind_Exception *exc)
-{
-  if (__builtin_expect (libgcc_s_resume == NULL, 0))
-    pthread_cancel_init ();
-
-  libgcc_s_resume (exc);
-}
-
-_Unwind_Reason_Code
-__gcc_personality_v0 (int version, _Unwind_Action actions,
-		      _Unwind_Exception_Class exception_class,
-                      struct _Unwind_Exception *ue_header,
-                      struct _Unwind_Context *context)
-{
-  if (__builtin_expect (libgcc_s_personality == NULL, 0))
-    pthread_cancel_init ();
-
-  return libgcc_s_personality (version, actions, exception_class,
-			       ue_header, context);
-}
-
-_Unwind_Reason_Code
-_Unwind_ForcedUnwind (struct _Unwind_Exception *exc, _Unwind_Stop_Fn stop,
-		      void *stop_argument)
-{
-  if (__builtin_expect (libgcc_s_forcedunwind == NULL, 0))
-    pthread_cancel_init ();
-
-  return libgcc_s_forcedunwind (exc, stop, stop_argument);
-}
-
-_Unwind_Word
-_Unwind_GetCFA (struct _Unwind_Context *context)
-{
-  if (__builtin_expect (libgcc_s_getcfa == NULL, 0))
-    pthread_cancel_init ();
-
-  return libgcc_s_getcfa (context);
-}
-
-void
-_Unwind_SjLj_Register (struct SjLj_Function_Context *fc)
-{
-  if (__builtin_expect (libgcc_s_sjlj_register == NULL, 0))
-    pthread_cancel_init ();
-
-  libgcc_s_sjlj_register (fc);
-}
-
-void
-_Unwind_SjLj_Unregister (struct SjLj_Function_Context *fc)
-{
-  if (__builtin_expect (libgcc_s_sjlj_unregister == NULL, 0))
-    pthread_cancel_init ();
-
-  libgcc_s_sjlj_unregister (fc);
-}

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c (removed)
@@ -1,87 +1,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>.
-
-   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; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include <dlfcn.h>
-#include <stdio.h>
-#include <unwind.h>
-
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
-static _Unwind_Reason_Code (*libgcc_s_personality)
-  (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
-   struct _Unwind_Context *);
-static void (*libgcc_s_sjlj_register) (struct SjLj_Function_Context *);
-static void (*libgcc_s_sjlj_unregister) (struct SjLj_Function_Context *);
-
-static void
-init (void)
-{
-  void *resume, *personality;
-  void *handle;
-  void *sjlj_register, *sjlj_unregister;
-
-  handle = __libc_dlopen ("libgcc_s.so.1");
-
-  if (handle == NULL
-      || (sjlj_register = __libc_dlsym (handle, "_Unwind_SjLj_Register")) == NULL
-      || (sjlj_unregister = __libc_dlsym (handle, "_Unwind_SjLj_Unregister")) == NULL
-      || (resume = __libc_dlsym (handle, "_Unwind_SjLj_Resume")) == NULL
-      || (personality = __libc_dlsym (handle, "__gcc_personality_sj0")) == NULL)
-    __libc_fatal ("libgcc_s.so.1 must be installed for pthread_cancel to work\n");
-
-  libgcc_s_resume = resume;
-  libgcc_s_personality = personality;
-  libgcc_s_sjlj_register = sjlj_register;
-  libgcc_s_sjlj_unregister = sjlj_unregister;
-}
-
-void
-_Unwind_Resume (struct _Unwind_Exception *exc)
-{
-  if (__builtin_expect (libgcc_s_resume == NULL, 0))
-    init ();
-  libgcc_s_resume (exc);
-}
-
-_Unwind_Reason_Code
-__gcc_personality_v0 (int version, _Unwind_Action actions,
-		      _Unwind_Exception_Class exception_class,
-                      struct _Unwind_Exception *ue_header,
-                      struct _Unwind_Context *context)
-{
-  if (__builtin_expect (libgcc_s_personality == NULL, 0))
-    init ();
-  return libgcc_s_personality (version, actions, exception_class,
-			       ue_header, context);
-}
-
-void
-_Unwind_SjLj_Register (struct SjLj_Function_Context *fc)
-{
-  if (__builtin_expect (libgcc_s_sjlj_register == NULL, 0))
-    init ();
-  libgcc_s_sjlj_register (fc);
-}
-
-void
-_Unwind_SjLj_Unregister (struct SjLj_Function_Context *fc)
-{
-  if (__builtin_expect (libgcc_s_sjlj_unregister == NULL, 0))
-    init ();
-  libgcc_s_sjlj_unregister (fc);
-}

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind.h (removed)
@@ -1,31 +1,0 @@
-/* Exception handling and frame unwind runtime interface routines.
-   Copyright (C) 2005 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _ARM_UNWIND_H
-#define _ARM_UNWIND_H	1
-
-#include <sysdeps/generic/unwind.h>
-
-/* Call the SjLj versions of these functions.  */
-#define _Unwind_ForcedUnwind _Unwind_SjLj_ForcedUnwind
-#define _Unwind_Resume _Unwind_SjLj_Resume
-#define __gcc_personality_v0 __gcc_personality_sj0
-
-#endif	/* unwind.h */

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/semctl.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/semctl.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/semctl.c (removed)
@@ -1,1 +1,0 @@
-#include <sysdeps/unix/sysv/linux/i386/semctl.c>

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/shmctl.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/shmctl.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/shmctl.c (removed)
@@ -1,1 +1,0 @@
-#include <sysdeps/unix/sysv/linux/i386/shmctl.c>

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/sigrestorer.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/sigrestorer.S (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/sigrestorer.S (removed)
@@ -1,35 +1,0 @@
-/* Copyright (C) 1999, 2012 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-/* If no SA_RESTORER function was specified by the application we use
-   one of these.  This avoids the need for the kernel to synthesise a return
-   instruction on the stack, which would involve expensive cache flushes. */
-
-ENTRY(__default_sa_restorer)
-	swi	SYS_ify(sigreturn)
-END(__default_sa_restorer)
-
-#ifdef __NR_rt_sigreturn
-
-ENTRY(__default_rt_sa_restorer)
-	swi	SYS_ify(rt_sigreturn)
-END(__default_rt_sa_restorer)
-
-#endif

Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure Sun Jan  8 00:02:28 2012
@@ -3,4 +3,9 @@
 m68k/coldfire)
   arch_minimum_kernel=2.6.10
   ;;
+*)
+  arch_minimum_kernel=2.0.10
+  ;;
 esac
+libc_cv_gcc_unwind_find_fde=yes
+ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed

Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure.in
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure.in (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure.in Sun Jan  8 00:02:28 2012
@@ -4,4 +4,9 @@
 m68k/coldfire)
   arch_minimum_kernel=2.6.10
   ;;
+*)
+  arch_minimum_kernel=2.0.10
+  ;;
 esac
+libc_cv_gcc_unwind_find_fde=yes
+ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed

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