diff mbox series

[libdrm,1/2] symbol-check: ignore platform symbols

Message ID 20181024165352.4578-1-eric.engestrom@intel.com (mailing list archive)
State New, archived
Headers show
Series [libdrm,1/2] symbol-check: ignore platform symbols | expand

Commit Message

Eric Engestrom Oct. 24, 2018, 4:53 p.m. UTC
Fixes the tests on ARM, but more importantly this makes it much easier
to maintain.

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
---
 amdgpu/amdgpu-symbol-check       |  7 +------
 etnaviv/etnaviv-symbol-check     |  7 +------
 exynos/exynos-symbol-check       |  7 +------
 freedreno/freedreno-symbol-check |  7 +------
 intel/intel-symbol-check         |  7 +------
 libkms/kms-symbol-check          |  7 +------
 nouveau/nouveau-symbol-check     |  7 +------
 omap/omap-symbol-check           |  7 +------
 radeon/radeon-symbol-check       |  7 +------
 tegra/tegra-symbol-check         | 11 +----------
 10 files changed, 10 insertions(+), 64 deletions(-)

Comments

Eric Engestrom Oct. 24, 2018, 4:59 p.m. UTC | #1
On Wednesday, 2018-10-24 17:53:51 +0100, Eric Engestrom wrote:
> Fixes the tests on ARM, but more importantly this makes it much easier
> to maintain.

BTW I have a wip to replace all of those with a python script that will
be more thorough in its checks, but until that lands this is already
a good step.
(Just mentioning it so that someone else doesn't see this as an
opportunity to start the same project again.)

