diff --git a/sys/boot/i386/Makefile.inc b/sys/boot/i386/Makefile.inc index f5faec7..a9cf593 100644 --- a/sys/boot/i386/Makefile.inc +++ b/sys/boot/i386/Makefile.inc @@ -12,7 +12,6 @@ LDFLAGS+= -nostdlib .if ${MACHINE_CPUARCH} == "amd64" CFLAGS+= -m32 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 65815a5..61840dd 100644 --- a/sys/boot/i386/boot2/Makefile +++ b/sys/boot/i386/boot2/Makefile @@ -109,3 +109,10 @@ machine: # XXX: clang integrated-as doesn't grok .codeNN directives yet CFLAGS.boot1.S= ${CLANG_NO_IAS} CFLAGS+= ${CFLAGS.${.IMPSRC:T}} + +# gcc 4.6 or later version, -fno-asynchronous-unwind-tables is required to build. +CFLAGS+= -fno-asynchronous-unwind-tables + +.if ${MACHINE_CPUARCH} == "amd64" +LDFLAGS+= -m elf_i386_fbsd +.endif diff --git a/sys/boot/i386/gptboot/Makefile b/sys/boot/i386/gptboot/Makefile index e1a640a..29886cc 100644 --- a/sys/boot/i386/gptboot/Makefile +++ b/sys/boot/i386/gptboot/Makefile @@ -78,3 +78,8 @@ machine: # XXX: clang integrated-as doesn't grok .codeNN directives yet CFLAGS.gptldr.S= ${CLANG_NO_IAS} CFLAGS+= ${CFLAGS.${.IMPSRC:T}} + +.if ${MACHINE_CPUARCH} == "amd64" +LDFLAGS+= -m elf_i386_fbsd +.endif + diff --git a/sys/boot/i386/gptzfsboot/Makefile b/sys/boot/i386/gptzfsboot/Makefile index a2b8fcc..107f531 100644 --- a/sys/boot/i386/gptzfsboot/Makefile +++ b/sys/boot/i386/gptzfsboot/Makefile @@ -76,3 +76,8 @@ machine: # XXX: clang integrated-as doesn't grok .codeNN directives yet CFLAGS.gptldr.S= ${CLANG_NO_IAS} CFLAGS+= ${CFLAGS.${.IMPSRC:T}} + +.if ${MACHINE_CPUARCH} == "amd64" +LDFLAGS+= -m elf_i386_fbsd +.endif + diff --git a/sys/boot/i386/zfsboot/Makefile b/sys/boot/i386/zfsboot/Makefile index b2db778..252dc62 100644 --- a/sys/boot/i386/zfsboot/Makefile +++ b/sys/boot/i386/zfsboot/Makefile @@ -89,3 +89,8 @@ machine: # XXX: clang integrated-as doesn't grok .codeNN directives yet CFLAGS.zfsldr.S= ${CLANG_NO_IAS} CFLAGS+= ${CFLAGS.${.IMPSRC:T}} + +.if ${MACHINE_CPUARCH} == "amd64" +LDFLAGS+= -m elf_i386_fbsd +.endif +