diff options
Diffstat (limited to 'poky/meta/recipes-devtools/gcc')
4 files changed, 43 insertions, 69 deletions
diff --git a/poky/meta/recipes-devtools/gcc/gcc-10.1.inc b/poky/meta/recipes-devtools/gcc/gcc-10.1.inc index 245f0a6fd..a3de91a2c 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-10.1.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-10.1.inc @@ -65,7 +65,7 @@ SRC_URI = "\ file://0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \ file://0036-Enable-CET-in-cross-compiler-if-possible.patch \ file://0037-mingw32-Enable-operation_not_supported.patch \ - file://0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch \ + file://0038-libatomic-Do-not-enforce-march-on-aarch64.patch \ " SRC_URI[sha256sum] = "b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2" @@ -87,7 +87,6 @@ EXTRA_OECONF_BASE = "\ ${SSP} \ --enable-libitm \ --disable-bootstrap \ - --disable-libmudflap \ --with-system-zlib \ ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \ --enable-linker-build-id \ @@ -99,7 +98,6 @@ EXTRA_OECONF_BASE = "\ " EXTRA_OECONF_INITIAL = "\ - --disable-libmudflap \ --disable-libgomp \ --disable-libitm \ --disable-libquadmath \ diff --git a/poky/meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch deleted file mode 100644 index fc9228277..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 2101fb718935c7cf1cc2ad201bdeb1e635b54b0a Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 11 May 2020 11:03:41 -0700 -Subject: [PATCH] Revert "[AArch64] Use __getauxval instead of getauxval in LSE - detection code in libgcc" - -This reverts commit 5a57016dd2758cc63a544f191f77635342397a72. - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - libgcc/config/aarch64/lse-init.c | 17 ++++++++--------- - 1 file changed, 8 insertions(+), 9 deletions(-) - -diff --git a/libgcc/config/aarch64/lse-init.c b/libgcc/config/aarch64/lse-init.c -index 00e9ab8cd1c..74acef25cce 100644 ---- a/libgcc/config/aarch64/lse-init.c -+++ b/libgcc/config/aarch64/lse-init.c -@@ -29,20 +29,19 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - _Bool __aarch64_have_lse_atomics - __attribute__((visibility("hidden"), nocommon)); - --/* Gate availability of __getauxval on glibc. All AArch64-supporting glibc -- versions support it. */ --#ifdef __gnu_linux__ -+/* Disable initialization of __aarch64_have_lse_atomics during bootstrap. */ -+#if !defined(inhibit_libc) && defined(HAVE_SYS_AUXV_H) -+# include <sys/auxv.h> - --# define AT_HWCAP 16 --# define HWCAP_ATOMICS (1 << 8) -- --unsigned long int __getauxval (unsigned long int); -+/* Disable initialization if the system headers are too old. */ -+# if defined(AT_HWCAP) && defined(HWCAP_ATOMICS) - - static void __attribute__((constructor)) - init_have_lse_atomics (void) - { -- unsigned long hwcap = __getauxval (AT_HWCAP); -+ unsigned long hwcap = getauxval (AT_HWCAP); - __aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0; - } - --#endif /* __gnu_linux__ */ -+# endif /* HWCAP */ -+#endif /* inhibit_libc */ diff --git a/poky/meta/recipes-devtools/gcc/gcc-10.1/0038-libatomic-Do-not-enforce-march-on-aarch64.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0038-libatomic-Do-not-enforce-march-on-aarch64.patch new file mode 100644 index 000000000..3946acea1 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0038-libatomic-Do-not-enforce-march-on-aarch64.patch @@ -0,0 +1,42 @@ +From 38d262bfe7c0c894c364dc6e4dc7971e78a73974 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 13 May 2020 15:10:38 -0700 +Subject: [PATCH] libatomic: Do not enforce march on aarch64 + +OE passes the right options via gcc compiler cmdline via TUNE_CCARGS +this can conflict between -mcpu settings and -march setting here, since +-mcpu will translate into an appropriate -march, lets depend on that +instead of setting it explicitly + +Upstream-Status: Inappropriate [OE-Specific] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libatomic/Makefile.am | 1 - + libatomic/Makefile.in | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am +index 133fbbca77e..ac1ca645876 100644 +--- a/libatomic/Makefile.am ++++ b/libatomic/Makefile.am +@@ -125,7 +125,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS))) + ## On a target-specific basis, include alternates to be selected by IFUNC. + if HAVE_IFUNC + if ARCH_AARCH64_LINUX +-IFUNC_OPTIONS = -march=armv8-a+lse + libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS))) + endif + if ARCH_ARM_LINUX +diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in +index a51807e95c9..97df2d7ff03 100644 +--- a/libatomic/Makefile.in ++++ b/libatomic/Makefile.in +@@ -431,7 +431,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files))) + libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix \ + _$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_2) \ + $(am__append_3) $(am__append_4) +-@ARCH_AARCH64_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv8-a+lse + @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64 + @ARCH_I386_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=i586 + @ARCH_X86_64_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -mcx16 diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc index 38c167287..df1432e68 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -18,10 +18,6 @@ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" EXTRA_OECONF_append = " --cache-file=${B}/config.cache" EXTRA_OECONF_append_libc-newlib = " --with-newlib" -# cortex-a55 is ARMv8.2-a based but libatomic explicitly asks for -march=armv8.1-a -# which caused -march conflicts in gcc -TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc -mcpu=cortex-a55 -mcpu=cortex-a55+crc+crypto" - # Disable ifuncs for libatomic on arm conflicts -march/-mcpu EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " EXTRA_OECONF_append_armeb = " libat_cv_have_ifunc=no " @@ -51,7 +47,6 @@ RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM RUNTIMETARGET_libc-newlib = "libstdc++-v3" # libiberty -# libmudflap # libgfortran needs separate recipe due to libquadmath dependency SLIB = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" @@ -171,9 +166,6 @@ PACKAGES = "\ libssp \ libssp-dev \ libssp-staticdev \ - libmudflap \ - libmudflap-dev \ - libmudflap-staticdev \ libquadmath \ libquadmath-dev \ libquadmath-staticdev \ @@ -246,17 +238,6 @@ SUMMARY_libquadmath-dev = "GNU quad-precision math library - development files" FILES_libquadmath-staticdev = "${libdir}/libquadmath.a" SUMMARY_libquadmath-staticdev = "GNU quad-precision math library - static development files" -# NOTE: mudflap has been removed as of gcc 4.9 and has been superseded by the address sanitiser -FILES_libmudflap = "${libdir}/libmudflap*.so.*" -SUMMARY_libmudflap = "Pointer debugging library for gcc" -FILES_libmudflap-dev = "\ - ${libdir}/libmudflap*.so \ - ${libdir}/libmudflap.la \ -" -SUMMARY_libmudflap-dev = "Pointer debugging library for gcc - development files" -FILES_libmudflap-staticdev = "${libdir}/libmudflap.a" -SUMMARY_libmudflap-staticdev = "Pointer debugging library for gcc - static development files" - FILES_libgomp = "${libdir}/libgomp*${SOLIBS}" SUMMARY_libgomp = "GNU OpenMP parallel programming library" FILES_libgomp-dev = "\ |