> Date: Wed, 31 May 2017 22:22:40 +0200 > From: Christian Weisgerber <na...@mips.inka.de> > > The same changes as committed yesterday for amd64. > > This allows building the i386 bootstrap with clang: > * build with -ffreestanding > * skip the integrated assembler for assym.h > * use as(1) to build biosboot.S and the various versions of srt0.S > > Successfully tested for { pxeboot, disk boot } x { gcc, clang }. > > ok?
ok kettenis@ > Index: Makefile.inc > =================================================================== > RCS file: /cvs/src/sys/arch/i386/stand/Makefile.inc,v > retrieving revision 1.49 > diff -u -p -r1.49 Makefile.inc > --- Makefile.inc 6 Nov 2016 16:04:20 -0000 1.49 > +++ Makefile.inc 31 May 2017 19:50:35 -0000 > @@ -1,7 +1,7 @@ > # $OpenBSD: Makefile.inc,v 1.49 2016/11/06 16:04:20 tb Exp $ > > CFLAGS=${DEBUG} ${COPTS} -Os -Wall -Werror > -CFLAGS+= -fno-stack-protector -DMDRANDOM > +CFLAGS+= -ffreestanding -fno-stack-protector -DMDRANDOM > CPPFLAGS+=-I${S} -I${SADIR}/libsa -I. -I${.CURDIR} > SACFLAGS=-D_STANDALONE > DEBUGFLAGS= > @@ -23,13 +23,18 @@ CLEANFILES+= assym.h machine > > SACFLAGS+=-nostdinc -fno-builtin -fpack-struct > > +.include <bsd.own.mk> > +.if ${COMPILER_VERSION:Mclang} > +NO_INTEGR_AS= -no-integrated-as > +.endif > + > .if !make(clean) && !make(cleandir) && !make(includes) && !make(libdep) && \ > !make(sadep) && !make(salibdir) && !make(obj) > .BEGIN: > @([ X$(S) = X -o -h machine ] || ln -s $(S)/arch/i386/include machine) > > assym.h: ${S}/kern/genassym.sh ${SADIR}/etc/genassym.cf > - sh ${S}/kern/genassym.sh ${CC} ${CFLAGS} ${CPPFLAGS} \ > + sh ${S}/kern/genassym.sh ${CC} ${NO_INTEGR_AS} ${CFLAGS} ${CPPFLAGS} \ > ${PARAM} < ${SADIR}/etc/genassym.cf > assym.h.tmp && \ > mv -f assym.h.tmp assym.h > .endif > Index: biosboot/Makefile > =================================================================== > RCS file: /cvs/src/sys/arch/i386/stand/biosboot/Makefile,v > retrieving revision 1.27 > diff -u -p -r1.27 Makefile > --- biosboot/Makefile 30 Jul 2016 03:25:48 -0000 1.27 > +++ biosboot/Makefile 31 May 2017 19:52:09 -0000 > @@ -22,6 +22,7 @@ ${PROG}: $(OBJS) > CPPFLAGS+=-DLOADADDR=$(LOADADDR) -DLINKADDR=$(LINKADDR) > -DBOOTMAGIC=$(BOOTMAGIC) > CPPFLAGS+=${DEBUGFLAGS} > CFLAGS+=-fno-pie > +AFLAGS+=${NO_INTEGR_AS} > #AFLAGS+=-Wa,-a > AFLAGS+=-fno-pie > .else > Index: boot/Makefile > =================================================================== > RCS file: /cvs/src/sys/arch/i386/stand/boot/Makefile,v > retrieving revision 1.64 > diff -u -p -r1.64 Makefile > --- boot/Makefile 18 Sep 2016 16:34:59 -0000 1.64 > +++ boot/Makefile 31 May 2017 19:52:47 -0000 > @@ -81,6 +81,7 @@ CPPFLAGS+=-DBOOTMAGIC=$(BOOTMAGIC) ${DEB > CPPFLAGS+=-DSLOW -DSMALL -DNOBYFOUR -DNO_GZIP -DDYNAMIC_CRC_TABLE > CPPFLAGS+=-DHEAP_LIMIT=${HEAP_LIMIT} -I${S}/stand/boot #-DCOMPAT_UFS > CFLAGS+=-m32 $(SACFLAGS) -D__INTERNAL_LIBSA_CREAD -fno-pie > +AFLAGS+=${NO_INTEGR_AS} > AFLAGS+=-m32 # -Wa,-R > # AFLAGS+=-Wa,-a > AFLAGS+=-fno-pie > Index: cdboot/Makefile > =================================================================== > RCS file: /cvs/src/sys/arch/i386/stand/cdboot/Makefile,v > retrieving revision 1.29 > diff -u -p -r1.29 Makefile > --- cdboot/Makefile 18 Sep 2016 16:34:59 -0000 1.29 > +++ cdboot/Makefile 31 May 2017 19:54:15 -0000 > @@ -73,6 +73,7 @@ CFLAGS+=${SACFLAGS} -D__INTERNAL_LIBSA_C > CFLAGS+=-DOSREV=\"${OSREV}\" -DMACHINE=\"${MACHINE}\" > CFLAGS+=-DKERNEL=\"/${OSREV}/${MACHINE}/bsd.rd\" > CFLAGS+=-fno-pie > +AFLAGS+=${NO_INTEGR_AS} > #AFLAGS+=-Wa,-R > # AFLAGS+=-Wa,-a > AFLAGS+=-fno-pie > Index: pxeboot/Makefile > =================================================================== > RCS file: /cvs/src/sys/arch/i386/stand/pxeboot/Makefile,v > retrieving revision 1.26 > diff -u -p -r1.26 Makefile > --- pxeboot/Makefile 18 Sep 2016 16:34:59 -0000 1.26 > +++ pxeboot/Makefile 31 May 2017 19:55:58 -0000 > @@ -72,6 +72,7 @@ CPPFLAGS+=-DSLOW -DSMALL -DNOBYFOUR -DNO > CPPFLAGS+=-DHEAP_LIMIT=${HEAP_LIMIT} > CPPFLAGS+=-I${S}/stand/boot > CFLAGS+=$(SACFLAGS) -D__INTERNAL_LIBSA_CREAD -fno-pie > +AFLAGS+=${NO_INTEGR_AS} > #AFLAGS+=-Wa,-R > # AFLAGS+=-Wa,-a > AFLAGS+=-fno-pie > -- > Christian "naddy" Weisgerber na...@mips.inka.de > >