> 
> Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
> ---
>  amdgpu/amdgpu-symbol-check       |  7 +------
>  etnaviv/etnaviv-symbol-check     |  7 +------
>  exynos/exynos-symbol-check       |  7 +------
>  freedreno/freedreno-symbol-check |  7 +------
>  intel/intel-symbol-check         |  7 +------
>  libkms/kms-symbol-check          |  7 +------
>  nouveau/nouveau-symbol-check     |  7 +------
>  omap/omap-symbol-check           |  7 +------
>  radeon/radeon-symbol-check       |  7 +------
>  tegra/tegra-symbol-check         | 11 +----------
>  10 files changed, 10 insertions(+), 64 deletions(-)
> 
> diff --git a/amdgpu/amdgpu-symbol-check b/amdgpu/amdgpu-symbol-check
> index 6f5e0f95b7faf4bd86da..d97f702e6baa653e2fff 100755
> --- a/amdgpu/amdgpu-symbol-check
> +++ b/amdgpu/amdgpu-symbol-check
> @@ -5,13 +5,8 @@ set -u
>  # The following symbols (past the first five) are taken from the public headers.
>  # A list of the latter should be available Makefile.am/libdrm_amdgpuinclude_HEADERS
>  
> -FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_amdgpu.so} | awk '{print $3}' | while read func; do
> +FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_amdgpu.so} | grep -o "T .*" | cut -c 3- | while read func; do
>  ( grep -q "^$func$" || echo $func )  <<EOF
> -__bss_start
> -_edata
> -_end
> -_fini
> -_init
>  amdgpu_bo_alloc
>  amdgpu_bo_cpu_map
>  amdgpu_bo_cpu_unmap
> diff --git a/etnaviv/etnaviv-symbol-check b/etnaviv/etnaviv-symbol-check
> index 1891068891ae673b14ff..fa043f65bc7309fe1a8c 100755
> --- a/etnaviv/etnaviv-symbol-check
> +++ b/etnaviv/etnaviv-symbol-check
> @@ -5,13 +5,8 @@ set -u
>  # 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
>  
> -FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_etnaviv.so} | awk '{print $3}'| while read func; do
> +FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_etnaviv.so} | grep -o "T .*" | cut -c 3- | while read func; do
>  ( grep -q "^$func$" || echo $func )  <<EOF
> -__bss_start
> -_edata
> -_end
> -_fini
> -_init
>  etna_device_new
>  etna_device_new_dup
>  etna_device_ref
> diff --git a/exynos/exynos-symbol-check b/exynos/exynos-symbol-check
> index 49d611e6b9b4fc1db6c6..861a6f88af641fb21f49 100755
> --- a/exynos/exynos-symbol-check
> +++ b/exynos/exynos-symbol-check
> @@ -5,13 +5,8 @@ set -u
>  # 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
> +FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_exynos.so} | grep -o "T .*" | cut -c 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
> diff --git a/freedreno/freedreno-symbol-check b/freedreno/freedreno-symbol-check
> index 978026c09d511b82e9bd..0b9bffee864051b567e1 100755
> --- a/freedreno/freedreno-symbol-check
> +++ b/freedreno/freedreno-symbol-check
> @@ -5,13 +5,8 @@ set -u
>  # 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_freedreno.so} | awk '{print $3}'| while read func; do
> +FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_freedreno.so} | grep -o "T .*" | cut -c 3- | while read func; do
>  ( grep -q "^$func$" || echo $func )  <<EOF
> -__bss_start
> -_edata
> -_end
> -_fini
> -_init
>  fd_bo_cpu_fini
>  fd_bo_cpu_prep
>  fd_bo_del
> diff --git a/intel/intel-symbol-check b/intel/intel-symbol-check
> index de377bef1377c57d8fe0..917acbc1dd7aa92fba53 100755
> --- a/intel/intel-symbol-check
> +++ b/intel/intel-symbol-check
> @@ -5,13 +5,8 @@ set -u
>  # The following symbols (past the first five) are taken from the public headers.
>  # A list of the latter should be available Makefile.sources/LIBDRM_INTEL_H_FILES
>  
> -FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_intel.so} | awk '{print $3}' | while read func; do
> +FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_intel.so} | grep -o "T .*" | cut -c 3- | while read func; do
>  ( grep -q "^$func$" || echo $func )  <<EOF
> -__bss_start
> -_edata
> -_end
> -_fini
> -_init
>  drm_intel_bo_alloc
>  drm_intel_bo_alloc_for_render
>  drm_intel_bo_alloc_tiled
> diff --git a/libkms/kms-symbol-check b/libkms/kms-symbol-check
> index 30f444f7b513bf6203e5..d1ded231da9737248099 100755
> --- a/libkms/kms-symbol-check
> +++ b/libkms/kms-symbol-check
> @@ -5,13 +5,8 @@ set -u
>  # The following symbols (past the first five) are taken from the public headers.
>  # A list of the latter should be available Makefile.sources/LIBKMS_H_FILES
>  
> -FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libkms.so} | awk '{print $3}'| while read func; do
> +FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libkms.so} | grep -o "T .*" | cut -c 3- | while read func; do
>  ( grep -q "^$func$" || echo $func )  <<EOF
> -__bss_start
> -_edata
> -_end
> -_fini
> -_init
>  kms_bo_create
>  kms_bo_destroy
>  kms_bo_get_prop
> diff --git a/nouveau/nouveau-symbol-check b/nouveau/nouveau-symbol-check
> index 6296244c15ffadfddf3b..37c962c7af501e120709 100755
> --- a/nouveau/nouveau-symbol-check
> +++ b/nouveau/nouveau-symbol-check
> @@ -5,13 +5,8 @@ set -u
>  # The following symbols (past the first five) are taken from the public headers.
>  # A list of the latter should be available Makefile.sources/LIBDRM_NOUVEAU_H_FILES
>  
> -FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_nouveau.so} | awk '{print $3}'| while read func; do
> +FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_nouveau.so} | grep -o "T .*" | cut -c 3- | while read func; do
>  ( grep -q "^$func$" || echo $func )  <<EOF
> -__bss_start
> -_edata
> -_end
> -_fini
> -_init
>  nouveau_bo_map
>  nouveau_bo_name_get
>  nouveau_bo_name_ref
> diff --git a/omap/omap-symbol-check b/omap/omap-symbol-check
> index 16da3c406dca468b803f..1c08b68a5a22bdfbee5a 100755
> --- a/omap/omap-symbol-check
> +++ b/omap/omap-symbol-check
> @@ -5,13 +5,8 @@ set -u
>  # The following symbols (past the first five) are taken from the public headers.
>  # A list of the latter should be available Makefile.am/libdrm_omap*HEADERS
>  
> -FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_omap.so} | awk '{print $3}'| while read func; do
> +FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_omap.so} | grep -o "T .*" | cut -c 3- | while read func; do
>  ( grep -q "^$func$" || echo $func )  <<EOF
> -__bss_start
> -_edata
> -_end
> -_fini
> -_init
>  omap_bo_cpu_fini
>  omap_bo_cpu_prep
>  omap_bo_del
> diff --git a/radeon/radeon-symbol-check b/radeon/radeon-symbol-check
> index da605bb88912a986da06..176001a3ac098665b222 100755
> --- a/radeon/radeon-symbol-check
> +++ b/radeon/radeon-symbol-check
> @@ -5,13 +5,8 @@ set -u
>  # The following symbols (past the first five) are taken from the public headers.
>  # A list of the latter should be available Makefile.sources/LIBDRM_RADEON_H_FILES
>  
> -FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_radeon.so} | awk '{print $3}'| while read func; do
> +FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_radeon.so} | grep -o "T .*" | cut -c 3- | while read func; do
>  ( grep -q "^$func$" || echo $func )  <<EOF
> -__bss_start
> -_edata
> -_end
> -_fini
> -_init
>  radeon_bo_debug
>  radeon_bo_get_handle
>  radeon_bo_get_src_domain
> diff --git a/tegra/tegra-symbol-check b/tegra/tegra-symbol-check
> index 8539b95be7a036b554f3..a613df878c46b67294be 100755
> --- a/tegra/tegra-symbol-check
> +++ b/tegra/tegra-symbol-check
> @@ -4,17 +4,8 @@ set -u
>  
>  # The following symbols (past the first nine) are taken from tegra.h.
>  
> -FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | awk '{print $3}'| while read func; do
> +FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | grep -o "T .*" | cut -c 3- | while read func; do
>  ( grep -q "^$func$" || echo $func )  <<EOF
> -__bss_end__
> -__bss_start__
> -__bss_start
> -__end__
> -_bss_end__
> -_edata
> -_end
> -_fini
> -_init
>  drm_tegra_bo_get_flags
>  drm_tegra_bo_get_handle
>  drm_tegra_bo_get_tiling
> -- 
> Cheers,
>   Eric
>
Emil Velikov Dec. 17, 2018, 5:52 p.m. UTC | #2
On Wed, 24 Oct 2018 at 17:59, Eric Engestrom <eric.engestrom@intel.com> wrote:
>
> On Wednesday, 2018-10-24 17:53:51 +0100, Eric Engestrom wrote:
> > Fixes the tests on ARM, but more importantly this makes it much easier
> > to maintain.
>
> BTW I have a wip to replace all of those with a python script that will
> be more thorough in its checks, but until that lands this is already
> a good step.
> (Just mentioning it so that someone else doesn't see this as an
> opportunity to start the same project again.)
>
You already had a series (in POSIX shell) that tweaks those. I guess
one can trivially rebase that and apply.
AFAICT nothing* really relies on python so the change seems quite strange.

