aboutsummaryrefslogtreecommitdiffstats
path: root/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0044-Patch-Microblaze-Support-of-multilibs-with-m64.patch
blob: 68791cb24e5dd424ae45e4e3ebfb270bd21e6a8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
From 259ed1ee33625964f5bc394ae660103b6c35510f Mon Sep 17 00:00:00 2001
From: Mahesh Bodapati <mbodapat@xilinx.com>
Date: Tue, 11 Sep 2018 13:43:48 +0530
Subject: [PATCH 44/54] [Patch, Microblaze] : Support of multilibs with m64 ...

---
 gcc/config/microblaze/microblaze-c.c  |  1 +
 gcc/config/microblaze/t-microblaze    | 15 ++++++---------
 libgcc/config/microblaze/t-microblaze | 11 +++--------
 3 files changed, 10 insertions(+), 17 deletions(-)

diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c
index d8a1d13..6586575 100644
--- a/gcc/config/microblaze/microblaze-c.c
+++ b/gcc/config/microblaze/microblaze-c.c
@@ -102,6 +102,7 @@ microblaze_cpp_define (cpp_reader *pfile)
     }
   if (TARGET_MB_64)
     {
+      builtin_define ("__microblaze64");
       builtin_define ("__arch64__");
       builtin_define ("__microblaze64__");
       builtin_define ("__MICROBLAZE64__");
diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
index 9fc80b1..35ab965 100644
--- a/gcc/config/microblaze/t-microblaze
+++ b/gcc/config/microblaze/t-microblaze
@@ -1,12 +1,9 @@
-MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high mlittle-endian m64
-MULTILIB_DIRNAMES = bs m mh le m64
-MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
-MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
-MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian/m64
-MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64 mxl-multiply-high
-MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
-MULTILIB_EXCEPTIONS += mxl-multiply-high/m64
-MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64
+MULTILIB_OPTIONS = m64 mxl-barrel-shift mlittle-endian mno-xl-soft-mul mxl-multiply-high
+MULTILIB_DIRNAMES = m64 bs le m mh
+MULTILIB_EXCEPTIONS = *m64/mxl-multiply-high mxl-multiply-high
+MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
+MULTILIB_EXCEPTIONS += *mlittle-endian/mxl-multiply-high mxl-multiply-high
+MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mlittle-endian/mxl-multiply-high
 
 # Extra files
 microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
diff --git a/libgcc/config/microblaze/t-microblaze b/libgcc/config/microblaze/t-microblaze
index 35021b2..8d954a4 100644
--- a/libgcc/config/microblaze/t-microblaze
+++ b/libgcc/config/microblaze/t-microblaze
@@ -1,16 +1,11 @@
-LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3 \
-			_divdi3 _moddi3 _muldi3 _udivdi3 _umoddi3 
+LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3
 
 LIB2ADD += \
         $(srcdir)/config/microblaze/divsi3.S \
-        $(srcdir)/config/microblaze/divdi3.S \
         $(srcdir)/config/microblaze/modsi3.S \
-        $(srcdir)/config/microblaze/moddi3.S \
+        $(srcdir)/config/microblaze/muldi3_hard.S \
         $(srcdir)/config/microblaze/mulsi3.S \
-        $(srcdir)/config/microblaze/muldi3.S \
         $(srcdir)/config/microblaze/stack_overflow_exit.S \
         $(srcdir)/config/microblaze/udivsi3.S \
-        $(srcdir)/config/microblaze/udivdi3.S \
         $(srcdir)/config/microblaze/umodsi3.S \
-        $(srcdir)/config/microblaze/umoddi3.S \
-        $(srcdir)/config/microblaze/divsi3_table.c \
+        $(srcdir)/config/microblaze/divsi3_table.c
-- 
2.7.4