3aa023643e
Bootloaders for powerpc are not built as position independent code. Since bsd.prog.mk is used for building, when PIE is enabled, the PIE flags are added and that causes the build to fail. Adding MK_PIE=no stops bsd.prog.mk from adding PIE specific flags. Submitted by: Dawid Gorecki <dgr@semihalf.com> Reviewed by: emaste Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D28893
59 lines
1.2 KiB
Makefile
59 lines
1.2 KiB
Makefile
# $FreeBSD$
|
|
|
|
LOADER_CD9660_SUPPORT?= yes
|
|
LOADER_EXT2FS_SUPPORT?= no
|
|
LOADER_MSDOS_SUPPORT?= no
|
|
LOADER_UFS_SUPPORT?= yes
|
|
LOADER_NET_SUPPORT?= yes
|
|
LOADER_NFS_SUPPORT?= yes
|
|
LOADER_TFTP_SUPPORT?= no
|
|
LOADER_GZIP_SUPPORT?= yes
|
|
LOADER_BZIP2_SUPPORT?= no
|
|
|
|
.include <bsd.init.mk>
|
|
|
|
PROG= loader
|
|
NEWVERSWHAT= "Open Firmware loader" ${MACHINE_ARCH}
|
|
INSTALLFLAGS= -b
|
|
|
|
# Architecture-specific loader code
|
|
SRCS= conf.c vers.c main.c elf_freebsd.c ppc64_elf_freebsd.c start.c
|
|
SRCS+= ucmpdi2.c gfx_fb.c
|
|
|
|
CFLAGS.gfx_fb.c += -I${SRCTOP}/contrib/pnglite
|
|
CFLAGS.gfx_fb.c += -I${SRCTOP}/sys/teken
|
|
|
|
.include "${BOOTSRC}/fdt.mk"
|
|
.if ${MK_FDT} == "yes"
|
|
SRCS+= ofwfdt.c
|
|
.endif
|
|
|
|
.if ${MACHINE_ARCH} == "powerpc64"
|
|
SRCS+= cas.c
|
|
CFLAGS+= -DCAS
|
|
.endif
|
|
|
|
HELP_FILES= ${FDTSRC}/help.fdt
|
|
|
|
# Always add MI sources
|
|
.include "${BOOTSRC}/loader.mk"
|
|
|
|
.PATH: ${SYSDIR}/libkern
|
|
|
|
# load address. set in linker script
|
|
RELOC?= 0x1C00000
|
|
CFLAGS+= -DRELOC=${RELOC} -g
|
|
|
|
LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.powerpc
|
|
|
|
# Open Firmware standalone support library
|
|
LIBOFW= ${BOOTOBJ}/libofw/libofw.a
|
|
CFLAGS+= -I${BOOTSRC}/libofw
|
|
|
|
DPADD= ${LDR_INTERP} ${LIBOFW} ${LIBFDT} ${LIBSA}
|
|
LDADD= ${LDR_INTERP} ${LIBOFW} ${LIBFDT} ${LIBSA}
|
|
|
|
MK_PIE= no
|
|
|
|
.include <bsd.prog.mk>
|