diff --git a/contrib/sdk/sources/newlib/libc/Makefile.ebox b/contrib/sdk/sources/newlib/libc/Makefile.ebox index 81a83682cb..142c464ed3 100644 --- a/contrib/sdk/sources/newlib/libc/Makefile.ebox +++ b/contrib/sdk/sources/newlib/libc/Makefile.ebox @@ -394,9 +394,9 @@ shared: $(NAME).dll libapp.a libdll.a $(NAME).dll: $(LIB_OBJS) $(SRC_DEP) Makefile $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(LIB_OBJS) -lgcc --version-script libc.ver - #sed -e "s/ @[^ ]*//" libc.orig.def > libc.def - #sed -f cmd2.sed libc.def > mem - #sed -f newlib.sed mem > libc.inc +#sed -e "s/ @[^ ]*//" libc.orig.def > libc.def +#sed -f cmd2.sed libc.def > mem +#sed -f newlib.sed mem > libc.inc install: libc.dll libc.dll.a libapp.a libdll.a mv -f libc.dll $(SDK_DIR)/bin diff --git a/contrib/sdk/sources/newlib/libc/include/sys/kos_io.h b/contrib/sdk/sources/newlib/libc/include/sys/kos_io.h index 6ece4a1bb0..d17b8a8f21 100644 --- a/contrib/sdk/sources/newlib/libc/include/sys/kos_io.h +++ b/contrib/sdk/sources/newlib/libc/include/sys/kos_io.h @@ -64,6 +64,7 @@ typedef struct int create_file(const char *path); int get_fileinfo(const char *path, fileinfo_t *info); +int set_fileinfo(const char *path, fileinfo_t *info); int read_file(const char *path, void *buff, size_t offset, size_t count, size_t *reads); int write_file(const char *path,const void *buff, diff --git a/contrib/sdk/sources/newlib/libc/sys/finfo.c b/contrib/sdk/sources/newlib/libc/sys/finfo.c index c114554fb7..77cf30b777 100644 --- a/contrib/sdk/sources/newlib/libc/sys/finfo.c +++ b/contrib/sdk/sources/newlib/libc/sys/finfo.c @@ -24,3 +24,25 @@ int get_fileinfo(const char *path, fileinfo_t *info) return retval; }; + +int set_fileinfo(const char *path, fileinfo_t *info) +{ + int retval; + + __asm__ __volatile__ ( + "pushl $0 \n\t" + "pushl $0 \n\t" + "movl %1, 1(%%esp) \n\t" + "pushl %%ebx \n\t" + "pushl $0 \n\t" + "pushl $0 \n\t" + "pushl $0 \n\t" + "pushl $6 \n\t" + "movl %%esp, %%ebx \n\t" + "movl $70, %%eax \n\t" + "int $0x40 \n\t" + "addl $28, %%esp \n\t" + :"=a" (retval) + :"r" (path), "b" (info)); + return retval; +};