Joseph Myers
831bbd5527
Remove SPARC sqrt wrappers (bug 21973).
...
This patch removes the SPARC-specific wrappers for sqrt and sqrtf.
These wrappers, by adding architecture-specific uses of _LIB_VERSION
and __kernel_standard, unnecessarily complicate cleanups of libm error
handling. They also do not serve a useful optimization purpose. GCC
knows about sqrt as a built-in function, and can generate direct calls
to a hardware square root instruction, either on its own, in the
-fno-math-errno case, or together with an inline check for the
argument being negative and a call to the out-of-line sqrt function
for error handling only in that case (and has been able to do so for a
long time). Thus in practice the wrapper will only be called only in
the case of negative arguments, which is not a case it is useful to
optimize for.
The removal of the wrappers also uncovers, and fixes, an old bug.
32-bit SPARC libm used (checked with glibc 2.8 binaries) to have a
sqrtl compat symbol, version GLIBC_2.0, for old binaries when sqrtl
was an alias of sqrt (I don't have pre-glibc-2.4 binaries for SPARC to
hand to check for the sqrtl symbol in those). This disappeared,
probably with:
commit 8847f03770
Author: David S. Miller <davem@davemloft.net >
Date: Tue Feb 28 22:37:58 2012 -0800
Add sparc optimized sqrt{,f}.
Removing the wrappers brings back the generic ldbl-opt logic for
creating such compat symbols, and so restores the compat symbol that
should be there. This could of course also be fixed in the wrappers -
but as noted above, the wrappers are optimizing a case it's not useful
to optimize, so the bug of the missing compat symbol serves to
illustrate the risks involved with the extra complexity of
architecture-specific function versions where not needed.
Tested with build-many-glibcs.py.
[BZ #21973 ]
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Remove file.
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S : Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add
GLIBC_2.0 sqrtl symbol.
2017-08-21 17:46:34 +00:00
..
2017-08-10 16:54:57 +02:00
2017-08-10 16:54:57 +02:00
2017-08-10 16:54:57 +02:00
2017-08-16 20:33:59 +00:00
2017-06-30 15:17:26 -03:00
2017-08-10 16:54:57 +02:00
2017-08-20 10:47:02 -07:00
2017-08-18 18:38:55 -03:00
2017-06-01 10:56:10 -04:00
2017-08-14 10:35:14 -03:00
2017-08-10 16:54:57 +02:00
2017-08-09 17:51:26 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-10 16:54:57 +02:00
2017-08-17 16:50:35 -03:00
2017-08-10 16:54:57 +02:00
2017-01-01 00:14:16 +00:00
2017-08-16 17:01:27 +00:00
2017-08-21 17:46:34 +00:00
2017-08-09 22:58:45 +00:00
2017-08-09 17:51:26 +00:00
2017-06-20 18:20:06 -03:00
2017-08-21 05:40:45 -07:00
2017-08-21 05:58:53 -07:00
2017-01-01 00:14:16 +00:00
2017-06-08 13:58:17 -04:00
2017-05-09 21:59:36 +00:00
2017-03-09 15:22:06 +01:00
2017-07-24 11:21:07 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-03-09 15:22:06 +01:00
2017-05-11 17:27:27 -03:00
2017-05-11 17:27:27 -03:00
2017-01-28 19:21:44 -05:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-13 21:11:38 +02:00
2017-06-08 12:52:42 -07:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-03 10:36:43 -03:00
2017-08-07 19:55:34 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-06-30 15:17:26 -03:00
2017-01-01 00:14:16 +00:00
2017-05-18 18:06:47 -03:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-18 18:06:47 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-09 14:05:09 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-08-18 18:38:55 -03:00
2017-04-19 07:45:04 +02:00
2017-01-01 00:14:16 +00:00
2017-05-12 11:48:37 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2016-11-22 09:59:12 -08:00
2017-01-01 00:14:16 +00:00
2017-05-31 17:35:46 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:26:24 +00:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-06-26 17:52:20 -03:00
2017-08-18 18:38:55 -03:00
2017-06-23 17:38:17 -03:00
2017-08-14 10:35:14 -03:00
2017-08-14 10:35:14 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-18 18:06:47 -03:00
2017-05-18 18:06:47 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-18 18:06:47 -03:00
2017-06-23 17:38:17 -03:00
2017-08-13 21:11:28 +02:00
2017-08-13 21:11:28 +02:00
2017-08-18 18:38:55 -03:00
2017-07-24 11:21:07 -03:00
2017-05-20 19:04:43 -04:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-17 16:50:35 -03:00
2017-05-18 18:06:47 -03:00
2017-08-17 16:50:35 -03:00
2017-08-18 16:30:05 -03:00
2017-08-18 16:30:05 -03:00
2017-01-01 00:14:16 +00:00
2017-08-17 10:18:15 +02:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-18 18:06:47 -03:00
2017-01-01 00:14:16 +00:00
2017-05-03 10:36:01 -03:00
2017-01-01 00:14:16 +00:00
2017-02-06 10:21:55 -02:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-02 14:57:40 -03:00
2017-05-02 14:57:40 -03:00
2017-08-08 09:59:46 -03:00
2017-05-31 17:35:46 -03:00
2017-08-08 09:59:46 -03:00
2017-05-31 17:35:46 -03:00
2017-05-09 14:05:09 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-06-07 17:37:59 +02:00
2017-05-31 17:35:46 -03:00
2017-05-02 14:57:40 -03:00
2017-08-08 09:59:46 -03:00
2017-05-31 17:35:46 -03:00
2017-08-08 09:59:46 -03:00
2017-05-31 17:35:46 -03:00
2017-01-01 00:14:16 +00:00
2017-08-18 10:31:16 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-11 17:27:31 -03:00
2017-01-01 00:14:16 +00:00
2017-03-09 15:22:06 +01:00
2017-03-09 15:22:06 +01:00
2017-05-09 21:59:36 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-03 10:36:36 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-03-09 15:22:06 +01:00
2017-05-09 21:59:36 +00:00
2017-01-01 00:14:16 +00:00
2017-03-09 15:22:06 +01:00
2017-03-28 12:29:27 -03:00
2017-03-28 12:29:27 -03:00
2017-03-28 12:29:27 -03:00
2017-03-28 12:29:27 -03:00
2017-01-01 00:14:16 +00:00
2017-03-28 12:29:27 -03:00
2017-03-28 12:29:27 -03:00
2017-03-28 12:29:27 -03:00
2017-03-28 12:29:27 -03:00
2017-05-09 14:05:09 +00:00
2017-05-09 14:05:09 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-03-28 12:29:27 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-20 19:04:43 -04:00
2017-01-01 00:14:16 +00:00
2017-05-18 18:06:47 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-05-18 18:06:47 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-18 18:06:47 -03:00
2017-08-18 18:38:55 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-03-09 15:22:06 +01:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-06-23 17:38:17 -03:00
2017-05-18 18:06:47 -03:00
2017-03-30 18:23:43 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-06-07 14:05:42 +02:00
2017-06-26 17:52:20 -03:00
2017-03-01 20:32:50 -05:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-05-08 16:44:54 +00:00
2017-06-20 20:32:50 -04:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-02-16 17:33:18 -05:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-03-19 17:36:13 +00:00
2017-03-19 17:36:13 +00:00
2017-03-19 17:36:13 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-18 18:38:55 -03:00
2017-05-18 18:06:47 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-08-18 10:53:47 -03:00
2017-05-11 17:27:31 -03:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00
2017-01-01 00:14:16 +00:00