summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--exynos/Makefile.am3
-rwxr-xr-xexynos/exynos-symbol-check37
2 files changed, 40 insertions, 0 deletions
diff --git a/exynos/Makefile.am b/exynos/Makefile.am
index a9da0ff5..0136a619 100644
--- a/exynos/Makefile.am
+++ b/exynos/Makefile.am
@@ -23,3 +23,6 @@ libdrm_exynosinclude_HEADERS = exynos_drmif.h
pkgconfigdir = @pkgconfigdir@
pkgconfig_DATA = libdrm_exynos.pc
+
+TESTS = exynos-symbol-check
+EXTRA_DIST = $(TESTS)
diff --git a/exynos/exynos-symbol-check b/exynos/exynos-symbol-check
new file mode 100755
index 00000000..1a1be89e
--- /dev/null
+++ b/exynos/exynos-symbol-check
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# The following symbols (past the first five) are taken from the public headers.
+# A list of the latter should be available Makefile.am/libdrm_exynos*_HEADERS
+
+FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_exynos.so} | awk '{print $3}'| while read func; do
+( grep -q "^$func$" || echo $func ) <<EOF
+__bss_start
+_edata
+_end
+_fini
+_init
+exynos_bo_create
+exynos_bo_destroy
+exynos_bo_from_name
+exynos_bo_get_info
+exynos_bo_get_name
+exynos_bo_handle
+exynos_bo_map
+exynos_device_create
+exynos_device_destroy
+exynos_prime_fd_to_handle
+exynos_prime_handle_to_fd
+exynos_vidi_connection
+g2d_blend
+g2d_copy
+g2d_copy_with_scale
+g2d_exec
+g2d_fini
+g2d_init
+g2d_scale_and_blend
+g2d_solid_fill
+EOF
+done)
+
+test ! -n "$FUNCS" || echo $FUNCS
+test ! -n "$FUNCS"