From c0f526059abf23ed04d5398be479bfdcef6bf831 Mon Sep 17 00:00:00 2001 From: Francisco Javier Trujillo Mata Date: Sun, 14 Nov 2021 23:09:15 +0100 Subject: [PATCH] Rename libpsplibc to libcglue --- Dockerfile | 4 ++-- README.md | 4 +--- configure.ac | 2 +- src/Makefile.am | 2 +- src/{libc => libcglue}/Makefile.am | 8 ++++---- src/{libc => libcglue}/arpa/inet.h | 0 src/{libc => libcglue}/cwd.c | 2 +- src/{libc => libcglue}/errno.c | 2 +- src/{libc => libcglue}/fdman.c | 0 src/{libc => libcglue}/fdman.h | 0 src/{libc => libcglue}/glue.c | 2 +- src/{libc => libcglue}/init.c | 4 ++-- src/{libc => libcglue}/mutexman.c | 0 src/{libc => libcglue}/netdb.c | 0 src/{libc => libcglue}/netdb.h | 0 src/{libc => libcglue}/netinet/in.h | 0 src/{libc => libcglue}/netinet/tcp.h | 0 src/{libc => libcglue}/pipe.c | 0 src/{libc => libcglue}/select.c | 0 src/{libc => libcglue}/sleep.c | 0 src/{libc => libcglue}/socket.c | 0 src/{libc => libcglue}/sys/ioctl.h | 0 src/{libc => libcglue}/sys/socket.h | 0 src/{libc => libcglue}/terminate.c | 0 src/{libc => libcglue}/timezone.c | 2 +- src/sdk/Makefile.am | 2 +- src/startup/crt0.c | 6 +++--- src/startup/crt0_prx.c | 6 +++--- src/user/pspmoduleinfo.h | 2 +- 29 files changed, 23 insertions(+), 25 deletions(-) rename src/{libc => libcglue}/Makefile.am (93%) rename src/{libc => libcglue}/arpa/inet.h (100%) rename src/{libc => libcglue}/cwd.c (98%) rename src/{libc => libcglue}/errno.c (91%) rename src/{libc => libcglue}/fdman.c (100%) rename src/{libc => libcglue}/fdman.h (100%) rename src/{libc => libcglue}/glue.c (99%) rename src/{libc => libcglue}/init.c (94%) rename src/{libc => libcglue}/mutexman.c (100%) rename src/{libc => libcglue}/netdb.c (100%) rename src/{libc => libcglue}/netdb.h (100%) rename src/{libc => libcglue}/netinet/in.h (100%) rename src/{libc => libcglue}/netinet/tcp.h (100%) rename src/{libc => libcglue}/pipe.c (100%) rename src/{libc => libcglue}/select.c (100%) rename src/{libc => libcglue}/sleep.c (100%) rename src/{libc => libcglue}/socket.c (100%) rename src/{libc => libcglue}/sys/ioctl.h (100%) rename src/{libc => libcglue}/sys/socket.h (100%) rename src/{libc => libcglue}/terminate.c (100%) rename src/{libc => libcglue}/timezone.c (95%) diff --git a/Dockerfile b/Dockerfile index 370a72e3..e7f28c4a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,9 +13,9 @@ RUN cd /src && \ make -j $(getconf _NPROCESSORS_ONLN) && \ make -j $(getconf _NPROCESSORS_ONLN) install -## gcc needs to include libpsplibc libpsputility libpspnet_inet libpspnet_resolver libpspuser libpspkernel +## gcc needs to include libcglue libpsputility libpspnet_inet libpspnet_resolver libpspuser libpspkernel ## from pspsdk to be able to build executables, because they are part of the standard libraries -RUN ln -sf "$PSPDEV/psp/sdk/lib/libpsplibc.a" "$PSPDEV/psp/lib/libpsplibc.a" || { exit 1; } +RUN ln -sf "$PSPDEV/psp/sdk/lib/libcglue.a" "$PSPDEV/psp/lib/libcglue.a" || { exit 1; } RUN ln -sf "$PSPDEV/psp/sdk/lib/libpsputility.a" "$PSPDEV/psp/lib/libpsputility.a" || { exit 1; } RUN ln -sf "$PSPDEV/psp/sdk/lib/libpspnet_inet.a" "$PSPDEV/psp/lib/libpspnet_inet.a" || { exit 1; } RUN ln -sf "$PSPDEV/psp/sdk/lib/libpspnet_resolver.a" "$PSPDEV/psp/lib/libpspnet_resolver.a" || { exit 1; } diff --git a/README.md b/README.md index 1db2197f..5286a7ba 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,7 @@ See the LICENSE files for more information. * Stub libraries and headers for interfacing with the PSP operating system, ranging from threading libraries, file io, display driver and wifi networking. * Basic runtime support (crt0) for executables and libraries. -* A minimal port of the Standard C Library (libc) is included. PSPSDK's - mini-libc provides portable memory allocation, string formatting, and several - other Standard C Library functions. +* A libcglue library for fulfill newlib system call requirements. * Support code for linking with the full Standard C Library provided with the PSPDEV toolchain. * An implementation of the libGU graphics library. libGU provides an interface diff --git a/configure.ac b/configure.ac index 8012e817..7c9a1b6b 100644 --- a/configure.ac +++ b/configure.ac @@ -98,7 +98,7 @@ AC_CONFIG_FILES([Makefile src/gum/Makefile src/hprm/Makefile src/kernel/Makefile - src/libc/Makefile + src/libcglue/Makefile src/mp3/Makefile src/mpeg/Makefile src/nand/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index d75624c0..72dcb608 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -12,7 +12,7 @@ SUBDIRS = \ gum \ hprm \ kernel \ - libc \ + libcglue \ mp3 \ mpeg \ nand \ diff --git a/src/libc/Makefile.am b/src/libcglue/Makefile.am similarity index 93% rename from src/libc/Makefile.am rename to src/libcglue/Makefile.am index c767b16c..1d2a7f31 100644 --- a/src/libc/Makefile.am +++ b/src/libcglue/Makefile.am @@ -29,7 +29,7 @@ GLUE_OBJS = __fill_stat.o __psp_heap_blockid.o __psp_free_heap.o _fork.o _wait.o _isatty.o symlink.o truncate.o chmod.o fchmod.o fchmodat.o pathconf.o readlink.o utime.o fchown.o getentropy.o -INIT_OBJS = __psp_libc_init.o +INIT_OBJS = __libcglue_init.o MUTEXMAN_OBJS = __malloc_mutex.o __sbrk_mutex.o __fdman_mutex.o __init_mutex.o @@ -49,7 +49,7 @@ TERMINATE_OBJS = _exit.o abort.o exit.o TIMEZONE_OBJS = __timezone_update.o -lib_LIBRARIES = libpsplibc.a +lib_LIBRARIES = libcglue.a netdb_nobase_includedir = @PSPSDK_INCLUDEDIR@ netdb_nobase_include_HEADERS = netdb.h @@ -63,7 +63,7 @@ arpa_nobase_include_HEADERS = arpa/inet.h sys_nobase_includedir = @PSPSDK_INCLUDEDIR@/sys sys_nobase_include_HEADERS = sys/socket.h sys/ioctl.h -libpsplibc_a_SOURCES = \ +libcglue_a_SOURCES = \ cwd.o \ errno.o \ fdman.c \ @@ -77,7 +77,7 @@ libpsplibc_a_SOURCES = \ terminate.c \ timezone.c -libpsplibc_a_LIBADD = $(CWD_OBJS) $(ERRNO_OBJS) $(FDMAN_OBJS) $(INIT_OBJS) $(GLUE_OBJS) $(MUTEXMAN_OBJS) $(NETDB_OBJS) $(PIPE_OBJS) \ +libcglue_a_LIBADD = $(CWD_OBJS) $(ERRNO_OBJS) $(FDMAN_OBJS) $(INIT_OBJS) $(GLUE_OBJS) $(MUTEXMAN_OBJS) $(NETDB_OBJS) $(PIPE_OBJS) \ $(SELECT_OBJS) $(SOCKET_OBJS) $(SLEEP_OBJS) $(TERMINATE_OBJS) $(TIMEZONE_OBJS) $(CWD_OBJS): cwd.c diff --git a/src/libc/arpa/inet.h b/src/libcglue/arpa/inet.h similarity index 100% rename from src/libc/arpa/inet.h rename to src/libcglue/arpa/inet.h diff --git a/src/libc/cwd.c b/src/libcglue/cwd.c similarity index 98% rename from src/libc/cwd.c rename to src/libcglue/cwd.c index 17bf3471..7ce1aa7a 100644 --- a/src/libc/cwd.c +++ b/src/libcglue/cwd.c @@ -3,7 +3,7 @@ * ----------------------------------------------------------------------- * Licensed under the BSD license, see LICENSE in PSPSDK root for details. * - * init.c - The global init/deinit code for our crt0. + * cwd.c - The global init/deinit code for our crt0. * * Copyright (c) 2005 Marcus R. Brown * Copyright (c) 2005 James Forshaw diff --git a/src/libc/errno.c b/src/libcglue/errno.c similarity index 91% rename from src/libc/errno.c rename to src/libcglue/errno.c index fabbcf47..9ade6b25 100644 --- a/src/libc/errno.c +++ b/src/libcglue/errno.c @@ -3,7 +3,7 @@ * ----------------------------------------------------------------------- * Licensed under the BSD license, see LICENSE in PSPSDK root for details. * - * init.c - The global init/deinit code for our crt0. + * errno.c - The global init/deinit code for our crt0. * * Copyright (c) 2005 Marcus R. Brown * Copyright (c) 2005 James Forshaw diff --git a/src/libc/fdman.c b/src/libcglue/fdman.c similarity index 100% rename from src/libc/fdman.c rename to src/libcglue/fdman.c diff --git a/src/libc/fdman.h b/src/libcglue/fdman.h similarity index 100% rename from src/libc/fdman.h rename to src/libcglue/fdman.h diff --git a/src/libc/glue.c b/src/libcglue/glue.c similarity index 99% rename from src/libc/glue.c rename to src/libcglue/glue.c index d58bac7d..7c2a3589 100644 --- a/src/libc/glue.c +++ b/src/libcglue/glue.c @@ -3,7 +3,7 @@ * ----------------------------------------------------------------------- * Licensed under the BSD license, see LICENSE in PSPSDK root for details. * - * libcglue.c - Newlib-compatible system calls. + * glue.c - Newlib-compatible system calls. * * Copyright (c) 2005 Marcus R. Brown * Copyright (c) 2005 James Forshaw diff --git a/src/libc/init.c b/src/libcglue/init.c similarity index 94% rename from src/libc/init.c rename to src/libcglue/init.c index 4e9aefd4..e6296067 100644 --- a/src/libc/init.c +++ b/src/libcglue/init.c @@ -21,14 +21,14 @@ void __timezone_update(); void __fdman_init(); void __init_mutex(); -#ifdef F___psp_libc_init +#ifdef F___libcglue_init /* Note: This function is being called from crt0.c/crt0_prx.c. * It is a weak function because can be override by user program, * saving a lot of space in your binary, however you will loose all the basic libc operation */ __attribute__((weak)) -void __psp_libc_init(int argc, char *argv[]) +void __libcglue_init(int argc, char *argv[]) { (void) argc; diff --git a/src/libc/mutexman.c b/src/libcglue/mutexman.c similarity index 100% rename from src/libc/mutexman.c rename to src/libcglue/mutexman.c diff --git a/src/libc/netdb.c b/src/libcglue/netdb.c similarity index 100% rename from src/libc/netdb.c rename to src/libcglue/netdb.c diff --git a/src/libc/netdb.h b/src/libcglue/netdb.h similarity index 100% rename from src/libc/netdb.h rename to src/libcglue/netdb.h diff --git a/src/libc/netinet/in.h b/src/libcglue/netinet/in.h similarity index 100% rename from src/libc/netinet/in.h rename to src/libcglue/netinet/in.h diff --git a/src/libc/netinet/tcp.h b/src/libcglue/netinet/tcp.h similarity index 100% rename from src/libc/netinet/tcp.h rename to src/libcglue/netinet/tcp.h diff --git a/src/libc/pipe.c b/src/libcglue/pipe.c similarity index 100% rename from src/libc/pipe.c rename to src/libcglue/pipe.c diff --git a/src/libc/select.c b/src/libcglue/select.c similarity index 100% rename from src/libc/select.c rename to src/libcglue/select.c diff --git a/src/libc/sleep.c b/src/libcglue/sleep.c similarity index 100% rename from src/libc/sleep.c rename to src/libcglue/sleep.c diff --git a/src/libc/socket.c b/src/libcglue/socket.c similarity index 100% rename from src/libc/socket.c rename to src/libcglue/socket.c diff --git a/src/libc/sys/ioctl.h b/src/libcglue/sys/ioctl.h similarity index 100% rename from src/libc/sys/ioctl.h rename to src/libcglue/sys/ioctl.h diff --git a/src/libc/sys/socket.h b/src/libcglue/sys/socket.h similarity index 100% rename from src/libc/sys/socket.h rename to src/libcglue/sys/socket.h diff --git a/src/libc/terminate.c b/src/libcglue/terminate.c similarity index 100% rename from src/libc/terminate.c rename to src/libcglue/terminate.c diff --git a/src/libc/timezone.c b/src/libcglue/timezone.c similarity index 95% rename from src/libc/timezone.c rename to src/libcglue/timezone.c index 6ba43de6..792ecf51 100644 --- a/src/libc/timezone.c +++ b/src/libcglue/timezone.c @@ -3,7 +3,7 @@ * ----------------------------------------------------------------------- * Licensed under the BSD license, see LICENSE in PSPSDK root for details. * - * timezon.c - Set proper timezone needed by newlib. + * timezone.c - Set proper timezone needed by newlib. * * Copyright (c) 2021 Francisco Javier Trujillo Mata * diff --git a/src/sdk/Makefile.am b/src/sdk/Makefile.am index c08eb8dd..50cee6c5 100644 --- a/src/sdk/Makefile.am +++ b/src/sdk/Makefile.am @@ -8,7 +8,7 @@ RANLIB = @PSP_RANLIB@ CPPFLAGS = -I$(top_srcdir)/src/base \ -I$(top_srcdir)/src/kernel \ - -I$(top_srcdir)/src/libc \ + -I$(top_srcdir)/src/libcglue \ -I$(top_srcdir)/src/user \ -I$(top_srcdir)/src/net \ -I$(top_srcdir)/src/utility \ diff --git a/src/startup/crt0.c b/src/startup/crt0.c index 84e13b9e..a7d5822e 100644 --- a/src/startup/crt0.c +++ b/src/startup/crt0.c @@ -37,8 +37,8 @@ extern const char* sce_newlib_main_thread_name __attribute__((weak)); toolchain. */ extern SceModuleInfo module_info __attribute__((weak)); -/* Allow newlib/psplibc to provide an init hook to be called before main */ -extern void __psp_libc_init(int argc, char *argv[]); +/* Allow to provide a libc init hook to be called before main */ +extern void __libcglue_init(int argc, char *argv[]); extern void _init(void); extern void _fini(void); extern int main(int argc, char *argv[]); @@ -73,7 +73,7 @@ void _main(SceSize args, void *argp) argv[argc] = NULL; /* Call libc initialization hook */ - __psp_libc_init(argc, argv); + __libcglue_init(argc, argv); /* Make sure _fini() is called when the program ends. */ atexit((void *) _fini); diff --git a/src/startup/crt0_prx.c b/src/startup/crt0_prx.c index 1ac9576e..710445da 100644 --- a/src/startup/crt0_prx.c +++ b/src/startup/crt0_prx.c @@ -40,8 +40,8 @@ extern const char* sce_newlib_main_thread_name __attribute__((weak)); toolchain. */ extern SceModuleInfo module_info __attribute__((weak)); -/* Allow newlib/psplibc to provide an init hook to be called before main */ -extern void __psp_libc_init(int argc, char *argv[]); +/* Allow to provide a libc init hook to be called before main */ +extern void __libcglue_init(int argc, char *argv[]); extern void _init(void); extern void _fini(void); extern int main(int argc, char *argv[]); @@ -78,7 +78,7 @@ void _main(SceSize args, void *argp) argv[argc] = NULL; /* Call libc initialization hook */ - __psp_libc_init(argc, argv); + __libcglue_init(argc, argv); /* Make sure _fini() is called when the program ends. */ atexit((void *) _fini); diff --git a/src/user/pspmoduleinfo.h b/src/user/pspmoduleinfo.h index 4ca9c8ab..3d33aadd 100644 --- a/src/user/pspmoduleinfo.h +++ b/src/user/pspmoduleinfo.h @@ -146,6 +146,6 @@ enum PspModuleInfoAttr /* Disable the use of newlib, getting a minimal binary. */ #define PSP_DISABLE_NEWLIB() \ - void __psp_libc_init(int argc, char *argv[]) {} + void __libcglue_init(int argc, char *argv[]) {} #endif /* PSPMODULEINFO_H */