From e77cd0ee6541094b4e8610b5fc46a30460a60a43 Mon Sep 17 00:00:00 2001 From: Joey Castillo Date: Sun, 16 Mar 2025 08:07:06 -0400 Subject: [PATCH] silence syscall-related compiiler warnings --- Makefile | 1 + dummy.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 dummy.c diff --git a/Makefile b/Makefile index baf7493f..5d604026 100644 --- a/Makefile +++ b/Makefile @@ -67,6 +67,7 @@ INCLUDES += \ # Add your source files here. SRCS += \ + ./dummy.c \ ./littlefs/lfs.c \ ./littlefs/lfs_util.c \ ./filesystem/filesystem.c \ diff --git a/dummy.c b/dummy.c new file mode 100644 index 00000000..41333f7f --- /dev/null +++ b/dummy.c @@ -0,0 +1,50 @@ +// Joey did this but no copyright is claimed on these dummy functions. +// We need these to silence linker warnings related to the -specs=nosys.specs flag. +// Note that we do actually implement some syscalls, like _read and _write (which redirect IO to the USB CDC). +// But these syscalls never get used, and as such they don't even take up space in the resulting binary. + +int _close(int fd); +int _close(int fd) { + (void) fd; + return -1; +} + +int _fstat(int fd, void *buf); +int _fstat(int fd, void *buf) { + (void) fd; + (void) buf; + return -1; +} + +int _getpid(void); +int _getpid(void) { + return 0; +} + +int _isatty(int fd); +int _isatty(int fd) { + (void) fd; + return 0; +} + +int _kill(int pid, int sig); +int _kill(int pid, int sig) { + (void) pid; + (void) sig; + return -1; +} + +int _lseek(int fd, int offset, int whence); +int _lseek(int fd, int offset, int whence) { + (void) fd; + (void) offset; + (void) whence; + return -1; +} + +int _open(const char *path, int flags); +int _open(const char *path, int flags) { + (void) path; + (void) flags; + return -1; +}