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

[commits] r1998 - in /trunk: libc/ libc/sysdeps/powerpc/fpu/bits/ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/ ports/ ports/sysdeps...



Author: joseph
Date: Mon Apr 16 12:26:16 2007
New Revision: 1998

Log:
libc:
	* sysdeps/powerpc/fpu/bits/fenvinline.h: Test _SOFT_FLOAT together
	with __NO_FPRS__.
	* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S:
	Use __GETCONTEXT_EXTRA instead of __CONTEXT_EXTRA.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S:
	Use __SETCONTEXT_EXTRA instead of __CONTEXT_EXTRA.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S:
	Use __GETCONTEXT_EXTRA and __SETCONTEXT_EXTRA instead of
	__CONTEXT_EXTRA.

ports:
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext-extra.S:
	Put contents in a gas macro.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext-extra.S:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext.S:
	Update.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext.S:
	Update.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/swapcontext.S:
	Update.

Modified:
    trunk/libc/ChangeLog.eglibc
    trunk/libc/sysdeps/powerpc/fpu/bits/fenvinline.h
    trunk/libc/sysdeps/powerpc/fpu/bits/mathinline.h
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
    trunk/ports/ChangeLog.eglibc
    trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext-extra.S
    trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext.S
    trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext-extra.S
    trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext.S
    trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/swapcontext.S

Modified: trunk/libc/ChangeLog.eglibc
==============================================================================
--- trunk/libc/ChangeLog.eglibc (original)
+++ trunk/libc/ChangeLog.eglibc Mon Apr 16 12:26:16 2007
@@ -1,3 +1,16 @@
+2007-04-16  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/fpu/bits/fenvinline.h: Test _SOFT_FLOAT together
+	with __NO_FPRS__.
+	* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S:
+	Use __GETCONTEXT_EXTRA instead of __CONTEXT_EXTRA.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S:
+	Use __SETCONTEXT_EXTRA instead of __CONTEXT_EXTRA.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S:
+	Use __GETCONTEXT_EXTRA and __SETCONTEXT_EXTRA instead of
+	__CONTEXT_EXTRA.
+
 2007-04-13  Jim Blandy  <jimb@xxxxxxxxxxxxxxxx>
 
 	* EGLIBC.option-groups: Doc fixes.

Modified: trunk/libc/sysdeps/powerpc/fpu/bits/fenvinline.h
==============================================================================
--- trunk/libc/sysdeps/powerpc/fpu/bits/fenvinline.h (original)
+++ trunk/libc/sysdeps/powerpc/fpu/bits/fenvinline.h Mon Apr 16 12:26:16 2007
@@ -18,7 +18,8 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-#if defined __GNUC__ && !defined __NO_FPRS__ && !defined __NO_MATH_INLINES
+#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__ \
+  && !defined __NO_MATH_INLINES
 
 /* Inline definition for fegetround.  */
 # define fegetround() \

Modified: trunk/libc/sysdeps/powerpc/fpu/bits/mathinline.h
==============================================================================
--- trunk/libc/sysdeps/powerpc/fpu/bits/mathinline.h (original)
+++ trunk/libc/sysdeps/powerpc/fpu/bits/mathinline.h Mon Apr 16 12:26:16 2007
@@ -28,7 +28,7 @@
 # define __MATH_INLINE __extern_inline
 #endif  /* __cplusplus */
 
-#if defined __GNUC__ && !defined __NO_FPRS__
+#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
 
 #ifdef __USE_ISOC99
 # if !__GNUC_PREREQ (2,97)

Modified: trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S Mon Apr 16 12:26:16 2007
@@ -268,8 +268,8 @@
 # endif
 #endif
 
-#ifdef __CONTEXT_EXTRA
-#include <getcontext-extra.S>
+#ifdef __GETCONTEXT_EXTRA
+	__GETCONTEXT_EXTRA
 #endif
 
 /* We need to set up parms and call sigprocmask which will clobber

Modified: trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S Mon Apr 16 12:26:16 2007
@@ -233,8 +233,8 @@
 	lfd	fp31,_UC_FREGS+(31*8)(r31)
 #endif /* __CONTEXT_ENABLE_FPRS */
 
-#ifdef __CONTEXT_EXTRA
-#include <setcontext-extra.S>
+#ifdef __SETCONTEXT_EXTRA
+	__SETCONTEXT_EXTRA
 #endif
 
 	/* Restore LR and CCR, and set CTR to the NIP value */

Modified: trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S Mon Apr 16 12:26:16 2007
@@ -270,8 +270,8 @@
 # endif /* __CONTEXT_ENABLE_VRS */
 #endif /* __CONTEXT_ENABLE_FPRS */
 
