Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Sep 2017 12:31:38 +0800
From:      Jia-Shiun Li <jiashiun@gmail.com>
To:        Warner Losh <imp@bsdimp.com>
Cc:        Warner Losh <imp@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r323063 - head/sys/boot/efi/boot1
Message-ID:  <CAHNYxxOfVRQBofX3K5yF7NOyVESZdu1V0WnPMrz5JDtp7pKhkA@mail.gmail.com>
In-Reply-To: <CANCZdfpPrbEFkESC%2BUp5fjVxko=MwbrrTDmeXavc9VY7FanFEA@mail.gmail.com>
References:  <201708311732.v7VHWEvs037245@repo.freebsd.org> <CAHNYxxNKsB1VzSV89N8n3Hwdrxp_KNjAHhqK8JE4hM2xCmn=tA@mail.gmail.com> <CANCZdfpPrbEFkESC%2BUp5fjVxko=MwbrrTDmeXavc9VY7FanFEA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Sep 5, 2017 at 9:33 PM, Warner Losh <imp@bsdimp.com> wrote:

> On Mon, Sep 4, 2017 at 11:51 PM, Jia-Shiun Li <jiashiun@gmail.com> wrote:
>
>> Seems to cause armv6 crossbuild to fail.
>> But did armv6 use efi anyway?
>>
>
>
Yea, this is just a command line flag. Will fix. Not sure why x86 doesn't
> suffer from this, but it's a wchar_t size difference I'm sure.
>

amd64 has -fshort-wchar when compiling boot1.c. aarch64 has it too but
armv6 doesn't.
Looks it's missing from sys/boot/efi/Makefile.inc.

from build log,

amd64:
--- boot1.o ---
cc -target x86_64-unknown-freebsd12.0
--sysroot=/usr/obj/personal/freebsd/fbsdsrc/tmp
-B/usr/obj/personal/freebsd/fbsdsrc/tmp/usr/bin  -O2 -pipe
-DSKEIN_LOOP=111 -I.
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../include
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../include/amd64
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../../contrib/dev/acpica/include
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../.. -DEFI_UFS_BOOT
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../zfs/
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../../cddl/boot/zfs/
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../../crypto/skein
-DEFI_ZFS_BOOT -I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../common
-fPIC -ffreestanding -Wformat -mno-mmx -mno-sse -mno-avx -msoft-float
-fshort-wchar -mno-red-zone -mno-aes -g -MD  -MF.depend.boot1.o -MTboot1.o
-std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W
-Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes
-Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow
-Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs
-Wredundant-decls -Wold-style-definition -Wno-pointer-sign
-Wmissing-variable-declarations -Wthread-safety -Wno-empty-body
-Wno-string-plus-int -Wno-unused-const-variable  -Qunused-arguments  -c
/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/boot1.c -o boot1.o


armv6:
--- boot1.o ---
cc -target armv6-gnueabihf-freebsd12.0
--sysroot=/usr/obj/arm.armv6/personal/freebsd/fbsdsrc/tmp
-B/usr/obj/arm.armv6/personal/freebsd/fbsdsrc/tmp/usr/bin  -O -pipe
-DSKEIN_LOOP=111 -I.
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../include
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../include/arm
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../../contrib/dev/acpica/include
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../.. -DEFI_UFS_BOOT
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../zfs/
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../../cddl/boot/zfs/
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../../crypto/skein
-DEFI_ZFS_BOOT -I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../common
-ffreestanding -Wformat  -msoft-float -fPIC -g -MD  -MF.depend.boot1.o
-MTboot1.o -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W
-Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes
-Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow
-Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs
-Wredundant-decls -Wold-style-definition -Wno-pointer-sign
-Wmissing-variable-declarations -Wthread-safety -Wno-empty-body
-Wno-string-plus-int -Wno-unused-const-variable  -mno-movt -mfpu=none
-Qunused-arguments  -c /personal/freebsd/fbsdsrc/sys/boot/efi/boot1/boot1.c
-o boot1.o

aarch64:
--- boot1.o ---
cc -target aarch64-unknown-freebsd12.0
--sysroot=/usr/obj/arm64.aarch64/personal/freebsd/fbsdsrc/tmp
-B/usr/obj/arm64.aarch64/personal/freebsd/fbsdsrc/tmp/usr/bin  -O2 -pipe
-DSKEIN_LOOP=111 -I.
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../include
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../include/arm64
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../../contrib/dev/acpica/include
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../.. -DEFI_UFS_BOOT
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../zfs/
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../../cddl/boot/zfs/
-I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../../crypto/skein
-DEFI_ZFS_BOOT -I/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/../../common
-mgeneral-regs-only -ffreestanding -Wformat  -fshort-wchar -fPIC -g -MD
-MF.depend.boot1.o -MTboot1.o -std=gnu99 -Wsystem-headers -Werror -Wall
-Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
-Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align
-Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
-Wold-style-definition -Wno-pointer-sign -Wmissing-variable-declarations
-Wthread-safety -Wno-empty-body -Wno-string-plus-int
-Wno-unused-const-variable  -Qunused-arguments  -c
/personal/freebsd/fbsdsrc/sys/boot/efi/boot1/boot1.c -o boot1.o

-Jia-Shiun



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHNYxxOfVRQBofX3K5yF7NOyVESZdu1V0WnPMrz5JDtp7pKhkA>