From 055e0dd89c4c4b67d399d599c76674957e54b3e9 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Fri, 29 Mar 2013 15:58:28 +0800 Subject: [PATCH] Usermode - ARCH=native changes, kinda borked - Might not be, no caching so things are damn slow --- Usermode/Applications/Makefile.cfg | 2 +- Usermode/Libraries/Makefile.cfg | 1 + Usermode/Libraries/Makefile.tpl | 6 ++++++ Usermode/Libraries/libc.so_src/Makefile | 2 +- .../Libraries/libc.so_src/include_exp/stdio.h | 20 +++++++++++++++++++ 5 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Usermode/Applications/Makefile.cfg b/Usermode/Applications/Makefile.cfg index 2dbcfc28..d0a07d1c 100644 --- a/Usermode/Applications/Makefile.cfg +++ b/Usermode/Applications/Makefile.cfg @@ -8,7 +8,7 @@ ifeq ($(ARCHDIR),native) ASFLAGS = -felf CPPFLAGS = -Wall CFLAGS = $(CPPFLAGS) -LDFLAGS = -L $(OUTPUTDIR)Libs -lacess-native +LDFLAGS = -L $(OUTPUTDIR)Libs -lacess-native -lc_acess #LIBGCC_PATH = $(ACESSDIR)/AcessNative/symbol_renames.ld else ASFLAGS = -felf diff --git a/Usermode/Libraries/Makefile.cfg b/Usermode/Libraries/Makefile.cfg index a9a0eefe..a4346eb9 100644 --- a/Usermode/Libraries/Makefile.cfg +++ b/Usermode/Libraries/Makefile.cfg @@ -8,6 +8,7 @@ MAKEDEP = $(CC) -M ifeq ($(ARCHDIR),native) ASFLAGS += -D ARCHDIR=$(ARCHDIR) -D __ASSEMBLER__=1 LDFLAGS := -lacess-native +#CPPFLAGS := -D SoMain="__attribute__ ((constructor(101))) libacessnative_init" ifeq ($(PLATFORM),windows) else LDFLAGS += -Wl,-init,SoMain diff --git a/Usermode/Libraries/Makefile.tpl b/Usermode/Libraries/Makefile.tpl index 652d5a26..0f6253c3 100644 --- a/Usermode/Libraries/Makefile.tpl +++ b/Usermode/Libraries/Makefile.tpl @@ -4,6 +4,12 @@ comma=, +LDFLAGS += -soname $(BIN) + +ifeq ($(ARCH),native) + LDFLAGS := $(LDFLAGS:-lc=-lc_acess) +endif + ifneq ($(lastword $(subst -, ,$(basename $(LD)))),ld) LDFLAGS := $(subst -soname ,-Wl$(comma)-soname$(comma),$(LDFLAGS)) LDFLAGS := $(subst -Map ,-Wl$(comma)-Map$(comma),$(LDFLAGS)) diff --git a/Usermode/Libraries/libc.so_src/Makefile b/Usermode/Libraries/libc.so_src/Makefile index f95e0869..be6e08aa 100644 --- a/Usermode/Libraries/libc.so_src/Makefile +++ b/Usermode/Libraries/libc.so_src/Makefile @@ -6,7 +6,7 @@ CPPFLAGS += CFLAGS += -Werror -Wextra ASFLAGS += -LDFLAGS += -soname libc.so -Map map.txt +LDFLAGS += -Map map.txt INCFILES := stdio.h stdlib.h diff --git a/Usermode/Libraries/libc.so_src/include_exp/stdio.h b/Usermode/Libraries/libc.so_src/include_exp/stdio.h index 646844ee..b3836524 100644 --- a/Usermode/Libraries/libc.so_src/include_exp/stdio.h +++ b/Usermode/Libraries/libc.so_src/include_exp/stdio.h @@ -22,6 +22,26 @@ typedef struct sFILE FILE; #define SEEK_END (-1) #endif +#ifdef ARCHDIR_is_native +#define printf acess_printf +#define vsprintf acess_vsprintf +#define vsnprintf acess_vsnprintf +#define sprintf acess_sprintf +#define snprintf acess_snprintf +#define vprintf acess_vprintf +#define vfprintf acess_vfprintf +#define fopen acess_fopen +#define fdopen acess_fdopen +#define freopen acess_freopen +#define fclose acess_fclose + +#define putchar acess_putchar +#define getchar acess_getchar + +#define stdin acess_stdin +#define stdout acess_stdout +#endif + /* --- Standard IO --- */ extern int printf(const char *format, ...); extern int vsnprintf(char *buf, size_t __maxlen, const char *format, va_list args); -- 2.20.1