-#ifdef __CONTEXT_EXTRA
-#include <getcontext-extra.S>
+#ifdef __GETCONTEXT_EXTRA
+	__GETCONTEXT_EXTRA
 #endif
 
 /* Restore ucontext (parm1) from stack.  */
@@ -463,8 +463,8 @@
 	lfd	fp31,_UC_FREGS+(31*8)(r31)
 #endif /* __CONTEXT_ENABLE_FPRS */
 
-#ifdef __CONTEXT_EXTRA
-#include <setcontext-extra.S>
+#ifdef __SETCONTEXT_EXTRA
+	__SETCONTEXT_EXTRA
 #endif
 
 	/* Restore LR and CCR, and set CTR to the NIP value */

Modified: trunk/ports/ChangeLog.eglibc
==============================================================================
--- trunk/ports/ChangeLog.eglibc (original)
+++ trunk/ports/ChangeLog.eglibc Mon Apr 16 12:26:16 2007
@@ -1,3 +1,16 @@
+2007-04-16  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext-extra.S:
+	Put contents in a gas macro.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext-extra.S:
+	Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext.S:
+	Update.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext.S:
+	Update.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/swapcontext.S:
+	Update.
+
 2006-03-28  Paul Brook  <paul@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/arm/machine-gmon.h (MCOUNT): Add Thumb-2 implementation.

Modified: trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext-extra.S
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext-extra.S (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext-extra.S Mon Apr 16 12:26:16 2007
@@ -1,5 +1,5 @@
 /* Save current context.  Support for saving high parts of registers.
-   Copyright (C) 2006 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Joseph Myers <joseph@xxxxxxxxxxxxxxxx>, 2006.
 
@@ -21,6 +21,7 @@
 /* We follow the kernel's layout, which saves the high parts of the
    SPE registers in the vregs area, immediately followed by the
    SPEFSCR value.  */
+.macro getcontext_extra
 	la	r10,(_UC_VREGS)(r3)
 	evstwwe	r0,(0*4)(r10)
 	evstwwe	r1,(1*4)(r10)
@@ -56,3 +57,5 @@
 	evstwwe	r31,(31*4)(r10)
 	mfspefscr	r9
 	stw	r9,(32*4)(r10)
+.endm
+#define __GETCONTEXT_EXTRA getcontext_extra

Modified: trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext.S
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext.S (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext.S Mon Apr 16 12:26:16 2007
@@ -1,5 +1,5 @@
 /* Save current context.
-   Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005, 2006, 2007 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
@@ -28,7 +28,7 @@
 #define __CONTEXT_FUNC_NAME __getcontext
 #undef __CONTEXT_ENABLE_FPRS
 #undef __CONTEXT_ENABLE_VRS
-#define __CONTEXT_EXTRA
+#include "getcontext-extra.S"
 
 #include "getcontext-common.S"
 

Modified: trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext-extra.S
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext-extra.S (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext-extra.S Mon Apr 16 12:26:16 2007
@@ -1,5 +1,5 @@
 /* Jump to a new context.  Support for restoring high parts of registers.
-   Copyright (C) 2006 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Joseph Myers <joseph@xxxxxxxxxxxxxxxx>, 2006.
 
@@ -18,6 +18,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+.macro setcontext_extra
 	lwz	r3,_UC_VREGS+(0*4)(r31)
 	evmergelo	r0,r3,r0
 	lwz	r3,_UC_VREGS+(1*4)(r31)
@@ -88,3 +89,5 @@
 	evmergelo	r31,r3,r31
 	lwz	r3,_UC_VREGS+(32*4)(r31)
 	mtspefscr	r3
+.endm
+#define __SETCONTEXT_EXTRA setcontext_extra

Modified: trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext.S
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext.S (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext.S Mon Apr 16 12:26:16 2007
@@ -1,5 +1,5 @@
 /* Jump to a new context.
-   Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005, 2006, 2007 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
@@ -28,7 +28,7 @@
 #define __CONTEXT_FUNC_NAME __setcontext
 #undef __CONTEXT_ENABLE_FPRS
 #undef __CONTEXT_ENABLE_VRS
-#define __CONTEXT_EXTRA
+#include "setcontext-extra.S"
 
 #include "setcontext-common.S"
 

Modified: trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/swapcontext.S
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/swapcontext.S (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/swapcontext.S Mon Apr 16 12:26:16 2007
@@ -1,5 +1,5 @@
 /* Save current context and jump to a new context.
-   Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005, 2006, 2007 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
@@ -28,7 +28,8 @@
 #define __CONTEXT_FUNC_NAME __swapcontext
 #undef __CONTEXT_ENABLE_FPRS
 #undef __CONTEXT_ENABLE_VRS
-#define __CONTEXT_EXTRA
+#include "getcontext-extra.S"
+#include "setcontext-extra.S"
 
 # include "swapcontext-common.S"