libstubs.cpp
Go to the documentation of this file.
1 /*
2  * Pavel Kirienko, 2014 <pavel.kirienko@gmail.com>
3  * Standard library stubs
4  */
5 
6 #include <cstdlib>
7 #include <unistd.h>
8 #include <sys/types.h>
9 
10 #if __GNUC__
11 # pragma GCC diagnostic ignored "-Wmissing-declarations"
12 #endif
13 
15 
16 void* operator new(std::size_t)
17 {
18  std::abort();
19  return reinterpret_cast<void*>(0xFFFFFFFF);
20 }
21 
22 void* operator new[](std::size_t)
23 {
24  std::abort();
25  return reinterpret_cast<void*>(0xFFFFFFFF);
26 }
27 
28 void operator delete(void*)
29 {
30  std::abort();
31 }
32 
33 void operator delete[](void*)
34 {
35  std::abort();
36 }
37 
38 namespace __gnu_cxx
39 {
40 
42 {
43  std::abort();
44 }
45 
46 }
47 
48 /*
49  * libstdc++ stubs
50  */
51 extern "C"
52 {
53 
54 int __aeabi_atexit(void*, void(*)(void*), void*)
55 {
56  return 0;
57 }
58 
59 __extension__ typedef int __guard __attribute__((mode (__DI__)));
60 
61 void __cxa_atexit(void(*)(void *), void*, void*)
62 {
63 }
64 
65 int __cxa_guard_acquire(__guard* g)
66 {
67  return !*g;
68 }
69 
70 void __cxa_guard_release (__guard* g)
71 {
72  *g = 1;
73 }
74 
75 void __cxa_guard_abort (__guard*)
76 {
77 }
78 
80 {
81  std::abort();
82 }
83 
84 }
85 
86 /*
87  * stdio
88  */
89 extern "C"
90 {
91 
93 void abort()
94 {
95  while (true) { }
96 }
97 
98 int _read_r(struct _reent*, int, char*, int)
99 {
100  return -1;
101 }
102 
103 int _lseek_r(struct _reent*, int, int, int)
104 {
105  return -1;
106 }
107 
108 int _write_r(struct _reent*, int, char*, int)
109 {
110  return -1;
111 }
112 
113 int _close_r(struct _reent*, int)
114 {
115  return -1;
116 }
117 
118 __attribute__((used))
119 caddr_t _sbrk_r(struct _reent*, int)
120 {
121  return 0;
122 }
123 
124 int _fstat_r(struct _reent*, int, struct stat*)
125 {
126  return -1;
127 }
128 
129 int _isatty_r(struct _reent*, int)
130 {
131  return -1;
132 }
133 
134 void _exit(int)
135 {
136  abort();
137 }
138 
139 pid_t _getpid(void)
140 {
141  return 1;
142 }
143 
144 void _kill(pid_t)
145 {
146 }
147 
148 }
__cxa_guard_acquire
int __cxa_guard_acquire(__guard *g)
Definition: libstubs.cpp:65
std::size_t
unsigned long size_t
Definition: coverity_scan_model.cpp:19
__dso_handle
void * __dso_handle
Definition: libstubs.cpp:14
_isatty_r
int _isatty_r(struct _reent *, int)
Definition: libstubs.cpp:129
__cxa_guard_abort
void __cxa_guard_abort(__guard *)
Definition: libstubs.cpp:75
_exit
void _exit(int)
Definition: libstubs.cpp:134
__gnu_cxx::__verbose_terminate_handler
void __verbose_terminate_handler()
Definition: libstubs.cpp:41
_fstat_r
int _fstat_r(struct _reent *, int, struct stat *)
Definition: libstubs.cpp:124
__cxa_guard_release
void __cxa_guard_release(__guard *g)
Definition: libstubs.cpp:70
_getpid
pid_t _getpid(void)
Definition: libstubs.cpp:139
_write_r
int _write_r(struct _reent *, int, char *, int)
Definition: libstubs.cpp:108
__attribute__
__extension__ typedef int __guard __attribute__((mode(__DI__)))
_kill
void _kill(pid_t)
Definition: libstubs.cpp:144
__gnu_cxx
Definition: libstubs.cpp:38
_close_r
int _close_r(struct _reent *, int)
Definition: libstubs.cpp:113
__cxa_pure_virtual
void __cxa_pure_virtual()
Definition: libstubs.cpp:79
_lseek_r
int _lseek_r(struct _reent *, int, int, int)
Definition: libstubs.cpp:103
__cxa_atexit
void __cxa_atexit(void(*)(void *), void *, void *)
Definition: libstubs.cpp:61
__aeabi_atexit
int __aeabi_atexit(void *, void(*)(void *), void *)
Definition: libstubs.cpp:54
_read_r
int _read_r(struct _reent *, int, char *, int)
Definition: libstubs.cpp:98


uavcan_communicator
Author(s):
autogenerated on Fri Dec 13 2024 03:10:02