diff options
author | Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> | 2010-09-15 19:44:53 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2010-09-16 07:30:33 -0700 |
commit | 374bb910fb55fcdb5a2a180f1ba20b8cd780e297 (patch) | |
tree | 4d517f678868bd7ce8103d57bb1f3f9318c7772a /recipes/eglibc/files | |
parent | 054bc115a97f9ce163ff840fec6c3933ebb8b5e1 (diff) |
eglibc: Update recipe for all version
* Included sh4_set_fpscr.patch and sh4_set_fpscr_2.12.patch.
These patch provides patch of __set_fpscr prototype.
* Included sh4_local-fpscr_values.patch.
This provides a patch maintaining __fpscr_values in libc.
This is taken in in Debian and codesourcery already.
This patch is necessary to have compatibility in these and openemdedded.
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes/eglibc/files')
-rw-r--r-- | recipes/eglibc/files/sh4_local-fpscr_values.patch | 32 | ||||
-rw-r--r-- | recipes/eglibc/files/sh4_set_fpscr.patch | 23 | ||||
-rw-r--r-- | recipes/eglibc/files/sh4_set_fpscr_2.12.patch | 29 |
3 files changed, 84 insertions, 0 deletions
diff --git a/recipes/eglibc/files/sh4_local-fpscr_values.patch b/recipes/eglibc/files/sh4_local-fpscr_values.patch new file mode 100644 index 0000000000..1685f6f600 --- /dev/null +++ b/recipes/eglibc/files/sh4_local-fpscr_values.patch @@ -0,0 +1,32 @@ +--- + sysdeps/unix/sysv/linux/sh/Versions | 1 + + sysdeps/unix/sysv/linux/sh/sysdep.S | 11 +++++++++++ + 2 files changed, 12 insertions(+) + +--- a/sysdeps/unix/sysv/linux/sh/Versions ++++ b/sysdeps/unix/sysv/linux/sh/Versions +@@ -2,6 +2,7 @@ + GLIBC_2.2 { + # functions used in other libraries + __xstat64; __fxstat64; __lxstat64; ++ __fpscr_values; + + # a* + alphasort64; +--- a/sysdeps/unix/sysv/linux/sh/sysdep.S ++++ b/sysdeps/unix/sysv/linux/sh/sysdep.S +@@ -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) ++ diff --git a/recipes/eglibc/files/sh4_set_fpscr.patch b/recipes/eglibc/files/sh4_set_fpscr.patch new file mode 100644 index 0000000000..f3fd5c105f --- /dev/null +++ b/recipes/eglibc/files/sh4_set_fpscr.patch @@ -0,0 +1,23 @@ +# http://sourceware.org/ml/libc-alpha/2009-12/msg00009.html +# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565369 +--- + sysdeps/sh/sh4/fpu/fpu_control.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/sysdeps/sh/sh4/fpu/fpu_control.h ++++ b/sysdeps/sh/sh4/fpu/fpu_control.h +@@ -45,6 +45,14 @@ + #define _FPU_GETCW(cw) __asm__ ("sts fpscr,%0" : "=r" (cw)) + + #if defined __GNUC__ ++/* Allow the use in C++ code. */ ++#ifdef __cplusplus ++extern "C" { ++#endif ++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)) diff --git a/recipes/eglibc/files/sh4_set_fpscr_2.12.patch b/recipes/eglibc/files/sh4_set_fpscr_2.12.patch new file mode 100644 index 0000000000..19cccc0dc1 --- /dev/null +++ b/recipes/eglibc/files/sh4_set_fpscr_2.12.patch @@ -0,0 +1,29 @@ +diff --git a/sysdeps/sh/sh4/fpu/fpu_control.h b/sysdeps/sh/sh4/fpu/fpu_control.h +index d1be46d..3ea37d3 100644 +--- a/sysdeps/sh/sh4/fpu/fpu_control.h ++++ b/sysdeps/sh/sh4/fpu/fpu_control.h +@@ -1,5 +1,5 @@ + /* FPU control word definitions. SH version. +- Copyright (C) 1999, 2000, 2009 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2000, 2009, 2010 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 +@@ -46,7 +46,14 @@ typedef unsigned int fpu_control_t; + + #if defined __GNUC__ + /* GCC provides this function. */ ++/* Allow the use in C++ code. */ ++#ifdef __cplusplus ++extern "C" { ++#endif + 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)) +-- +1.7.1 + |