blob: 307327c314bbca514b7970809ee8a0cf60117981 (
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
|
2010-06-07 Khem Raj <raj.khem@gmail.com>
* libsupc++/eh_arm.cc (__cxa_end_cleanup): Switch to
.text section before emitting inline assembly.
Index: gcc/libstdc++-v3/libsupc++/eh_arm.cc
===================================================================
--- gcc/libstdc++-v3/libsupc++/eh_arm.cc (revision 160410)
+++ gcc/libstdc++v3/libsupc++/eh_arm.cc (working copy)
@@ -157,7 +157,8 @@
// Assembly wrapper to call __gnu_end_cleanup without clobbering r1-r3.
// Also push r4 to preserve stack alignment.
#ifdef __thumb__
-asm (".global __cxa_end_cleanup\n"
+asm (" .section .text.__cxa_end_cleanup\n"
+" .global __cxa_end_cleanup\n"
" .type __cxa_end_cleanup, \"function\"\n"
" .thumb_func\n"
"__cxa_end_cleanup:\n"
@@ -166,7 +167,8 @@
" pop\t{r1, r2, r3, r4}\n"
" bl\t_Unwind_Resume @ Never returns\n");
#else
-asm (".global __cxa_end_cleanup\n"
+asm (" .section .text.__cxa_end_cleanup\n"
+" .global __cxa_end_cleanup\n"
" .type __cxa_end_cleanup, \"function\"\n"
"__cxa_end_cleanup:\n"
" stmfd\tsp!, {r1, r2, r3, r4}\n"
|