summaryrefslogtreecommitdiffstats
path: root/sys/boot
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2011-07-17 13:50:21 +0000
committerdim <dim@FreeBSD.org>2011-07-17 13:50:21 +0000
commit361b73bb06971246a53719594189d76f7d84073d (patch)
tree1ddceb2fe19d82453284b6439e3052b8aef490e4 /sys/boot
parent7be61ab1fde106acd3a342281de4377704baaa9f (diff)
downloadFreeBSD-src-361b73bb06971246a53719594189d76f7d84073d.zip
FreeBSD-src-361b73bb06971246a53719594189d76f7d84073d.tar.gz
When building some of the boot loaders with clang, and DEBUG_FLAGS or
CFLAGS having '-g' in it, clang outputs several assembly directives that are too new for our version of binutils. Therefore, assemble the resulting .s files with clang instead. A more general solution can be implemented when a GNU as-compatible driver for clang's integrated assembler appears. Reported by: dougb
Diffstat (limited to 'sys/boot')
-rw-r--r--sys/boot/i386/Makefile.inc1
-rw-r--r--sys/boot/i386/boot2/Makefile3
-rw-r--r--sys/boot/i386/zfsboot/Makefile3
3 files changed, 7 insertions, 0 deletions
diff --git a/sys/boot/i386/Makefile.inc b/sys/boot/i386/Makefile.inc
index f165042..0cad7d2 100644
--- a/sys/boot/i386/Makefile.inc
+++ b/sys/boot/i386/Makefile.inc
@@ -11,6 +11,7 @@ LDFLAGS+= -nostdlib
.if ${MACHINE_CPUARCH} == "amd64"
CFLAGS+= -m32 -march=i386
+ACFLAGS+= -m32
LDFLAGS+= -m elf_i386_fbsd
AFLAGS+= --32
.endif
diff --git a/sys/boot/i386/boot2/Makefile b/sys/boot/i386/boot2/Makefile
index 9568c1c1..e2fc534 100644
--- a/sys/boot/i386/boot2/Makefile
+++ b/sys/boot/i386/boot2/Makefile
@@ -89,6 +89,9 @@ boot2.out: ${BTXCRT} boot2.o sio.o
${LD} ${LDFLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC}
boot2.o: boot2.s
+.if ${CC:T:Mclang} == "clang"
+ ${CC} ${ACFLAGS} -c boot2.s
+.endif
SRCS= boot2.c boot2.h
diff --git a/sys/boot/i386/zfsboot/Makefile b/sys/boot/i386/zfsboot/Makefile
index 65df86f..8caff27 100644
--- a/sys/boot/i386/zfsboot/Makefile
+++ b/sys/boot/i386/zfsboot/Makefile
@@ -86,6 +86,9 @@ zfsboot.out: ${BTXCRT} zfsboot.o sio.o drv.o cons.o util.o
${LD} ${LDFLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC} ${LIBSTAND}
zfsboot.o: zfsboot.s
+.if ${CC:T:Mclang} == "clang"
+ ${CC} ${ACFLAGS} -c zfsboot.s
+.endif
SRCS= zfsboot.c
OpenPOWER on IntegriCloud