diff options
author | dim <dim@FreeBSD.org> | 2011-07-17 13:50:21 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2011-07-17 13:50:21 +0000 |
commit | 361b73bb06971246a53719594189d76f7d84073d (patch) | |
tree | 1ddceb2fe19d82453284b6439e3052b8aef490e4 | |
parent | 7be61ab1fde106acd3a342281de4377704baaa9f (diff) | |
download | FreeBSD-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
-rw-r--r-- | sys/boot/i386/Makefile.inc | 1 | ||||
-rw-r--r-- | sys/boot/i386/boot2/Makefile | 3 | ||||
-rw-r--r-- | sys/boot/i386/zfsboot/Makefile | 3 |
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 |