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
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to