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

[commits] r11647 - in /trunk/libc: ./ sysdeps/sh/sh4/fpu/ sysdeps/unix/sysv/linux/sh/



Author: maxim
Date: Wed Sep 29 05:39:57 2010
New Revision: 11647

Log:
	Resolve SH's __fpscr_values to symbol in libc.so.

	* sysdeps/sh/sh4/fpu/fpu_control.h: Add C++ __set_fpscr prototype.
	* sysdeps/unix/sysv/linux/sh/Versions (GLIBC_2.2): Add __fpscr_values.
	* sysdeps/unix/sysv/linux/sh/sysdep.S (___fpscr_values): New constant.

Modified:
    trunk/libc/ChangeLog.eglibc
    trunk/libc/sysdeps/sh/sh4/fpu/fpu_control.h
    trunk/libc/sysdeps/unix/sysv/linux/sh/Versions
    trunk/libc/sysdeps/unix/sysv/linux/sh/sysdep.S

Modified: trunk/libc/ChangeLog.eglibc
==============================================================================
--- trunk/libc/ChangeLog.eglibc (original)
+++ trunk/libc/ChangeLog.eglibc Wed Sep 29 05:39:57 2010
@@ -1,3 +1,12 @@
+2010-09-29  Nobuhiro Iwamatsu  <iwamatsu@xxxxxxxxxxx>
+	    Andrew Stubbs  <ams@xxxxxxxxxxxxxxxx>
+
+	Resolve SH's __fpscr_values to symbol in libc.so.
+
+	* sysdeps/sh/sh4/fpu/fpu_control.h: Add C++ __set_fpscr prototype.
+	* sysdeps/unix/sysv/linux/sh/Versions (GLIBC_2.2): Add __fpscr_values.
+	* sysdeps/unix/sysv/linux/sh/sysdep.S (___fpscr_values): New constant.
+
 2010-09-19  Aurelien Jarno  <aurelien@xxxxxxxxxxx>
  
 	* resolv/res_libc (__res_maybe_init): Ask other threads to

Modified: trunk/libc/sysdeps/sh/sh4/fpu/fpu_control.h
==============================================================================
--- trunk/libc/sysdeps/sh/sh4/fpu/fpu_control.h (original)
+++ trunk/libc/sysdeps/sh/sh4/fpu/fpu_control.h Wed Sep 29 05:39:57 2010
@@ -45,8 +45,14 @@
 #define _FPU_GETCW(cw) __asm__ ("sts fpscr,%0" : "=r" (cw))
 
 #if defined __GNUC__
+#ifdef __cplusplus
+extern "C" {
+#endif
 /* GCC provides this function.  */
 extern void __set_fpscr (unsigned long);
+#ifdef __cplusplus
+}
+#endif  /* C++ */
 #define _FPU_SETCW(cw) __set_fpscr ((cw))
 #else
 #define _FPU_SETCW(cw) __asm__ ("lds %0,fpscr" : : "r" (cw))

Modified: trunk/libc/sysdeps/unix/sysv/linux/sh/Versions
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/sh/Versions (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/sh/Versions Wed Sep 29 05:39:57 2010
@@ -2,6 +2,7 @@
   GLIBC_2.2 {
     # functions used in other libraries
     __xstat64; __fxstat64; __lxstat64;
+    __fpscr_values;
 
     # a*
     alphasort64;

Modified: trunk/libc/sysdeps/unix/sysv/linux/sh/sysdep.S
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/sh/sysdep.S (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/sh/sysdep.S Wed Sep 29 05:39:57 2010
@@ -32,3 +32,14 @@
 
 #define __syscall_error __syscall_error_1
 #include <sysdeps/unix/sh/sysdep.S>
+
+       .data
+       .align 3
+       .globl ___fpscr_values
+       .type ___fpscr_values, @object
+       .size ___fpscr_values, 8
+___fpscr_values:
+       .long 0
+       .long 0x80000
+weak_alias (___fpscr_values, __fpscr_values)
+