Usermode/libc - AcessNative hacks to separate acess and native namespaces
authorJohn Hodge <[email protected]>
Sun, 14 Jul 2013 14:59:36 +0000 (22:59 +0800)
committerJohn Hodge <[email protected]>
Sun, 14 Jul 2013 14:59:36 +0000 (22:59 +0800)
Usermode/Libraries/libc.so_src/Makefile
Usermode/Libraries/libc.so_src/include_exp/assert.h
Usermode/Libraries/libc.so_src/include_exp/stdio.h
Usermode/Libraries/libc.so_src/include_exp/stdlib.h

index b7cb1d2..1414b1c 100644 (file)
@@ -18,6 +18,8 @@ OBJ += arch/$(ARCHDIR).ao
 DEPFILES := $(OBJ:%.o=%.d)\r
 BIN = libc.so\r
 ifeq ($(ARCHDIR),native)\r
+ #OBJ := $(filter-out heap.o,$(OBJ))\r
+ #LDFLAGS += -l c\r
  BIN = libc_acess.so\r
 endif\r
 \r
index 060f10a..826e92e 100644 (file)
@@ -8,7 +8,8 @@
 #ifndef _LIBC__ASSERT_H_
 #define _LIBC__ASSERT_H_
 
-extern void exit(int status);
+#include <stdlib.h>
+//extern void exit(int status);
 
 #ifdef NDEBUG
 # define assert(expr)  do{}while(0)
index fed2e97..19f21f6 100644 (file)
@@ -28,22 +28,47 @@ typedef struct sFILE        FILE;
 
 #ifdef ARCHDIR_is_native
 #define printf acess_printf
-#define vsprintf       acess_vsprintf
 #define vsnprintf      acess_vsnprintf
+#define vsprintf       acess_vsprintf
+#define vprintf        acess_vprintf
 #define sprintf        acess_sprintf
 #define snprintf       acess_snprintf
-#define vprintf        acess_vprintf
-#define vfprintf       acess_vfprintf
+#define perror acess_perror
+
 #define fopen  acess_fopen
 #define fdopen acess_fdopen
 #define freopen        acess_freopen
+#define fdopen acess_fdopen
 #define fclose acess_fclose
-
-#define putchar        acess_putchar
+#define ftell  acess_ftell
+#define fseek  acess_fseek
+#define clearerr       acess_clearerr
+#define feof   acess_feof
+#define ferr   acess_ferr
+#define fileno acess_fileno
+
+#define fread  acess_fread
+#define fwrite acess_fwrite
+#define fgetc  acess_fgetc
+#define fgets  acess_fgets
+#define fputc  acess_fputc
+#define fputs  acess_fputs
 #define getchar        acess_getchar
+#define putchar        acess_putchar
+
+#define fprintf        acess_fprintf
+#define vfprintf       acess_vfprintf
+
+#define scanf  acess_scanf
+#define fscanf acess_fscanf
+#define sscanf acess_sscanf
+#define vscanf acess_vscanf
+#define vsscanf        acess_vsscanf
+#define vfscanf        acess_vfscanf
 
 #define stdin  acess_stdin
 #define stdout acess_stdout
+#define stderr acess_stderr
 #endif
 
 /* --- Standard IO --- */
index 0dae764..f692ddd 100644 (file)
 #define EXIT_FAILURE   1\r
 #define EXIT_SUCCESS   0\r
 \r
+#ifdef ARCHDIR_is_native\r
+# define _exit acess__exit\r
+\r
+//# define strtoll     acess_strtoll\r
+//# define strtol      acess_strtol\r
+//# define strtoul     acess_strtoul\r
+//# define strtoull    acess_strtoull\r
+\r
+# define strtod        acess_strtod\r
+# define strtof        acess_strtof\r
+# define atof  acess_atof\r
+\r
+# define exit  acess_exit\r
+# define atexit        acess_atexit\r
+# define abort acess_abort\r
+# define abs   acess_abs\r
+# define labs  acess_labs\r
+# define llabs acess_llabs\r
+\r
+# define getenv        acess_getenv\r
+# define putenv        acess_putenv\r
+\r
+# define bsearch       acess_bsearch\r
+# define qsort acess_qsort\r
+\r
+# define srand acess_srand\r
+# define rand  acess_rand\r
+# define rand_p        acess_rand_p\r
+#endif\r
+\r
 /* --- Spinlock Macros --- */\r
 /* TODO: Support non-x86 architectures */\r
 #define DEFLOCK(_name) static int _spinlock_##_name=0;\r

UCC git Repository :: git.ucc.asn.au