From ff6533e1b3d9d65397ccc1876a0849075aad2430 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Tue, 3 May 2011 14:14:21 +0200 Subject: PSP: Fix more forbidden symbol clashes --- backends/fs/psp/psp-fs-factory.cpp | 21 +++++++++++++++++++++ backends/fs/psp/psp-fs.cpp | 22 ++++++++++++++++++++++ 2 files changed, 43 insertions(+) (limited to 'backends/fs/psp') diff --git a/backends/fs/psp/psp-fs-factory.cpp b/backends/fs/psp/psp-fs-factory.cpp index 7fd8d8b077..6b0364b57e 100644 --- a/backends/fs/psp/psp-fs-factory.cpp +++ b/backends/fs/psp/psp-fs-factory.cpp @@ -24,8 +24,29 @@ #if defined(__PSP__) +// Disable printf override in common/forbidden.h to avoid +// clashes with pspdebug.h from the PSP SDK. +// That header file uses +// __attribute__((format(printf,1,2))); +// which gets messed up by our override mechanism; this could +// be avoided by either changing the PSP SDK to use the equally +// legal and valid +// __attribute__((format(__printf__,1,2))); +// or by refining our printf override to use a varadic macro +// (which then wouldn't be portable, though). +// Anyway, for now we just disable the printf override globally +// for the PSP port +#define FORBIDDEN_SYMBOL_EXCEPTION_printf + +// Avoid clashes with unistd.h +#define FORBIDDEN_SYMBOL_EXCEPTION_chdir +#define FORBIDDEN_SYMBOL_EXCEPTION_unlink + #include "backends/fs/psp/psp-fs-factory.h" #include "backends/fs/psp/psp-fs.h" +#include "backends/platform/psp/powerman.h" + +#include DECLARE_SINGLETON(PSPFilesystemFactory); diff --git a/backends/fs/psp/psp-fs.cpp b/backends/fs/psp/psp-fs.cpp index e7fa265b31..b36b7a017c 100644 --- a/backends/fs/psp/psp-fs.cpp +++ b/backends/fs/psp/psp-fs.cpp @@ -24,6 +24,28 @@ #if defined(__PSP__) +// Disable printf override in common/forbidden.h to avoid +// clashes with pspdebug.h from the PSP SDK. +// That header file uses +// __attribute__((format(printf,1,2))); +// which gets messed up by our override mechanism; this could +// be avoided by either changing the PSP SDK to use the equally +// legal and valid +// __attribute__((format(__printf__,1,2))); +// or by refining our printf override to use a varadic macro +// (which then wouldn't be portable, though). +// Anyway, for now we just disable the printf override globally +// for the PSP port +#define FORBIDDEN_SYMBOL_EXCEPTION_printf + +#define FORBIDDEN_SYMBOL_EXCEPTION_time_h + +#define FORBIDDEN_SYMBOL_EXCEPTION_mkdir + +// Avoid clashes with unistd.h +#define FORBIDDEN_SYMBOL_EXCEPTION_chdir +#define FORBIDDEN_SYMBOL_EXCEPTION_unlink + #include "backends/fs/psp/psp-fs.h" #include "backends/fs/psp/psp-stream.h" #include "common/bufferedstream.h" -- cgit v1.2.3