aboutsummaryrefslogtreecommitdiffstats
path: root/community/gcc6/fix-gcj-arm-thumb.patch
blob: 8610515967f102d9138d9229fa06b8d98c3eca13 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
diff -ruN gcc/libjava/configure.host gcc/libjava/configure.host
--- gcc/libjava/configure.host	2015-05-28 21:13:55.185034000 +0300
+++ gcc/libjava/configure.host	2018-12-27 09:26:16.579326441 +0200
@@ -407,6 +407,10 @@
 	descriptor_h=sysdep/powerpc/descriptor.h
 	;;
 
+  arm*-*)
+	descriptor_h=sysdep/arm/descriptor.h
+	;;
+
   *)
 	descriptor_h=sysdep/descriptor-n.h
 	;;
diff -ruN gcc/libjava/sysdep/arm/descriptor.h gcc/libjava/sysdep/arm/descriptor.h
--- gcc/libjava/sysdep/arm/descriptor.h	1970-01-01 02:00:00.000000000 +0200
+++ gcc/libjava/sysdep/arm/descriptor.h	2018-12-27 09:27:38.714979452 +0200
@@ -0,0 +1,4 @@
+// Given a function pointer, return the code address.
+// Strip out the ARM/Thumb mode indicator bit
+
+#define UNWRAP_FUNCTION_DESCRIPTOR(X)  ((void*)(((unsigned long)X) & ~1UL))