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

Emil Velikov emil.l.velikov at gmail.com
Tue Feb 11 09:11:31 PST 2014


On 11/02/14 16:28, Maarten Lankhorst wrote:
> 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.
> 
As long as out of tree builds work and you're happy to pick up the piece
due to missing __dri2ConfigOptions.

Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
> Signed-off-by: Maarten Lankhorst<maarten.lankhorst at canonical.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 = \
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev



More information about the mesa-dev mailing list