#include "unistd.h" #include #include #include #include #include "third_party/printf/printf.h" #ifdef errno #undef errno #endif int errno{}; extern "C" [[noreturn]] void vApplicationMallocFailedHook(void) { for (;;); } extern "C" [[noreturn]] void vApplicationStackOverflowHook(void *task_handle, char *task_name) { (void) task_handle; (void) task_name; for (;;); } extern "C" void vApplicationIdleHook(void) { } extern "C" [[noreturn]] void _exit(int __status) { (void) __status; for (;;); } /* func can be NULL, in which case no function information is given. */ extern "C" [[noreturn]] void __assert_func ( const char *file, int line, const char *func, const char *failedexpr) { dprintf(STDERR_FILENO, "assertion \"%s\" failed: file \"%s\", line %d%s%s\n", failedexpr, file, line, func ? ", function: " : "", func ? func : ""); abort(); /* NOTREACHED */ } extern "C" ssize_t read(int fd, void *buf, size_t nbytes) { (void) fd; (void) buf; (void) nbytes; errno = ENOSYS; return -1; } extern "C" ssize_t write(int fd, const void *buf, size_t nbytes) { (void) fd; (void) buf; (void) nbytes; errno = ENOSYS; return -1; } static void dputchar2(char c, void* fd) { write(reinterpret_cast(fd), &c, 1); } static void dputchar(char c, int fd) { write(fd, &c, 1); } extern "C" int dprintf(int fd, const char * format, ...) { va_list args; va_start(args, format); const int ret = vfctprintf(dputchar2, reinterpret_cast(fd), format, args); va_end(args); return ret; } extern "C" int vdprintf(int fd, const char * format, va_list args) { return vfctprintf(dputchar2, reinterpret_cast(fd), format, args); } extern "C" void putchar_(char c) { dputchar(c, STDIN_FILENO); }