aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorMax Horn2011-05-03 11:56:17 +0200
committerMax Horn2011-05-03 11:56:17 +0200
commitb737dcbad5ae0fde2780f44c351fd342aa91d88b (patch)
tree006785e20c31869237c932c95626971b8ef80fb8 /backends
parentd67e450f7ab6a8bc7e174790bdf3b0dc1fff18ba (diff)
downloadscummvm-rg350-b737dcbad5ae0fde2780f44c351fd342aa91d88b.tar.gz
scummvm-rg350-b737dcbad5ae0fde2780f44c351fd342aa91d88b.tar.bz2
scummvm-rg350-b737dcbad5ae0fde2780f44c351fd342aa91d88b.zip
PSP: Fix various forbidden symbol clashes
Diffstat (limited to 'backends')
-rw-r--r--backends/platform/psp/display_client.cpp14
-rw-r--r--backends/platform/psp/mp3.cpp13
-rw-r--r--backends/platform/psp/psp_main.cpp14
-rw-r--r--backends/platform/psp/trace.cpp13
4 files changed, 54 insertions, 0 deletions
diff --git a/backends/platform/psp/display_client.cpp b/backends/platform/psp/display_client.cpp
index 76b4a28e4a..d43e876a17 100644
--- a/backends/platform/psp/display_client.cpp
+++ b/backends/platform/psp/display_client.cpp
@@ -23,6 +23,20 @@
*
*/
+// 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
+
#include <pspgu.h>
#include <pspkerneltypes.h>
#include <pspdisplay.h>
diff --git a/backends/platform/psp/mp3.cpp b/backends/platform/psp/mp3.cpp
index 0faeacb2f2..fd686513af 100644
--- a/backends/platform/psp/mp3.cpp
+++ b/backends/platform/psp/mp3.cpp
@@ -23,6 +23,19 @@
*
*/
+// 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
#include "common/debug.h"
#include "common/stream.h"
diff --git a/backends/platform/psp/psp_main.cpp b/backends/platform/psp/psp_main.cpp
index d24c614e33..b85467f788 100644
--- a/backends/platform/psp/psp_main.cpp
+++ b/backends/platform/psp/psp_main.cpp
@@ -23,6 +23,20 @@
*
*/
+// 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 USERSPACE_ONLY //don't use kernel mode features
#ifndef USERSPACE_ONLY
diff --git a/backends/platform/psp/trace.cpp b/backends/platform/psp/trace.cpp
index 74c2f64300..92ee7b669e 100644
--- a/backends/platform/psp/trace.cpp
+++ b/backends/platform/psp/trace.cpp
@@ -23,6 +23,19 @@
*
*/
+// 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
#include <pspkernel.h>
#include <pspdebug.h>