[Mesa-dev] [PATCH v2] gallium makefiles: use a linker script for building dri drivers

Christian König deathsimple at vodafone.de
Wed Feb 12 04:38:24 PST 2014


Am 11.02.2014 17:28, schrieb Maarten Lankhorst:
> Only export __driDriverExtensions by default, and 
> radeon_drm_winsys_create on radeons.
> Remove -Bsymbolic which should no longer be needed.
>
> As a side effect, it ought to fix a manifestation of bug 73200 on radeon.
>
> Signed-off-by: Maarten Lankhorst<maarten.lankhorst at canonical.com>

I'm not an expert on the build system, but the changes look good to me.

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
> diff --git a/src/gallium/Automake.inc b/src/gallium/Automake.inc
> index 1e4a34f..fec69cc 100644
> --- a/src/gallium/Automake.inc
> +++ b/src/gallium/Automake.inc
> @@ -51,12 +51,14 @@ GALLIUM_VIDEO_CFLAGS = \
>      $(VISIBILITY_CFLAGS)
>
>
> -# TODO: add -export-symbols-regex
> +DRI_VERSION_SCRIPT ?= 
> $(top_srcdir)/src/gallium/state_trackers/dri/dri.link
> +
>  GALLIUM_DRI_LINKER_FLAGS = \
>      -module \
>      -avoid-version \
> +    -Wl,--version-script=$(DRI_VERSION_SCRIPT) \
>      -shared \
> -    -Wl,-Bsymbolic
> +    -no-undefined
>
>  GALLIUM_VDPAU_LINKER_FLAGS = \
>      -module \
> diff --git a/src/gallium/state_trackers/dri/dri.link 
> b/src/gallium/state_trackers/dri/dri.link
> new file mode 100644
> index 0000000..163902e
> --- /dev/null
> +++ b/src/gallium/state_trackers/dri/dri.link
> @@ -0,0 +1,5 @@
> +VERSION {
> +    global:
> +        __driDriverExtensions;
> +    local: *;
> +};
> diff --git a/src/gallium/targets/r300/dri/Makefile.am 
> b/src/gallium/targets/r300/dri/Makefile.am
> index d6d8f2d..4bd9ea4 100644
> --- a/src/gallium/targets/r300/dri/Makefile.am
> +++ b/src/gallium/targets/r300/dri/Makefile.am
> @@ -20,6 +20,7 @@
>  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>  # DEALINGS IN THE SOFTWARE.
>
> +DRI_VERSION_SCRIPT = $(srcdir)/radeon.link
>  include $(top_srcdir)/src/gallium/Automake.inc
>
>  AM_CFLAGS = \
> diff --git a/src/gallium/targets/r300/dri/radeon.link 
> b/src/gallium/targets/r300/dri/radeon.link
> new file mode 100644
> index 0000000..618058b
> --- /dev/null
> +++ b/src/gallium/targets/r300/dri/radeon.link
> @@ -0,0 +1,6 @@
> +VERSION {
> +    global:
> +        __driDriverExtensions;
> +        radeon_drm_winsys_create;
> +    local: *;
> +};
> diff --git a/src/gallium/targets/r600/dri/Makefile.am 
> b/src/gallium/targets/r600/dri/Makefile.am
> index 42db72f..1f13b80 100644
> --- a/src/gallium/targets/r600/dri/Makefile.am
> +++ b/src/gallium/targets/r600/dri/Makefile.am
> @@ -20,6 +20,7 @@
>  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>  # DEALINGS IN THE SOFTWARE.
>
> +DRI_VERSION_SCRIPT = $(srcdir)/../../r300/dri/radeon.link
>  include $(top_srcdir)/src/gallium/Automake.inc
>
>  AM_CFLAGS = \
> diff --git a/src/gallium/targets/radeonsi/dri/Makefile.am 
> b/src/gallium/targets/radeonsi/dri/Makefile.am
> index 2c1a58d..eab28b5 100644
> --- a/src/gallium/targets/radeonsi/dri/Makefile.am
> +++ b/src/gallium/targets/radeonsi/dri/Makefile.am
> @@ -20,6 +20,7 @@
>  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>  # DEALINGS IN THE SOFTWARE.
>
> +DRI_VERSION_SCRIPT = $(srcdir)/../../r300/dri/radeon.link
>  include $(top_srcdir)/src/gallium/Automake.inc
>
>  AM_CFLAGS = \
>



More information about the mesa-dev mailing list