diff --git a/ci/build-all-defconfigs.sh b/ci/build-all-defconfigs.sh index e1455b2b30..0707199cac 100755 --- a/ci/build-all-defconfigs.sh +++ b/ci/build-all-defconfigs.sh @@ -88,9 +88,13 @@ for i in ${DEFCONFIGS[@]}; do ./buildroot/utils/config --file $O/.config --set-str BR2_TOOLCHAIN_EXTERNAL_PATH $SDK_DIR ./buildroot/utils/config --file $O/.config --set-val BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC y ./buildroot/utils/config --file $O/.config --set-val BR2_TOOLCHAIN_EXTERNAL_CXX y - # FIXME: How do we work this out programatically? - ./buildroot/utils/config --file $O/.config --set-val BR2_TOOLCHAIN_EXTERNAL_GCC_6 y - + if [ "$(./buildroot/utils/config --file $O/.config --state GCC_VERSION_6_X)" == "y" ]; then + ./buildroot/utils/config --file $O/.config --set-val BR2_TOOLCHAIN_EXTERNAL_GCC_6 y + elif [ "$(./buildroot/utils/config --file $O/.config --state GCC_VERSION_7_X)" == "y" ]; then + ./buildroot/utils/config --file $O/.config --set-val BR2_TOOLCHAIN_EXTERNAL_GCC_7 y + elif [ "$(./buildroot/utils/config --file $O/.config --state GCC_VERSION_8_X)" == "y" ]; then + ./buildroot/utils/config --file $O/.config --set-val BR2_TOOLCHAIN_EXTERNAL_GCC_8 y + fi KERNEL_VER=$(./buildroot/utils/config --file $O/.config --state BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE) echo "KERNEL_VER " $KERNEL_VER HEADERS=BR2_TOOLCHAIN_EXTERNAL_HEADERS_$(get_kernel_release $KERNEL_VER) diff --git a/openpower/configs/barreleye_defconfig b/openpower/configs/barreleye_defconfig index f9f4299b83..f039cbdb63 100644 --- a/openpower/configs/barreleye_defconfig +++ b/openpower/configs/barreleye_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -48,6 +47,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER8=y BR2_HOSTBOOT_P8_CONFIG_FILE="barreleye.config" +BR2_HOSTBOOT_P8_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_TARGET_TYPES_OPENPOWER_XML=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="barreleye-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="253622f22fe142ea67a0025e9bcc3044db038898" @@ -67,6 +67,7 @@ BR2_OPENPOWER_TARGETING_BIN_FILENAME="BARRELEYE_HB.targeting.bin" BR2_OPENPOWER_TARGETING_ECC_FILENAME="BARRELEYE_HB.targeting.bin.ecc" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y +BR2_OCC_P8_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER8" diff --git a/openpower/configs/blackbird_defconfig b/openpower/configs/blackbird_defconfig index 32bf270454..a4cc1f4fd8 100644 --- a/openpower/configs/blackbird_defconfig +++ b/openpower/configs/blackbird_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -48,6 +47,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER9=y BR2_HOSTBOOT_CONFIG_FILE="blackbird.config" +BR2_HOSTBOOT_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="blackbird-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="17e9e84d504582c881e480b82fe1cf115312130f" BR2_OPENPOWER_MACHINE_XML_FILENAME="blackbird.xml" @@ -66,6 +66,7 @@ BR2_OPENPOWER_TARGETING_ECC_FILENAME="BLACKBIRD_HB.targeting.bin.ecc" BR2_BUILD_PNOR_SQUASHFS=y BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y +BR2_OCC_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER9" diff --git a/openpower/configs/firenze_defconfig b/openpower/configs/firenze_defconfig index 1636af806f..3667d59ef8 100644 --- a/openpower/configs/firenze_defconfig +++ b/openpower/configs/firenze_defconfig @@ -53,6 +53,7 @@ BR2_OPENPOWER_CONFIG_NAME="openpower-firenze" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y # BR2_PACKAGE_HOST_P8_PORE_BINUTILS is not set +BR2_OCC_P8_USE_ALTERNATE_GCC=y # BR2_PACKAGE_CAPP_UCODE is not set BR2_PACKAGE_LOADKEYS=y # BR2_PACKAGE_IMA_CATALOG is not set diff --git a/openpower/configs/firestone_defconfig b/openpower/configs/firestone_defconfig index b36a1dd102..6c3ec2b964 100644 --- a/openpower/configs/firestone_defconfig +++ b/openpower/configs/firestone_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -48,6 +47,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER8=y BR2_HOSTBOOT_P8_CONFIG_FILE="firestone.config" +BR2_HOSTBOOT_P8_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="firestone-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="9df12d2653f2fbcae043d0e8effadb9aa5b84694" BR2_OPENPOWER_MACHINE_XML_FILENAME="firestone.xml" @@ -66,6 +66,7 @@ BR2_OPENPOWER_TARGETING_BIN_FILENAME="FIRESTONE_HB.targeting.bin" BR2_OPENPOWER_TARGETING_ECC_FILENAME="FIRESTONE_HB.targeting.bin.ecc" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y +BR2_OCC_P8_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER8" diff --git a/openpower/configs/garrison_defconfig b/openpower/configs/garrison_defconfig index c58467a515..357b711da9 100644 --- a/openpower/configs/garrison_defconfig +++ b/openpower/configs/garrison_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -48,6 +47,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER8=y BR2_HOSTBOOT_P8_CONFIG_FILE="garrison.config" +BR2_HOSTBOOT_P8_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="garrison-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="c5c35cb575ed4cd77400ef17cf954addc9fc855d" BR2_OPENPOWER_MACHINE_XML_FILENAME="garrison.xml" @@ -66,6 +66,7 @@ BR2_OPENPOWER_TARGETING_BIN_FILENAME="GARRISON_HB.targeting.bin" BR2_OPENPOWER_TARGETING_ECC_FILENAME="GARRISON_HB.targeting.bin.ecc" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y +BR2_OCC_P8_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER8" diff --git a/openpower/configs/habanero_defconfig b/openpower/configs/habanero_defconfig index b2fd76789d..6bb5825eed 100644 --- a/openpower/configs/habanero_defconfig +++ b/openpower/configs/habanero_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -48,6 +47,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER8=y BR2_HOSTBOOT_P8_CONFIG_FILE="habanero.config" +BR2_HOSTBOOT_P8_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_TARGET_TYPES_OPENPOWER_XML=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="habanero-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="c3998a513e1f71de4f8e250ebb50aeaf303eb73e" @@ -67,6 +67,7 @@ BR2_OPENPOWER_TARGETING_BIN_FILENAME="HABANERO_HB.targeting.bin" BR2_OPENPOWER_TARGETING_ECC_FILENAME="HABANERO_HB.targeting.bin.ecc" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y +BR2_OCC_P8_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER8" diff --git a/openpower/configs/mihawk_defconfig b/openpower/configs/mihawk_defconfig index 0c651aedc0..da5fbb0bf9 100644 --- a/openpower/configs/mihawk_defconfig +++ b/openpower/configs/mihawk_defconfig @@ -3,7 +3,6 @@ BR2_powerpc_power8=y BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_OP_BUILD_PATH)/patches/mihawk-patches" BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -49,6 +48,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER9=y BR2_HOSTBOOT_CONFIG_FILE="mihawk.config" +BR2_HOSTBOOT_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="mihawk-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="f6ec5aa0f9803d44b147a7670dec7ec935f59582" BR2_OPENPOWER_MACHINE_XML_FILENAME="mihawk.xml" @@ -68,6 +68,7 @@ BR2_BUILD_PNOR_SQUASHFS=y BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y BR2_OCC_GPU_BIN_BUILD=y +BR2_OCC_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER9" diff --git a/openpower/configs/nicole_defconfig b/openpower/configs/nicole_defconfig index f151c647ee..6147de049b 100644 --- a/openpower/configs/nicole_defconfig +++ b/openpower/configs/nicole_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -44,6 +43,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER9=y BR2_HOSTBOOT_CONFIG_FILE="nicole.config" +BR2_HOSTBOOT_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="nicole-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="1ac78dd5c54cc203f409147763aafa3b0120ee18" BR2_OPENPOWER_MACHINE_XML_FILENAME="nicole.xml" @@ -62,6 +62,7 @@ BR2_OPENPOWER_TARGETING_ECC_FILENAME="NICOLE_HB.targeting.bin.ecc" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y # BR2_HCODE_INCLUDE_IONV is not set +BR2_OCC_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER9" diff --git a/openpower/configs/p8dtu_defconfig b/openpower/configs/p8dtu_defconfig index dcf65538bb..3b6e593e50 100644 --- a/openpower/configs/p8dtu_defconfig +++ b/openpower/configs/p8dtu_defconfig @@ -3,7 +3,6 @@ BR2_powerpc_power8=y BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_OP_BUILD_PATH)/patches/p8dtu-patches" BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -49,6 +48,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER8=y BR2_HOSTBOOT_P8_CONFIG_FILE="p8dtu.config" +BR2_HOSTBOOT_P8_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="p8dtu-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="a44ee3e29ff143053c0d0ec65e5a255402654616" BR2_OPENPOWER_MACHINE_XML_FILENAME="p8dtu.xml" @@ -66,6 +66,7 @@ BR2_OPENPOWER_TARGETING_BIN_FILENAME="P8DTU_HB.targeting.bin" BR2_OPENPOWER_TARGETING_ECC_FILENAME="P8DTU_HB.targeting.bin.ecc" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y +BR2_OCC_P8_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER8" diff --git a/openpower/configs/p9dsu_defconfig b/openpower/configs/p9dsu_defconfig index 0d84b02c2d..14824529b6 100644 --- a/openpower/configs/p9dsu_defconfig +++ b/openpower/configs/p9dsu_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -49,6 +48,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER9=y BR2_HOSTBOOT_CONFIG_FILE="p9dsu.config" +BR2_HOSTBOOT_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="p9dsu-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="32ce616ef80f5cc3f128b3aa08fe50954a087888" BR2_OPENPOWER_MACHINE_XML_FILENAME="p9dsu.xml" @@ -66,6 +66,7 @@ BR2_OPENPOWER_TARGETING_BIN_FILENAME="P9DSU_HB.targeting.bin" BR2_OPENPOWER_TARGETING_ECC_FILENAME="P9DSU_HB.targeting.bin.ecc" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y +BR2_OCC_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER9" diff --git a/openpower/configs/palmetto_defconfig b/openpower/configs/palmetto_defconfig index 3b04e815bd..df79dbe9eb 100644 --- a/openpower/configs/palmetto_defconfig +++ b/openpower/configs/palmetto_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -46,6 +45,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER8=y BR2_HOSTBOOT_P8_CONFIG_FILE="palmetto.config" +BR2_HOSTBOOT_P8_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="palmetto-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="19aa4d3a0f0b39f891a7628bc41946d0dc83fb2a" BR2_OPENPOWER_MACHINE_XML_FILENAME="palmetto.xml" @@ -63,6 +63,7 @@ BR2_OPENPOWER_TARGETING_BIN_FILENAME="PALMETTO_HB.targeting.bin" BR2_OPENPOWER_TARGETING_ECC_FILENAME="PALMETTO_HB.targeting.bin.ecc" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y +BR2_OCC_P8_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER8" diff --git a/openpower/configs/pseries_defconfig b/openpower/configs/pseries_defconfig index 9bfcf35575..a29679c24c 100644 --- a/openpower/configs/pseries_defconfig +++ b/openpower/configs/pseries_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TARGET_GENERIC_HOSTNAME="skiroot" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y @@ -55,6 +54,7 @@ BR2_OPENPOWER_CONFIG_NAME="openpower-firenze" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y # BR2_PACKAGE_HOST_P8_PORE_BINUTILS is not set +BR2_OCC_P8_USE_ALTERNATE_GCC=y # BR2_PACKAGE_CAPP_UCODE is not set BR2_PACKAGE_LOADKEYS=y # BR2_PACKAGE_IMA_CATALOG is not set diff --git a/openpower/configs/romulus_defconfig b/openpower/configs/romulus_defconfig index 204d27e430..d3ea532023 100644 --- a/openpower/configs/romulus_defconfig +++ b/openpower/configs/romulus_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -48,6 +47,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER9=y BR2_HOSTBOOT_CONFIG_FILE="romulus.config" +BR2_HOSTBOOT_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="romulus-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="5b3fbcaa256eb3638a2ccd09973019efb3c4cddc" BR2_OPENPOWER_MACHINE_XML_FILENAME="romulus.xml" @@ -66,6 +66,7 @@ BR2_OPENPOWER_TARGETING_ECC_FILENAME="ROMULUS_HB.targeting.bin.ecc" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y # BR2_HCODE_INCLUDE_IONV is not set +BR2_OCC_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER9" diff --git a/openpower/configs/vesnin_defconfig b/openpower/configs/vesnin_defconfig index e35db6e4b7..1269c92176 100644 --- a/openpower/configs/vesnin_defconfig +++ b/openpower/configs/vesnin_defconfig @@ -3,7 +3,6 @@ BR2_powerpc_power8=y BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_OP_BUILD_PATH)/patches/vesnin-patches" BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -46,6 +45,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER8=y BR2_HOSTBOOT_P8_CONFIG_FILE="vesnin.config" +BR2_HOSTBOOT_P8_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="vesnin-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="deed9ba0bc6d1d68b416ed3e14853b86838897d7" BR2_OPENPOWER_MACHINE_XML_FILENAME="vesnin.xml" @@ -64,6 +64,7 @@ BR2_OPENPOWER_TARGETING_BIN_FILENAME="VESNIN_HB.targeting.bin" BR2_OPENPOWER_TARGETING_ECC_FILENAME="VESNIN_HB.targeting.bin.ecc" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y +BR2_OCC_P8_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER8" diff --git a/openpower/configs/witherspoon_defconfig b/openpower/configs/witherspoon_defconfig index 1efcf8ca62..ea88c34cde 100644 --- a/openpower/configs/witherspoon_defconfig +++ b/openpower/configs/witherspoon_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -48,6 +47,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER9=y BR2_HOSTBOOT_CONFIG_FILE="witherspoon.config" +BR2_HOSTBOOT_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="witherspoon-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="0f9b3666becbd5a94d31ff39a2f2a81260c961ed" BR2_OPENPOWER_MACHINE_XML_FILENAME="witherspoon.xml" @@ -67,6 +67,7 @@ BR2_BUILD_PNOR_SQUASHFS=y BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y BR2_OCC_GPU_BIN_BUILD=y +BR2_OCC_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER9" diff --git a/openpower/configs/zaius_defconfig b/openpower/configs/zaius_defconfig index b7ba441b61..c46e65974a 100644 --- a/openpower/configs/zaius_defconfig +++ b/openpower/configs/zaius_defconfig @@ -2,7 +2,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux" -BR2_GCC_VERSION_6_X=y BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer" BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="skiroot" @@ -48,6 +47,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_OPENPOWER_PLATFORM=y BR2_OPENPOWER_POWER9=y BR2_HOSTBOOT_CONFIG_FILE="zaius.config" +BR2_HOSTBOOT_USE_ALTERNATE_GCC=y BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="zaius-xml" BR2_OPENPOWER_MACHINE_XML_VERSION="6f6b5efd327958bf5ee7cc51a493d7b3d6f7cefe" BR2_OPENPOWER_MACHINE_XML_FILENAME="zaius.xml" @@ -65,6 +65,7 @@ BR2_OPENPOWER_TARGETING_BIN_FILENAME="ZAIUS_HB.targeting.bin" BR2_OPENPOWER_TARGETING_ECC_FILENAME="ZAIUS_HB.targeting.bin.ecc" BR2_PACKAGE_PETITBOOT=y BR2_PACKAGE_PETITBOOT_MTD=y +BR2_OCC_USE_ALTERNATE_GCC=y BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin" BR2_PACKAGE_LOADKEYS=y BR2_IMA_CATALOG_DTS="POWER9" diff --git a/openpower/package/Config.in b/openpower/package/Config.in index 903e6cb517..a7b81bb9e4 100755 --- a/openpower/package/Config.in +++ b/openpower/package/Config.in @@ -1,3 +1,5 @@ +source "$BR2_EXTERNAL_OP_BUILD_PATH/package/alternate-binutils/Config.in" +source "$BR2_EXTERNAL_OP_BUILD_PATH/package/alternate-gcc/Config.in" source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-ffs/Config.in" source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot/Config.in" source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot-p8/Config.in" diff --git a/openpower/package/alternate-binutils/Config.in b/openpower/package/alternate-binutils/Config.in new file mode 100644 index 0000000000..cb8c182345 --- /dev/null +++ b/openpower/package/alternate-binutils/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_ALTERNATE_BINUTILS + bool "alternate-binutils" + select BR2_CPP + help + Build Binutils for an Alternate Toolchain, for use in + certain packages + +if BR2_PACKAGE_ALTERNATE_BINUTILS + +config BR2_ALTERNATE_BINUTILS_VERSION + string "Alternate Toolchain Binutils Version" + default "2.31.1" + +config BR2_ALTERNATE_BINUTILS_EXTRA_CONFIG_OPTIONS + string "Extra configure options for Alternate Toolchain binutils" + default BR2_BINUTILS_EXTRA_CONFIG_OPTIONS + help + Any extra options to the Alternate Toolchain's binutils + configure script. The default is taken from + BINUTILS_EXTRA_CONFIG_OPTIONS + +endif diff --git a/openpower/package/alternate-binutils/alternate-binutils.mk b/openpower/package/alternate-binutils/alternate-binutils.mk new file mode 100644 index 0000000000..f9168150b8 --- /dev/null +++ b/openpower/package/alternate-binutils/alternate-binutils.mk @@ -0,0 +1,56 @@ +################################################################################ +# +# alternate-binutils +# +################################################################################ + +# +# Based on buildroot/package/binutils/binutils.mk +# + +ALTERNATE_BINUTILS_VERSION = $(call qstrip,$(BR2_ALTERNATE_BINUTILS_VERSION)) +ALTERNATE_BINUTILS_SITE ?= $(BR2_GNU_MIRROR)/binutils +ALTERNATE_BINUTILS_SOURCE ?= binutils-$(ALTERNATE_BINUTILS_VERSION).tar.xz + +ALTERNATE_BINUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +ALTERNATE_BINUTILS_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS) +ALTERNATE_BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_ALTERNATE_BINUTILS_EXTRA_CONFIG_OPTIONS)) +ALTERNATE_BINUTILS_CONF_ENV += MAKEINFO=true +ALTERNATE_BINUTILS_MAKE_OPTS += MAKEINFO=true +BINUTILS_INSTALL_OPTS += MAKEINFO=true install + +ifeq ($(BR2_PACKAGE_ZLIB),y) +ALTERNATE_BINUTILS_DEPENDENCIES += zlib +endif + +HOST_ALTERNATE_BINUTILS_CONF_OPTS = \ + --disable-multilib \ + --disable-werror \ + --prefix="$(HOST_DIR)/alternate-toolchain" \ + --target=$(GNU_TARGET_NAME) \ + --disable-shared \ + --enable-static \ + --with-sysroot=$(STAGING_DIR) \ + --enable-poison-system-directories \ + $(ALTERNATE_BINUTILS_EXTRA_CONFIG_OPTIONS) + +ALTERNATE_BINUTILS_MAKE_ENV = $(TARGET_CONFIGURE_ARGS) + +define ALTERNATE_BINUTILS_INSTALL_HOST_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/bfd DESTDIR="$(HOST_DIR)/alternate-toolchain" install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/opcodes DESTDIR="$(HOST_DIR)/alternate-toolchain" install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libiberty DESTDIR="$(HOST_DIR)/alternate-toolchain" install +endef + +ALTERNATE_BINUTILS_TOOLS = ar as ld ld.bfd nm objcopy objdump ranlib readelf strip +define HOST_ALTERNATE_BINUTILS_FIXUP_HARDLINKS + $(foreach tool,$(ALTERNATE_BINUTILS_TOOLS),\ + rm -f $(HOST_DIR)/alternate-toolchain/$(GNU_TARGET_NAME)/bin/$(tool) && \ + cp -a $(HOST_DIR)/alternate-toolchain/bin/$(GNU_TARGET_NAME)-$(tool) \ + $(HOST_DIR)/alternate-toolchain/$(GNU_TARGET_NAME)/bin/$(tool) + ) +endef +HOST_ALTERNATE_BINUTILS_POST_INSTALL_HOOKS += HOST_ALTERNATE_BINUTILS_FIXUP_HARDLINKS + +$(eval $(host-autotools-package)) + diff --git a/openpower/package/alternate-gcc/Config.in b/openpower/package/alternate-gcc/Config.in new file mode 100644 index 0000000000..4bc0a9c91f --- /dev/null +++ b/openpower/package/alternate-gcc/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_ALTERNATE_GCC + bool "alternate-gcc" + select BR2_PACKAGE_ALTERNATE_BINUTILS + help + Build gcc for an Alternate Toolchain, for use in + certain packages. + + +if BR2_PACKAGE_ALTERNATE_GCC + +config BR2_ALTERNATE_GCC_VERSION + string "Alternate gcc version" + default "6.5.0" + +config BR2_ALTERNATE_GCC_EXTRA_CONFIG_OPTIONS + string "Extra configure options for Alternate Toolchain GCC" + default BR2_EXTRA_GCC_CONFIG_OPTIONS + help + Any extra options to the Alternate Toolchain's gcc configure script + The default is taken from EXTRA_GCC_CONFIG_OPTIONS + +endif diff --git a/openpower/package/alternate-gcc/alternate-gcc.mk b/openpower/package/alternate-gcc/alternate-gcc.mk new file mode 100644 index 0000000000..a2d8ecb57e --- /dev/null +++ b/openpower/package/alternate-gcc/alternate-gcc.mk @@ -0,0 +1,65 @@ +################################################################################ +# +# alternate-gcc +# +################################################################################ + +# +# Based on buildroot/package/gcc/*.mk, but trying to simplify since we're not +# (yet) going for a general scenario here +# + +ALTERNATE_GCC_VERSION = $(call qstrip,$(BR2_ALTERNATE_GCC_VERSION)) +ALTERNATE_GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(ALTERNATE_GCC_VERSION) +ALTERNATE_GCC_SOURCE = gcc-$(ALTERNATE_GCC_VERSION).tar.xz + +HOST_ALTERNATE_GCC_SUBDIR = build + +HOST_ALTERNATE_GCC_DEPENDENCIES = \ + host-alternate-binutils \ + host-gmp \ + host-mpc \ + host-mpfr \ + $(BR_LIBC) + +HOST_ALTERNATE_GCC_EXCLUDES = \ + libjava/* libgo/* + +define HOST_ALTERNATE_GCC_CONFIGURE_SYMLINK + mkdir -p $(@D)/build + ln -sf ../configure $(@D)/build/configure +endef + +HOST_ALTERNATE_GCC_CONF_OPTS += \ + $(call qstrip,$(BR2_ALTERNATE_GCC_EXTRA_CONFIG_OPTIONS)) + +define HOST_ALTERNATE_GCC_CONFIGURE_CMDS + (cd $(HOST_ALTERNATE_GCC_SRCDIR) && rm -rf config.cache; \ + CFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ + CXXFLAGS_FOR_TARGET="$(TARGET_CXXFLAGS)" \ + CFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ + MAKEINFO=missing \ + ./configure \ + --prefix="$(HOST_DIR)/alternate-toolchain" \ + --enable-static \ + --target=$(GNU_TARGET_NAME) \ + --with-sysroot=$(STAGING_DIR) \ + --enable-__cxa_atexit \ + --with-gnu-ld \ + --disable-libssp \ + --disable-multilib \ + --disable-decimal-float \ + --with-gmp=$(HOST_DIR) \ + --with-mpc=$(HOST_DIR) \ + --with-mpfr=$(HOST_DIR) \ + --enable-languages="c,c++" \ + --with-build-time-tools=$(HOST_DIR)/alternate-toolchain/$(GNU_TARGET_NAME)/bin \ + --enable-shared \ + $(QUIET) $(HOST_ALTERNATE_GCC_CONF_OPTS) \ + ) +endef + +HOST_ALTERNATE_GCC_PRE_CONFIGURE_HOOKS += HOST_ALTERNATE_GCC_CONFIGURE_SYMLINK + +$(eval $(host-autotools-package)) diff --git a/openpower/package/hostboot-p8/Config.in b/openpower/package/hostboot-p8/Config.in index 4dacfabab0..f3f335a481 100644 --- a/openpower/package/hostboot-p8/Config.in +++ b/openpower/package/hostboot-p8/Config.in @@ -13,5 +13,12 @@ config BR2_HOSTBOOT_P8_CONFIG_FILE help String used to define hw specific make config file -endif +config BR2_HOSTBOOT_P8_USE_ALTERNATE_GCC + bool "use Alternate GCC to build hostboot-p8" + default n + select BR2_PACKAGE_ALTERNATE_GCC + help + Select to enable using an alternate version of GCC + to build hostboot-p8. +endif diff --git a/openpower/package/hostboot-p8/hostboot-p8.mk b/openpower/package/hostboot-p8/hostboot-p8.mk index 238e7af9db..28a8f7edb9 100644 --- a/openpower/package/hostboot-p8/hostboot-p8.mk +++ b/openpower/package/hostboot-p8/hostboot-p8.mk @@ -9,15 +9,24 @@ HOSTBOOT_P8_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_P8_VERSION)) HOSTBOOT_P8_LICENSE = Apache-2.0 HOSTBOOT_P8_LICENSE_FILES = LICENSE -HOSTBOOT_P8_DEPENDENCIES = host-binutils HOSTBOOT_P8_INSTALL_IMAGES = YES HOSTBOOT_P8_INSTALL_TARGET = NO +ifeq ($(BR2_HOSTBOOT_P8_USE_ALTERNATE_GCC),y) +HOSTBOOT_P8_TARGET_CROSS = $(HOST_DIR)/alternate-toolchain/bin/$(GNU_TARGET_NAME)- +HOSTBOOT_P8_BINUTILS_DIR = $(HOST_ALTERNATE_BINUTILS_DIR) +HOSTBOOT_P8_DEPENDENCIES = host-alternate-binutils host-alternate-gcc +else +HOSTBOOT_P8_TARGET_CROSS = $(TARGET_CROSS) +HOSTBOOT_P8_BINUTILS_DIR = $(HOST_BINUTILS_DIR) +HOSTBOOT_P8_DEPENDENCIES = host-binutils +endif + HOSTBOOT_P8_ENV_VARS=$(TARGET_MAKE_ENV) \ CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hostboot/$(BR2_HOSTBOOT_P8_CONFIG_FILE) \ - OPENPOWER_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) HOST_PREFIX="" HOST_BINUTILS_DIR=$(HOST_BINUTILS_DIR) \ - HOSTBOOT_P8_VERSION=`cat $(HOSTBOOT_P8_VERSION_FILE)` + OPENPOWER_BUILD=1 CROSS_PREFIX=$(HOSTBOOT_P8_TARGET_CROSS) HOST_PREFIX="" \ + HOST_BINUTILS_DIR=$(HOSTBOOT_P8_BINUTILS_DIR) HOSTBOOT_P8_VERSION=`cat $(HOSTBOOT_P8_VERSION_FILE)` HOSTBOOT_P8_POST_PATCH_HOOKS += HOSTBOOT_P8_APPLY_PATCHES diff --git a/openpower/package/hostboot/Config.in b/openpower/package/hostboot/Config.in index 37c5eeaacd..7cfb13ad2f 100644 --- a/openpower/package/hostboot/Config.in +++ b/openpower/package/hostboot/Config.in @@ -35,5 +35,13 @@ config BR2_HOSTBOOT_CONFIG_FILE help String used to define hw specific make config file -endif +config BR2_HOSTBOOT_USE_ALTERNATE_GCC + bool "use Alternate GCC to build hostboot" + default n + select BR2_PACKAGE_ALTERNATE_GCC + help + Select to enable using an alternate version of GCC + to build hostboot. + +endif diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk index d83f07330d..7913643a54 100644 --- a/openpower/package/hostboot/hostboot.mk +++ b/openpower/package/hostboot/hostboot.mk @@ -14,10 +14,20 @@ HOSTBOOT_DEPENDENCIES = host-binutils HOSTBOOT_INSTALL_IMAGES = YES HOSTBOOT_INSTALL_TARGET = NO +ifeq ($(BR2_HOSTBOOT_USE_ALTERNATE_GCC),y) +HOSTBOOT_TARGET_CROSS = $(HOST_DIR)/alternate-toolchain/bin/$(GNU_TARGET_NAME)- +HOSTBOOT_BINUTILS_DIR = $(HOST_ALTERNATE_BINUTILS_DIR) +HOSTBOOT_DEPENDENCIES = host-alternate-binutils host-alternate-gcc +else +HOSTBOOT_TARGET_CROSS = $(TARGET_CROSS) +HOSTBOOT_BINUTILS_DIR = $(HOST_BINUTILS_DIR) +HOSTBOOT_DEPENDENCIES = host-binutils +endif + HOSTBOOT_ENV_VARS=$(TARGET_MAKE_ENV) PERL_USE_UNSAFE_INC=1 \ CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hostboot/$(BR2_HOSTBOOT_CONFIG_FILE) \ - OPENPOWER_BUILD=1 CROSS_PREFIX="$(CCACHE) $(TARGET_CROSS)" HOST_PREFIX="" HOST_BINUTILS_DIR=$(HOST_BINUTILS_DIR) \ - HOSTBOOT_VERSION=`cat $(HOSTBOOT_VERSION_FILE)` + OPENPOWER_BUILD=1 CROSS_PREFIX="$(CCACHE) $(HOSTBOOT_TARGET_CROSS)" HOST_PREFIX="" \ + HOST_BINUTILS_DIR=$(HOSTBOOT_BINUTILS_DIR) HOSTBOOT_VERSION=`cat $(HOSTBOOT_VERSION_FILE)` define HOSTBOOT_BUILD_CMDS $(HOSTBOOT_ENV_VARS) bash -c 'cd $(@D) && source ./env.bash && $(MAKE)' diff --git a/openpower/package/occ-p8/Config.in b/openpower/package/occ-p8/Config.in index 0137e94a24..bcdfd4aaf5 100644 --- a/openpower/package/occ-p8/Config.in +++ b/openpower/package/occ-p8/Config.in @@ -13,4 +13,12 @@ config BR2_OCC_P8_BIN_FILENAME help String used to define name of the OCC binary image file +config BR2_OCC_P8_USE_ALTERNATE_GCC + bool "use Alternate gcc to build occ-p8" + default n + select BR2_PACKAGE_ALTERNATE_GCC + help + Select to enable using an alternate version of gcc + to build occ-p8. + endif diff --git a/openpower/package/occ-p8/occ-p8.mk b/openpower/package/occ-p8/occ-p8.mk index 0ef38a28ce..d198f7117c 100644 --- a/openpower/package/occ-p8/occ-p8.mk +++ b/openpower/package/occ-p8/occ-p8.mk @@ -16,11 +16,20 @@ OCC_P8_INSTALL_TARGET = NO OCC_P8_STAGING_DIR = $(STAGING_DIR)/occ OCC_P8_IMAGE_BIN_PATH = src/image.bin -OCC_P8_DEPENDENCIES = host-binutils host-p8-pore-binutils +OCC_P8_DEPENDENCIES = host-p8-pore-binutils + +ifeq ($(BR2_OCC_P8_USE_ALTERNATE_GCC),y) +OCC_P8_TARGET_CROSS = $(HOST_DIR)/alternate-toolchain/bin/$(GNU_TARGET_NAME)- +OCC_P8_DEPENDENCIES += host-alternate-gcc +else +OCC_P8_TARGET_CROSS = $(TARGET_CROSS) +OCC_P8_DEPENDENCIES += host-binutils +endif define OCC_P8_BUILD_CMDS cd $(@D)/src && \ - make POREPATH=$(P8_PORE_BINUTILS_BIN)/bin/ OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) all && \ + make POREPATH=$(P8_PORE_BINUTILS_BIN)/bin/ OCC_OP_BUILD=1 \ + CROSS_PREFIX=$(OCC_P8_TARGET_CROSS) all && \ make tracehash && \ make combineImage endef diff --git a/openpower/package/occ/Config.in b/openpower/package/occ/Config.in index 4ebb73df76..a81e57f9e7 100644 --- a/openpower/package/occ/Config.in +++ b/openpower/package/occ/Config.in @@ -47,5 +47,13 @@ config BR2_OCC_VERSION default BR2_OCC_CUSTOM_VERSION_VALUE \ if BR2_OCC_CUSTOM_VERSION +config BR2_OCC_USE_ALTERNATE_GCC + bool "use Alternate gcc to build occ" + default n + select BR2_PACKAGE_ALTERNATE_GCC + help + Select to enable using an alternate version of gcc + to build occ. + endif diff --git a/openpower/package/occ/occ.mk b/openpower/package/occ/occ.mk index 39ad15e859..61bce5b41b 100644 --- a/openpower/package/occ/occ.mk +++ b/openpower/package/occ/occ.mk @@ -18,18 +18,26 @@ OCC_STAGING_DIR = $(STAGING_DIR)/occ OCC_IMAGE_BIN_PATH = obj/image.bin -OCC_DEPENDENCIES = host-binutils host-ppe42-gcc +OCC_DEPENDENCIES = host-ppe42-gcc ifeq ($(BR2_OCC_GPU_BIN_BUILD),y) OCC_DEPENDENCIES += hostboot-binaries endif +ifeq ($(BR2_OCC_USE_ALTERNATE_GCC),y) +OCC_TARGET_CROSS = $(HOST_DIR)/alternate-toolchain/bin/$(GNU_TARGET_NAME)- +OCC_DEPENDENCIES += host-alternate-gcc +else +OCC_TARGET_CROSS = $(TARGET_CROSS) +OCC_DEPENDENCIES += host-binutils +endif + define OCC_BUILD_CMDS if [ "$(BR2_OCC_GPU_BIN_BUILD)" == "y" ]; then \ cd $(@D)/src && \ - make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib GPE1_BIN_IMAGE_PATH=$(STAGING_DIR)/hostboot_binaries/ OPOCC_GPU_SUPPORT=1 all; \ + make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(OCC_TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib GPE1_BIN_IMAGE_PATH=$(STAGING_DIR)/hostboot_binaries/ OPOCC_GPU_SUPPORT=1 all; \ else \ cd $(@D)/src && \ - make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib all; \ + make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(OCC_TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib all; \ fi; endef OCC_BUILD_CMDS ?= $(OCC_BUILD_CMDS_P9)