From: John Hodge Date: Fri, 29 Mar 2013 07:59:56 +0000 (+0800) Subject: Merge branch 'master' of git://localhost/acess2 X-Git-Tag: rel0.15~526 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=b732b8e8da2bea4916286333efb34a9a5e1bf01e;hp=bf0187772ecfb475eedf5e0e9b8460b4f1a3f445;p=tpg%2Facess2.git Merge branch 'master' of git://localhost/acess2 --- diff --git a/AcessNative/syscalls.h b/AcessNative/syscalls.h index b9661bcf..cef8dd01 100644 --- a/AcessNative/syscalls.h +++ b/AcessNative/syscalls.h @@ -27,13 +27,13 @@ typedef struct sRequestValue { } tRequestValue; typedef struct sRequestHeader { - uint16_t ClientID; - uint16_t CallID; //!< \see eSyscalls + uint32_t ClientID; uint32_t MessageLength; + uint16_t CallID; //!< \see eSyscalls uint16_t NParams; tRequestValue Params[]; -} tRequestHeader; +} __attribute__((packed)) tRequestHeader; enum eSyscalls { 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);