svn commit: r329859 - in head: contrib/compiler-rt/lib/builtins include stand sys/arm/include sys/arm64/include sys/mips/include sys/powerpc/include sys/riscv/include sys/sparc64/include sys/sys sy...
Warner Losh
imp at FreeBSD.org
Fri Feb 23 04:04:27 UTC 2018
Author: imp
Date: Fri Feb 23 04:04:25 2018
New Revision: 329859
URL: https://svnweb.freebsd.org/changeset/base/329859
Log:
Do not include float interfaces when using libsa.
We don't support float in the boot loaders, so don't include
interfaces for float or double in systems headers. In addition, take
the unusual step of spiking double and float to prevent any more
accidental seepage.
Modified:
head/contrib/compiler-rt/lib/builtins/int_types.h
head/include/time.h
head/stand/defs.mk
head/stand/lua.mk
head/sys/arm/include/_types.h
head/sys/arm64/include/_types.h
head/sys/mips/include/_types.h
head/sys/powerpc/include/_types.h
head/sys/powerpc/include/pcb.h
head/sys/riscv/include/_types.h
head/sys/sparc64/include/_types.h
head/sys/sys/_types.h
head/sys/x86/include/_types.h
Modified: head/contrib/compiler-rt/lib/builtins/int_types.h
==============================================================================
--- head/contrib/compiler-rt/lib/builtins/int_types.h Fri Feb 23 04:04:18 2018 (r329858)
+++ head/contrib/compiler-rt/lib/builtins/int_types.h Fri Feb 23 04:04:25 2018 (r329859)
@@ -114,6 +114,7 @@ static __inline tu_int make_tu(du_int h, du_int l) {
#endif /* CRT_HAS_128BIT */
+#ifndef _STANDALONE
typedef union
{
su_int u;
@@ -125,6 +126,7 @@ typedef union
udwords u;
double f;
} double_bits;
+#endif
typedef struct
{
@@ -137,6 +139,7 @@ typedef struct
#endif /* _YUGA_LITTLE_ENDIAN */
} uqwords;
+#ifndef _STANDALONE
typedef union
{
uqwords u;
@@ -159,6 +162,7 @@ typedef struct { long double real, imaginary; } Lcompl
#define COMPLEX_REAL(x) (x).real
#define COMPLEX_IMAGINARY(x) (x).imaginary
+#endif
#endif
#endif /* INT_TYPES_H */
Modified: head/include/time.h
==============================================================================
--- head/include/time.h Fri Feb 23 04:04:18 2018 (r329858)
+++ head/include/time.h Fri Feb 23 04:04:25 2018 (r329859)
@@ -146,7 +146,9 @@ __BEGIN_DECLS
char *asctime(const struct tm *);
clock_t clock(void);
char *ctime(const time_t *);
+#ifndef _STANDALONE
double difftime(time_t, time_t);
+#endif
/* XXX missing: getdate() */
struct tm *gmtime(const time_t *);
struct tm *localtime(const time_t *);
Modified: head/stand/defs.mk
==============================================================================
--- head/stand/defs.mk Fri Feb 23 04:04:18 2018 (r329858)
+++ head/stand/defs.mk Fri Feb 23 04:04:25 2018 (r329859)
@@ -51,6 +51,9 @@ CFLAGS+= -I${BOOTOBJ}/libsa
.endif
CFLAGS+= -I${SASRC} -D_STANDALONE
CFLAGS+= -I${SYSDIR}
+# Spike the floating point interfaces
+CFLAGS+= -Ddouble=jagged-little-pill -Dfloat=boaty-mcboatface
+
# GELI Support, with backward compat hooks (mostly)
.if defined(HAVE_GELI)
Modified: head/stand/lua.mk
==============================================================================
--- head/stand/lua.mk Fri Feb 23 04:04:18 2018 (r329858)
+++ head/stand/lua.mk Fri Feb 23 04:04:25 2018 (r329859)
@@ -3,5 +3,4 @@
# Common flags to build lua related files
CFLAGS+= -I${LUASRC} -I${LDRSRC} -I${LIBLUASRC}
-# CFLAGS+= -Ddouble=jagged-little-pill -Dfloat=poison-shake -D__OMIT_FLOAT
CFLAGS+= -DLUA_FLOAT_TYPE=LUA_FLOAT_INT64
Modified: head/sys/arm/include/_types.h
==============================================================================
--- head/sys/arm/include/_types.h Fri Feb 23 04:04:18 2018 (r329858)
+++ head/sys/arm/include/_types.h Fri Feb 23 04:04:25 2018 (r329859)
@@ -70,8 +70,10 @@ typedef unsigned long long __uint64_t;
*/
typedef __uint32_t __clock_t; /* clock()... */
typedef __int32_t __critical_t;
+#ifndef _STANDALONE
typedef double __double_t;
typedef float __float_t;
+#endif
typedef __int32_t __intfptr_t;
typedef __int64_t __intmax_t;
typedef __int32_t __intptr_t;
Modified: head/sys/arm64/include/_types.h
==============================================================================
--- head/sys/arm64/include/_types.h Fri Feb 23 04:04:18 2018 (r329858)
+++ head/sys/arm64/include/_types.h Fri Feb 23 04:04:25 2018 (r329859)
@@ -56,8 +56,10 @@ typedef unsigned long __uint64_t;
*/
typedef __int32_t __clock_t; /* clock()... */
typedef __int64_t __critical_t;
+#ifndef _STANDALONE
typedef double __double_t;
typedef float __float_t;
+#endif
typedef __int64_t __intfptr_t;
typedef __int64_t __intmax_t;
typedef __int64_t __intptr_t;
Modified: head/sys/mips/include/_types.h
==============================================================================
--- head/sys/mips/include/_types.h Fri Feb 23 04:04:18 2018 (r329858)
+++ head/sys/mips/include/_types.h Fri Feb 23 04:04:25 2018 (r329859)
@@ -75,8 +75,10 @@ typedef unsigned long long __uint64_t;
* Standard type definitions.
*/
typedef __int32_t __clock_t; /* clock()... */
+#ifndef _STANDALONE
typedef double __double_t;
typedef float __float_t;
+#endif
#ifdef __mips_n64
typedef __int64_t __critical_t;
typedef __int64_t __intfptr_t;
Modified: head/sys/powerpc/include/_types.h
==============================================================================
--- head/sys/powerpc/include/_types.h Fri Feb 23 04:04:18 2018 (r329858)
+++ head/sys/powerpc/include/_types.h Fri Feb 23 04:04:25 2018 (r329859)
@@ -74,8 +74,10 @@ typedef unsigned long long __uint64_t;
* Standard type definitions.
*/
typedef __uint32_t __clock_t; /* clock()... */
+#ifndef _STANDALONE
typedef double __double_t;
typedef float __float_t;
+#endif
#ifdef __LP64__
typedef __int64_t __critical_t;
typedef __int64_t __intfptr_t;
Modified: head/sys/powerpc/include/pcb.h
==============================================================================
--- head/sys/powerpc/include/pcb.h Fri Feb 23 04:04:18 2018 (r329858)
+++ head/sys/powerpc/include/pcb.h Fri Feb 23 04:04:25 2018 (r329859)
@@ -39,6 +39,7 @@
#include <machine/setjmp.h>
+#ifndef _STANDALONE
struct pcb {
register_t pcb_context[20]; /* non-volatile r14-r31 */
register_t pcb_cr; /* Condition register */
@@ -81,6 +82,7 @@ struct pcb {
} booke;
} pcb_cpu;
};
+#endif
#ifdef _KERNEL
Modified: head/sys/riscv/include/_types.h
==============================================================================
--- head/sys/riscv/include/_types.h Fri Feb 23 04:04:18 2018 (r329858)
+++ head/sys/riscv/include/_types.h Fri Feb 23 04:04:25 2018 (r329859)
@@ -56,8 +56,10 @@ typedef unsigned long __uint64_t;
*/
typedef __int32_t __clock_t; /* clock()... */
typedef __int64_t __critical_t;
+#ifndef _STANDALONE
typedef double __double_t;
typedef float __float_t;
+#endif
typedef __int64_t __intfptr_t;
typedef __int64_t __intmax_t;
typedef __int64_t __intptr_t;
Modified: head/sys/sparc64/include/_types.h
==============================================================================
--- head/sys/sparc64/include/_types.h Fri Feb 23 04:04:18 2018 (r329858)
+++ head/sys/sparc64/include/_types.h Fri Feb 23 04:04:25 2018 (r329859)
@@ -58,8 +58,10 @@ typedef unsigned long __uint64_t;
*/
typedef __int32_t __clock_t; /* clock()... */
typedef __int64_t __critical_t;
+#ifndef _STANDALONE
typedef double __double_t;
typedef float __float_t;
+#endif
typedef __int64_t __intfptr_t;
typedef __int64_t __intmax_t;
typedef __int64_t __intptr_t;
Modified: head/sys/sys/_types.h
==============================================================================
--- head/sys/sys/_types.h Fri Feb 23 04:04:18 2018 (r329858)
+++ head/sys/sys/_types.h Fri Feb 23 04:04:25 2018 (r329859)
@@ -104,7 +104,9 @@ typedef __uint_least32_t __char32_t;
typedef struct {
long long __max_align1 __aligned(_Alignof(long long));
+#ifndef _STANDALONE
long double __max_align2 __aligned(_Alignof(long double));
+#endif
} __max_align_t;
typedef __uint64_t __dev_t; /* device number */
Modified: head/sys/x86/include/_types.h
==============================================================================
--- head/sys/x86/include/_types.h Fri Feb 23 04:04:18 2018 (r329858)
+++ head/sys/x86/include/_types.h Fri Feb 23 04:04:25 2018 (r329859)
@@ -74,15 +74,19 @@ typedef unsigned long long __uint64_t;
#ifdef __LP64__
typedef __int32_t __clock_t; /* clock()... */
typedef __int64_t __critical_t;
+#ifndef _STANDALONE
typedef double __double_t;
typedef float __float_t;
+#endif
typedef __int64_t __intfptr_t;
typedef __int64_t __intptr_t;
#else
typedef unsigned long __clock_t;
typedef __int32_t __critical_t;
+#ifndef _STANDALONE
typedef long double __double_t;
typedef long double __float_t;
+#endif
typedef __int32_t __intfptr_t;
typedef __int32_t __intptr_t;
#endif
More information about the svn-src-all
mailing list