kernel/eka/common/arm/armcchlp.cia
changeset 43 96e5fb8b040d
equal deleted inserted replaced
-1:000000000000 43:96e5fb8b040d
       
     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