mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-22 14:24:21 +08:00
Added missing stub functions for qurt build
No wchar support in current aDSP image. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
This commit is contained in:
committed by
Julian Oes
parent
4f84a6d81e
commit
e6d27f019e
@@ -30,43 +30,18 @@
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
#ifdef QURT_EXE_BUILD
|
||||
#include <stdio.h>
|
||||
#include <dlfcn.h>
|
||||
|
||||
//#define STACK_SIZE 0x8000
|
||||
//static char __attribute__ ((aligned (16))) stack1[STACK_SIZE];
|
||||
|
||||
static void do_dlopen()
|
||||
{
|
||||
#if 0
|
||||
void *handle;
|
||||
char *error;
|
||||
void (*entry_function)() = NULL;
|
||||
|
||||
handle = dlopen("libdspal_client.so", RTLD_LAZY);
|
||||
|
||||
if (!handle) {
|
||||
printf("Error opening libdspal_client.so\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
entry_function = dlsym(handle, "dspal_entry");
|
||||
|
||||
if (((error = dlerror()) != NULL) || (entry_function == NULL)) {
|
||||
printf("Error dlsym for dspal_entry");
|
||||
ret = 2;
|
||||
}
|
||||
|
||||
dlclose(handle);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef QURT_EXE_BUILD
|
||||
int dlinit(int a, char **b)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
@@ -80,3 +55,4 @@ int main(int argc, char *argv[])
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -157,18 +157,17 @@ size_t strnlen(const char *s, size_t maxlen)
|
||||
return i;
|
||||
}
|
||||
|
||||
int ioctl(int a, int b, unsigned long c)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int write(int a, char const *b, int c)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return -1;
|
||||
}
|
||||
|
||||
int fprintf(FILE *stream, const char *format, ...)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -177,4 +176,151 @@ int fputc(int c, FILE *stream)
|
||||
return c;
|
||||
}
|
||||
|
||||
FILE _Stdin;
|
||||
FILE _Stdout;
|
||||
FILE _Stderr;
|
||||
|
||||
static void block_indefinite(void)
|
||||
{
|
||||
for (;;) {
|
||||
volatile int x = 0;
|
||||
++x;
|
||||
}
|
||||
}
|
||||
|
||||
int ungetc(int c, FILE *stream)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return -1;
|
||||
}
|
||||
|
||||
int fgetc(FILE *stream)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return -1;
|
||||
}
|
||||
|
||||
int fseek(FILE *stream, long offset, int whence)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return -1;
|
||||
}
|
||||
|
||||
int fgetpos(FILE *stream, fpos_t *pos)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return -1;
|
||||
}
|
||||
int fsetpos(FILE *stream, const fpos_t *pos)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return -1;
|
||||
}
|
||||
|
||||
int setvbuf(FILE *stream, char *buf, int mode, size_t size)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return -1;
|
||||
}
|
||||
|
||||
#include <wchar.h>
|
||||
|
||||
wint_t fputwc(wchar_t wc, FILE *stream)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return -1;
|
||||
}
|
||||
|
||||
wint_t ungetwc(wint_t wc, FILE *stream)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return -1;
|
||||
}
|
||||
|
||||
wint_t fgetwc(FILE *stream)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return -1;
|
||||
}
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
size_t _Getmbcurmax()
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return 2;
|
||||
}
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
_Ctype_t _Getptolower(void)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
_Ctype_t _Getptoupper(void)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
#include <xwchar.h>
|
||||
|
||||
_Statab *_Getpmbstate(void)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
_Statab *_Getpwcstate(void)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
int _Mbtowcx(wchar_t *, const char *, size_t, mbstate_t *, _Statab *)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
return -1;
|
||||
}
|
||||
|
||||
int _Wctombx(char *, wchar_t, mbstate_t *, _Statab *, _Statab *)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
void _Locksyslock(int x)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
}
|
||||
|
||||
void _Unlocksyslock(int x)
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
}
|
||||
|
||||
void _Atexit(void (*)(void))
|
||||
{
|
||||
PX4_ERR("Error: Calling unresolved symbol stub[%s]", __FUNCTION__);
|
||||
block_indefinite();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user