[PATCH libdrm 03/11] etnaviv: use new symbols checking script

Eric Engestrom eric.engestrom at imgtec.com
Wed Apr 4 15:41:37 UTC 2018


Signed-off-by: Eric Engestrom <eric.engestrom at imgtec.com>
---
 etnaviv/Makefile.am          |  1 +
 etnaviv/etnaviv-symbol-check | 19 ++++++-------------
 etnaviv/meson.build          |  1 +
 3 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/etnaviv/Makefile.am b/etnaviv/Makefile.am
index be96ba868f0d3949c9fa..0ceda75049dc400e07c7 100644
--- a/etnaviv/Makefile.am
+++ b/etnaviv/Makefile.am
@@ -22,5 +22,6 @@ libdrm_etnavivinclude_HEADERS = $(LIBDRM_ETNAVIV_H_FILES)
 pkgconfigdir = @pkgconfigdir@
 pkgconfig_DATA = libdrm_etnaviv.pc
 
+AM_TESTS_ENVIRONMENT = top_srcdir='$(top_srcdir)'
 TESTS = etnaviv-symbol-check
 EXTRA_DIST = $(TESTS)
diff --git a/etnaviv/etnaviv-symbol-check b/etnaviv/etnaviv-symbol-check
index b1598ce52838c847096a..14eb56ce4c5ee00753d0 100755
--- a/etnaviv/etnaviv-symbol-check
+++ b/etnaviv/etnaviv-symbol-check
@@ -1,15 +1,10 @@
 #!/bin/bash
+set -eu
 
-# The following symbols (past the first five) are taken from the public headers.
-# A list of the latter should be available Makefile.sources/LIBDRM_ETNAVIV_H_FILES
+LIB=.libs/libdrm_etnaviv.so
 
-FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_etnaviv.so} | awk '{print $3}'| while read func; do
-( grep -q "^$func$" || echo $func )  <<EOF
-__bss_start
-_edata
-_end
-_fini
-_init
+# Official ABI, taken from the header.
+REQ_FUNCS="
 etna_device_new
 etna_device_new_dup
 etna_device_ref
@@ -46,8 +41,6 @@ etna_perfmon_create
 etna_perfmon_del
 etna_perfmon_get_dom_by_name
 etna_perfmon_get_sig_by_name
-EOF
-done)
+"
 
-test ! -n "$FUNCS" || echo $FUNCS
-test ! -n "$FUNCS"
+source "$top_srcdir"/symbols-check
diff --git a/etnaviv/meson.build b/etnaviv/meson.build
index ca2aa544c58924a15d8b..74e3679eaad83db09636 100644
--- a/etnaviv/meson.build
+++ b/etnaviv/meson.build
@@ -55,5 +55,6 @@ ext_libdrm_etnaviv = declare_dependency(
 test(
   'etnaviv-symbol-check',
   prog_bash,
+  env : env_test,
   args : [files('etnaviv-symbol-check'), libdrm_etnaviv]
 )
-- 
Cheers,
  Eric



More information about the dri-devel mailing list