aboutsummaryrefslogtreecommitdiff
path: root/packages/gcc-oracle/11.3.1/0001-Fix-compiler-error.patch
blob: 992630c51b3b8989d91e5de4911e20750a4573c8 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
This patch is a backport from gcc

This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3, or (at your option) any
later version.

This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

diff -Nur gcc/gcc/doc/gcc.texi gcc-oracle/gcc/doc/gcc.texi
--- gcc/gcc/doc/gcc.texi	2022-05-31 22:24:28.784639836 -0500
+++ gcc-oracle/gcc/doc/gcc.texi	2022-05-31 22:25:14.695834317 -0500
@@ -85,9 +85,9 @@
 @item GNU Press
 @tab Website: www.gnupress.org
 @item a division of the
-@tab General: @tex press@@gnu.org @end tex
+@tab General: @email{press@@gnu.org}
 @item Free Software Foundation
-@tab Orders:  @tex sales@@gnu.org @end tex
+@tab Orders:  @email{sales@@gnu.org}
 @item 51 Franklin Street, Fifth Floor
 @tab Tel 617-542-5942
 @item Boston, MA 02110-1301 USA
diff -Nur gcc/gcc/reload.h gcc-oracle/gcc/reload.h
--- gcc/gcc/reload.h	2022-05-31 22:24:27.924654669 -0500
+++ gcc-oracle/gcc/reload.h	2022-05-31 22:25:14.695834317 -0500
@@ -166,7 +166,7 @@
      value indicates the level of indirect addressing supported, e.g., two
      means that (MEM (MEM (REG n))) is also valid if (REG n) does not get
      a hard register.  */
-  bool x_spill_indirect_levels;
+  unsigned char x_spill_indirect_levels;
 
   /* True if caller-save has been reinitialized.  */
   bool x_caller_save_initialized_p;
diff -Nur gcc/libgcc/config/i386/linux-unwind.h gcc-oracle/libgcc/config/i386/linux-unwind.h
--- gcc/libgcc/config/i386/linux-unwind.h	2022-05-31 22:24:27.100668870 -0500
+++ gcc-oracle/libgcc/config/i386/linux-unwind.h	2022-05-31 22:25:14.695834317 -0500
@@ -58,7 +58,7 @@
   if (*(unsigned char *)(pc+0) == 0x48
       && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL)
     {
-      struct ucontext *uc_ = context->cfa;
+      struct ucontext_t *uc_ = context->cfa;
       /* The void * cast is necessary to avoid an aliasing warning.
          The aliasing warning is correct, but should not be a problem
          because it does not alias anything.  */
@@ -138,7 +138,7 @@
 	siginfo_t *pinfo;
 	void *puc;
 	siginfo_t info;
-	struct ucontext uc;
+	struct ucontext_t uc;
       } *rt_ = context->cfa;
       /* The void * cast is necessary to avoid an aliasing warning.
          The aliasing warning is correct, but should not be a problem
diff -Nur gcc/libgcc/unwind-dw2.c gcc-oracle/libgcc/unwind-dw2.c
--- gcc/libgcc/unwind-dw2.c	2022-05-31 22:24:27.088669076 -0500
+++ gcc-oracle/libgcc/unwind-dw2.c	2022-05-31 22:25:14.695834317 -0500
@@ -931,6 +931,17 @@
   return stack[stack_elt];
 }
 
+#define DWARF_REGNUM_AARCH64_RA_STATE 34
+
+#define MD_POST_EXTRACT_ROOT_ADDR(addr) \
+   ({ void *__addr; asm ("mov x30, %0; hint 7; mov %0, x30" \
+                              : "=r" (__addr) : "0" (addr) : "x30", "cc"); __addr; })
+#define MD_POST_EXTRACT_FRAME_ADDR(context, fs, addr) \
+   aarch64_post_extract_frame_addr (context, fs, addr)
+#define MD_POST_FROB_EH_HANDLER_ADDR(current, target, addr) \
+   aarch64_post_frob_eh_handler_addr (current, target, addr)
+#define MD_FROB_UPDATE_CONTEXT(context, fs) \
+   aarch64_frob_update_context (context, fs)
 
 /* Decode DWARF 2 call frame information. Takes pointers the
    instruction sequence to decode, current register information and
diff -Nur gcc/libsanitizer/asan/asan_linux.cc gcc-oracle/libsanitizer/asan/asan_linux.cc
--- gcc/libsanitizer/asan/asan_linux.cc	2022-05-31 22:24:28.852638665 -0500
+++ gcc-oracle/libsanitizer/asan/asan_linux.cc	2022-05-31 22:25:14.695834317 -0500
@@ -28,6 +28,7 @@
 #include <stdio.h>
 #include <unistd.h>
 #include <unwind.h>
+#include <signal.h>
 
 #if !ASAN_ANDROID
 // FIXME: where to get ucontext on Android?