summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Velikov <emil.l.velikov@gmail.com>2015-03-31 20:14:58 +0100
committerEmil Velikov <emil.l.velikov@gmail.com>2015-04-28 11:19:15 +0100
commita814f933bf9fb25cf7b3cf82c69ba07ed2a686d0 (patch)
tree3e023a532d4cf4288ee1567094f3870d356fb746
parent62b35fb2756ef37ff4bf3ac2eb5761d1fc95c089 (diff)
tegra: add symbols test
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
-rw-r--r--tegra/Makefile.am3
-rwxr-xr-xtegra/tegra-symbol-check30
2 files changed, 33 insertions, 0 deletions
diff --git a/tegra/Makefile.am b/tegra/Makefile.am
index a6474879..efa14f9c 100644
--- a/tegra/Makefile.am
+++ b/tegra/Makefile.am
@@ -21,3 +21,6 @@ libdrm_tegrainclude_HEADERS = tegra.h
pkgconfigdir = @pkgconfigdir@
pkgconfig_DATA = libdrm_tegra.pc
+
+TESTS = tegra-symbol-check
+EXTRA_DIST = $(TESTS)
diff --git a/tegra/tegra-symbol-check b/tegra/tegra-symbol-check
new file mode 100755
index 00000000..40208311
--- /dev/null
+++ b/tegra/tegra-symbol-check
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+# The following symbols (past the first five) are taken from the public headers.
+# A list of the latter should be available Makefile.sources/LIBDRM_FREEDRENO_H_FILES
+
+FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | awk '{print $3}'| while read func; do
+( grep -q "^$func$" || echo $func ) <<EOF
+__bss_start
+_edata
+_end
+_fini
+_init
+drm_tegra_bo_get_flags
+drm_tegra_bo_get_handle
+drm_tegra_bo_get_tiling
+drm_tegra_bo_map
+drm_tegra_bo_new
+drm_tegra_bo_ref
+drm_tegra_bo_set_flags
+drm_tegra_bo_set_tiling
+drm_tegra_bo_unmap
+drm_tegra_bo_unref
+drm_tegra_bo_wrap
+drm_tegra_close
+drm_tegra_new
+EOF
+done)
+
+test ! -n "$FUNCS" || echo $FUNCS
+test ! -n "$FUNCS"