aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorMarcus Comstedt2011-01-07 14:40:25 +0000
committerMarcus Comstedt2011-01-07 14:40:25 +0000
commit710e41c3e8e55dfd643aa08752bb6565de1efe57 (patch)
treee7487e637ba27fd56760f208b5802d0faae8c411 /backends
parentf9ebeb330b1a07829162a925fe8bb10a3c598dbb (diff)
downloadscummvm-rg350-710e41c3e8e55dfd643aa08752bb6565de1efe57.tar.gz
scummvm-rg350-710e41c3e8e55dfd643aa08752bb6565de1efe57.tar.bz2
scummvm-rg350-710e41c3e8e55dfd643aa08752bb6565de1efe57.zip
DC: Check plugins for required symbols
Make sure that all the required symbols exist in generated plugins. If not, the strip command may have removed them... svn-id: r55144
Diffstat (limited to 'backends')
-rwxr-xr-xbackends/platform/dc/check_plugin_symbols15
-rw-r--r--backends/platform/dc/dreamcast.mk1
2 files changed, 16 insertions, 0 deletions
diff --git a/backends/platform/dc/check_plugin_symbols b/backends/platform/dc/check_plugin_symbols
new file mode 100755
index 0000000000..7dd9d68971
--- /dev/null
+++ b/backends/platform/dc/check_plugin_symbols
@@ -0,0 +1,15 @@
+#! /bin/sh
+case "$0" in
+ */*) dir=`dirname "$0"`/;;
+ *) dir="";;
+esac
+exec < "$dir"plugin.syms
+while read sym; do
+ if sh-elf-nm "$1" | grep >/dev/null " $sym"'$'; then
+ :
+ else
+ echo >&2 "ERROR: Symbol $sym missing from $1"
+ exit 1
+ fi
+done
+exit 0
diff --git a/backends/platform/dc/dreamcast.mk b/backends/platform/dc/dreamcast.mk
index 5723418b59..2bea532b2e 100644
--- a/backends/platform/dc/dreamcast.mk
+++ b/backends/platform/dc/dreamcast.mk
@@ -14,6 +14,7 @@ plugin_dist : plugins
if /usr/bin/test "$$p" -ot "$$t"; then :; else \
echo sh-elf-strip -g -o "$$t" "$$p"; \
sh-elf-strip -g -o "$$t" "$$p"; \
+ $(srcdir)/backends/platform/dc/check_plugin_symbols "$$t"; \
fi;\
done