Bläddra i källkod

[Libc] Export more symbols for libc.

Bernard Xiong 9 år sedan
förälder
incheckning
147901c2cb

+ 39 - 0
components/libc/armlibc/libc_syms.c

@@ -0,0 +1,39 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <time.h>
+
+#include <rtm.h>
+
+/* some export routines for module */
+
+RTM_EXPORT(strstr);
+RTM_EXPORT(strlen);
+RTM_EXPORT(strchr);
+RTM_EXPORT(strcpy);
+RTM_EXPORT(strncpy);
+RTM_EXPORT(strcmp);
+RTM_EXPORT(strncmp);
+RTM_EXPORT(strcat);
+RTM_EXPORT(strtol);
+
+RTM_EXPORT(memcpy);
+RTM_EXPORT(memcmp);
+RTM_EXPORT(memmove);
+RTM_EXPORT(memset);
+RTM_EXPORT(memchr);
+
+RTM_EXPORT(toupper);
+RTM_EXPORT(atoi);
+
+RTM_EXPORT(localtime);
+RTM_EXPORT(time);
+
+/* import the full stdio for printf */
+#ifdef __MICROLIB
+#error "[RT_USING_LIBC] Please use standard libc but not microlib."
+#endif
+
+RTM_EXPORT(puts);
+RTM_EXPORT(printf);

+ 4 - 0
components/libc/armlibc/mem_std.c

@@ -22,18 +22,22 @@ void *malloc(int n)
 {
     return rt_malloc(n);
 }
+RTM_EXPORT(malloc);
 
 void *realloc(void *rmem, rt_size_t newsize)
 {
     return rt_realloc(rmem, newsize);
 }
+RTM_EXPORT(realloc);
 
 void *calloc(rt_size_t nelem, rt_size_t elsize)
 {
 	return rt_calloc(nelem, elsize);
 }
+RTM_EXPORT(calloc);
 
 void free(void *rmem)
 {
     rt_free(rmem);
 }
+RTM_EXPORT(free);

+ 47 - 0
components/libc/newlib/libc_sym.c

@@ -0,0 +1,47 @@
+#include <rtthread.h>
+#include <rtm.h>
+
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+RTM_EXPORT(strcpy);
+RTM_EXPORT(strncpy);
+RTM_EXPORT(strlen);
+RTM_EXPORT(strcat);
+RTM_EXPORT(strstr);
+RTM_EXPORT(strchr);
+RTM_EXPORT(strcmp);
+RTM_EXPORT(strtol);
+RTM_EXPORT(strtoul);
+RTM_EXPORT(strncmp);
+
+RTM_EXPORT(memcpy);
+RTM_EXPORT(memcmp);
+RTM_EXPORT(memmove);
+RTM_EXPORT(memset);
+RTM_EXPORT(memchr);
+
+RTM_EXPORT(putchar);
+RTM_EXPORT(puts);
+RTM_EXPORT(printf);
+RTM_EXPORT(sprintf);
+RTM_EXPORT(snprintf);
+
+RTM_EXPORT(fwrite);
+
+#include <time.h>
+RTM_EXPORT(localtime);
+RTM_EXPORT(time);
+
+#include <setjmp.h>
+RTM_EXPORT(longjmp);
+RTM_EXPORT(setjmp);
+
+RTM_EXPORT(exit);
+RTM_EXPORT(abort);
+
+RTM_EXPORT(rand);
+
+#include <assert.h>
+RTM_EXPORT(__assert_func);