|
1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of the License "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // e32\nklib\arm\armcchelp.cpp |
|
15 // |
|
16 // |
|
17 |
|
18 #include "nkern.h" |
|
19 |
|
20 extern "C" { |
|
21 |
|
22 // This function is simple a way to get these EXPORT statements into |
|
23 // the .in file. These symbols will therefore be referenced from |
|
24 // the export table and so **forced** into the DLL |
|
25 __asm void __rt_exporter_dummy(void) |
|
26 { |
|
27 AREA |.directive|, READONLY, NOALLOC |
|
28 |
|
29 PRESERVE8 |
|
30 |
|
31 DCB "#<SYMEDIT>#\n" |
|
32 // Long long functions |
|
33 DCB "EXPORT __aeabi_lmul\n" |
|
34 DCB "EXPORT __aeabi_ldivmod\n" |
|
35 DCB "EXPORT __aeabi_uldivmod\n" |
|
36 DCB "EXPORT __aeabi_llsl\n" |
|
37 DCB "EXPORT __aeabi_llsr\n" |
|
38 DCB "EXPORT __aeabi_lasr\n" |
|
39 DCB "EXPORT __aeabi_lcmp\n" |
|
40 DCB "EXPORT __aeabi_ulcmp\n" |
|
41 |
|
42 // Integer (32/32 . 32) division functions |
|
43 DCB "EXPORT __aeabi_idivmod\n" |
|
44 DCB "EXPORT __aeabi_uidivmod\n" |
|
45 |
|
46 // Division by Zero |
|
47 // SIGFPE not supported on SymbianOS |
|
48 // Implemented in rtdiv0.cpp |
|
49 DCB "EXPORT __aeabi_idiv0\n" |
|
50 DCB "EXPORT __aeabi_ldiv0\n" |
|
51 |
|
52 // Unaligned memory access |
|
53 DCB "EXPORT __aeabi_uread4\n" |
|
54 DCB "EXPORT __aeabi_uwrite4\n" |
|
55 DCB "EXPORT __aeabi_uread8\n" |
|
56 DCB "EXPORT __aeabi_uwrite8\n" |
|
57 |
|
58 // Memory copying, clearing, and setting |
|
59 // we may want to override the toolchain supplied versions of these (or not) |
|
60 DCB "EXPORT __aeabi_memcpy8\n" |
|
61 DCB "EXPORT __aeabi_memcpy4\n" |
|
62 DCB "EXPORT __aeabi_memcpy\n" |
|
63 DCB "EXPORT __aeabi_memmove8\n" |
|
64 DCB "EXPORT __aeabi_memmove4\n" |
|
65 DCB "EXPORT __aeabi_memmove\n" |
|
66 |
|
67 DCB "EXPORT __aeabi_memset8\n" |
|
68 DCB "EXPORT __aeabi_memset4\n" |
|
69 DCB "EXPORT __aeabi_memset\n" |
|
70 DCB "EXPORT __aeabi_memclr8\n" |
|
71 DCB "EXPORT __aeabi_memclr4\n" |
|
72 DCB "EXPORT __aeabi_memclr\n" |
|
73 |
|
74 |
|
75 // C++ helper functions |
|
76 |
|
77 // Pure virtual call |
|
78 DCB "EXPORT __cxa_pure_virtual\n" |
|
79 |
|
80 // One-time construction API |
|
81 DCB "EXPORT __cxa_guard_acquire\n" |
|
82 DCB "EXPORT __cxa_guard_release\n" |
|
83 DCB "EXPORT __cxa_guard_abort\n" |
|
84 |
|
85 // Construction and destruction of arrays |
|
86 |
|
87 // Helper functions defined by the generic C++ ABI |
|
88 DCB "EXPORT __cxa_vec_new\n" |
|
89 DCB "EXPORT __cxa_vec_new2\n" |
|
90 DCB "EXPORT __cxa_vec_new3\n" |
|
91 DCB "EXPORT __cxa_vec_ctor\n" |
|
92 DCB "EXPORT __cxa_vec_dtor\n" |
|
93 DCB "EXPORT __cxa_vec_cleanup\n" |
|
94 DCB "EXPORT __cxa_vec_delete\n" |
|
95 DCB "EXPORT __cxa_vec_delete2\n" |
|
96 DCB "EXPORT __cxa_vec_delete3\n" |
|
97 DCB "EXPORT __cxa_vec_cctor\n" |
|
98 |
|
99 // Helper functions defined by the C++ ABI for the ARM Architecture |
|
100 DCB "EXPORT __aeabi_vec_ctor_nocookie_nodtor\n" |
|
101 DCB "EXPORT __aeabi_vec_ctor_cookie_nodtor\n" |
|
102 DCB "EXPORT __aeabi_vec_cctor_nocookie_nodtor\n" |
|
103 DCB "EXPORT __aeabi_vec_new_cookie_noctor\n" |
|
104 DCB "EXPORT __aeabi_vec_new_nocookie\n" |
|
105 DCB "EXPORT __aeabi_vec_new_cookie_nodtor\n" |
|
106 DCB "EXPORT __aeabi_vec_new_cookie\n" |
|
107 DCB "EXPORT __aeabi_vec_dtor\n" |
|
108 DCB "EXPORT __aeabi_vec_dtor_cookie\n" |
|
109 DCB "EXPORT __aeabi_vec_delete\n" |
|
110 DCB "EXPORT __aeabi_vec_delete3\n" |
|
111 DCB "EXPORT __aeabi_vec_delete3_nodtor\n" |
|
112 |
|
113 |
|
114 DCB "EXPORT _ZTVN10__cxxabiv117__class_type_infoE\n" |
|
115 DCB "EXPORT _ZTVN10__cxxabiv120__si_class_type_infoE\n" |
|
116 DCB "EXPORT _ZTVN10__cxxabiv121__vmi_class_type_infoE\n" |
|
117 |
|
118 } |
|
119 |
|
120 } |
|
121 |