diff --git a/meta-openeuler/classes/eulertoolchain.bbclass b/meta-openeuler/classes/eulertoolchain.bbclass index 7529057b2c499ddb20b077f8772ed5f95cddb56d..f6b6ad15f62b7e71c4c5fcb608b7e759dea9220c 100644 --- a/meta-openeuler/classes/eulertoolchain.bbclass +++ b/meta-openeuler/classes/eulertoolchain.bbclass @@ -1,7 +1,7 @@ def eulertoolchain_raw_prefix(arch): raw_prefix_dict = { "arm" : "arm-linux-gnueabi", - "aarch64" : "aarch64-linux-gnu", + "aarch64" : "aarch64-openeuler-linux-gnu", } return raw_prefix_dict[arch] @@ -25,12 +25,14 @@ python eulertoolchain_virtclass_handler () { if cls != "eulertoolchain" or not variant: return - d.setVar("PN", d.getVar("PN", False) + '-' + variant) + multilib = d.getVar("MULTILIB", True) + prefix = "" + if "64" not in variant and multilib: + prefix = "lib32-" d.setVar("TARGET_ARCH", variant) - - d.setVar("EULER_TOOLCHAIN_SYSNAME", eulertoolchain_raw_prefix(variant)) - d.setVar("EULER_TOOLCHAIN_TARGET_PREFIX", eulertoolchain_euler_prefix(variant) + '-') - d.setVar("EULER_TOOLCHAIN_TARGET_PREFIX_RAW", eulertoolchain_euler_prefix(variant)) + d.setVar("EULER_TOOLCHAIN_SYSNAME", prefix + eulertoolchain_raw_prefix(variant)) + d.setVar("EULER_TOOLCHAIN_TARGET_PREFIX", prefix + eulertoolchain_euler_prefix(variant) + '-') + d.setVar("EULER_TOOLCHAIN_TARGET_PREFIX_RAW", prefix + eulertoolchain_euler_prefix(variant)) d.setVar("OVERRIDES", d.getVar("OVERRIDES", False) + ":{}".format(variant.replace('_', '-'))) diff --git a/meta-openeuler/conf/distro/include/tcmode-gcc-bin.inc b/meta-openeuler/conf/distro/include/tcmode-gcc-bin.inc index 27c94bdf5917602acb32e86d286216507426b952..bc67dbce44c5b4dd9d8e4a2e24a920f2b5c1c9da 100644 --- a/meta-openeuler/conf/distro/include/tcmode-gcc-bin.inc +++ b/meta-openeuler/conf/distro/include/tcmode-gcc-bin.inc @@ -11,18 +11,7 @@ PREFERRED_PROVIDER_virtual/libc-headers = "linux-libc-headers" PREFERRED_PROVIDER_libstdc++ = "gcc-bin-toolchain-compilerlibs-${TARGET_ARCH}" PREFERRED_PROVIDER_libgcc-initial = "gcc-bin-toolchain-compilerlibs-${TARGET_ARCH}" -# PREFERRED_PROVIDER_libgcc-initial = "gcc-bin-toolchain-libgcc" -# PREFERRED_PROVIDER_libgcc = "gcc-bin-toolchain-libgcc" -# PREFERRED_PROVIDER_compiler-rt = "gcc-bin-toolchain-libgcc" -# PREFERRED_PROVIDER_libunwind-llvm = "gcc-bin-toolchain-libgcc" -# PREFERRED_PROVIDER_libcxx = "gcc-bin-toolchain-runtime" -# PREFERRED_PROVIDER_libcxxabi = "gcc-bin-toolchain-runtime" - -GCCVERSION = "7.3.0" - -PATH_append = ":${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-bin-toolchain-cross-${TARGET_ARCH}/usr/bin" +PATH_append = ":${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-bin-toolchain-cross-${TARGET_ARCH}/bin" #cannot set with linaro gcc,set it null DEBUG_PREFIX_MAP = "" -#STAGING_DIR_TARGET:arm = "/usr1/openeuler/gcc/sysroot-glibc-linaro-2.25-2018.05-arm-linux-gnueabi" -#STAGING_DIR_TARGET:aarch64 = "/usr1/openeuler/gcc/sysroot-glibc-linaro-2.25-2018.05-aarch64-linux-gnu" diff --git a/meta-openeuler/conf/local.conf.sample b/meta-openeuler/conf/local.conf.sample index 01f32c56cd9fec7b70d2239149fe85bae5f938d8..087491cd0e681e1fbbf5bfacad10aaf6f6a66ffb 100644 --- a/meta-openeuler/conf/local.conf.sample +++ b/meta-openeuler/conf/local.conf.sample @@ -297,5 +297,4 @@ https://.*/.* file:////usr1/openeuler/src \n" #PF = "${PN}-${EXTENDPE}${PV}" #STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}" #WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}" -LOCAL_SYSROOT_DL_DIR = "/usr1/openeuler/gcc/" LOCAL_FILES = "/usr1/openeuler/src/" diff --git a/meta-openeuler/conf/machine/qemu-aarch64-common.inc b/meta-openeuler/conf/machine/qemu-aarch64-common.inc index d20a003bfc0289c6932e6e6a2d2081aafab265c8..dd032e0c6df4b6ef31bb96c1462eca286408f038 100644 --- a/meta-openeuler/conf/machine/qemu-aarch64-common.inc +++ b/meta-openeuler/conf/machine/qemu-aarch64-common.inc @@ -1,7 +1,4 @@ -# Copyright (C) Huawei Technologies Co., Ltd. 2020. All rights reserved. # Description: Config for arm64 machine -# Author: Huawei OS Kernel Lab -# Create: Sat Aug 29 01:15:17 2020 MACHINEOVERRIDES =. "march64:" require conf/machine/qemu-common.inc @@ -20,10 +17,7 @@ require conf/machine/include/arm/arch-armv8a.inc TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', ' -mtune=cortex-a9', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', 'armv7a:', '' ,d)}" -COMPAT32_MACHINEOVERRIDES_DEL =. "march64:" -COMPAT32_MACHINEOVERRIDES_ADD =. "march32:" -COMPAT32_TUNE_FEATURES_APPEND += " cortexa9" -COMPAT32_TUNE_FEATURES_REMOVE += " vfp" - -HMKERNEL_ARCH_march64 = 'aarch64' -HMKERNEL_ARCH_compat32 = 'arm' +MACHINEOVERRIDES_remove_virtclass-multilib-lib32 =. "march64:" +MACHINEOVERRIDES_append_virtclass-multilib-lib32 =. "march32:" +TUNE_FEATURES_append_virtclass-multilib-lib32 += " cortexa9" +TUNE_FEATURES_remove_virtclass-multilib-lib32 += " vfp" diff --git a/meta-openeuler/conf/machine/qemu-aarch64.conf b/meta-openeuler/conf/machine/qemu-aarch64.conf index 6d6bd10baead4737556ca6a9ae3fd5cbe6933df0..521706cb1d83f9f98b7b7e17933b050ca9c3cf18 100644 --- a/meta-openeuler/conf/machine/qemu-aarch64.conf +++ b/meta-openeuler/conf/machine/qemu-aarch64.conf @@ -1,7 +1,4 @@ -# Copyright (C) Huawei Technologies Co., Ltd. 2020. All rights reserved. # Description: Machine description for little-endian aarch64 -# Author: Huawei OS Kernel Lab -# Create: Sat Aug 29 02:49:36 2020 MACHINEOVERRIDES =. "march64le:" DEFAULTTUNE = "aarch64" @@ -11,11 +8,11 @@ require conf/machine/qemu-aarch64-common.inc # need to consider compat32. TUNE_CCARGS .= " -mlittle-endian" -COMPAT32_MACHINEOVERRIDES_DEL =. "march64le:aarch64:qemu-aarch64:" -COMPAT32_MACHINEOVERRIDES_ADD =. "march32le:arm:qemu-arm:" -COMPAT32_DEFAULTTUNE = "armv7a" -# For SDK only. It depends on both arm64 and arm32 packages -# so require extra package arch. +DEFAULTTUNE_virtclass-multilib-lib32 = "armv7a" PACKAGE_EXTRA_ARCHS_tune-armv7a += " armv7a" -COMPAT32_PACKAGE_EXTRA_ARCHS = "armv7a" -COMPAT32_QA_REMOVE += "arch" +PACKAGE_EXTRA_ARCHS_virtclass-multilib-lib32 = "armv7a" + +require conf/multilib.conf +MULTILIB += "multilib:lib32" +MULTILIB += "multilib:ilp32" +DEFAULTTUNE_virtclass-multilib-ilp32 =. "aarch64_ilp32:" diff --git a/meta-openeuler/conf/machine/qemu-aarch64_be.conf b/meta-openeuler/conf/machine/qemu-aarch64_be.conf index cdaff7585b8f982052b5b422d8dad4540cb075d0..40cbfc2f9e04489694f9fd50124e8bb9cf8399e4 100644 --- a/meta-openeuler/conf/machine/qemu-aarch64_be.conf +++ b/meta-openeuler/conf/machine/qemu-aarch64_be.conf @@ -1,7 +1,4 @@ -# Copyright (C) Huawei Technologies Co., Ltd. 2020. All rights reserved. # Description: Machine description for little-endian aarch64 -# Author: Huawei OS Kernel Lab -# Create: Sat Aug 29 02:49:36 2020 MACHINEOVERRIDES =. "march64be:bigendian:" DEFAULTTUNE = "aarch64_be" diff --git a/meta-openeuler/conf/machine/qemu-arm-common.inc b/meta-openeuler/conf/machine/qemu-arm-common.inc index 99dab0d57c13293e3f01d89de967e771688fb057..57f0c3cbbcdcde00c5883e2c7793651f280c2ebd 100644 --- a/meta-openeuler/conf/machine/qemu-arm-common.inc +++ b/meta-openeuler/conf/machine/qemu-arm-common.inc @@ -1,7 +1,4 @@ -# Copyright (C) Huawei Technologies Co., Ltd. 2020. All rights reserved. # Description: Conf for arm -# Author: Huawei OS Kernel Lab -# Create: Thu Sep 10 15:06:26 2020 MACHINEOVERRIDES =. "march32:" require conf/machine/qemu-common.inc @@ -11,5 +8,3 @@ TUNE_FEATURES_append += " cortexa9" TUNE_FEATURES_remove += " vfp" TUNE_CCARGS .= " -mno-unaligned-access" - -HMKERNEL_ARCH_march32 = 'arm' diff --git a/meta-openeuler/conf/machine/qemu-arm.conf b/meta-openeuler/conf/machine/qemu-arm.conf index 7b7244763c8c6b49b375a5cc171c5f1fe7bc246c..01c0924d8803b44109b64f2fdc67ef66649a20d5 100644 --- a/meta-openeuler/conf/machine/qemu-arm.conf +++ b/meta-openeuler/conf/machine/qemu-arm.conf @@ -1,7 +1,4 @@ -# Copyright (C) Huawei Technologies Co., Ltd. 2020. All rights reserved. # Description: Machine description for little-endian aarch64 -# Author: Huawei OS Kernel Lab -# Create: Sat Aug 29 02:49:36 2020 MACHINEOVERRIDES =. "march32le:" DEFAULTTUNE = "armv7a" diff --git a/meta-openeuler/conf/machine/qemu-arm_be.conf b/meta-openeuler/conf/machine/qemu-arm_be.conf index 0c79ac08fd49bf10e213fb87e422f502a1f080df..88149b3d3ccb9676c5e934af4f7d775c7240de3d 100644 --- a/meta-openeuler/conf/machine/qemu-arm_be.conf +++ b/meta-openeuler/conf/machine/qemu-arm_be.conf @@ -1,7 +1,4 @@ -# Copyright (C) Huawei Technologies Co., Ltd. 2020. All rights reserved. # Description: Machine description for little-endian aarch64 -# Author: Huawei OS Kernel Lab -# Create: Sat Aug 29 02:49:36 2020 MACHINEOVERRIDES =. "march32be:bigendian:" DEFAULTTUNE = "armv7ab" diff --git a/meta-openeuler/config.xml b/meta-openeuler/config.xml index 84640a6a931f9cf2b425837292b08d5d3c6582d0..32209e22c09851136d08164b0186ac856badb26d 100644 --- a/meta-openeuler/config.xml +++ b/meta-openeuler/config.xml @@ -1,7 +1,7 @@ - /usr1/openeuler/gcc/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabi - /usr1/openeuler/gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu + /usr1/openeuler/gcc/openeuler_gcc_arm32le + /usr1/openeuler/gcc/openeuler_gcc_arm64le /opt/buildtools/cmake-3.18.3/bin/ /opt/buildtools/python-3.9.2/bin/ /opt/buildtools/ninja-1.10.1/bin diff --git a/meta-openeuler/recipes-core/glibc/glibc_2.25.bb b/meta-openeuler/recipes-core/glibc/glibc_2.25.bb index ac596c9e955b68fc5d2ae3b458778fe7015305d1..d5167a4a458f895b5e29fd5058f14796f01ed1a1 100644 --- a/meta-openeuler/recipes-core/glibc/glibc_2.25.bb +++ b/meta-openeuler/recipes-core/glibc/glibc_2.25.bb @@ -22,12 +22,15 @@ INHIBIT_DEFAULT_DEPS = "1" PR = "r1" -SRC_URI_aarch64 = "file://sysroot-glibc-linaro-2.25-2018.05-aarch64-linux-gnu" -SRC_URI_arm = "file://sysroot-glibc-linaro-2.25-2018.05-arm-linux-gnueabi" +require ../../recipes-devtools/gcc/gcc-bin-toolchain.inc +SRC_URI_aarch64 = "file://openeuler_gcc_arm64le" +SRC_URI_arm = "file://openeuler_gcc_arm32le" +#Not strip toolchain +INHIBIT_SYSROOT_STRIP = "1" #FILESPATH_prepend += "${LOCAL_FILES}:" DL_DIR = "${LOCAL_SYSROOT_DL_DIR}" -S_aarch64 = "${WORKDIR}/sysroot-glibc-linaro-2.25-2018.05-aarch64-linux-gnu" -S_arm = "${WORKDIR}/sysroot-glibc-linaro-2.25-2018.05-arm-linux-gnueabi" +S_aarch64 = "${WORKDIR}/openeuler_gcc_arm64le/sysroot" +S_arm = "${WORKDIR}/openeuler_gcc_arm32le/sysroot" PSEUDO_DISABLED = "1" PRIVATE_LIBS_${PN}-dev_append = "libdl.so.2 libresolv.so.2 libm.so.6 librt.so.1 libnsl.so.1 libnss_files.so.2 " @@ -41,23 +44,20 @@ do_compile () { do_install() { install -m 0755 -d ${D}/ - cp -pPR ${B}/* ${D}/ + cp -pPR ${S}/* ${D}/ #for f in ${D}${bindir}/${EULER_TOOLCHAIN_SYSNAME}-*; do echo "EULER_TOOLCHAIN_SYSNAME:$EULER_TOOLCHAIN_SYSNAME" echo "TARGET_PREFIX:$TARGET_PREFIX" - EULER_TOOLCHAIN_SYSNAME="aarch64-linux-gnu" + EULER_TOOLCHAIN_SYSNAME="aarch64-openeuler-linux-gnu" EULER_TOOLCHAIN_TARGET_PREFIX="aarch64-openeuler-linux-" echo "D:${D}" rm -rf ${D}/etc/rpc - rm -rf ${D}/lib/debug - rm -f ${D}/lib/libgcc_s.so* - rm -r ${D}/usr/share/i18n - rm -r ${D}//usr/lib/gconv - rm -r ${D}/usr/lib/audit/ - rm -r ${D}/lib/*.spec - rm -r ${D}/lib/ld-2.25.so + rm -rf ${D}/${base_libdir}/debug + echo ${libdir} + echo ${base_libdir} } +SYSROOT_DIRS += "/*" #depends by glibc-locale do_stash_locale() { : diff --git a/meta-openeuler/recipes-core/iSulad/iSulad_2.0.9.bb b/meta-openeuler/recipes-core/iSulad/iSulad_2.0.9.bb index 80267cbbb351036a6dc428fbf2748e719150cb82..22cf83388f484c5b8f4ad6f6886d5c8122fd9c28 100644 --- a/meta-openeuler/recipes-core/iSulad/iSulad_2.0.9.bb +++ b/meta-openeuler/recipes-core/iSulad/iSulad_2.0.9.bb @@ -3,7 +3,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" -SRC_URI = "file://iSulad/v2.0.9.tar.gz \ +SRC_URI = "file://iSulad/v2.0.10.tar.gz \ file://0001-fix-bug-disable-selinux-not-selinux-label-file.patch \ file://0002-delete-call-setlocale.patch \ file://0003-modify-printf-to-arm32.patch \ diff --git a/meta-openeuler/recipes-core/images/openeuler-image.bb b/meta-openeuler/recipes-core/images/openeuler-image.bb index b6dab15949e0bd339f8aed9bd824c5c3d35fb6ab..33a5c97c699321205d9e0a2d37f3dd1194214897 100644 --- a/meta-openeuler/recipes-core/images/openeuler-image.bb +++ b/meta-openeuler/recipes-core/images/openeuler-image.bb @@ -17,6 +17,7 @@ do_rootfs[depends] = "" #not depends to ldconfig-native #LDCONFIGDEPEND = "" DEPENDS_remove += "${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross depmodwrapper-cross cross-localedef-native" +SDK_DEPENDS_remove += "${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} depmodwrapper-cross cross-localedef-native" RPMROOTFSDEPENDS = "" FEATURE_PACKAGES_tools-sdk_remove = " packagegroup-core-sdk packagegroup-core-standalone-sdk-target" TOOLCHAIN_TARGET_TASK_remove += "${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')}" diff --git a/meta-openeuler/recipes-core/lcr/lcr_2.0.6.bb b/meta-openeuler/recipes-core/lcr/lcr_2.0.6.bb index bb40590b56108ceb884c8d745e6b31610fe0b9ec..9602b852f94e632aadf2613687d3d7d26658d43d 100644 --- a/meta-openeuler/recipes-core/lcr/lcr_2.0.6.bb +++ b/meta-openeuler/recipes-core/lcr/lcr_2.0.6.bb @@ -18,8 +18,6 @@ DEPENDS = "yajl lxc" INHIBIT_PACKAGE_DEBUG_SPLIT = "1" FILES_${PN} += "${libdir}/* " -#FILES_${PN} += "/usr/local/lib/* " -#FILES_${PN}-dev = "/usr/local/*" do_configure_prepend() { grep -q CMAKE_SYSROOT ${WORKDIR}/toolchain.cmake || cat >> ${WORKDIR}/toolchain.cmake <