-Emil
diff mbox series

Patch

diff --git a/amdgpu/amdgpu-symbol-check b/amdgpu/amdgpu-symbol-check
index 6f5e0f95b7faf4bd86da..d97f702e6baa653e2fff 100755
--- a/amdgpu/amdgpu-symbol-check
+++ b/amdgpu/amdgpu-symbol-check
@@ -5,13 +5,8 @@  set -u
 # The following symbols (past the first five) are taken from the public headers.
 # A list of the latter should be available Makefile.am/libdrm_amdgpuinclude_HEADERS
 
-FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_amdgpu.so} | awk '{print $3}' | while read func; do
+FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_amdgpu.so} | grep -o "T .*" | cut -c 3- | while read func; do
 ( grep -q "^$func$" || echo $func )  <<EOF
-__bss_start
-_edata
-_end
-_fini
-_init
 amdgpu_bo_alloc
 amdgpu_bo_cpu_map
 amdgpu_bo_cpu_unmap
diff --git a/etnaviv/etnaviv-symbol-check b/etnaviv/etnaviv-symbol-check
index 1891068891ae673b14ff..fa043f65bc7309fe1a8c 100755
--- a/etnaviv/etnaviv-symbol-check
+++ b/etnaviv/etnaviv-symbol-check
@@ -5,13 +5,8 @@  set -u
 # 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
 
-FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_etnaviv.so} | awk '{print $3}'| while read func; do
+FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_etnaviv.so} | grep -o "T .*" | cut -c 3- | while read func; do
 ( grep -q "^$func$" || echo $func )  <<EOF
-__bss_start
-_edata
-_end
-_fini
-_init
 etna_device_new
 etna_device_new_dup
 etna_device_ref
diff --git a/exynos/exynos-symbol-check b/exynos/exynos-symbol-check
index 49d611e6b9b4fc1db6c6..861a6f88af641fb21f49 100755
--- a/exynos/exynos-symbol-check
+++ b/exynos/exynos-symbol-check
@@ -5,13 +5,8 @@  set -u
 # 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
+FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_exynos.so} | grep -o "T .*" | cut -c 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
diff --git a/freedreno/freedreno-symbol-check b/freedreno/freedreno-symbol-check
index 978026c09d511b82e9bd..0b9bffee864051b567e1 100755
--- a/freedreno/freedreno-symbol-check
+++ b/freedreno/freedreno-symbol-check
@@ -5,13 +5,8 @@  set -u
 # 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_freedreno.so} | awk '{print $3}'| while read func; do
+FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_freedreno.so} | grep -o "T .*" | cut -c 3- | while read func; do
 ( grep -q "^$func$" || echo $func )  <<EOF
-__bss_start
-_edata
-_end
-_fini
-_init
 fd_bo_cpu_fini
 fd_bo_cpu_prep
 fd_bo_del
