This is fixed by 294064 MFC of r274503

On 15/01/2016 01:02, Oliver Pinter wrote:
On 1/7/16, Ed Maste <[email protected]> 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


_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to