summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99352.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99352.patch')
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99352.patch121
1 files changed, 121 insertions, 0 deletions
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99352.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99352.patch
new file mode 100644
index 0000000000..675c2f3ceb
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99352.patch
@@ -0,0 +1,121 @@
1 2010-04-07 Thomas Schwinge <thomas@codesourcery.com>
2 Daniel Jacobowitz <dan@codesourcery.com>
3
4 Issue #6715
5
6 PR debug/40521
7
8 gcc/
9 * dwarf2out.c (NEED_UNWIND_TABLES): Define.
10 (dwarf2out_do_frame, dwarf2out_do_cfi_asm, dwarf2out_begin_prologue)
11 (dwarf2out_frame_finish, dwarf2out_assembly_start): Use it.
12 (dwarf2out_assembly_start): Correct logic for TARGET_UNWIND_INFO.
13 * config/arm/arm.h (DWARF2_UNWIND_INFO): Remove definition.
14 * config/arm/bpabi.h (DWARF2_UNWIND_INFO): Define to zero.
15
162010-07-26 Julian Brown <julian@codesourcery.com>
17
18 Merge from Sourcery G++ 4.4:
19
20 Jie Zhang <jie@codesourcery.com>
21
22 Issue #7122
23
24=== modified file 'gcc/config/arm/arm.h'
25--- old/gcc/config/arm/arm.h 2010-08-13 10:30:35 +0000
26+++ new/gcc/config/arm/arm.h 2010-08-13 11:11:15 +0000
27@@ -932,9 +932,6 @@
28 #define MUST_USE_SJLJ_EXCEPTIONS 1
29 #endif
30
31-/* We can generate DWARF2 Unwind info, even though we don't use it. */
32-#define DWARF2_UNWIND_INFO 1
33-
34 /* Use r0 and r1 to pass exception handling information. */
35 #define EH_RETURN_DATA_REGNO(N) (((N) < 2) ? N : INVALID_REGNUM)
36
37
38=== modified file 'gcc/config/arm/bpabi.h'
39--- old/gcc/config/arm/bpabi.h 2009-11-20 17:37:30 +0000
40+++ new/gcc/config/arm/bpabi.h 2010-08-13 11:11:15 +0000
41@@ -26,6 +26,7 @@
42 #define TARGET_BPABI (TARGET_AAPCS_BASED)
43
44 /* BPABI targets use EABI frame unwinding tables. */
45+#define DWARF2_UNWIND_INFO 0
46 #define TARGET_UNWIND_INFO 1
47
48 /* Section 4.1 of the AAPCS requires the use of VFP format. */
49
50=== modified file 'gcc/dwarf2out.c'
51--- old/gcc/dwarf2out.c 2010-07-01 11:31:19 +0000
52+++ new/gcc/dwarf2out.c 2010-08-13 11:11:15 +0000
53@@ -124,6 +124,9 @@
54 # endif
55 #endif
56
57+#define NEED_UNWIND_TABLES \
58+ (flag_unwind_tables || (flag_exceptions && ! USING_SJLJ_EXCEPTIONS))
59+
60 /* Map register numbers held in the call frame info that gcc has
61 collected using DWARF_FRAME_REGNUM to those that should be output in
62 .debug_frame and .eh_frame. */
63@@ -147,9 +150,7 @@
64 || write_symbols == VMS_AND_DWARF2_DEBUG
65 || DWARF2_FRAME_INFO || saved_do_cfi_asm
66 #ifdef DWARF2_UNWIND_INFO
67- || (DWARF2_UNWIND_INFO
68- && (flag_unwind_tables
69- || (flag_exceptions && ! USING_SJLJ_EXCEPTIONS)))
70+ || (DWARF2_UNWIND_INFO && NEED_UNWIND_TABLES)
71 #endif
72 );
73 }
74@@ -185,7 +186,7 @@
75 #ifdef TARGET_UNWIND_INFO
76 return false;
77 #else
78- if (USING_SJLJ_EXCEPTIONS || (!flag_unwind_tables && !flag_exceptions))
79+ if (!NEED_UNWIND_TABLES)
80 return false;
81 #endif
82 }
83@@ -3906,8 +3907,7 @@
84 /* ??? current_function_func_begin_label is also used by except.c
85 for call-site information. We must emit this label if it might
86 be used. */
87- if ((! flag_exceptions || USING_SJLJ_EXCEPTIONS)
88- && ! dwarf2out_do_frame ())
89+ if (! NEED_UNWIND_TABLES && ! dwarf2out_do_frame ())
90 return;
91 #else
92 if (! dwarf2out_do_frame ())
93@@ -4067,7 +4067,7 @@
94
95 #ifndef TARGET_UNWIND_INFO
96 /* Output another copy for the unwinder. */
97- if (! USING_SJLJ_EXCEPTIONS && (flag_unwind_tables || flag_exceptions))
98+ if (NEED_UNWIND_TABLES)
99 output_call_frame_info (1);
100 #endif
101 }
102@@ -20732,10 +20732,15 @@
103 {
104 if (HAVE_GAS_CFI_SECTIONS_DIRECTIVE && dwarf2out_do_cfi_asm ())
105 {
106-#ifndef TARGET_UNWIND_INFO
107- if (USING_SJLJ_EXCEPTIONS || (!flag_unwind_tables && !flag_exceptions))
108-#endif
109+#ifdef TARGET_UNWIND_INFO
110+ /* We're only ever interested in .debug_frame. */
111+ fprintf (asm_out_file, "\t.cfi_sections\t.debug_frame\n");
112+#else
113+ /* GAS defaults to emitting .eh_frame only, and .debug_frame is not
114+ wanted in case that the former one is present. */
115+ if (! NEED_UNWIND_TABLES)
116 fprintf (asm_out_file, "\t.cfi_sections\t.debug_frame\n");
117+#endif
118 }
119 }
120
121