So here is a diff that starts using -ffreestanding on amd64 and brings
arm64 and armv7 (which are already using -ffreestanding) in line with
amd64.

I'd like to get this in to give it some exposure before I start
converting the other architectures.


Index: arch/amd64/conf/Makefile.amd64
===================================================================
RCS file: /cvs/src/sys/arch/amd64/conf/Makefile.amd64,v
retrieving revision 1.74
diff -u -p -r1.74 Makefile.amd64
--- arch/amd64/conf/Makefile.amd64      29 Nov 2016 09:08:34 -0000      1.74
+++ arch/amd64/conf/Makefile.amd64      24 Jan 2017 08:29:50 -0000
@@ -24,14 +24,12 @@ _archdir?=  $S/arch/${_arch}
 INCLUDES=      -nostdinc -I$S -I${.OBJDIR} -I$S/arch
 CPPFLAGS=      ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP
 CWARNFLAGS=    -Werror -Wall -Wimplicit-function-declaration \
-               -Wno-main -Wno-uninitialized -Wno-pointer-sign \
+               -Wno-uninitialized -Wno-pointer-sign \
                -Wframe-larger-than=2047
 
 CMACHFLAGS=    -mcmodel=kernel -mno-red-zone -mno-sse2 -mno-sse -mno-3dnow \
                -mno-mmx -msoft-float -fno-omit-frame-pointer
-CMACHFLAGS+=   -fno-builtin-printf -fno-builtin-snprintf \
-               -fno-builtin-vsnprintf -fno-builtin-log \
-               -fno-builtin-log2 -fno-builtin-malloc ${NOPIE_FLAGS}
+CMACHFLAGS+=   -ffreestanding ${NOPIE_FLAGS}
 .if ${IDENT:M-DNO_PROPOLICE}
 CMACHFLAGS+=   -fno-stack-protector
 .endif
Index: arch/arm64/conf/Makefile.arm64
===================================================================
RCS file: /cvs/src/sys/arch/arm64/conf/Makefile.arm64,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile.arm64
--- arch/arm64/conf/Makefile.arm64      19 Dec 2016 09:53:21 -0000      1.2
+++ arch/arm64/conf/Makefile.arm64      24 Jan 2017 08:29:50 -0000
@@ -24,15 +24,13 @@ _archdir?=  $S/arch/${_arch}
 INCLUDES=      -nostdinc -I$S -I${.OBJDIR} -I$S/arch
 CPPFLAGS=      ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
 CWARNFLAGS=    -Werror -Wall -Wimplicit-function-declaration \
-               -Wno-main -Wno-uninitialized -Wno-pointer-sign \
+               -Wno-uninitialized -Wno-pointer-sign \
                -Wframe-larger-than=2047
 
-CMACHFLAGS=    -ffreestanding -mcpu=cortex-a57+nofp+nosimd \
+CMACHFLAGS=    -mcpu=cortex-a57+nofp+nosimd \
                -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer \
                -ffixed-x18
-CMACHFLAGS+=   -fno-builtin-printf -fno-builtin-snprintf \
-               -fno-builtin-vsnprintf -fno-builtin-log \
-               -fno-builtin-log2 -fno-builtin-malloc ${NOPIE_FLAGS}
+CMACHFLAGS+=   -ffreestanding ${NOPIE_FLAGS}
 .if ${IDENT:M-DNO_PROPOLICE}
 CMACHFLAGS+=   -fno-stack-protector
 .endif
Index: arch/armv7/conf/Makefile.armv7
===================================================================
RCS file: /cvs/src/sys/arch/armv7/conf/Makefile.armv7,v
retrieving revision 1.20
diff -u -p -r1.20 Makefile.armv7
--- arch/armv7/conf/Makefile.armv7      29 Nov 2016 09:08:34 -0000      1.20
+++ arch/armv7/conf/Makefile.armv7      24 Jan 2017 08:29:50 -0000
@@ -24,13 +24,11 @@ _archdir?=  $S/arch/${_arch}
 INCLUDES=      -nostdinc -I$S -I. -I$S/arch
 CPPFLAGS=      ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
 CWARNFLAGS=    -Werror -Wall -Wimplicit-function-declaration \
-               -Wno-main -Wno-uninitialized -Wno-pointer-sign \
+               -Wno-uninitialized -Wno-pointer-sign \
                -Wframe-larger-than=2047
 
-CMACHFLAGS=    -ffreestanding -msoft-float -march=armv6 -Wa,-march=armv7a
-CMACHFLAGS+=   -fno-builtin-printf -fno-builtin-snprintf \
-               -fno-builtin-vsnprintf -fno-builtin-log \
-               -fno-builtin-log2 -fno-builtin-malloc ${NOPIE_FLAGS}
+CMACHFLAGS=    -msoft-float -march=armv6 -Wa,-march=armv7a
+CMACHFLAGS+=   -ffreestanding ${NOPIE_FLAGS}
 .if ${IDENT:M-DNO_PROPOLICE}
 CMACHFLAGS+=   -fno-stack-protector
 .endif

Reply via email to