diff options
Diffstat (limited to 'meta/recipes-devtools/gcc')
3 files changed, 43 insertions, 4 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-10.1.inc b/meta/recipes-devtools/gcc/gcc-10.1.inc index 245f0a6fdb..82b5a20a42 100644 --- a/meta/recipes-devtools/gcc/gcc-10.1.inc +++ b/meta/recipes-devtools/gcc/gcc-10.1.inc | |||
@@ -66,6 +66,7 @@ SRC_URI = "\ | |||
66 | file://0036-Enable-CET-in-cross-compiler-if-possible.patch \ | 66 | file://0036-Enable-CET-in-cross-compiler-if-possible.patch \ |
67 | file://0037-mingw32-Enable-operation_not_supported.patch \ | 67 | file://0037-mingw32-Enable-operation_not_supported.patch \ |
68 | file://0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch \ | 68 | file://0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch \ |
69 | file://0039-libatomic-Do-not-enforce-march-on-aarch64.patch \ | ||
69 | " | 70 | " |
70 | SRC_URI[sha256sum] = "b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2" | 71 | SRC_URI[sha256sum] = "b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2" |
71 | 72 | ||
diff --git a/meta/recipes-devtools/gcc/gcc-10.1/0039-libatomic-Do-not-enforce-march-on-aarch64.patch b/meta/recipes-devtools/gcc/gcc-10.1/0039-libatomic-Do-not-enforce-march-on-aarch64.patch new file mode 100644 index 0000000000..fecb562f51 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-10.1/0039-libatomic-Do-not-enforce-march-on-aarch64.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | From 411fc85c14bb14b07c0db807c55d25ce3f3e507f Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 13 May 2020 15:10:38 -0700 | ||
4 | Subject: [PATCH] libatomic: Do not enforce march on aarch64 | ||
5 | |||
6 | OE passes the right options via gcc compiler cmdline via TUNE_CCARGS | ||
7 | this can conflict between -mcpu settings and -march setting here, since | ||
8 | -mcpu will translate into an appropriate -march, lets depend on that | ||
9 | instead of setting it explicitly | ||
10 | |||
11 | Upstream-Status: Inappropriate [OE-Specific] | ||
12 | |||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | --- | ||
15 | libatomic/Makefile.am | 1 - | ||
16 | libatomic/Makefile.in | 1 - | ||
17 | 2 files changed, 2 deletions(-) | ||
18 | |||
19 | diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am | ||
20 | index 133fbbca77e..ac1ca645876 100644 | ||
21 | --- a/libatomic/Makefile.am | ||
22 | +++ b/libatomic/Makefile.am | ||
23 | @@ -125,7 +125,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS))) | ||
24 | ## On a target-specific basis, include alternates to be selected by IFUNC. | ||
25 | if HAVE_IFUNC | ||
26 | if ARCH_AARCH64_LINUX | ||
27 | -IFUNC_OPTIONS = -march=armv8-a+lse | ||
28 | libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS))) | ||
29 | endif | ||
30 | if ARCH_ARM_LINUX | ||
31 | diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in | ||
32 | index a51807e95c9..97df2d7ff03 100644 | ||
33 | --- a/libatomic/Makefile.in | ||
34 | +++ b/libatomic/Makefile.in | ||
35 | @@ -431,7 +431,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files))) | ||
36 | libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix \ | ||
37 | _$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_2) \ | ||
38 | $(am__append_3) $(am__append_4) | ||
39 | -@ARCH_AARCH64_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv8-a+lse | ||
40 | @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64 | ||
41 | @ARCH_I386_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=i586 | ||
42 | @ARCH_X86_64_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -mcx16 | ||
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index 38c1672876..e12c74613f 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc | |||
@@ -18,10 +18,6 @@ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" | |||
18 | EXTRA_OECONF_append = " --cache-file=${B}/config.cache" | 18 | EXTRA_OECONF_append = " --cache-file=${B}/config.cache" |
19 | EXTRA_OECONF_append_libc-newlib = " --with-newlib" | 19 | EXTRA_OECONF_append_libc-newlib = " --with-newlib" |
20 | 20 | ||
21 | # cortex-a55 is ARMv8.2-a based but libatomic explicitly asks for -march=armv8.1-a | ||
22 | # which caused -march conflicts in gcc | ||
23 | TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc -mcpu=cortex-a55 -mcpu=cortex-a55+crc+crypto" | ||
24 | |||
25 | # Disable ifuncs for libatomic on arm conflicts -march/-mcpu | 21 | # Disable ifuncs for libatomic on arm conflicts -march/-mcpu |
26 | EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " | 22 | EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " |
27 | EXTRA_OECONF_append_armeb = " libat_cv_have_ifunc=no " | 23 | EXTRA_OECONF_append_armeb = " libat_cv_have_ifunc=no " |