On 1/7/16, Ed Maste <ema...@freebsd.org> wrote:
> Author: emaste
> Date: Thu Jan  7 02:22:45 2016
> New Revision: 293297
> URL: https://svnweb.freebsd.org/changeset/base/293297
>
> Log:
>   MFC r280950: Move the efi loaders to be under sys/boot/efi
>
>   In HEAD this was done to support UEFI on arm64. Merging to stable/10 to
>   facilitate the merging of later UEFI changes.
>
> Added:
>   stable/10/sys/boot/efi/boot1/
>   stable/10/sys/boot/efi/boot1/Makefile   (contents, props changed)
>   stable/10/sys/boot/efi/boot1/Makefile.fat   (contents, props changed)
>   stable/10/sys/boot/efi/boot1/boot1.c   (contents, props changed)
>   stable/10/sys/boot/efi/boot1/fat.tmpl.bz2.uu   (contents, props changed)
>   stable/10/sys/boot/efi/boot1/generate-fat.sh   (contents, props changed)
>   stable/10/sys/boot/efi/loader/
>   stable/10/sys/boot/efi/loader/Makefile   (contents, props changed)
>   stable/10/sys/boot/efi/loader/arch/
>   stable/10/sys/boot/efi/loader/arch/amd64/
>   stable/10/sys/boot/efi/loader/arch/amd64/Makefile.inc   (contents, props
> changed)
>   stable/10/sys/boot/efi/loader/arch/amd64/amd64_tramp.S   (contents, props
> changed)
>   stable/10/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c   (contents,
> props changed)
>   stable/10/sys/boot/efi/loader/arch/amd64/framebuffer.c   (contents, props
> changed)
>   stable/10/sys/boot/efi/loader/arch/amd64/framebuffer.h   (contents, props
> changed)
>   stable/10/sys/boot/efi/loader/arch/amd64/ldscript.amd64   (contents, props
> changed)
>   stable/10/sys/boot/efi/loader/arch/amd64/reloc.c   (contents, props
> changed)
>   stable/10/sys/boot/efi/loader/arch/amd64/start.S   (contents, props
> changed)
>   stable/10/sys/boot/efi/loader/autoload.c   (contents, props changed)
>   stable/10/sys/boot/efi/loader/bootinfo.c   (contents, props changed)
>   stable/10/sys/boot/efi/loader/conf.c   (contents, props changed)
>   stable/10/sys/boot/efi/loader/copy.c   (contents, props changed)
>   stable/10/sys/boot/efi/loader/devicename.c   (contents, props changed)
>   stable/10/sys/boot/efi/loader/loader_efi.h   (contents, props changed)
>   stable/10/sys/boot/efi/loader/main.c   (contents, props changed)
>   stable/10/sys/boot/efi/loader/version   (contents, props changed)
> Modified:
>   stable/10/sys/boot/efi/Makefile
>   stable/10/sys/boot/efi/Makefile.inc
>
> Modified: stable/10/sys/boot/efi/Makefile
> ==============================================================================
> --- stable/10/sys/boot/efi/Makefile   Thu Jan  7 02:06:14 2016        
> (r293296)
> +++ stable/10/sys/boot/efi/Makefile   Thu Jan  7 02:22:45 2016        
> (r293297)
> @@ -2,4 +2,8 @@
>
>  SUBDIR=              libefi
>
> +.if ${MACHINE_CPUARCH} == "amd64"
> +SUBDIR+=     loader boot1
> +.endif
> +
>  .include <bsd.subdir.mk>
>
> Modified: stable/10/sys/boot/efi/Makefile.inc
> ==============================================================================
> --- stable/10/sys/boot/efi/Makefile.inc       Thu Jan  7 02:06:14 2016        
> (r293296)
> +++ stable/10/sys/boot/efi/Makefile.inc       Thu Jan  7 02:22:45 2016        
> (r293297)
> @@ -7,7 +7,10 @@ CFLAGS+=        -march=i386
>  .endif
>
>  # Options used when building app-specific efi components
> +# See conf/kern.mk for the correct set of these
>  CFLAGS+=     -ffreestanding -fshort-wchar -Wformat
> +CFLAGS+=     -mno-red-zone
> +CFLAGS+=     -mno-mmx -mno-sse -mno-aes -mno-avx -msoft-float
>  LDFLAGS+=    -nostdlib
>
>  .include "../Makefile.inc"
>
> Added: stable/10/sys/boot/efi/boot1/Makefile
> ==============================================================================
> --- /dev/null 00:00:00 1970   (empty, because file is newly added)
> +++ stable/10/sys/boot/efi/boot1/Makefile     Thu Jan  7 02:22:45
> 2016  (r293297)
> @@ -0,0 +1,84 @@
> +# $FreeBSD$
> +
> +MAN=
> +
> +.include <bsd.own.mk>
> +
> +# In-tree GCC does not support __attribute__((ms_abi)).
> +.if ${COMPILER_TYPE} != "gcc"
> +
> +MK_SSP=              no
> +
> +PROG=                loader.sym
> +INTERNALPROG=
> +
> +# architecture-specific loader code
> +SRCS=        boot1.c reloc.c start.S
> +
> +CFLAGS+=     -fPIC
> +CFLAGS+=     -I.
> +CFLAGS+=     -I${.CURDIR}/../include
> +CFLAGS+=     -I${.CURDIR}/../include/${MACHINE_CPUARCH}
> +CFLAGS+=     -I${.CURDIR}/../../../contrib/dev/acpica/include
> +CFLAGS+=     -I${.CURDIR}/../../..
> +
> +# Always add MI sources and REGULAR efi loader bits
> +.PATH:               ${.CURDIR}/../loader/arch/amd64 ${.CURDIR}/../../common
> +CFLAGS+=     -I${.CURDIR}/../../common
> +
> +FILES=       boot1.efi boot1.efifat
> +FILESMODE_boot1.efi= ${BINMODE}
> +
> +LDSCRIPT=    
> ${.CURDIR}/../loader/arch/${MACHINE_CPUARCH}/ldscript.${MACHINE_CPUARCH}
> +LDFLAGS=     -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared -Wl,-znocombreloc
> +
> +${PROG}:     ${LDSCRIPT}
> +
> +OBJCOPY?=    objcopy
> +OBJDUMP?=    objdump
> +
> +.if ${MACHINE_CPUARCH} == "amd64"
> +EFI_TARGET=  efi-app-x86_64
> +.elif ${MACHINE_CPUARCH} == "i386"
> +EFI_TARGET=  efi-app-ia32
> +.endif
> +
> +boot1.efi: loader.sym
> +     if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \
> +             ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \

