summaryrefslogtreecommitdiffstats
path: root/meta-vitis-tc/recipes-devtools/gcc/gcc-13/additional-microblaze-multilibs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-vitis-tc/recipes-devtools/gcc/gcc-13/additional-microblaze-multilibs.patch')
-rw-r--r--meta-vitis-tc/recipes-devtools/gcc/gcc-13/additional-microblaze-multilibs.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/meta-vitis-tc/recipes-devtools/gcc/gcc-13/additional-microblaze-multilibs.patch b/meta-vitis-tc/recipes-devtools/gcc/gcc-13/additional-microblaze-multilibs.patch
new file mode 100644
index 00000000..e035b8a6
--- /dev/null
+++ b/meta-vitis-tc/recipes-devtools/gcc/gcc-13/additional-microblaze-multilibs.patch
@@ -0,0 +1,88 @@
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
57Upstream-Status: Inappropriate [AMD Microblaze specific]
58
59Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
60
61Index: gcc-12.2.0/gcc/config/microblaze/t-microblaze
62===================================================================
63--- gcc-12.2.0.orig/gcc/config/microblaze/t-microblaze
64+++ gcc-12.2.0/gcc/config/microblaze/t-microblaze
65@@ -1,17 +1,11 @@
66-MULTILIB_OPTIONS = m64 mxl-barrel-shift mlittle-endian mno-xl-soft-mul mxl-multiply-high
67-#MULTILIB_DIRNAMES = m64 bs le m mh
68-MULTILIB_DIRNAMES = . . . . .
69-MULTILIB_EXCEPTIONS = *m64/mxl-multiply-high mxl-multiply-high
70-MULTILIB_EXCEPTIONS += *m64
71-MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift
72-MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul
73-MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul
74-MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul
75-MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul/mxl-multiply-high
76-MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul/mxl-multiply-high
77+MULTILIB_OPTIONS = mlittle-endian m64 mxl-barrel-shift mxl-pattern-compare mno-xl-soft-mul mhard-float
78+MULTILIB_DIRNAMES = le m64 bs p m fpd
79+MULTILIB_EXCEPTIONS = mxl-multiply-high
80 MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
81 MULTILIB_EXCEPTIONS += *mlittle-endian/mxl-multiply-high mxl-multiply-high
82-MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mlittle-endian/mxl-multiply-high
83+MULTILIB_EXCEPTIONS += *mxl-pattern-compare*/*mxl-multiply-high*
84+# Big endian m64 is not supported
85+MULTILIB_EXCEPTIONS += m64*
86
87 # Extra files
88 microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.cc \