summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-devtools/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/recipes-devtools/gcc')
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1.inc4
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch47
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0038-libatomic-Do-not-enforce-march-on-aarch64.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime.inc19
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 245f0a6fdb..a3de91a2c6 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 fc9228277a..0000000000
--- 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 0000000000..3946acea11
--- /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 38c1672876..df1432e68d 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 = "\