[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[patches] sh: Add ___fpscr_values to sysdeps/unix/sysv/linux/sh/sysdep.S.
- To: patches@xxxxxxxxxx
- Subject: [patches] sh: Add ___fpscr_values to sysdeps/unix/sysv/linux/sh/sysdep.S.
- From: Nobuhiro Iwamatsu <iwamatsu@xxxxxxxxxxx>
- Date: Tue, 28 Sep 2010 15:12:41 +0900
This solves __fpscr_valus in a link of the build in SH4. When it is resolved,
linker uses ld.so or libc.so.
When it was linked by ld-linux.so, GLIBC_PRIVATE is added to this.
But it was linked by libc.so, libc version is added to this.
With this patch, it is resolved by using __fpscr_valus of libc.so.
And this can solve a pattern to solve this by pattern and ld-linux.so
that __fpscr_valus
becomes unsolved.
This patch already was applied eglibc of Debian and Codesourcery.
2010-09-28 Nobuhiro Iwamatsu <iwamatsu@xxxxxxxxxxx>
* sysdeps/unix/sysv/linux/sh/sysdep.S: Add ___fpscr_values to
sysdeps/unix/sysv/linux/sh/sysdep.S.
This solves __fpscr_valus in a link of the build in SH4. When it is
resolved, linker uses ld.so or libc.so.
When it was linked by ld-linux.so, GLIBC_PRIVATE is added to this.
But it was linked by libc.so, libc version is added to this.
With this patch, it is resolved by using __fpscr_valus of libc.so.
And this can solve a pattern to solve this by pattern and ld-linux.so
that __fpscr_valus becomes unsolved.
---
libc/sysdeps/unix/sysv/linux/sh/Versions | 1 +
libc/sysdeps/unix/sysv/linux/sh/sysdep.S | 11 +++++++++++
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/libc/sysdeps/unix/sysv/linux/sh/Versions
b/libc/sysdeps/unix/sysv/linux/sh/Versions
index bd30f92..9fb8345 100644
--- a/libc/sysdeps/unix/sysv/linux/sh/Versions
+++ b/libc/sysdeps/unix/sysv/linux/sh/Versions
@@ -2,6 +2,7 @@ libc {
GLIBC_2.2 {
# functions used in other libraries
__xstat64; __fxstat64; __lxstat64;
+ __fpscr_values;
# a*
alphasort64;
diff --git a/libc/sysdeps/unix/sysv/linux/sh/sysdep.S
b/libc/sysdeps/unix/sysv/linux/sh/sysdep.S
index 176d99a..eab6b57 100644
--- a/libc/sysdeps/unix/sysv/linux/sh/sysdep.S
+++ b/libc/sysdeps/unix/sysv/linux/sh/sysdep.S
@@ -32,3 +32,14 @@ ENTRY (__syscall_error)
#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)
+
--
1.7.1