summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@kernel.crashing.org>2020-09-02 14:49:38 -0500
committerMark Hatle <mark.hatle@xilinx.com>2020-11-30 12:49:44 -0800
commit4aa4cb1d986edeed6abd34778484ec7ddbc99891 (patch)
treebf848c46b64b7e90c5e6682d5d8abf400c4014fc
parent44d2470b340abe75a92a89e7598dff6a75472f2d (diff)
downloadmeta-xilinx-4aa4cb1d986edeed6abd34778484ec7ddbc99891.tar.gz
Uprev standalone toolchain bbappends
Move newlib/libgloss from 3.1.0 to 3.% Move the gcc configuration for standalone to gcc 10. Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
-rw-r--r--meta-xilinx-standalone/recipes-core/newlib/libgloss_3.%.bbappend13
-rw-r--r--meta-xilinx-standalone/recipes-core/newlib/newlib_3.%.bbappend21
-rw-r--r--meta-xilinx-standalone/recipes-devtools/gcc/gcc-10/additional-microblaze-multilibs.patch86
-rw-r--r--meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_10.%.bbappend7
4 files changed, 127 insertions, 0 deletions
diff --git a/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.%.bbappend b/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.%.bbappend
new file mode 100644
index 00000000..b2245022
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.%.bbappend
@@ -0,0 +1,13 @@
1COMPATIBLE_HOST = ".*-elf"
2COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi"
3
4# When building multiple, we need to depend on the multilib newlib
5DEPENDS_append_xilinx-standalone = " ${MLPREFIX}newlib"
6
7EXTRA_OECONF_append_xilinx-standalone = " \
8 --enable-newlib-io-c99-formats \
9 --enable-newlib-io-long-long \
10 --enable-newlib-io-float \
11 --enable-newlib-io-long-double \
12 --disable-newlib-supplied-syscalls \
13"
diff --git a/meta-xilinx-standalone/recipes-core/newlib/newlib_3.%.bbappend b/meta-xilinx-standalone/recipes-core/newlib/newlib_3.%.bbappend
new file mode 100644
index 00000000..536a23a1
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-core/newlib/newlib_3.%.bbappend
@@ -0,0 +1,21 @@
1COMPATIBLE_HOST = ".*-elf"
2COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi"
3
4EXTRA_OECONF_append_xilinx-standalone = " \
5 --enable-newlib-io-c99-formats \
6 --enable-newlib-io-long-long \
7 --enable-newlib-io-float \
8 --enable-newlib-io-long-double \
9 --disable-newlib-supplied-syscalls \
10"
11
12# Avoid trimmping CCARGS from CC by newlib configure
13do_configure_prepend_xilinx-standalone(){
14 export CC_FOR_TARGET="${CC}"
15}
16
17# Fix for multilib newlib installations
18do_install_prepend_xilinx-standalone() {
19 mkdir -p $(dirname ${D}${libdir})
20 mkdir -p $(dirname ${D}${includedir})
21}
diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-10/additional-microblaze-multilibs.patch b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-10/additional-microblaze-multilibs.patch
new file mode 100644
index 00000000..3d520d0f
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-10/additional-microblaze-multilibs.patch
@@ -0,0 +1,86 @@
1Change the multilib settings to match the expectations of Vitis and related.
2
3The multilib list is as follows:
4
5.;
6le;@mlittle-endian
7bs;@mxl-barrel-shift
8p;@mxl-pattern-compare
9m;@mno-xl-soft-mul
10fpd;@mhard-float
11m/fpd;@mno-xl-soft-mul@mhard-float
12p/m;@mxl-pattern-compare@mno-xl-soft-mul
13p/fpd;@mxl-pattern-compare@mhard-float
14p/m/fpd;@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
15bs/p;@mxl-barrel-shift@mxl-pattern-compare
16bs/m;@mxl-barrel-shift@mno-xl-soft-mul
17bs/fpd;@mxl-barrel-shift@mhard-float
18bs/m/fpd;@mxl-barrel-shift@mno-xl-soft-mul@mhard-float
19bs/p/m;@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul
20bs/p/fpd;@mxl-barrel-shift@mxl-pattern-compare@mhard-float
21bs/p/m/fpd;@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
22le/m64;@mlittle-endian@m64
23le/bs;@mlittle-endian@mxl-barrel-shift
24le/p;@mlittle-endian@mxl-pattern-compare
25le/m;@mlittle-endian@mno-xl-soft-mul
26le/fpd;@mlittle-endian@mhard-float
27le/m/fpd;@mlittle-endian@mno-xl-soft-mul@mhard-float
28le/p/m;@mlittle-endian@mxl-pattern-compare@mno-xl-soft-mul
29le/p/fpd;@mlittle-endian@mxl-pattern-compare@mhard-float
30le/p/m/fpd;@mlittle-endian@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
31le/bs/p;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare
32le/bs/m;@mlittle-endian@mxl-barrel-shift@mno-xl-soft-mul
33le/bs/fpd;@mlittle-endian@mxl-barrel-shift@mhard-float
34le/bs/m/fpd;@mlittle-endian@mxl-barrel-shift@mno-xl-soft-mul@mhard-float
35le/bs/p/m;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul
36le/bs/p/fpd;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare@mhard-float
37le/bs/p/m/fpd;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
38le/m64/bs;@mlittle-endian@m64@mxl-barrel-shift
39le/m64/p;@mlittle-endian@m64@mxl-pattern-compare
40le/m64/m;@mlittle-endian@m64@mno-xl-soft-mul
41le/m64/fpd;@mlittle-endian@m64@mhard-float
42le/m64/m/fpd;@mlittle-endian@m64@mno-xl-soft-mul@mhard-float
43le/m64/p/m;@mlittle-endian@m64@mxl-pattern-compare@mno-xl-soft-mul
44le/m64/p/fpd;@mlittle-endian@m64@mxl-pattern-compare@mhard-float
45le/m64/p/m/fpd;@mlittle-endian@m64@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
46le/m64/bs/p;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare
47le/m64/bs/m;@mlittle-endian@m64@mxl-barrel-shift@mno-xl-soft-mul
48le/m64/bs/fpd;@mlittle-endian@m64@mxl-barrel-shift@mhard-float
49le/m64/bs/m/fpd;@mlittle-endian@m64@mxl-barrel-shift@mno-xl-soft-mul@mhard-float
50le/m64/bs/p/m;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul
51le/m64/bs/p/fpd;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare@mhard-float
52le/m64/bs/p/m/fpd;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
53
54As part of this the order of the multilibs was changes from upstream to make
55it easier to avoid big-endian m64, which is not supported by the toolchain.
56
57Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
58
59Index: gcc-9.2.0/gcc/config/microblaze/t-microblaze
60===================================================================
61--- gcc-9.2.0.orig/gcc/config/microblaze/t-microblaze
62+++ gcc-9.2.0/gcc/config/microblaze/t-microblaze
63@@ -1,17 +1,11 @@
64-MULTILIB_OPTIONS = m64 mxl-barrel-shift mlittle-endian mno-xl-soft-mul mxl-multiply-high
65-#MULTILIB_DIRNAMES = m64 bs le m mh
66-MULTILIB_DIRNAMES = . . . . .
67-MULTILIB_EXCEPTIONS = *m64/mxl-multiply-high mxl-multiply-high
68-MULTILIB_EXCEPTIONS += *m64
69-MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift
70-MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul
71-MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul
72-MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul
73-MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul/mxl-multiply-high
74-MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul/mxl-multiply-high
75+MULTILIB_OPTIONS = mlittle-endian m64 mxl-barrel-shift mxl-pattern-compare mno-xl-soft-mul mhard-float
76+MULTILIB_DIRNAMES = le m64 bs p m fpd
77+MULTILIB_EXCEPTIONS = mxl-multiply-high
78 MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
79 MULTILIB_EXCEPTIONS += *mlittle-endian/mxl-multiply-high mxl-multiply-high
80-MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mlittle-endian/mxl-multiply-high
81+MULTILIB_EXCEPTIONS += *mxl-pattern-compare*/*mxl-multiply-high*
82+# Big endian m64 is not supported
83+MULTILIB_EXCEPTIONS += m64*
84
85 # Extra files
86 microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_10.%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_10.%.bbappend
new file mode 100644
index 00000000..e1876700
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_10.%.bbappend
@@ -0,0 +1,7 @@
1COMPATIBLE_HOST = "${HOST_SYS}"
2
3# Add MicroBlaze Patches (only when using MicroBlaze)
4FILESEXTRAPATHS_append_microblaze_xilinx-standalone := ":${THISDIR}/gcc-10"
5SRC_URI_append_microblaze_xilinx-standalone = " \
6 file://additional-microblaze-multilibs.patch \
7"