Merge branch 'master' of git://localhost/acess2
[tpg/acess2.git] / Usermode / Libraries / ld-acess.so_src / export.c
1 /*
2  * Acess2 Dynamic Linker
3  */
4 #include "common.h"
5 #include <acess/sys.h>
6
7 extern uint64_t __udivdi3(uint64_t Num, uint64_t Den);
8 extern uint64_t __umoddi3(uint64_t Num, uint64_t Den);
9 extern int32_t  __divsi3(int32_t Num, int32_t Den);
10 extern int32_t  __modsi3(int32_t Num, int32_t Den);
11 extern uint32_t __udivsi3(uint32_t Num, uint32_t Den);
12 extern uint32_t __umodsi3(uint32_t Num, uint32_t Den);
13
14
15 #define _STR(x) #x
16 #define STR(x)  _STR(x)
17 #define EXP(sym)        {&sym, STR(sym)}
18
19 #define SYSCALL0(name,num)      EXP(name),
20 #define SYSCALL1(name,num)      EXP(name),
21 #define SYSCALL2(name,num)      EXP(name),
22 #define SYSCALL3(name,num)      EXP(name),
23 #define SYSCALL4(name,num)      EXP(name),
24 #define SYSCALL5(name,num)      EXP(name),
25 #define SYSCALL6(name,num)      EXP(name),
26
27 // === CONSTANTS ===
28 const struct {
29         void    *Value;
30         char    *Name;
31 }       caLocalExports[] = {
32         EXP(gLoadedLibraries),
33         EXP(_errno),
34         
35         #define __ASSEMBLER__
36         #include "arch/syscalls.s.h"
37         #undef __ASSEMBLER__
38 #if 0
39         EXP(__umoddi3),
40         EXP(__udivdi3),
41         EXP(__divsi3),
42         EXP(__modsi3),
43         EXP(__udivsi3),
44         EXP(__umodsi3)
45 #endif
46 };
47
48 const int       ciNumLocalExports = sizeof(caLocalExports)/sizeof(caLocalExports[0]);

UCC git Repository :: git.ucc.asn.au