git: 819bf69c1560 - main - sysutils/edk2: Fix build on aarch64
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 21 Oct 2022 22:00:38 UTC
The branch main has been updated by salvadore: URL: https://cgit.FreeBSD.org/ports/commit/?id=819bf69c15605e1e31998c91fb3fd02d5bc9fa0f commit 819bf69c15605e1e31998c91fb3fd02d5bc9fa0f Author: Mark Millard <marklmi26-fbsd@yahoo.com> AuthorDate: 2022-10-21 21:47:14 +0000 Commit: Lorenzo Salvadore <salvadore@FreeBSD.org> CommitDate: 2022-10-21 22:00:03 +0000 sysutils/edk2: Fix build on aarch64 Build on aarch64 was failing with the following error: ld-elf.so.1: /lib/libgcc_s.so.1: version GCC_4.5.0 required by /usr/local/lib/gcc11/libstdc++.so.6 not found Fix by using /usr/local/lib/gcc*/libgcc_s.so.1 instead. While here, also define WWW variable. PR: 266404 Approved by: imp (uboot) --- sysutils/edk2/Makefile | 51 +++++++++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/sysutils/edk2/Makefile b/sysutils/edk2/Makefile index c1745cd284ce..e883c7c5efc9 100644 --- a/sysutils/edk2/Makefile +++ b/sysutils/edk2/Makefile @@ -9,6 +9,7 @@ PATCHFILES= 22130dcd98b4d4b76ac8d922adb4a2dbc86fa52c.patch:-p1 \ MAINTAINER= uboot@FreeBSD.org COMMENT= EDK2 Firmware for ${FLAVOR} +WWW= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/ReadMe.rst LICENSE= BSD3CLAUSE @@ -40,15 +41,22 @@ GH_TUPLE= tianocore:edk2-platforms:${PLATFORM_TAG}:platforms \ google:brotli:v1.0.9-35-gf4153a0:brotli/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli \ akheron:jansson:v2.13.1:jansson/RedfishPkg/Library/JsonLib/jansson +.include <bsd.port.pre.mk> + +# Heavily dependent on bsd.port.pre.mk definitions for lang/gcc* details: BINARY_ALIAS= make=${LOCALBASE}/bin/gmake \ dtc=${LOCALBASE}/bin/dtc \ ar=${AR} \ - gcc=${LOCALBASE}/bin/gcc${GCC_DEFAULT} \ - gcc-ar=${LOCALBASE}/bin/gcc-ar${GCC_DEFAULT} \ - g++=${LOCALBASE}/bin/g++${GCC_DEFAULT} \ + gcc=${LOCALBASE}/bin/${CC} \ + gcc-ar=${LOCALBASE}/bin/${CC:S/gcc/&-ar/} \ + g++=${LOCALBASE}/bin/${CXX} \ python3=${PYTHON_CMD} python=${PYTHON_CMD} -.include <bsd.port.pre.mk> +# Avoid: "ld-elf.so.1: /lib/libgcc_s.so.1: version GCC_4.5.0 +# required by /usr/local/lib/gcc11/libstdc++.so.6 not found" +# (that is from /lib/libgcc_s.so.1 having incomplete/inaccurate +# coverage for aarch64 g++ code generation's use of libgcc_s.so.1 ): +EXTRA_LDFLAGS+= -Wl,-rpath=${_GCC_RUNTIME} .if ${FLAVOR} == fvp PLAT= fvp @@ -117,8 +125,8 @@ PLAT_FILENAME_VARS= BHYVE_UEFI_VARS.fd .endif .if ${FLAVOR} == qemu_x64 -ONLY_FOR_ARCHS= amd64 -ONLY_FOR_ARCHS_REASON= Do not compile on hardware other than amd64 +ONLY_FOR_ARCHS= amd64 +ONLY_FOR_ARCHS_REASON= Do not compile on hardware other than amd64 PLAT= qemu PLAT_ARCH= X64 PLAT_TARGET= RELEASE @@ -127,23 +135,23 @@ PLAT_RESULT= OvmfX64/${PLAT_TARGET}_GCC5/FV/OVMF.fd PLAT_RESULT_CODE= OvmfX64/${PLAT_TARGET}_GCC5/FV/OVMF_CODE.fd PLAT_RESULT_VARS= OvmfX64/${PLAT_TARGET}_GCC5/FV/OVMF_VARS.fd PLAT_FILENAME= QEMU_UEFI-x86_64.fd -PLAT_FILENAME_CODE = QEMU_UEFI_CODE-x86_64.fd -PLAT_FILENAME_VARS = QEMU_UEFI_VARS-x86_64.fd +PLAT_FILENAME_CODE= QEMU_UEFI_CODE-x86_64.fd +PLAT_FILENAME_VARS= QEMU_UEFI_VARS-x86_64.fd .endif .if ${FLAVOR} == qemu_i386 -ONLY_FOR_ARCHS= amd64 -ONLY_FOR_ARCHS_REASON= Do not compile on hardware other than amd64 -PLAT= qemu -PLAT_ARCH= IA32 -PLAT_TARGET= RELEASE -PLATFILE= OvmfPkg/OvmfPkgIa32.dsc -PLAT_RESULT= OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF.fd -PLAT_RESULT_CODE= OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF_CODE.fd -PLAT_RESULT_VARS= OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF_VARS.fd -PLAT_FILENAME= QEMU_UEFI-i386.fd -PLAT_FILENAME_CODE = QEMU_UEFI_CODE-i386.fd -PLAT_FILENAME_VARS = QEMU_UEFI_VARS-i386.fd +ONLY_FOR_ARCHS= amd64 +ONLY_FOR_ARCHS_REASON= Do not compile on hardware other than amd64 +PLAT= qemu +PLAT_ARCH= IA32 +PLAT_TARGET= RELEASE +PLATFILE= OvmfPkg/OvmfPkgIa32.dsc +PLAT_RESULT= OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF.fd +PLAT_RESULT_CODE= OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF_CODE.fd +PLAT_RESULT_VARS= OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF_VARS.fd +PLAT_FILENAME= QEMU_UEFI-i386.fd +PLAT_FILENAME_CODE= QEMU_UEFI_CODE-i386.fd +PLAT_FILENAME_VARS= QEMU_UEFI_VARS-i386.fd .endif PLIST_FILES= ${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} @@ -166,7 +174,8 @@ MAKE_ENV+= WORKSPACE=${WRKDIR} \ EDK_TOOLS_PATH=${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools \ PATH=${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools/BinWrappers/PosixLike:${PATH} \ PYTHON_COMMAND=python3 \ - PYTHONHASHSEED=1 + PYTHONHASHSEED=1 \ + EXTRA_LDFLAGS=${EXTRA_LDFLAGS} .if ${PLAT_ARCH} == AARCH64 && ${ARCH} != aarch64 BUILD_DEPENDS+= aarch64-none-elf-gcc:devel/aarch64-none-elf-gcc