0010-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. From 5da3da7f2d276c2a6ae1b04419b28e96953803ec Mon Sep 17 00:00:00 2001
  2. From: Khem Raj <raj.khem@gmail.com>
  3. Date: Wed, 18 Mar 2015 00:15:07 +0000
  4. Subject: [PATCH] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
  5. on ppc fixes the errors like below
  6. | ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
  7. | collect2: ld returned 1 exit status
  8. Upstream-Status: Pending
  9. ChangeLog
  10. 2012-01-06 Khem Raj <raj.khem@gmail.com>
  11. * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c: Add __*_finite alias.
  12. Remove cruft.
  13. * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c: Ditto.
  14. * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c: Ditto.
  15. * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c: Ditto.
  16. Signed-off-by: Khem Raj <raj.khem@gmail.com>
  17. ---
  18. sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | 7 +------
  19. sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | 7 +------
  20. sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | 1 +
  21. sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | 1 +
  22. sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | 1 +
  23. sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | 1 +
  24. sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 1 +
  25. sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 1 +
  26. sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | 7 +------
  27. sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | 7 +------
  28. sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | 1 +
  29. sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | 1 +
  30. 12 files changed, 12 insertions(+), 24 deletions(-)
  31. diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
  32. index 71e516d1c8..1795fd6c3e 100644
  33. --- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
  34. +++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
  35. @@ -39,14 +39,8 @@ static const float half = 0.5;
  36. We find the actual square root and half of its reciprocal
  37. simultaneously. */
  38. -#ifdef __STDC__
  39. double
  40. __ieee754_sqrt (double b)
  41. -#else
  42. -double
  43. -__ieee754_sqrt (b)
  44. - double b;
  45. -#endif
  46. {
  47. if (__builtin_expect (b > 0, 1))
  48. {
  49. @@ -132,3 +126,4 @@ __ieee754_sqrt (b)
  50. }
  51. return f_wash (b);
  52. }
  53. +strong_alias (__ieee754_sqrt, __sqrt_finite)
  54. diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
  55. index 26fa067abf..a917f313ab 100644
  56. --- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
  57. +++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
  58. @@ -37,14 +37,8 @@ static const float threehalf = 1.5;
  59. We find the reciprocal square root and use that to compute the actual
  60. square root. */
  61. -#ifdef __STDC__
  62. float
  63. __ieee754_sqrtf (float b)
  64. -#else
  65. -float
  66. -__ieee754_sqrtf (b)
  67. - float b;
  68. -#endif
  69. {
  70. if (__builtin_expect (b > 0, 1))
  71. {
  72. @@ -99,3 +93,4 @@ __ieee754_sqrtf (b)
  73. }
  74. return f_washf (b);
  75. }
  76. +strong_alias (__ieee754_sqrtf, __sqrtf_finite)
  77. diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c
  78. index 71e516d1c8..fc4a74990e 100644
  79. --- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c
  80. +++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c
  81. @@ -132,3 +132,4 @@ __ieee754_sqrt (b)
  82. }
  83. return f_wash (b);
  84. }
  85. +strong_alias (__ieee754_sqrt, __sqrt_finite)
  86. diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c
  87. index 26fa067abf..9d175122a8 100644
  88. --- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c
  89. +++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c
  90. @@ -99,3 +99,4 @@ __ieee754_sqrtf (b)
  91. }
  92. return f_washf (b);
  93. }
  94. +strong_alias (__ieee754_sqrtf, __sqrtf_finite)
  95. diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c
  96. index 71e516d1c8..fc4a74990e 100644
  97. --- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c
  98. +++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c
  99. @@ -132,3 +132,4 @@ __ieee754_sqrt (b)
  100. }
  101. return f_wash (b);
  102. }
  103. +strong_alias (__ieee754_sqrt, __sqrt_finite)
  104. diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c
  105. index 26fa067abf..9d175122a8 100644
  106. --- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c
  107. +++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c
  108. @@ -99,3 +99,4 @@ __ieee754_sqrtf (b)
  109. }
  110. return f_washf (b);
  111. }
  112. +strong_alias (__ieee754_sqrtf, __sqrtf_finite)
  113. diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c
  114. index 71e516d1c8..fc4a74990e 100644
  115. --- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c
  116. +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c
  117. @@ -132,3 +132,4 @@ __ieee754_sqrt (b)
  118. }
  119. return f_wash (b);
  120. }
  121. +strong_alias (__ieee754_sqrt, __sqrt_finite)
  122. diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c
  123. index 26fa067abf..9d175122a8 100644
  124. --- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c
  125. +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c
  126. @@ -99,3 +99,4 @@ __ieee754_sqrtf (b)
  127. }
  128. return f_washf (b);
  129. }
  130. +strong_alias (__ieee754_sqrtf, __sqrtf_finite)
  131. diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
  132. index 71e516d1c8..1795fd6c3e 100644
  133. --- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
  134. +++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
  135. @@ -39,14 +39,8 @@ static const float half = 0.5;
  136. We find the actual square root and half of its reciprocal
  137. simultaneously. */
  138. -#ifdef __STDC__
  139. double
  140. __ieee754_sqrt (double b)
  141. -#else
  142. -double
  143. -__ieee754_sqrt (b)
  144. - double b;
  145. -#endif
  146. {
  147. if (__builtin_expect (b > 0, 1))
  148. {
  149. @@ -132,3 +126,4 @@ __ieee754_sqrt (b)
  150. }
  151. return f_wash (b);
  152. }
  153. +strong_alias (__ieee754_sqrt, __sqrt_finite)
  154. diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
  155. index 26fa067abf..a917f313ab 100644
  156. --- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
  157. +++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
  158. @@ -37,14 +37,8 @@ static const float threehalf = 1.5;
  159. We find the reciprocal square root and use that to compute the actual
  160. square root. */
  161. -#ifdef __STDC__
  162. float
  163. __ieee754_sqrtf (float b)
  164. -#else
  165. -float
  166. -__ieee754_sqrtf (b)
  167. - float b;
  168. -#endif
  169. {
  170. if (__builtin_expect (b > 0, 1))
  171. {
  172. @@ -99,3 +93,4 @@ __ieee754_sqrtf (b)
  173. }
  174. return f_washf (b);
  175. }
  176. +strong_alias (__ieee754_sqrtf, __sqrtf_finite)
  177. diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
  178. index 71e516d1c8..fc4a74990e 100644
  179. --- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
  180. +++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
  181. @@ -132,3 +132,4 @@ __ieee754_sqrt (b)
  182. }
  183. return f_wash (b);
  184. }
  185. +strong_alias (__ieee754_sqrt, __sqrt_finite)
  186. diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
  187. index 26fa067abf..9d175122a8 100644
  188. --- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
  189. +++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
  190. @@ -99,3 +99,4 @@ __ieee754_sqrtf (b)
  191. }
  192. return f_washf (b);
  193. }
  194. +strong_alias (__ieee754_sqrtf, __sqrtf_finite)