diff options
author | 2019-11-10 22:23:28 +0000 | |
---|---|---|
committer | 2019-11-10 22:23:28 +0000 | |
commit | 00b6e344ba691d3d76ced8394494ab6d26b6766c (patch) | |
tree | db84473796db356e2a7d8427aefeae8105521655 | |
parent | Simplify the handling of the explicit relocations based on ld.so only (diff) | |
download | wireguard-openbsd-00b6e344ba691d3d76ced8394494ab6d26b6766c.tar.xz wireguard-openbsd-00b6e344ba691d3d76ced8394494ab6d26b6766c.zip |
Mark as 'protected' all the routines from the quad/ and softfloat/ subdirs,
as well as those in arch/arm/gen/divsi3.S. This cleans up the PLTs on the
32bit archs.
luna88k testing by aoyama@
"looks good" kettenis@, testing and ok deraadt@
-rw-r--r-- | lib/libc/arch/arm/gen/divsi3.S | 5 | ||||
-rw-r--r-- | lib/libc/quad/fixdfdi.c | 3 | ||||
-rw-r--r-- | lib/libc/quad/fixsfdi.c | 3 | ||||
-rw-r--r-- | lib/libc/quad/fixunsdfdi.c | 3 | ||||
-rw-r--r-- | lib/libc/quad/fixunssfdi.c | 3 | ||||
-rw-r--r-- | lib/libc/quad/floatdidf.c | 3 | ||||
-rw-r--r-- | lib/libc/quad/floatdisf.c | 3 | ||||
-rw-r--r-- | lib/libc/quad/quad.h | 54 | ||||
-rw-r--r-- | lib/libc/softfloat/eqdf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/eqsf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/gedf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/gesf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/gtdf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/gtsf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/ledf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/lesf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/ltdf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/ltsf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/nedf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/negdf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/negsf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/nesf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/softfloat.h | 190 | ||||
-rw-r--r-- | lib/libc/softfloat/unorddf2.c | 4 | ||||
-rw-r--r-- | lib/libc/softfloat/unordsf2.c | 4 |
25 files changed, 170 insertions, 161 deletions
diff --git a/lib/libc/arch/arm/gen/divsi3.S b/lib/libc/arch/arm/gen/divsi3.S index a95dbda7fe3..7ba7ae441a4 100644 --- a/lib/libc/arch/arm/gen/divsi3.S +++ b/lib/libc/arch/arm/gen/divsi3.S @@ -1,4 +1,4 @@ -/* $OpenBSD: divsi3.S,v 1.4 2017/12/26 15:11:17 kettenis Exp $ */ +/* $OpenBSD: divsi3.S,v 1.5 2019/11/10 22:23:28 guenther Exp $ */ /* $NetBSD: divsi3.S,v 1.5 2003/04/05 23:08:51 bjh21 Exp $ */ /* @@ -390,3 +390,6 @@ STRONG_ALIAS(__aeabi_idiv, __divsi3) STRONG_ALIAS(__aeabi_idivmod, __divsi3) STRONG_ALIAS(__aeabi_uidiv, __udivsi3) STRONG_ALIAS(__aeabi_uidivmod, __udivsi3) + + .protected __aeabi_idiv, __aeabi_idivmod + .protected __aeabi_uidiv, __aeabi_uidivmod diff --git a/lib/libc/quad/fixdfdi.c b/lib/libc/quad/fixdfdi.c index f389242393f..17d9667f522 100644 --- a/lib/libc/quad/fixdfdi.c +++ b/lib/libc/quad/fixdfdi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: fixdfdi.c,v 1.6 2017/12/26 15:11:17 kettenis Exp $ */ +/* $OpenBSD: fixdfdi.c,v 1.7 2019/11/10 22:23:28 guenther Exp $ */ /*- * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. @@ -55,4 +55,5 @@ __fixdfdi(double x) #ifdef __ARM_EABI__ __strong_alias(__aeabi_d2lz, __fixdfdi); +__asm(".protected __aeabi_d2lz"); #endif diff --git a/lib/libc/quad/fixsfdi.c b/lib/libc/quad/fixsfdi.c index d8b4f96d33c..54c4d0144f7 100644 --- a/lib/libc/quad/fixsfdi.c +++ b/lib/libc/quad/fixsfdi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: fixsfdi.c,v 1.7 2017/12/26 15:11:17 kettenis Exp $ */ +/* $OpenBSD: fixsfdi.c,v 1.8 2019/11/10 22:23:28 guenther Exp $ */ /*- * Copyright (c) 1992 The Regents of the University of California. * All rights reserved. @@ -57,4 +57,5 @@ __fixsfdi(float x) #ifdef __ARM_EABI__ __strong_alias(__aeabi_f2lz, __fixsfdi); +__asm(".protected __aeabi_f2lz"); #endif diff --git a/lib/libc/quad/fixunsdfdi.c b/lib/libc/quad/fixunsdfdi.c index 21cea67151d..63a509bc9d3 100644 --- a/lib/libc/quad/fixunsdfdi.c +++ b/lib/libc/quad/fixunsdfdi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: fixunsdfdi.c,v 1.8 2017/12/26 15:11:17 kettenis Exp $ */ +/* $OpenBSD: fixunsdfdi.c,v 1.9 2019/11/10 22:23:28 guenther Exp $ */ /*- * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. @@ -73,4 +73,5 @@ __fixunsdfdi(double x) #ifdef __ARM_EABI__ __strong_alias(__aeabi_d2ulz, __fixunsdfdi); +__asm(".protected __aeabi_d2ulz"); #endif diff --git a/lib/libc/quad/fixunssfdi.c b/lib/libc/quad/fixunssfdi.c index bc75c6d9f40..47ce12a7484 100644 --- a/lib/libc/quad/fixunssfdi.c +++ b/lib/libc/quad/fixunssfdi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: fixunssfdi.c,v 1.6 2017/12/26 15:11:17 kettenis Exp $ */ +/* $OpenBSD: fixunssfdi.c,v 1.7 2019/11/10 22:23:28 guenther Exp $ */ /*- * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. @@ -94,4 +94,5 @@ __fixunssfdi(float f) #ifdef __ARM_EABI__ __strong_alias(__aeabi_f2ulz, __fixunssfdi); +__asm(".protected __aeabi_f2ulz"); #endif diff --git a/lib/libc/quad/floatdidf.c b/lib/libc/quad/floatdidf.c index 2b9beb0f261..a42a908a61f 100644 --- a/lib/libc/quad/floatdidf.c +++ b/lib/libc/quad/floatdidf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: floatdidf.c,v 1.7 2017/12/26 15:11:17 kettenis Exp $ */ +/* $OpenBSD: floatdidf.c,v 1.8 2019/11/10 22:23:28 guenther Exp $ */ /*- * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. @@ -67,4 +67,5 @@ __floatdidf(quad_t x) #ifdef __ARM_EABI__ __strong_alias(__aeabi_l2d, __floatdidf); +__asm(".protected __aeabi_l2d"); #endif diff --git a/lib/libc/quad/floatdisf.c b/lib/libc/quad/floatdisf.c index 1e6726b51d4..fd2787b2cdf 100644 --- a/lib/libc/quad/floatdisf.c +++ b/lib/libc/quad/floatdisf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: floatdisf.c,v 1.7 2017/12/26 15:11:17 kettenis Exp $ */ +/* $OpenBSD: floatdisf.c,v 1.8 2019/11/10 22:23:28 guenther Exp $ */ /*- * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. @@ -69,4 +69,5 @@ __floatdisf(quad_t x) #ifdef __ARM_EABI__ __strong_alias(__aeabi_l2f, __floatdisf); +__asm(".protected __aeabi_l2f"); #endif diff --git a/lib/libc/quad/quad.h b/lib/libc/quad/quad.h index e804233995d..f6e38b60258 100644 --- a/lib/libc/quad/quad.h +++ b/lib/libc/quad/quad.h @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $OpenBSD: quad.h,v 1.8 2014/06/10 04:17:37 deraadt Exp $ + * $OpenBSD: quad.h,v 1.9 2019/11/10 22:23:28 guenther Exp $ */ /* @@ -93,29 +93,29 @@ union uu { typedef unsigned int qshift_t; -quad_t __adddi3(quad_t, quad_t); -quad_t __anddi3(quad_t, quad_t); -quad_t __ashldi3(quad_t, qshift_t); -quad_t __ashrdi3(quad_t, qshift_t); -int __cmpdi2(quad_t, quad_t); -quad_t __divdi3(quad_t, quad_t); -quad_t __fixdfdi(double); -quad_t __fixsfdi(float); -u_quad_t __fixunsdfdi(double); -u_quad_t __fixunssfdi(float); -double __floatdidf(quad_t); -float __floatdisf(quad_t); -double __floatunsdidf(u_quad_t); -quad_t __iordi3(quad_t, quad_t); -quad_t __lshldi3(quad_t, qshift_t); -quad_t __lshrdi3(quad_t, qshift_t); -quad_t __moddi3(quad_t, quad_t); -quad_t __muldi3(quad_t, quad_t); -quad_t __negdi2(quad_t); -quad_t __one_cmpldi2(quad_t); -u_quad_t __qdivrem(u_quad_t, u_quad_t, u_quad_t *); -quad_t __subdi3(quad_t, quad_t); -int __ucmpdi2(u_quad_t, u_quad_t); -u_quad_t __udivdi3(u_quad_t, u_quad_t ); -u_quad_t __umoddi3(u_quad_t, u_quad_t ); -quad_t __xordi3(quad_t, quad_t); +quad_t __adddi3(quad_t, quad_t) __dso_protected; +quad_t __anddi3(quad_t, quad_t) __dso_protected; +quad_t __ashldi3(quad_t, qshift_t) __dso_protected; +quad_t __ashrdi3(quad_t, qshift_t) __dso_protected; +int __cmpdi2(quad_t, quad_t) __dso_protected; +quad_t __divdi3(quad_t, quad_t) __dso_protected; +quad_t __fixdfdi(double) __dso_protected; +quad_t __fixsfdi(float) __dso_protected; +u_quad_t __fixunsdfdi(double) __dso_protected; +u_quad_t __fixunssfdi(float) __dso_protected; +double __floatdidf(quad_t) __dso_protected; +float __floatdisf(quad_t) __dso_protected; +double __floatunsdidf(u_quad_t) __dso_protected; +quad_t __iordi3(quad_t, quad_t) __dso_protected; +quad_t __lshldi3(quad_t, qshift_t) __dso_protected; +quad_t __lshrdi3(quad_t, qshift_t) __dso_protected; +quad_t __moddi3(quad_t, quad_t) __dso_protected; +quad_t __muldi3(quad_t, quad_t) __dso_protected; +quad_t __negdi2(quad_t) __dso_protected; +quad_t __one_cmpldi2(quad_t) __dso_protected; +u_quad_t __qdivrem(u_quad_t, u_quad_t, u_quad_t *) __dso_protected; +quad_t __subdi3(quad_t, quad_t) __dso_protected; +int __ucmpdi2(u_quad_t, u_quad_t) __dso_protected; +u_quad_t __udivdi3(u_quad_t, u_quad_t ) __dso_protected; +u_quad_t __umoddi3(u_quad_t, u_quad_t ) __dso_protected; +quad_t __xordi3(quad_t, quad_t) __dso_protected; diff --git a/lib/libc/softfloat/eqdf2.c b/lib/libc/softfloat/eqdf2.c index 34ae5c60845..5f148099823 100644 --- a/lib/libc/softfloat/eqdf2.c +++ b/lib/libc/softfloat/eqdf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: eqdf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: eqdf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: eqdf2.c,v 1.1 2000/06/06 08:15:02 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __eqdf2(float64, float64); +flag __eqdf2(float64, float64) __dso_protected; flag __eqdf2(float64 a, float64 b) diff --git a/lib/libc/softfloat/eqsf2.c b/lib/libc/softfloat/eqsf2.c index 3857929c7ca..882262dd640 100644 --- a/lib/libc/softfloat/eqsf2.c +++ b/lib/libc/softfloat/eqsf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: eqsf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: eqsf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: eqsf2.c,v 1.1 2000/06/06 08:15:03 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __eqsf2(float32, float32); +flag __eqsf2(float32, float32) __dso_protected; flag __eqsf2(float32 a, float32 b) diff --git a/lib/libc/softfloat/gedf2.c b/lib/libc/softfloat/gedf2.c index f6961b06622..0922936d34b 100644 --- a/lib/libc/softfloat/gedf2.c +++ b/lib/libc/softfloat/gedf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gedf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: gedf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: gedf2.c,v 1.1 2000/06/06 08:15:05 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __gedf2(float64, float64); +flag __gedf2(float64, float64) __dso_protected; flag __gedf2(float64 a, float64 b) diff --git a/lib/libc/softfloat/gesf2.c b/lib/libc/softfloat/gesf2.c index 3d1c885e3bc..6480e3e7938 100644 --- a/lib/libc/softfloat/gesf2.c +++ b/lib/libc/softfloat/gesf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gesf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: gesf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: gesf2.c,v 1.1 2000/06/06 08:15:05 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __gesf2(float32, float32); +flag __gesf2(float32, float32) __dso_protected; flag __gesf2(float32 a, float32 b) diff --git a/lib/libc/softfloat/gtdf2.c b/lib/libc/softfloat/gtdf2.c index ad54c1ce898..632b246806d 100644 --- a/lib/libc/softfloat/gtdf2.c +++ b/lib/libc/softfloat/gtdf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gtdf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: gtdf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: gtdf2.c,v 1.1 2000/06/06 08:15:05 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __gtdf2(float64, float64); +flag __gtdf2(float64, float64) __dso_protected; flag __gtdf2(float64 a, float64 b) diff --git a/lib/libc/softfloat/gtsf2.c b/lib/libc/softfloat/gtsf2.c index 47e6bbdbf88..92fd89ce054 100644 --- a/lib/libc/softfloat/gtsf2.c +++ b/lib/libc/softfloat/gtsf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gtsf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: gtsf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: gtsf2.c,v 1.1 2000/06/06 08:15:06 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __gtsf2(float32, float32); +flag __gtsf2(float32, float32) __dso_protected; flag __gtsf2(float32 a, float32 b) diff --git a/lib/libc/softfloat/ledf2.c b/lib/libc/softfloat/ledf2.c index 337f9952350..cb3be06da9e 100644 --- a/lib/libc/softfloat/ledf2.c +++ b/lib/libc/softfloat/ledf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ledf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: ledf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: ledf2.c,v 1.1 2000/06/06 08:15:06 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __ledf2(float64, float64); +flag __ledf2(float64, float64) __dso_protected; flag __ledf2(float64 a, float64 b) diff --git a/lib/libc/softfloat/lesf2.c b/lib/libc/softfloat/lesf2.c index bd8b501082b..27104dad106 100644 --- a/lib/libc/softfloat/lesf2.c +++ b/lib/libc/softfloat/lesf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: lesf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: lesf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: lesf2.c,v 1.1 2000/06/06 08:15:06 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __lesf2(float32, float32); +flag __lesf2(float32, float32) __dso_protected; flag __lesf2(float32 a, float32 b) diff --git a/lib/libc/softfloat/ltdf2.c b/lib/libc/softfloat/ltdf2.c index 526e1e8bb66..8f7c86d45e4 100644 --- a/lib/libc/softfloat/ltdf2.c +++ b/lib/libc/softfloat/ltdf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ltdf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: ltdf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: ltdf2.c,v 1.1 2000/06/06 08:15:06 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __ltdf2(float64, float64); +flag __ltdf2(float64, float64) __dso_protected; flag __ltdf2(float64 a, float64 b) diff --git a/lib/libc/softfloat/ltsf2.c b/lib/libc/softfloat/ltsf2.c index 223d3f2bbff..6aa032f4f79 100644 --- a/lib/libc/softfloat/ltsf2.c +++ b/lib/libc/softfloat/ltsf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ltsf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: ltsf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: ltsf2.c,v 1.1 2000/06/06 08:15:06 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __ltsf2(float32, float32); +flag __ltsf2(float32, float32) __dso_protected; flag __ltsf2(float32 a, float32 b) diff --git a/lib/libc/softfloat/nedf2.c b/lib/libc/softfloat/nedf2.c index 55725bbbbcd..a79669013be 100644 --- a/lib/libc/softfloat/nedf2.c +++ b/lib/libc/softfloat/nedf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nedf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: nedf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: nedf2.c,v 1.1 2000/06/06 08:15:07 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __nedf2(float64, float64); +flag __nedf2(float64, float64) __dso_protected; flag __nedf2(float64 a, float64 b) diff --git a/lib/libc/softfloat/negdf2.c b/lib/libc/softfloat/negdf2.c index ad052758419..c619675c62f 100644 --- a/lib/libc/softfloat/negdf2.c +++ b/lib/libc/softfloat/negdf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: negdf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: negdf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: negdf2.c,v 1.1 2000/06/06 08:15:07 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -float64 __negdf2(float64); +float64 __negdf2(float64) __dso_protected; float64 __negdf2(float64 a) diff --git a/lib/libc/softfloat/negsf2.c b/lib/libc/softfloat/negsf2.c index 7d59da6f128..faac82fd793 100644 --- a/lib/libc/softfloat/negsf2.c +++ b/lib/libc/softfloat/negsf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: negsf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: negsf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: negsf2.c,v 1.1 2000/06/06 08:15:07 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -float32 __negsf2(float32); +float32 __negsf2(float32) __dso_protected; float32 __negsf2(float32 a) diff --git a/lib/libc/softfloat/nesf2.c b/lib/libc/softfloat/nesf2.c index e86f58c02bd..82465ba752f 100644 --- a/lib/libc/softfloat/nesf2.c +++ b/lib/libc/softfloat/nesf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nesf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: nesf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: nesf2.c,v 1.1 2000/06/06 08:15:07 bjh21 Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __nesf2(float32, float32); +flag __nesf2(float32, float32) __dso_protected; flag __nesf2(float32 a, float32 b) diff --git a/lib/libc/softfloat/softfloat.h b/lib/libc/softfloat/softfloat.h index 19b6908751a..815ae8d4a91 100644 --- a/lib/libc/softfloat/softfloat.h +++ b/lib/libc/softfloat/softfloat.h @@ -1,4 +1,4 @@ -/* $OpenBSD: softfloat.h,v 1.2 2011/07/05 05:13:21 drahn Exp $ */ +/* $OpenBSD: softfloat.h,v 1.3 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: softfloat.h,v 1.6 2002/05/12 13:12:46 bjh21 Exp $ */ /* This is a derivative work. */ @@ -121,22 +121,22 @@ void float_raise( fp_except ); Software IEC/IEEE integer-to-floating-point conversion routines. ------------------------------------------------------------------------------- */ -float32 int32_to_float32( int ); -float64 int32_to_float64( int ); +float32 int32_to_float32( int ) __dso_protected; +float64 int32_to_float64( int ) __dso_protected; #ifdef FLOATX80 -floatx80 int32_to_floatx80( int ); +floatx80 int32_to_floatx80( int ) __dso_protected; #endif #ifdef FLOAT128 -float128 int32_to_float128( int ); +float128 int32_to_float128( int ) __dso_protected; #endif #ifndef SOFTFLOAT_FOR_GCC /* __floatdi?f is in libgcc2.c */ -float32 int64_to_float32( long long ); -float64 int64_to_float64( long long ); +float32 int64_to_float32( long long ) __dso_protected; +float64 int64_to_float64( long long ) __dso_protected; #ifdef FLOATX80 -floatx80 int64_to_floatx80( long long ); +floatx80 int64_to_floatx80( long long ) __dso_protected; #endif #ifdef FLOAT128 -float128 int64_to_float128( long long ); +float128 int64_to_float128( long long ) __dso_protected; #endif #endif @@ -145,21 +145,21 @@ float128 int64_to_float128( long long ); Software IEC/IEEE single-precision conversion routines. ------------------------------------------------------------------------------- */ -int float32_to_int32( float32 ); -int float32_to_int32_round_to_zero( float32 ); +int float32_to_int32( float32 ) __dso_protected; +int float32_to_int32_round_to_zero( float32 ) __dso_protected; #if defined(SOFTFLOAT_FOR_GCC) && defined(SOFTFLOAT_NEED_FIXUNS) -unsigned int float32_to_uint32_round_to_zero( float32 ); +unsigned int float32_to_uint32_round_to_zero( float32 ) __dso_protected; #endif #ifndef SOFTFLOAT_FOR_GCC /* __fix?fdi provided by libgcc2.c */ -long long float32_to_int64( float32 ); -long long float32_to_int64_round_to_zero( float32 ); +long long float32_to_int64( float32 ) __dso_protected; +long long float32_to_int64_round_to_zero( float32 ) __dso_protected; #endif -float64 float32_to_float64( float32 ); +float64 float32_to_float64( float32 ) __dso_protected; #ifdef FLOATX80 -floatx80 float32_to_floatx80( float32 ); +floatx80 float32_to_floatx80( float32 ) __dso_protected; #endif #ifdef FLOAT128 -float128 float32_to_float128( float32 ); +float128 float32_to_float128( float32 ) __dso_protected; #endif /* @@ -167,21 +167,21 @@ float128 float32_to_float128( float32 ); Software IEC/IEEE single-precision operations. ------------------------------------------------------------------------------- */ -float32 float32_round_to_int( float32 ); -float32 float32_add( float32, float32 ); -float32 float32_sub( float32, float32 ); -float32 float32_mul( float32, float32 ); -float32 float32_div( float32, float32 ); -float32 float32_rem( float32, float32 ); -float32 float32_sqrt( float32 ); -int float32_eq( float32, float32 ); -int float32_le( float32, float32 ); -int float32_lt( float32, float32 ); -int float32_eq_signaling( float32, float32 ); -int float32_le_quiet( float32, float32 ); -int float32_lt_quiet( float32, float32 ); +float32 float32_round_to_int( float32 ) __dso_protected; +float32 float32_add( float32, float32 ) __dso_protected; +float32 float32_sub( float32, float32 ) __dso_protected; +float32 float32_mul( float32, float32 ) __dso_protected; +float32 float32_div( float32, float32 ) __dso_protected; +float32 float32_rem( float32, float32 ) __dso_protected; +float32 float32_sqrt( float32 ) __dso_protected; +int float32_eq( float32, float32 ) __dso_protected; +int float32_le( float32, float32 ) __dso_protected; +int float32_lt( float32, float32 ) __dso_protected; +int float32_eq_signaling( float32, float32 ) __dso_protected; +int float32_le_quiet( float32, float32 ) __dso_protected; +int float32_lt_quiet( float32, float32 ) __dso_protected; #ifndef SOFTFLOAT_FOR_GCC -int float32_is_signaling_nan( float32 ); +int float32_is_signaling_nan( float32 ) __dso_protected; #endif /* @@ -189,21 +189,21 @@ int float32_is_signaling_nan( float32 ); Software IEC/IEEE double-precision conversion routines. ------------------------------------------------------------------------------- */ -int float64_to_int32( float64 ); -int float64_to_int32_round_to_zero( float64 ); +int float64_to_int32( float64 ) __dso_protected; +int float64_to_int32_round_to_zero( float64 ) __dso_protected; #if defined(SOFTFLOAT_FOR_GCC) && defined(SOFTFLOAT_NEED_FIXUNS) -unsigned int float64_to_uint32_round_to_zero( float64 ); +unsigned int float64_to_uint32_round_to_zero( float64 ) __dso_protected; #endif #ifndef SOFTFLOAT_FOR_GCC /* __fix?fdi provided by libgcc2.c */ -long long float64_to_int64( float64 ); -long long float64_to_int64_round_to_zero( float64 ); +long long float64_to_int64( float64 ) __dso_protected; +long long float64_to_int64_round_to_zero( float64 ) __dso_protected; #endif -float32 float64_to_float32( float64 ); +float32 float64_to_float32( float64 ) __dso_protected; #ifdef FLOATX80 -floatx80 float64_to_floatx80( float64 ); +floatx80 float64_to_floatx80( float64 ) __dso_protected; #endif #ifdef FLOAT128 -float128 float64_to_float128( float64 ); +float128 float64_to_float128( float64 ) __dso_protected; #endif /* @@ -211,21 +211,21 @@ float128 float64_to_float128( float64 ); Software IEC/IEEE double-precision operations. ------------------------------------------------------------------------------- */ -float64 float64_round_to_int( float64 ); -float64 float64_add( float64, float64 ); -float64 float64_sub( float64, float64 ); -float64 float64_mul( float64, float64 ); -float64 float64_div( float64, float64 ); -float64 float64_rem( float64, float64 ); -float64 float64_sqrt( float64 ); -int float64_eq( float64, float64 ); -int float64_le( float64, float64 ); -int float64_lt( float64, float64 ); -int float64_eq_signaling( float64, float64 ); -int float64_le_quiet( float64, float64 ); -int float64_lt_quiet( float64, float64 ); +float64 float64_round_to_int( float64 ) __dso_protected; +float64 float64_add( float64, float64 ) __dso_protected; +float64 float64_sub( float64, float64 ) __dso_protected; +float64 float64_mul( float64, float64 ) __dso_protected; +float64 float64_div( float64, float64 ) __dso_protected; +float64 float64_rem( float64, float64 ) __dso_protected; +float64 float64_sqrt( float64 ) __dso_protected; +int float64_eq( float64, float64 ) __dso_protected; +int float64_le( float64, float64 ) __dso_protected; +int float64_lt( float64, float64 ) __dso_protected; +int float64_eq_signaling( float64, float64 ) __dso_protected; +int float64_le_quiet( float64, float64 ) __dso_protected; +int float64_lt_quiet( float64, float64 ) __dso_protected; #ifndef SOFTFLOAT_FOR_GCC -int float64_is_signaling_nan( float64 ); +int float64_is_signaling_nan( float64 ) __dso_protected; #endif #ifdef FLOATX80 @@ -235,14 +235,14 @@ int float64_is_signaling_nan( float64 ); Software IEC/IEEE extended double-precision conversion routines. ------------------------------------------------------------------------------- */ -int floatx80_to_int32( floatx80 ); -int floatx80_to_int32_round_to_zero( floatx80 ); -long long floatx80_to_int64( floatx80 ); -long long floatx80_to_int64_round_to_zero( floatx80 ); -float32 floatx80_to_float32( floatx80 ); -float64 floatx80_to_float64( floatx80 ); +int floatx80_to_int32( floatx80 ) __dso_protected; +int floatx80_to_int32_round_to_zero( floatx80 ) __dso_protected; +long long floatx80_to_int64( floatx80 ) __dso_protected; +long long floatx80_to_int64_round_to_zero( floatx80 ) __dso_protected; +float32 floatx80_to_float32( floatx80 ) __dso_protected; +float64 floatx80_to_float64( floatx80 ) __dso_protected; #ifdef FLOAT128 -float128 floatx80_to_float128( floatx80 ); +float128 floatx80_to_float128( floatx80 ) __dso_protected; #endif /* @@ -258,20 +258,20 @@ extern int floatx80_rounding_precision; Software IEC/IEEE extended double-precision operations. ------------------------------------------------------------------------------- */ -floatx80 floatx80_round_to_int( floatx80 ); -floatx80 floatx80_add( floatx80, floatx80 ); -floatx80 floatx80_sub( floatx80, floatx80 ); -floatx80 floatx80_mul( floatx80, floatx80 ); -floatx80 floatx80_div( floatx80, floatx80 ); -floatx80 floatx80_rem( floatx80, floatx80 ); -floatx80 floatx80_sqrt( floatx80 ); -int floatx80_eq( floatx80, floatx80 ); -int floatx80_le( floatx80, floatx80 ); -int floatx80_lt( floatx80, floatx80 ); -int floatx80_eq_signaling( floatx80, floatx80 ); -int floatx80_le_quiet( floatx80, floatx80 ); -int floatx80_lt_quiet( floatx80, floatx80 ); -int floatx80_is_signaling_nan( floatx80 ); +floatx80 floatx80_round_to_int( floatx80 ) __dso_protected; +floatx80 floatx80_add( floatx80, floatx80 ) __dso_protected; +floatx80 floatx80_sub( floatx80, floatx80 ) __dso_protected; +floatx80 floatx80_mul( floatx80, floatx80 ) __dso_protected; +floatx80 floatx80_div( floatx80, floatx80 ) __dso_protected; +floatx80 floatx80_rem( floatx80, floatx80 ) __dso_protected; +floatx80 floatx80_sqrt( floatx80 ) __dso_protected; +int floatx80_eq( floatx80, floatx80 ) __dso_protected; +int floatx80_le( floatx80, floatx80 ) __dso_protected; +int floatx80_lt( floatx80, floatx80 ) __dso_protected; +int floatx80_eq_signaling( floatx80, floatx80 ) __dso_protected; +int floatx80_le_quiet( floatx80, floatx80 ) __dso_protected; +int floatx80_lt_quiet( floatx80, floatx80 ) __dso_protected; +int floatx80_is_signaling_nan( floatx80 ) __dso_protected; #endif @@ -282,14 +282,14 @@ int floatx80_is_signaling_nan( floatx80 ); Software IEC/IEEE quadruple-precision conversion routines. ------------------------------------------------------------------------------- */ -int float128_to_int32( float128 ); -int float128_to_int32_round_to_zero( float128 ); -long long float128_to_int64( float128 ); -long long float128_to_int64_round_to_zero( float128 ); -float32 float128_to_float32( float128 ); -float64 float128_to_float64( float128 ); +int float128_to_int32( float128 ) __dso_protected; +int float128_to_int32_round_to_zero( float128 ) __dso_protected; +long long float128_to_int64( float128 ) __dso_protected; +long long float128_to_int64_round_to_zero( float128 ) __dso_protected; +float32 float128_to_float32( float128 ) __dso_protected; +float64 float128_to_float64( float128 ) __dso_protected; #ifdef FLOATX80 -floatx80 float128_to_floatx80( float128 ); +floatx80 float128_to_floatx80( float128 ) __dso_protected; #endif /* @@ -297,20 +297,20 @@ floatx80 float128_to_floatx80( float128 ); Software IEC/IEEE quadruple-precision operations. ------------------------------------------------------------------------------- */ -float128 float128_round_to_int( float128 ); -float128 float128_add( float128, float128 ); -float128 float128_sub( float128, float128 ); -float128 float128_mul( float128, float128 ); -float128 float128_div( float128, float128 ); -float128 float128_rem( float128, float128 ); -float128 float128_sqrt( float128 ); -int float128_eq( float128, float128 ); -int float128_le( float128, float128 ); -int float128_lt( float128, float128 ); -int float128_eq_signaling( float128, float128 ); -int float128_le_quiet( float128, float128 ); -int float128_lt_quiet( float128, float128 ); -int float128_is_signaling_nan( float128 ); +float128 float128_round_to_int( float128 ) __dso_protected; +float128 float128_add( float128, float128 ) __dso_protected; +float128 float128_sub( float128, float128 ) __dso_protected; +float128 float128_mul( float128, float128 ) __dso_protected; +float128 float128_div( float128, float128 ) __dso_protected; +float128 float128_rem( float128, float128 ) __dso_protected; +float128 float128_sqrt( float128 ) __dso_protected; +int float128_eq( float128, float128 ) __dso_protected; +int float128_le( float128, float128 ) __dso_protected; +int float128_lt( float128, float128 ) __dso_protected; +int float128_eq_signaling( float128, float128 ) __dso_protected; +int float128_le_quiet( float128, float128 ) __dso_protected; +int float128_lt_quiet( float128, float128 ) __dso_protected; +int float128_is_signaling_nan( float128 ) __dso_protected; #endif diff --git a/lib/libc/softfloat/unorddf2.c b/lib/libc/softfloat/unorddf2.c index 4619df186d1..beb74de1d11 100644 --- a/lib/libc/softfloat/unorddf2.c +++ b/lib/libc/softfloat/unorddf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: unorddf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: unorddf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: unorddf2.c,v 1.1 2003/05/06 08:58:19 rearnsha Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __unorddf2(float64, float64); +flag __unorddf2(float64, float64) __dso_protected; flag __unorddf2(float64 a, float64 b) diff --git a/lib/libc/softfloat/unordsf2.c b/lib/libc/softfloat/unordsf2.c index c58983be2b2..4ed282498f1 100644 --- a/lib/libc/softfloat/unordsf2.c +++ b/lib/libc/softfloat/unordsf2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: unordsf2.c,v 1.3 2015/09/13 14:21:46 miod Exp $ */ +/* $OpenBSD: unordsf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $ */ /* $NetBSD: unordsf2.c,v 1.1 2003/05/06 08:58:20 rearnsha Exp $ */ /* @@ -9,7 +9,7 @@ #include "milieu.h" #include <softfloat.h> -flag __unordsf2(float32, float32); +flag __unordsf2(float32, float32) __dso_protected; flag __unordsf2(float32 a, float32 b) |