blob: 1ca678b485b2e39004a01d8a589f57b593b8d8f9 [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
Stephen Hines33f8af82011-06-23 16:47:59 -070031extern si_int __divsi3(si_int, si_int);
Logana6f41a72011-02-27 15:24:00 +080032#ifndef ANDROID /* no complex.h */
33extern float _Complex __divsc3(float, float, float, float);
34#endif
35extern si_int __ffsdi2(di_int);
36extern di_int __fixdfdi(double);
37extern di_int __fixsfdi(float);
38extern du_int __fixunsdfdi(double);
39extern su_int __fixunsdfsi(double);
40extern du_int __fixunssfdi(float);
41extern su_int __fixunssfsi(float);
42#if !defined(__i386__)
43extern double __floatdidf(di_int);
44extern float __floatdisf(di_int);
45extern double __floatundidf(du_int);
46extern float __floatundisf(du_int);
47extern di_int __moddi3(di_int, di_int);
48#endif
Stephen Hines33f8af82011-06-23 16:47:59 -070049extern si_int __modsi3(si_int, si_int);
Logana6f41a72011-02-27 15:24:00 +080050#if !defined(__i386__) && !defined(__SSE2__)
51extern di_int __lshrdi3(di_int, si_int);
52#endif
53#ifndef ANDROID /* no complex.h */
54extern double _Complex __muldc3(double, double, double, double);
55#endif
56#if !defined(__i386__)
57extern di_int __muldi3(di_int, di_int);
58#endif
59#ifndef ANDROID /* no complex.h */
60extern float _Complex __mulsc3(float, float, float, float);
61#endif
62extern di_int __mulvdi3(di_int, di_int);
63extern si_int __mulvsi3(si_int, si_int);
64extern di_int __negdi2(di_int);
65extern di_int __negvdi2(di_int);
66extern si_int __negvsi2(si_int);
67extern si_int __paritydi2(di_int);
68extern si_int __paritysi2(si_int);
69extern si_int __popcountdi2(di_int);
70extern si_int __popcountsi2(si_int);
71extern double __powidf2(double, si_int);
72extern float __powisf2(float, si_int);
73extern di_int __subvdi3(di_int, di_int);
74extern si_int __subvsi3(si_int, si_int);
75extern si_int __ucmpdi2(du_int, du_int);
76#if !defined(__i386__)
77extern du_int __udivdi3(du_int, du_int);
78#endif
79extern su_int __udivsi3(su_int, su_int);
80extern du_int __udivmoddi4(du_int, du_int, du_int *);
81#if !defined(__i386__)
82extern du_int __umoddi3(du_int, du_int);
83#endif
Stephen Hines33f8af82011-06-23 16:47:59 -070084extern su_int __umodsi3(su_int, su_int);
Logana6f41a72011-02-27 15:24:00 +080085extern void __eprintf(char const *, char const *, char const *, char const *)
86 __attribute__((visibility("hidden")));
87
88#if defined(__cplusplus)
89}
90#endif
91
92#endif /* BCC_RUNTIME_STUB_H */