[PATCH libdrm 1/3] intel: add missing drm_public exports
Lucas De Marchi
lucas.demarchi at intel.com
Thu Sep 20 16:46:48 UTC 2018
On Thu, Sep 20, 2018 at 04:58:32PM +0100, Eric Engestrom wrote:
> Fixes: 36bb0ea47b71d220b31e "intel: annotate public functions"
> Cc: Lucas De Marchi <lucas.demarchi at intel.com>
> Cc: Mark Janes <mark.a.janes at intel.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108006
> Signed-off-by: Eric Engestrom <eric.engestrom at intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>
But for the series, I went to check what went wrong. It seems my script
missed the cases in which we had more than one symbol with the same
name (yes, we do have some static functions that have the same name
of an exported symbol) and cases in which for some reason
cscope didn't return the location of the symbold definition.
So... I decided to double check if we are now exporting all symbols
that we were previously. My check is with:
$ git checkout 473e2d2
$ flags="-D amdgpu=true -D cairo-tests=true -D etnaviv=true -D exynos=true
-D freedreno=true -D freedreno-kgsl=true -D intel=true -D libkms=true
-D man-pages=true -D nouveau=true -D omap=true -D radeon=true
-D tegra=true -D udev=true -D valgrind=true -D vc4=true -D vmwgfx=true"
$ meson _buildold
$ ninja -C _buildold
$ git checkout master
$ ls /tmp/patches/
0001-intel-add-missing-drm-public-exports.patch 0003-radeon-add-missing-drm-public-exports.patch
0002-nouveau-add-missing-drm-public-exports.patch
$ git am /tmp/patches/*
$ meson _buildnew
$ ninja -C _buildnew
$ find _buildnew/ -name '*.so' | while read f; do
fold=${f/_buildnew/_buildold}
nm --dynamic --defined-only $f | grep -i " T " | cut -d' ' -f3 | sort -u > /tmp/new.txt
nm --dynamic --defined-only $fold | grep -i " T " | cut -d' ' -f3 | sort -u > /tmp/old.txt
git diff /tmp/old.txt /tmp/new.txt
done
So.. we still have the following symbols missing.
diff --git a/tmp/old.txt b/tmp/new.txt
index 799b63d8..dd0c30c2 100644
--- a/tmp/old.txt
+++ b/tmp/new.txt
@@ -29,7 +29,6 @@ radeon_cs_need_flush
radeon_cs_print
radeon_cs_set_limit
radeon_cs_space_add_persistent_bo
-radeon_cs_space_check
radeon_cs_space_check_with_bo
radeon_cs_space_reset_bos
radeon_cs_space_set_flush
diff --git a/tmp/old.txt b/tmp/new.txt
index d846faf0..e08eac77 100644
--- a/tmp/old.txt
+++ b/tmp/new.txt
@@ -4,13 +4,9 @@ omap_bo_cpu_fini
omap_bo_cpu_prep
omap_bo_del
omap_bo_dmabuf
-omap_bo_from_dmabuf
-omap_bo_from_name
omap_bo_get_name
omap_bo_handle
omap_bo_map
-omap_bo_new
-omap_bo_new_tiled
omap_bo_ref
omap_bo_size
omap_device_del
diff --git a/tmp/old.txt b/tmp/new.txt
index fe0dbf39..40a459ad 100644
--- a/tmp/old.txt
+++ b/tmp/new.txt
@@ -3,7 +3,6 @@ fd_bo_cpu_prep
fd_bo_del
fd_bo_dmabuf
fd_bo_from_dmabuf
-fd_bo_from_fbdev
fd_bo_from_handle
fd_bo_from_name
fd_bo_get_iova
I hope I'm covering everything now.
Thanks
Lucas De Marchi
> ---
> intel/intel_bufmgr_fake.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/intel/intel_bufmgr_fake.c b/intel/intel_bufmgr_fake.c
> index 57cbc5365b9f0779dd5a..0cec51f5b836d26e57e0 100644
> --- a/intel/intel_bufmgr_fake.c
> +++ b/intel/intel_bufmgr_fake.c
> @@ -241,7 +241,7 @@ FENCE_LTE(unsigned a, unsigned b)
> return 0;
> }
>
> -void
> +drm_public void
> drm_intel_bufmgr_fake_set_fence_callback(drm_intel_bufmgr *bufmgr,
> unsigned int (*emit) (void *priv),
> void (*wait) (unsigned int fence,
> @@ -955,7 +955,7 @@ drm_intel_fake_bo_unreference(drm_intel_bo *bo)
> * Set the buffer as not requiring backing store, and instead get the callback
> * invoked whenever it would be set dirty.
> */
> -void
> +drm_public void
> drm_intel_bo_fake_disable_backing_store(drm_intel_bo *bo,
> void (*invalidate_cb) (drm_intel_bo *bo,
> void *ptr),
> @@ -1409,7 +1409,7 @@ drm_intel_bo_fake_post_submit(drm_intel_bo *bo)
> bo_fake->write_domain = 0;
> }
>
> -void
> +drm_public void
> drm_intel_bufmgr_fake_set_exec_callback(drm_intel_bufmgr *bufmgr,
> int (*exec) (drm_intel_bo *bo,
> unsigned int used,
> --
> Cheers,
> Eric
>
More information about the dri-devel
mailing list