0012-eglibc-Resolve-__fpscr_values-on-SH4.patch 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. From 9f1803a2f91d59a9478ca4d8d93e1de5c62671e5 Mon Sep 17 00:00:00 2001
  2. From: Khem Raj <raj.khem@gmail.com>
  3. Date: Wed, 18 Mar 2015 00:55:53 +0000
  4. Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4
  5. 2010-09-29 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
  6. Andrew Stubbs <ams@codesourcery.com>
  7. Resolve SH's __fpscr_values to symbol in libc.so.
  8. * sysdeps/sh/sh4/fpu/fpu_control.h: Add C++ __set_fpscr prototype.
  9. * sysdeps/unix/sysv/linux/sh/Versions (GLIBC_2.2): Add __fpscr_values.
  10. * sysdeps/unix/sysv/linux/sh/sysdep.S (___fpscr_values): New constant.
  11. Upstream-Status: Pending
  12. Signed-off-by: Khem Raj <raj.khem@gmail.com>
  13. ---
  14. sysdeps/unix/sysv/linux/sh/Versions | 1 +
  15. sysdeps/unix/sysv/linux/sh/sysdep.S | 11 +++++++++++
  16. 2 files changed, 12 insertions(+)
  17. diff --git a/sysdeps/unix/sysv/linux/sh/Versions b/sysdeps/unix/sysv/linux/sh/Versions
  18. index 9c734ff755..974e33b4b1 100644
  19. --- a/sysdeps/unix/sysv/linux/sh/Versions
  20. +++ b/sysdeps/unix/sysv/linux/sh/Versions
  21. @@ -3,6 +3,7 @@ libc {
  22. GLIBC_2.2 {
  23. # functions used in other libraries
  24. __xstat64; __fxstat64; __lxstat64;
  25. + __fpscr_values;
  26. # a*
  27. alphasort64;
  28. diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S
  29. index c5e3a7a365..35120031c4 100644
  30. --- a/sysdeps/unix/sysv/linux/sh/sysdep.S
  31. +++ b/sysdeps/unix/sysv/linux/sh/sysdep.S
  32. @@ -30,3 +30,14 @@ ENTRY (__syscall_error)
  33. #define __syscall_error __syscall_error_1
  34. #include <sysdeps/unix/sh/sysdep.S>
  35. +
  36. + .data
  37. + .align 3
  38. + .globl ___fpscr_values
  39. + .type ___fpscr_values, @object
  40. + .size ___fpscr_values, 8
  41. +___fpscr_values:
  42. + .long 0
  43. + .long 0x80000
  44. +weak_alias (___fpscr_values, __fpscr_values)
  45. +