New build warning on this ^ lines:

sh: -t: not found
/usr/obj/jenkins/workspace/HardenedBSD-stable-10-STABLE-master-amd64/sys/boot/efi/boot1
66+1 records in
66+1 records out
33811 bytes transferred in 0.000617 secs (54832354 bytes/sec)

See the jenkins log:
http://jenkins.hardenedbsd.org:8180/jenkins/job/HardenedBSD-stable-10-STABLE-master-amd64/lastSuccessfulBuild/consoleFull

Possible solution to add objdump to bootstrap utils.


> +             exit 1; \
> +     fi
> +     ${OBJCOPY} -j .text -j .sdata -j .data \
> +             -j .dynamic -j .dynsym -j .rel.dyn \
> +             -j .rela.dyn -j .reloc -j .eh_frame -j set_Xcommand_set \
> +             --output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET}
> +
> +boot1.o: ${.CURDIR}/../../common/ufsread.c
> +
> +# The following inserts out objects into a template FAT file system
> +# created by generate-fat.sh
> +
> +.include "${.CURDIR}/Makefile.fat"
> +
> +boot1.efifat: boot1.efi
> +     echo ${.OBJDIR}
> +     uudecode ${.CURDIR}/fat.tmpl.bz2.uu
> +     mv fat.tmpl.bz2 ${.TARGET}.bz2
> +     bzip2 -f -d ${.TARGET}.bz2
> +     dd if=boot1.efi of=${.TARGET} seek=${BOOT1_OFFSET} conv=notrunc
> +
> +CLEANFILES= boot1.efifat
> +
> +.endif # ${COMPILER_TYPE} != "gcc"
> +
> +.include <bsd.prog.mk>
> +
> +beforedepend ${OBJS}: machine x86
> +
> +CLEANFILES+=   machine x86 boot1.efi
> +
> +machine:
> +     ln -sf ${.CURDIR}/../../../amd64/include machine
> +
> +x86:
> +     ln -sf ${.CURDIR}/../../../x86/include x86
>
> Added: stable/10/sys/boot/efi/boot1/Makefile.fat
> ==============================================================================
> --- /dev/null 00:00:00 1970   (empty, because file is newly added)
> +++ stable/10/sys/boot/efi/boot1/Makefile.fat Thu Jan  7 02:22:45
> 2016  (r293297)
> @@ -0,0 +1,3 @@
> +# This file autogenerated by generate-fat.sh - DO NOT EDIT
> +# $FreeBSD$
> +BOOT1_OFFSET=0x2d
>
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to