gcc-5, aarch64 support for musl
cover gcc-5, aarch64 support for musl
This patchset adds gcc 5.1.0 recipes, additionally fixes gcc configure defaults for cross building, fixes aarch64 multilib case
Accomodate aach64 for musl and let glibc not build for non-glibc libcs
add patch to libart-lgpl to avoid configure time checks for datasizes
Khem Raj (6):
glibc: ignore for musl/uclibc but only for target recipes
gcc: Add 5 recipes
insane: Support aarch64 on musl
gcc-4.9,gcc-5: Use variable SYSTEMLIBS_DIR instead of hardcoding it
for aarch64
gcc-cross: Pass EXTRA_OECONF_GCC_FLOAT to configure
libart-lgpl: Fix cross compiling
meta/classes/insane.bbclass | 2 + meta/recipes-core/glibc/glibc-collateral.inc | 3 + meta/recipes-core/glibc/glibc_2.21.bb | 9 +- meta/recipes-devtools/gcc/gcc-4.9.inc | 1 + ...IBS_DIR-replacement-instead-of-hardcoding.patch | 24 + meta/recipes-devtools/gcc/gcc-5.1.inc | 124 + .../0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 42 + .../gcc/gcc-5.1/0002-uclibc-conf.patch | 53 + .../0003-gcc-uclibc-locale-ctype_touplow_t.patch | 87 + .../gcc/gcc-5.1/0004-uclibc-locale.patch | 2862 ++++++++++++++++++++ .../gcc/gcc-5.1/0005-uclibc-locale-no__x.patch | 257 ++ .../gcc/gcc-5.1/0006-uclibc-locale-wchar_fix.patch | 68 + .../gcc/gcc-5.1/0007-uclibc-locale-update.patch | 542 ++++ .../gcc/gcc-5.1/0008-missing-execinfo_h.patch | 28 + .../gcc/gcc-5.1/0009-c99-snprintf.patch | 28 + .../0010-gcc-poison-system-directories.patch | 192 ++ .../gcc/gcc-5.1/0011-gcc-poison-dir-extend.patch | 39 + .../0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch | 73 + .../gcc/gcc-5.1/0013-64-bit-multilib-hack.patch | 85 + .../gcc/gcc-5.1/0014-optional-libstdc.patch | 101 + ...0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch | 59 + .../gcc/gcc-5.1/0016-COLLECT_GCC_OPTIONS.patch | 38 + ...efaults.h-in-B-instead-of-S-and-t-oe-in-B.patch | 96 + .../gcc-5.1/0018-fortran-cross-compile-hack.patch | 46 + .../gcc/gcc-5.1/0019-libgcc-sjlj-check.patch | 74 + .../gcc/gcc-5.1/0020-cpp-honor-sysroot.patch | 54 + .../gcc-5.1/0021-MIPS64-Default-to-N64-ABI.patch | 57 + ...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | 216 ++ ...0023-gcc-Fix-argument-list-too-long-error.patch | 40 + .../gcc/gcc-5.1/0024-Disable-sdt.patch | 113 + .../gcc/gcc-5.1/0025-libtool.patch | 42 + ...4-pass-fix-v4bx-to-linker-to-support-EABI.patch | 43 + ...tilib-config-files-from-B-instead-of-usin.patch | 102 + ...-libdir-from-.la-which-usually-points-to-.patch | 31 + .../gcc/gcc-5.1/0029-export-CPP.patch | 53 + ...AltiVec-generation-on-powepc-linux-target.patch | 44 + ...-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch | 42 + ...Ensure-target-gcc-headers-can-be-included.patch | 98 + ...-t-build-with-disable-dependency-tracking.patch | 54 + ...h-host-directory-during-relink-if-inst_pr.patch | 38 + ...-link-the-plugins-with-libgomp-explicitly.patch | 83 + ...IBS_DIR-replacement-instead-of-hardcoding.patch | 27 + .../recipes-devtools/gcc/gcc-cross-canadian_5.1.bb | 5 + meta/recipes-devtools/gcc/gcc-cross-initial_5.1.bb | 2 + meta/recipes-devtools/gcc/gcc-cross.inc | 2 + meta/recipes-devtools/gcc/gcc-cross_5.1.bb | 3 + .../gcc/gcc-crosssdk-initial_5.1.bb | 3 + meta/recipes-devtools/gcc/gcc-crosssdk_5.1.bb | 2 + meta/recipes-devtools/gcc/gcc-runtime_5.1.bb | 7 + meta/recipes-devtools/gcc/gcc-sanitizers_5.1.bb | 2 + meta/recipes-devtools/gcc/gcc-source_5.1.bb | 2 + meta/recipes-devtools/gcc/gcc_5.1.bb | 7 + meta/recipes-devtools/gcc/libgcc-initial_5.1.bb | 2 + meta/recipes-devtools/gcc/libgcc_5.1.bb | 2 + meta/recipes-devtools/gcc/libgfortran_5.1.bb | 3 + .../libart_lgpl-2.3.21-crosscompile.patch | 84 + meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb | 10 +- 57 files changed, 6193 insertions(+), 13 deletions(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.9/0063-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1.inc create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0002-uclibc-conf.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0003-gcc-uclibc-locale-ctype_touplow_t.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0004-uclibc-locale.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0005-uclibc-locale-no__x.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0006-uclibc-locale-wchar_fix.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0007-uclibc-locale-update.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0008-missing-execinfo_h.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0009-c99-snprintf.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0010-gcc-poison-system-directories.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0011-gcc-poison-dir-extend.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0013-64-bit-multilib-hack.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0014-optional-libstdc.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0016-COLLECT_GCC_OPTIONS.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0018-fortran-cross-compile-hack.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0019-libgcc-sjlj-check.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0020-cpp-honor-sysroot.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0021-MIPS64-Default-to-N64-ABI.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0022-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0023-gcc-Fix-argument-list-too-long-error.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0024-Disable-sdt.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0025-libtool.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0026-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0027-Use-the-multilib-config-files-from-B-instead-of-usin.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0028-Avoid-using-libdir-from-.la-which-usually-points-to-.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0029-export-CPP.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0031-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0032-Ensure-target-gcc-headers-can-be-included.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0033-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0034-Don-t-search-host-directory-during-relink-if-inst_pr.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0035-Dont-link-the-plugins-with-libgomp-explicitly.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0036-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch create mode 100644 meta/recipes-devtools/gcc/gcc-cross-canadian_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-cross-initial_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-cross_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk-initial_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-runtime_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-sanitizers_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-source_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc_5.1.bb create mode 100644 meta/recipes-devtools/gcc/libgcc-initial_5.1.bb create mode 100644 meta/recipes-devtools/gcc/libgcc_5.1.bb create mode 100644 meta/recipes-devtools/gcc/libgfortran_5.1.bb create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/libart_lgpl-2.3.21-crosscompile.patch
Signature · 1 line
2.1.4
PATCH 1/6 glibc: ignore for musl/uclibc but only for target recipes
we still need nativesdk or native recipes for libc to come from glibc, but only be ignored for target recipes types
--- meta/recipes-core/glibc/glibc-collateral.inc | 3 +++ meta/recipes-core/glibc/glibc_2.21.bb | 9 +++------ 2 files changed, 6 insertions(+), 6 deletions(-)
meta/recipes-core/glibc/glibc-collateral.inc +3 -0
@@ -17,3 +17,6 @@ do_compile[noexec] = "1" do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot" +COMPATIBLE_HOST_libc-musl_class-target = "null" +COMPATIBLE_HOST_libc-uclibc_class-target = "null" +
meta/recipes-core/glibc/glibc_2.21.bb +3 -6
@@ -64,14 +64,11 @@ TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}" GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN es_CR.ISO-8859-1" # -# We will skip parsing glibc when system C library selection is not glibc +# We will skip parsing glibc when target system C library selection is not glibc # this helps in easing out parsing for non-glibc system libraries # -python __anonymous () { - if d.getVar('TCLIBC', True) != "glibc": - raise bb.parse.SkipPackage("incompatible with %s C library" % - d.getVar('TCLIBC', True)) -} +COMPATIBLE_HOST_libc-musl_class-target = "null" +COMPATIBLE_HOST_libc-uclibc_class-target = "null" EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ --without-cvs --disable-profile \
Signature · 1 line
2.1.4
PATCH 2/6 gcc: Add 5 recipes
Drop backports obviously
additionally drop local patches around parallel compilation since it got reworked upstream
To select set
GCCVERSION = "5.1%"
SDKGCCVERSION = "5.1%"
in local.conf
--- meta/recipes-devtools/gcc/gcc-5.1.inc | 123 + .../0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 42 + .../gcc/gcc-5.1/0002-uclibc-conf.patch | 53 + .../0003-gcc-uclibc-locale-ctype_touplow_t.patch | 87 + .../gcc/gcc-5.1/0004-uclibc-locale.patch | 2862 ++++++++++++++++++++ .../gcc/gcc-5.1/0005-uclibc-locale-no__x.patch | 257 ++ .../gcc/gcc-5.1/0006-uclibc-locale-wchar_fix.patch | 68 + .../gcc/gcc-5.1/0007-uclibc-locale-update.patch | 542 ++++ .../gcc/gcc-5.1/0008-missing-execinfo_h.patch | 28 + .../gcc/gcc-5.1/0009-c99-snprintf.patch | 28 + .../0010-gcc-poison-system-directories.patch | 192 ++ .../gcc/gcc-5.1/0011-gcc-poison-dir-extend.patch | 39 + .../0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch | 73 + .../gcc/gcc-5.1/0013-64-bit-multilib-hack.patch | 85 + .../gcc/gcc-5.1/0014-optional-libstdc.patch | 101 + ...0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch | 59 + .../gcc/gcc-5.1/0016-COLLECT_GCC_OPTIONS.patch | 38 + ...efaults.h-in-B-instead-of-S-and-t-oe-in-B.patch | 96 + .../gcc-5.1/0018-fortran-cross-compile-hack.patch | 46 + .../gcc/gcc-5.1/0019-libgcc-sjlj-check.patch | 74 + .../gcc/gcc-5.1/0020-cpp-honor-sysroot.patch | 54 + .../gcc-5.1/0021-MIPS64-Default-to-N64-ABI.patch | 57 + ...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | 216 ++ ...0023-gcc-Fix-argument-list-too-long-error.patch | 40 + .../gcc/gcc-5.1/0024-Disable-sdt.patch | 113 + .../gcc/gcc-5.1/0025-libtool.patch | 42 + ...4-pass-fix-v4bx-to-linker-to-support-EABI.patch | 43 + ...tilib-config-files-from-B-instead-of-usin.patch | 102 + ...-libdir-from-.la-which-usually-points-to-.patch | 31 + .../gcc/gcc-5.1/0029-export-CPP.patch | 53 + ...AltiVec-generation-on-powepc-linux-target.patch | 44 + ...-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch | 42 + ...Ensure-target-gcc-headers-can-be-included.patch | 98 + ...-t-build-with-disable-dependency-tracking.patch | 54 + ...h-host-directory-during-relink-if-inst_pr.patch | 38 + ...-link-the-plugins-with-libgomp-explicitly.patch | 83 + .../recipes-devtools/gcc/gcc-cross-canadian_5.1.bb | 5 + meta/recipes-devtools/gcc/gcc-cross-initial_5.1.bb | 2 + meta/recipes-devtools/gcc/gcc-cross_5.1.bb | 3 + .../gcc/gcc-crosssdk-initial_5.1.bb | 3 + meta/recipes-devtools/gcc/gcc-crosssdk_5.1.bb | 2 + meta/recipes-devtools/gcc/gcc-runtime_5.1.bb | 7 + meta/recipes-devtools/gcc/gcc-sanitizers_5.1.bb | 2 + meta/recipes-devtools/gcc/gcc-source_5.1.bb | 2 + meta/recipes-devtools/gcc/gcc_5.1.bb | 7 + meta/recipes-devtools/gcc/libgcc-initial_5.1.bb | 2 + meta/recipes-devtools/gcc/libgcc_5.1.bb | 2 + meta/recipes-devtools/gcc/libgfortran_5.1.bb | 3 + 48 files changed, 6043 insertions(+) create mode 100644 meta/recipes-devtools/gcc/gcc-5.1.inc create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0002-uclibc-conf.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0003-gcc-uclibc-locale-ctype_touplow_t.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0004-uclibc-locale.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0005-uclibc-locale-no__x.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0006-uclibc-locale-wchar_fix.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0007-uclibc-locale-update.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0008-missing-execinfo_h.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0009-c99-snprintf.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0010-gcc-poison-system-directories.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0011-gcc-poison-dir-extend.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0013-64-bit-multilib-hack.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0014-optional-libstdc.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0016-COLLECT_GCC_OPTIONS.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0018-fortran-cross-compile-hack.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0019-libgcc-sjlj-check.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0020-cpp-honor-sysroot.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0021-MIPS64-Default-to-N64-ABI.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0022-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0023-gcc-Fix-argument-list-too-long-error.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0024-Disable-sdt.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0025-libtool.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0026-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0027-Use-the-multilib-config-files-from-B-instead-of-usin.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0028-Avoid-using-libdir-from-.la-which-usually-points-to-.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0029-export-CPP.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0031-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0032-Ensure-target-gcc-headers-can-be-included.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0033-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0034-Don-t-search-host-directory-during-relink-if-inst_pr.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0035-Dont-link-the-plugins-with-libgomp-explicitly.patch create mode 100644 meta/recipes-devtools/gcc/gcc-cross-canadian_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-cross-initial_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-cross_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk-initial_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-runtime_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-sanitizers_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc-source_5.1.bb create mode 100644 meta/recipes-devtools/gcc/gcc_5.1.bb create mode 100644 meta/recipes-devtools/gcc/libgcc-initial_5.1.bb create mode 100644 meta/recipes-devtools/gcc/libgcc_5.1.bb create mode 100644 meta/recipes-devtools/gcc/libgfortran_5.1.bb
meta/recipes-devtools/gcc/gcc-5.1.inc new file +123 -0
@@ -0,0 +1,123 @@ +require gcc-common.inc + +# Third digit in PV should be incremented after a minor release + +PV = "5.1.0" + +#SNAP = "5-20150405" + +# BINV should be incremented to a revision after a minor gcc release + +BINV = "5.1.0" + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-5.1:" + +DEPENDS =+ "mpfr gmp libmpc zlib" +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native" + +LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" + +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \ +" +#BASEURI = "http://www.netgull.com/gcc/snapshots/${SNAP}/gcc-${SNAP}.tar.bz2" +BASEURI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2" + +SRC_URI[md5sum] = "d5525b1127d07d215960e6051c5da35e" +SRC_URI[sha256sum] = "b7dafdf89cbb0e20333dbf5b5349319ae06e3d1a30bf3515b5488f7e89dca5ad" + +SRC_URI = "\ + ${BASEURI} \ + file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ + file://0002-uclibc-conf.patch \ + file://0003-gcc-uclibc-locale-ctype_touplow_t.patch \ + file://0004-uclibc-locale.patch \ + file://0005-uclibc-locale-no__x.patch \ + file://0006-uclibc-locale-wchar_fix.patch \ + file://0007-uclibc-locale-update.patch \ + file://0008-missing-execinfo_h.patch \ + file://0009-c99-snprintf.patch \ + file://0010-gcc-poison-system-directories.patch \ + file://0011-gcc-poison-dir-extend.patch \ + file://0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ + file://0013-64-bit-multilib-hack.patch \ + file://0014-optional-libstdc.patch \ + file://0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \ + file://0016-COLLECT_GCC_OPTIONS.patch \ + file://0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ + file://0018-fortran-cross-compile-hack.patch \ + file://0019-libgcc-sjlj-check.patch \ + file://0020-cpp-honor-sysroot.patch \ + file://0021-MIPS64-Default-to-N64-ABI.patch \ + file://0022-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \ + file://0023-gcc-Fix-argument-list-too-long-error.patch \ + file://0024-Disable-sdt.patch \ + file://0025-libtool.patch \ + file://0026-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \ + file://0027-Use-the-multilib-config-files-from-B-instead-of-usin.patch \ + file://0028-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \ + file://0029-export-CPP.patch \ + file://0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \ + file://0031-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch \ + file://0032-Ensure-target-gcc-headers-can-be-included.patch \ + file://0033-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \ + file://0034-Don-t-search-host-directory-during-relink-if-inst_pr.patch \ + file://0035-Dont-link-the-plugins-with-libgomp-explicitly.patch \ + " + +#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${SNAP}" +S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" +B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" + +# Language Overrides +FORTRAN = "" +JAVA = "" + +LTO = "--enable-lto" + +EXTRA_OECONF_BASE = "\ + ${LTO} \ + --enable-libssp \ + --disable-bootstrap \ + --disable-libmudflap \ + --with-system-zlib \ + --with-linker-hash-style=${LINKER_HASH_STYLE} \ + --enable-linker-build-id \ + --with-ppl=no \ + --with-cloog=no \ + --enable-checking=release \ + --enable-cheaders=c_global \ +" + +EXTRA_OECONF_INITIAL = "\ + --disable-libmudflap \ + --disable-libgomp \ + --disable-libssp \ + --disable-libquadmath \ + --with-system-zlib \ + --disable-lto \ + --disable-plugin \ + --enable-decimal-float=no \ +" + +EXTRA_OECONF_INTERMEDIATE = "\ + --disable-libmudflap \ + --disable-libgomp \ + --disable-libquadmath \ + --with-system-zlib \ + --disable-lto \ + --disable-plugin \ + --disable-libssp \ +" + +EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float " + +EXTRA_OECONF_PATHS = "\ + --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \ + --with-sysroot=/not/exist \ + --with-build-sysroot=${STAGING_DIR_TARGET} \ +"
meta/recipes-devtools/gcc/gcc-5.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch new file +42 -0
42 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0002-uclibc-conf.patch new file +53 -0
53 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0003-gcc-uclibc-locale-ctype_touplow_t.patch new file +87 -0
87 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0004-uclibc-locale.patch new file +2862 -0
2,695 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0005-uclibc-locale-no__x.patch new file +257 -0
257 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0006-uclibc-locale-wchar_fix.patch new file +68 -0
68 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0007-uclibc-locale-update.patch new file +542 -0
542 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0008-missing-execinfo_h.patch new file +28 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-5.1/0009-c99-snprintf.patch new file +28 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-5.1/0010-gcc-poison-system-directories.patch new file +192 -0
192 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0011-gcc-poison-dir-extend.patch new file +39 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-5.1/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch new file +73 -0
73 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0013-64-bit-multilib-hack.patch new file +85 -0
85 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0014-optional-libstdc.patch new file +101 -0
101 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch new file +59 -0
59 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0016-COLLECT_GCC_OPTIONS.patch new file +38 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-5.1/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch new file +96 -0
96 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0018-fortran-cross-compile-hack.patch new file +46 -0
46 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0019-libgcc-sjlj-check.patch new file +74 -0
74 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0020-cpp-honor-sysroot.patch new file +54 -0
54 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0021-MIPS64-Default-to-N64-ABI.patch new file +57 -0
57 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0022-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch new file +216 -0
216 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0023-gcc-Fix-argument-list-too-long-error.patch new file +40 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-5.1/0024-Disable-sdt.patch new file +113 -0
113 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0025-libtool.patch new file +42 -0
42 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0026-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch new file +43 -0
43 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0027-Use-the-multilib-config-files-from-B-instead-of-usin.patch new file +102 -0
102 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0028-Avoid-using-libdir-from-.la-which-usually-points-to-.patch new file +31 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-5.1/0029-export-CPP.patch new file +53 -0
53 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch new file +44 -0
44 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0031-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch new file +42 -0
42 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0032-Ensure-target-gcc-headers-can-be-included.patch new file +98 -0
98 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0033-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch new file +54 -0
54 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-5.1/0034-Don-t-search-host-directory-during-relink-if-inst_pr.patch new file +38 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-5.1/0035-Dont-link-the-plugins-with-libgomp-explicitly.patch new file +83 -0
83 lines not on this page · raw message
meta/recipes-devtools/gcc/gcc-cross-canadian_5.1.bb new file +5 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-cross-initial_5.1.bb new file +2 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-cross_5.1.bb new file +3 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-crosssdk-initial_5.1.bb new file +3 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-crosssdk_5.1.bb new file +2 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-runtime_5.1.bb new file +7 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-sanitizers_5.1.bb new file +2 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc-source_5.1.bb new file +2 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/gcc_5.1.bb new file +7 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/libgcc-initial_5.1.bb new file +2 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/libgcc_5.1.bb new file +2 -0
Lines of this file are not shown. View the raw message.
meta/recipes-devtools/gcc/libgfortran_5.1.bb new file +3 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Signature · 1 line
2.1.4
Part of the diff is not shown here. View the raw message.
PATCH 3/6 insane: Support aarch64 on musl
In reply to Khem Rajmusl 1.1.8 supports aarch64
--- meta/classes/insane.bbclass | 2 ++ 1 file changed, 2 insertions(+)
meta/classes/insane.bbclass +2 -0
@@ -106,6 +106,8 @@ def package_qa_get_machine_dict(): }, "linux-musl" : { + "aarch64" : (183, 0, 0, True, 64), + "aarch64_be" :(183, 0, 0, False, 64), "arm" : ( 40, 97, 0, True, 32), "armeb": ( 40, 97, 0, False, 32), "powerpc": ( 20, 0, 0, False, 32),
Signature · 1 line
2.1.4
PATCH 4/6 gcc-4.9, gcc-5: Use variable SYSTEMLIBS_DIR instead of hardcoding it for aarch64
In reply to Khem Raj--- meta/recipes-devtools/gcc/gcc-4.9.inc | 1 + ...IBS_DIR-replacement-instead-of-hardcoding.patch | 24 +++++++++++++++++++ meta/recipes-devtools/gcc/gcc-5.1.inc | 1 + ...IBS_DIR-replacement-instead-of-hardcoding.patch | 27 ++++++++++++++++++++++ 4 files changed, 53 insertions(+) create mode 100644 meta/recipes-devtools/gcc/gcc-4.9/0063-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0036-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
meta/recipes-devtools/gcc/gcc-4.9.inc +1 -0
@@ -78,6 +78,7 @@ SRC_URI = "\ file://0060-Only-allow-e500-double-in-SPE_SIMD_REGNO_P-registers.patch \ file://0061-target-gcc-includedir.patch \ file://0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch \ + file://0063-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \ " SRC_URI[md5sum] = "4df8ee253b7f3863ad0b86359cd39c43" SRC_URI[sha256sum] = "2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd"
meta/recipes-devtools/gcc/gcc-4.9/0063-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch new file +24 -0
@@ -0,0 +1,24 @@ +From 861bcfd4ae814f351e0c668ee26d01d1331e0422 Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Tue, 28 Apr 2015 23:15:27 -0700 +Subject: [PATCH 36/37] Use SYSTEMLIBS_DIR replacement instead of hardcoding + base_libdir + +Signed-off-by: Khem Raj <[email protected]> +--- + gcc/config/aarch64/aarch64-linux.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: gcc-4.9.2/gcc/config/aarch64/aarch64-linux.h +=================================================================== +--- gcc-4.9.2.orig/gcc/config/aarch64/aarch64-linux.h ++++ gcc-4.9.2/gcc/config/aarch64/aarch64-linux.h +@@ -21,7 +21,7 @@ + #ifndef GCC_AARCH64_LINUX_H + #define GCC_AARCH64_LINUX_H + +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1" ++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}.so.1" + + #define CPP_SPEC "%{pthread:-D_REENTRANT}" +
meta/recipes-devtools/gcc/gcc-5.1.inc +1 -0
@@ -67,6 +67,7 @@ SRC_URI = "\ file://0033-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \ file://0034-Don-t-search-host-directory-during-relink-if-inst_pr.patch \ file://0035-Dont-link-the-plugins-with-libgomp-explicitly.patch \ + file://0036-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \ " #S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${SNAP}"
meta/recipes-devtools/gcc/gcc-5.1/0036-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch new file +27 -0
@@ -0,0 +1,27 @@ +From 861bcfd4ae814f351e0c668ee26d01d1331e0422 Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Tue, 28 Apr 2015 23:15:27 -0700 +Subject: [PATCH 36/37] Use SYSTEMLIBS_DIR replacement instead of hardcoding + base_libdir + +Signed-off-by: Khem Raj <[email protected]> +--- + gcc/config/aarch64/aarch64-linux.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h +index 9abb252..79525ee 100644 +--- a/gcc/config/aarch64/aarch64-linux.h ++++ b/gcc/config/aarch64/aarch64-linux.h +@@ -21,7 +21,7 @@ + #ifndef GCC_AARCH64_LINUX_H + #define GCC_AARCH64_LINUX_H + +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" + + #undef ASAN_CC1_SPEC + #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" +-- +2.1.4 +
Signature · 1 line
2.1.4
PATCH 5/6 gcc-cross: Pass EXTRA_OECONF_GCC_FLOAT to configure
In reply to Khem RajThis helps in configuring the cross compiler to have sane defaults in case of ARM e.g. it will do the right thing for selecting hardfloat ABI when invoked without using TOOLCHAIN_OPTIONS on cmdline.
--- meta/recipes-devtools/gcc/gcc-cross.inc | 2 ++ 1 file changed, 2 insertions(+)
meta/recipes-devtools/gcc/gcc-cross.inc +2 -0
@@ -30,6 +30,8 @@ EXTRA_OECONF_PATHS = "\ --with-build-sysroot=${STAGING_DIR_TARGET} \ " +EXTRA_OECONF_GCC_FLOAT = "${@get_gcc_float_setting(bb, d)}" + ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_DIR_TARGET}${target_includedir}" do_compile () {
Signature · 1 line
2.1.4
PATCH 6/6 libart-lgpl: Fix cross compiling
In reply to Khem RajWe use standard ISO C data types and get rid of configure guess work which is iffy in cross compiled environment. Cleans up the re-build as well since we were deleting art_config.h without considering if the file is there in first place or not.
--- .../libart_lgpl-2.3.21-crosscompile.patch | 84 ++++++++++++++++++++++ meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb | 10 +-- 2 files changed, 87 insertions(+), 7 deletions(-) create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/libart_lgpl-2.3.21-crosscompile.patch
meta/recipes-gnome/gnome/libart-lgpl/libart_lgpl-2.3.21-crosscompile.patch new file +84 -0
@@ -0,0 +1,84 @@ +Taken from portage + +Upstream-Status: Pending +Signed-off-by: Khem Raj <[email protected]> + +From e1443c945a4cf67096d8c27721aadd7368382b3f Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <[email protected]> +Date: Tue, 6 Apr 2010 15:22:25 +0200 +Subject: [PATCH 2/2] gentoo: use ISO types for fixed type size + +--- + Makefile.am | 11 ++--------- + art_config.h | 5 +++++ + configure.in | 10 ---------- + 3 files changed, 7 insertions(+), 19 deletions(-) + create mode 100644 art_config.h + +diff --git a/Makefile.am b/Makefile.am +index 95952da..6aa2fe3 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2,13 +2,6 @@ check_PROGRAMS = testart testuta + + bin_SCRIPTS = \ + libart2-config +- +-noinst_SCRIPTS = gen_art_config.sh +- +-BUILT_SOURCES = art_config.h +- +-art_config.h: +- ./gen_art_config.sh > art_config.h + + EXTRA_DIST = \ + libart.def \ +@@ -173,5 +166,5 @@ install-data-local: install-ms-lib install-libtool-import-lib + + uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib + +-CLEANFILES = $(BUILT_SOURCES) $(bin_SCRIPTS) +-DISTCLEANFILES = $(BUILT_SOURCES) $(bin_SCRIPTS) ++CLEANFILES = $(bin_SCRIPTS) ++DISTCLEANFILES = $(bin_SCRIPTS) +diff --git a/art_config.h b/art_config.h +new file mode 100644 +index 0000000..5985f1f +--- a/art_config.h ++++ b/art_config.h +@@ -0,0 +1,5 @@ ++#include <stdint.h> ++ ++typedef uint8_t art_u8; ++typedef uint16_t art_u16; ++typedef uint32_t art_u32; +diff --git a/configure.in b/configure.in +index e4804f7..ddcac4f 100644 +--- a/configure.in ++++ b/configure.in +@@ -92,15 +92,6 @@ AC_FUNC_ALLOCA + + AC_C_BIGENDIAN + +-AC_CHECK_SIZEOF(char) +-AC_SUBST(ART_SIZEOF_CHAR, $ac_cv_sizeof_char) +-AC_CHECK_SIZEOF(short) +-AC_SUBST(ART_SIZEOF_SHORT, $ac_cv_sizeof_short) +-AC_CHECK_SIZEOF(int) +-AC_SUBST(ART_SIZEOF_INT, $ac_cv_sizeof_int) +-AC_CHECK_SIZEOF(long) +-AC_SUBST(ART_SIZEOF_LONG, $ac_cv_sizeof_long) +- + AC_CONFIG_FILES([ + libart-features.h + Makefile +@@ -109,6 +100,5 @@ libart-2.0-uninstalled.pc + libart-zip]) + + AC_CONFIG_FILES([libart-config],[chmod +x libart-config]) +-AC_CONFIG_FILES([gen_art_config.sh],[chmod +x gen_art_config.sh]) + + AC_OUTPUT +-- +1.7.0.4 +
meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb +3 -7
@@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" PR = "r2" # can't use gnome.oeclass due to _ in filename -SRC_URI = "${GNOME_MIRROR}/libart_lgpl/2.3/libart_lgpl-${PV}.tar.bz2" +SRC_URI = "${GNOME_MIRROR}/libart_lgpl/2.3/libart_lgpl-${PV}.tar.bz2 \ + file://libart_lgpl-2.3.21-crosscompile.patch \ + " SRC_URI[md5sum] = "08559ff3c67fd95d57b0c5e91a6b4302" SRC_URI[sha256sum] = "fdc11e74c10fc9ffe4188537e2b370c0abacca7d89021d4d303afdf7fd7476fa"
@@ -18,9 +20,3 @@ FILES_${PN} = "${libdir}/*.so.*" FILES_${PN}-dev += "${bindir}/libart2-config" S = "${WORKDIR}/libart_lgpl-${PV}" - -do_compile_prepend() { - # enforce regeneration of art_config.h - rm ${S}/art_config.h -} -
Signature · 1 line
2.1.4
Re: [PATCH 5/6] gcc-cross: Pass EXTRA_OECONF_GCC_FLOAT to configure
In reply to Khem RajQuoted 14 lines · Khem Raj
This helps in configuring the cross compiler to have sane defaults in case of ARM e.g. it will do the right thing for selecting hardfloat ABI when invoked without using
TOOLCHAIN_OPTIONSon cmdline.Signed-off-by Khem Raj <[email protected]>--- meta/recipes-devtools/gcc/gcc-cross.inc | 2 ++ 1 file changed, 2 insertions(+)meta/recipes-devtools/gcc/gcc-cross.inc +0
-0
meta/recipes-devtools/gcc/gcc-cross.inc EXTRA_OECONF_PATHS = "\ · line 37
Quoted 8 lines
meta/recipes-devtools/gcc/gcc-cross.inc +2
-0@@ -30,6 +30,8 @@ EXTRA_OECONF_PATHS = "\ --with-build-sysroot=${STAGING_DIR_TARGET} \ " +EXTRA_OECONF_GCC_FLOAT = "${@get_gcc_float_setting(bb, d)}" + ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_DIR_TARGET}${target_includedir}" do_compile () {
But we build gcc-cross-arm once. This will cause it to rebuild depending on which machine you target? Worse, it likely will now do this for all architectures, not just arm.
Cheers,
Richard
Re: [PATCH 6/6] libart-lgpl: Fix cross compiling
In reply to Khem RajQuoted 5 lines · Khem Raj
We use standard ISO C data types and get rid of configure guess work which is iffy in cross compiled environment. Cleans up the re-build as well since we were deleting
art_config.hwithout considering if the file is there in first place or not.
FWIW, modern autoconf has working size detection for types in cross builds.
Still can't argue against using modern types being the right thing though. :)
Oh, once this is merged I'll be moving libart_lgpl to meta-oe as nothing in oe-core uses this very old library.
Ross
Re: [PATCH 5/6] gcc-cross: Pass EXTRA_OECONF_GCC_FLOAT to configure
In reply to Richard PurdieQuoted 6 lines · Richard Purdie
But we build gcc-cross-arm once. This will cause it to rebuild depending on which machine you target? Worse, it likely will now do this for all architectures, not just arm.
only when float ABI changes which may be common across a subset of architectures.
although, I think its going to become a severe usability issue. Look
at the archives there are so many issues reported in various forums which end up exactly to this problem, since users expect that once they installed the SDK it works out of box for the default architecture which is not
the case. It just seems wrong build optimization to make it common per arch it if we can’t have user expectations met.
Re: [PATCH 5/6] gcc-cross: Pass EXTRA_OECONF_GCC_FLOAT to configure
Quoted 6 lines · Khem Raj
Quoted 5 lines · Richard Purdie
But we build gcc-cross-arm once. This will cause it to rebuild depending on which machine you target? Worse, it likely will now do this for all architectures, not just arm.
Quoted 6 lines
only when float ABI changes which may be common across a subset of architectures.
although, I think its going to become a severe usability issue. Look
at the archives there are so many issues reported in various forums which end up exactly to this problem, since users expect that once they installed the SDK it works out of box for the default architecture which is not
the case. It just seems wrong build optimization to make it common per arch it if we can’t have user expectations met.
To be honest I haven't seen that many reports of the problem. We do ship an environment file and in that file we have the options gcc needs to work, the sysroot, the other cflags and the float abi. Unless we go back to a setup of hardcoding the cflags into gcc and have a gcc per set of cflags, this isn't going to work since it solves part of the problem but not all of it.
Our other alternative is to wrap gcc with a script (preferred in PATH) which ensures the right cflags are present. I'd obviously prefer not to do that but it is an option if we believe people can't cope with the environment script.
Cheers,
Richard
Re: [PATCH 5/6] gcc-cross: Pass EXTRA_OECONF_GCC_FLOAT to configure
Quoted 10 lines · Richard Purdie
Quoted 6 lines · Khem Raj
Quoted 5 lines · Richard Purdie
But we build gcc-cross-arm once. This will cause it to rebuild depending on which machine you target? Worse, it likely will now do this for all architectures, not just arm.
Quoted 8 lines
Quoted 6 lines
only when float ABI changes which may be common across a subset of architectures.
although, I think its going to become a severe usability issue. Look
at the archives there are so many issues reported in various forums which end up exactly to this problem, since users expect that once they installed the SDK it works out of box for the default architecture which is not
the case. It just seems wrong build optimization to make it common per arch it if we can’t have user expectations met.To be honest I haven't seen that many reports of the problem.
search for "gnu/stubs-soft.h not found”
and most of the items you will see are OE related.
some issues are quite complex which happen in applications e.g. wrong atomics use
Quoted 7 lines
We do ship
an environment file and in that file we have the options gcc needs to work, the sysroot, the other cflags and the float abi. Unless we go back to a setup of hardcoding the cflags into gcc and have a gcc per set of cflags, this isn't going to work since it solves part of the problem but not all of it.
its also how the target libraries are compiled should match the ABI flags for target gcc
Quoted 5 lines
Our other alternative is to wrap gcc with a script (preferred in PATH) which ensures the right cflags are present. I'd obviously prefer not to do that but it is an option if we believe people can't cope with the environment script.
Would solve the cross compile scenario but on-device scenario I am not sure
Re: [PATCH 5/6] gcc-cross: Pass EXTRA_OECONF_GCC_FLOAT to configure
Quoted 10 lines · Khem Raj
Quoted 8 lines · Richard Purdie
We do ship
an environment file and in that file we have the options gcc needs to work, the sysroot, the other cflags and the float abi. Unless we go back to a setup of hardcoding the cflags into gcc and have a gcc per set of cflags, this isn't going to work since it solves part of the problem but not all of it.its also how the target libraries are compiled should match the ABI flags for target gcc
Agreed, the other option is we have gcc pull the right config from the sysroot in question.
Quoted 7 lines
Quoted 5 lines
Our other alternative is to wrap gcc with a script (preferred in PATH) which ensures the right cflags are present. I'd obviously prefer not to do that but it is an option if we believe people can't cope with the environment script.
Would solve the cross compile scenario but on-device scenario I am not sure
On device is a completely different story. That gcc is target specific and *should* have the right flags set. That isn't what the patch in this thread is about though. On target gcc has always been target specific and will remain so.
Cheers,
Richard
Re: [PATCH 5/6] gcc-cross: Pass EXTRA_OECONF_GCC_FLOAT to configure
Quoted 10 lines · Richard Purdie
Quoted 9 lines · Khem Raj
Quoted 8 lines · Richard Purdie
We do ship
an environment file and in that file we have the options gcc needs to work, the sysroot, the other cflags and the float abi. Unless we go back to a setup of hardcoding the cflags into gcc and have a gcc per set of cflags, this isn't going to work since it solves part of the problem but not all of it.
Quoted 4 lines
Quoted 1 line
its also how the target libraries are compiled should match the ABI flags for target gcc
Agreed, the other option is we have gcc pull the right config from the sysroot in question.
FWIW: when we were upgrading from Dylan to Dizzy one MACHINE with hf, we noticed that few recipes weren't respecting CC variable and ended with mixing soft and hard fp which was luckily detected in build time by linker, so easy to fix.
Having at least QA check which will warn user that some compiled binary has different float ABI then enabled in bitbake environment could be useful. But I agree that it's recipe fault if it doesn't respect CC or *FLAGS variables and we should fix it there instead of building gcc-cross twice (if you have 2 arm MACHINEs with different float ABI).
Another option would be mfloat-abi poisoning if possible like we do with default sysroot parameter, so that the usage of default value is detected as soon as possible.
Regards,
Quoted 23 lines
Quoted 8 lines
Quoted 6 lines
Our other alternative is to wrap gcc with a script (preferred in PATH) which ensures the right cflags are present. I'd obviously prefer not to do that but it is an option if we believe people can't cope with the environment script.
Would solve the cross compile scenario but on-device scenario I am not sure
On device is a completely different story. That gcc is target specific and *should* have the right flags set. That isn't what the patch in this thread is about though. On target gcc has always been target specific and will remain so.
Cheers,
Richard
Signature · 4 lines
_______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]