blob: 01cb9988c4053ced1a103e8a307d87e31c8c24e0 [file] [log] [blame]
Logana6f41a72011-02-27 15:24:00 +08001#ifndef BCC_RUNTIME_STUB_H
2#define BCC_RUNTIME_STUB_H
3
4#include "runtime/lib/int_lib.h"
5
6#if defined(__cplusplus)
7extern "C" {
8#endif
9
10extern di_int __absvdi2(di_int);
11extern si_int __absvsi2(si_int);
12extern di_int __addvdi3(di_int, di_int);
13extern si_int __addvsi3(si_int, si_int);
14#if !defined(__i386__) && !defined(__SSE2__)
15extern di_int __ashldi3(di_int, si_int);
16#endif
17#ifndef ANDROID
18extern di_int __ashrdi3(di_int, si_int);
19#endif
20extern si_int __clzdi2(di_int);
21extern si_int __clzsi2(si_int);
22extern si_int __cmpdi2(di_int, di_int);
23extern si_int __ctzdi2(di_int);
24extern si_int __ctzsi2(si_int);
25#ifndef ANDROID /* no complex.h */
26extern double _Complex __divdc3(double, double, double, double);
27#endif
28#if !defined(__i386__)
29extern di_int __divdi3(di_int, di_int);
30#endif
31#ifndef ANDROID /* no complex.h */
32extern float _Complex __divsc3(float, float, float, float);
33#endif
34extern si_int __ffsdi2(di_int);
35extern di_int __fixdfdi(double);
36extern di_int __fixsfdi(float);
37extern du_int __fixunsdfdi(double);
38extern su_int __fixunsdfsi(double);
39extern du_int __fixunssfdi(float);
40extern su_int __fixunssfsi(float);
41#if !defined(__i386__)
42extern double __floatdidf(di_int);
43extern float __floatdisf(di_int);
44extern double __floatundidf(du_int);
45extern float __floatundisf(du_int);
46extern di_int __moddi3(di_int, di_int);
47#endif
48#if !defined(__i386__) && !defined(__SSE2__)
49extern di_int __lshrdi3(di_int, si_int);
50#endif
51#ifndef ANDROID /* no complex.h */
52extern double _Complex __muldc3(double, double, double, double);
53#endif
54#if !defined(__i386__)
55extern di_int __muldi3(di_int, di_int);
56#endif
57#ifndef ANDROID /* no complex.h */
58extern float _Complex __mulsc3(float, float, float, float);
59#endif
60extern di_int __mulvdi3(di_int, di_int);
61extern si_int __mulvsi3(si_int, si_int);
62extern di_int __negdi2(di_int);
63extern di_int __negvdi2(di_int);
64extern si_int __negvsi2(si_int);
65extern si_int __paritydi2(di_int);
66extern si_int __paritysi2(si_int);
67extern si_int __popcountdi2(di_int);
68extern si_int __popcountsi2(si_int);
69extern double __powidf2(double, si_int);
70extern float __powisf2(float, si_int);
71extern di_int __subvdi3(di_int, di_int);
72extern si_int __subvsi3(si_int, si_int);
73extern si_int __ucmpdi2(du_int, du_int);
74#if !defined(__i386__)
75extern du_int __udivdi3(du_int, du_int);
76#endif
77extern su_int __udivsi3(su_int, su_int);
78extern du_int __udivmoddi4(du_int, du_int, du_int *);
79#if !defined(__i386__)
80extern du_int __umoddi3(du_int, du_int);
81#endif
82extern void __eprintf(char const *, char const *, char const *, char const *)
83 __attribute__((visibility("hidden")));
84
85#if defined(__cplusplus)
86}
87#endif
88
89#endif /* BCC_RUNTIME_STUB_H */