From: John Hodge Date: Sun, 14 Jul 2013 14:59:36 +0000 (+0800) Subject: Usermode/libc - AcessNative hacks to separate acess and native namespaces X-Git-Tag: rel0.15~357 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=7a70e3527bc012c065959382187c2361624e1911;p=tpg%2Facess2.git Usermode/libc - AcessNative hacks to separate acess and native namespaces --- diff --git a/Usermode/Libraries/libc.so_src/Makefile b/Usermode/Libraries/libc.so_src/Makefile index b7cb1d22..1414b1cc 100644 --- a/Usermode/Libraries/libc.so_src/Makefile +++ b/Usermode/Libraries/libc.so_src/Makefile @@ -18,6 +18,8 @@ OBJ += arch/$(ARCHDIR).ao DEPFILES := $(OBJ:%.o=%.d) BIN = libc.so ifeq ($(ARCHDIR),native) + #OBJ := $(filter-out heap.o,$(OBJ)) + #LDFLAGS += -l c BIN = libc_acess.so endif diff --git a/Usermode/Libraries/libc.so_src/include_exp/assert.h b/Usermode/Libraries/libc.so_src/include_exp/assert.h index 060f10ad..826e92e5 100644 --- a/Usermode/Libraries/libc.so_src/include_exp/assert.h +++ b/Usermode/Libraries/libc.so_src/include_exp/assert.h @@ -8,7 +8,8 @@ #ifndef _LIBC__ASSERT_H_ #define _LIBC__ASSERT_H_ -extern void exit(int status); +#include +//extern void exit(int status); #ifdef NDEBUG # define assert(expr) do{}while(0) diff --git a/Usermode/Libraries/libc.so_src/include_exp/stdio.h b/Usermode/Libraries/libc.so_src/include_exp/stdio.h index fed2e97a..19f21f65 100644 --- a/Usermode/Libraries/libc.so_src/include_exp/stdio.h +++ b/Usermode/Libraries/libc.so_src/include_exp/stdio.h @@ -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 --- */ diff --git a/Usermode/Libraries/libc.so_src/include_exp/stdlib.h b/Usermode/Libraries/libc.so_src/include_exp/stdlib.h index 0dae7646..f692dddb 100644 --- a/Usermode/Libraries/libc.so_src/include_exp/stdlib.h +++ b/Usermode/Libraries/libc.so_src/include_exp/stdlib.h @@ -12,6 +12,36 @@ #define EXIT_FAILURE 1 #define EXIT_SUCCESS 0 +#ifdef ARCHDIR_is_native +# define _exit acess__exit + +//# define strtoll acess_strtoll +//# define strtol acess_strtol +//# define strtoul acess_strtoul +//# define strtoull acess_strtoull + +# define strtod acess_strtod +# define strtof acess_strtof +# define atof acess_atof + +# define exit acess_exit +# define atexit acess_atexit +# define abort acess_abort +# define abs acess_abs +# define labs acess_labs +# define llabs acess_llabs + +# define getenv acess_getenv +# define putenv acess_putenv + +# define bsearch acess_bsearch +# define qsort acess_qsort + +# define srand acess_srand +# define rand acess_rand +# define rand_p acess_rand_p +#endif + /* --- Spinlock Macros --- */ /* TODO: Support non-x86 architectures */ #define DEFLOCK(_name) static int _spinlock_##_name=0;