diff --git a/intel/intel-symbol-check b/intel/intel-symbol-check
index de377bef1377c57d8fe0..917acbc1dd7aa92fba53 100755
--- a/intel/intel-symbol-check
+++ b/intel/intel-symbol-check
@@ -5,13 +5,8 @@  set -u
 # The following symbols (past the first five) are taken from the public headers.
 # A list of the latter should be available Makefile.sources/LIBDRM_INTEL_H_FILES
 
-FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_intel.so} | awk '{print $3}' | while read func; do
+FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_intel.so} | grep -o "T .*" | cut -c 3- | while read func; do
 ( grep -q "^$func$" || echo $func )  <<EOF
-__bss_start
-_edata
-_end
-_fini
-_init
 drm_intel_bo_alloc
 drm_intel_bo_alloc_for_render
 drm_intel_bo_alloc_tiled
diff --git a/libkms/kms-symbol-check b/libkms/kms-symbol-check
index 30f444f7b513bf6203e5..d1ded231da9737248099 100755
--- a/libkms/kms-symbol-check
+++ b/libkms/kms-symbol-check
@@ -5,13 +5,8 @@  set -u
 # The following symbols (past the first five) are taken from the public headers.
 # A list of the latter should be available Makefile.sources/LIBKMS_H_FILES
 
-FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libkms.so} | awk '{print $3}'| while read func; do
+FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libkms.so} | grep -o "T .*" | cut -c 3- | while read func; do
 ( grep -q "^$func$" || echo $func )  <<EOF
-__bss_start
-_edata
-_end
-_fini
-_init
 kms_bo_create
 kms_bo_destroy
 kms_bo_get_prop
diff --git a/nouveau/nouveau-symbol-check b/nouveau/nouveau-symbol-check
index 6296244c15ffadfddf3b..37c962c7af501e120709 100755
--- a/nouveau/nouveau-symbol-check
+++ b/nouveau/nouveau-symbol-check
@@ -5,13 +5,8 @@  set -u
 # The following symbols (past the first five) are taken from the public headers.
 # A list of the latter should be available Makefile.sources/LIBDRM_NOUVEAU_H_FILES
 
-FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_nouveau.so} | awk '{print $3}'| while read func; do
+FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_nouveau.so} | grep -o "T .*" | cut -c 3- | while read func; do
 ( grep -q "^$func$" || echo $func )  <<EOF
-__bss_start
-_edata
-_end
-_fini
-_init
 nouveau_bo_map
 nouveau_bo_name_get
 nouveau_bo_name_ref
diff --git a/omap/omap-symbol-check b/omap/omap-symbol-check
index 16da3c406dca468b803f..1c08b68a5a22bdfbee5a 100755
--- a/omap/omap-symbol-check
+++ b/omap/omap-symbol-check
@@ -5,13 +5,8 @@  set -u
 # The following symbols (past the first five) are taken from the public headers.
 # A list of the latter should be available Makefile.am/libdrm_omap*HEADERS
 
-FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_omap.so} | awk '{print $3}'| while read func; do
+FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_omap.so} | grep -o "T .*" | cut -c 3- | while read func; do
 ( grep -q "^$func$" || echo $func )  <<EOF
-__bss_start
-_edata
-_end
-_fini
-_init
 omap_bo_cpu_fini
 omap_bo_cpu_prep
 omap_bo_del
diff --git a/radeon/radeon-symbol-check b/radeon/radeon-symbol-check
index da605bb88912a986da06..176001a3ac098665b222 100755
--- a/radeon/radeon-symbol-check
+++ b/radeon/radeon-symbol-check
@@ -5,13 +5,8 @@  set -u
 # The following symbols (past the first five) are taken from the public headers.
 # A list of the latter should be available Makefile.sources/LIBDRM_RADEON_H_FILES
 
-FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_radeon.so} | awk '{print $3}'| while read func; do
+FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_radeon.so} | grep -o "T .*" | cut -c 3- | while read func; do
 ( grep -q "^$func$" || echo $func )  <<EOF
-__bss_start
-_edata
-_end
-_fini
-_init
 radeon_bo_debug
 radeon_bo_get_handle
 radeon_bo_get_src_domain
diff --git a/tegra/tegra-symbol-check b/tegra/tegra-symbol-check
index 8539b95be7a036b554f3..a613df878c46b67294be 100755
--- a/tegra/tegra-symbol-check
+++ b/tegra/tegra-symbol-check
@@ -4,17 +4,8 @@  set -u
 
 # The following symbols (past the first nine) are taken from tegra.h.
 
-FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | awk '{print $3}'| while read func; do
+FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | grep -o "T .*" | cut -c 3- | while read func; do
 ( grep -q "^$func$" || echo $func )  <<EOF
-__bss_end__
-__bss_start__
-__bss_start
-__end__
-_bss_end__
-_edata
-_end
-_fini
-_init
 drm_tegra_bo_get_flags
 drm_tegra_bo_get_handle
 drm_tegra_bo_get_tiling