From 58256c917ee50d19d3c4e352480193fb21eb67b1 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Sun, 24 Oct 2021 02:30:55 +0200 Subject: [PATCH] fopen_internal: do not resolve cdromL by default This avoids calling malloc(3) and thus allowing the linker to remove the heap implementation from memory.c via --gc-sections. --- libpsx/src/libc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libpsx/src/libc.c b/libpsx/src/libc.c index 59866f4..6576149 100644 --- a/libpsx/src/libc.c +++ b/libpsx/src/libc.c @@ -11,6 +11,7 @@ #include #include +#include #include #include #include @@ -164,12 +165,16 @@ static FILE *fopen_internal(const char *path, const char *mode, FILE *f) if(strncmp(path, "cdromL:", 7) == 0) { +#ifdef PSXSDK_CDROML_ENABLED s = malloc(1024); if(libc_get_transtbl_fname(path+7, s, 1024) == 0) return NULL; fd = open(s, fmode_to_desmode(mode)); +#else + return NULL; +#endif } else fd = open(path, fmode_to_desmode(mode));