diff options
author | wiz <wiz@pkgsrc.org> | 2014-08-06 10:25:14 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2014-08-06 10:25:14 +0000 |
commit | b1b623fa92d4d992ba6abbe89588832d4cc5940c (patch) | |
tree | 5effef1a502c14a1e999f99467d2fb0846cbd8ac /graphics/MesaLib | |
parent | 0543eb79020a61179b382e4cd46a2e9af2a36928 (diff) | |
download | pkgsrc-b1b623fa92d4d992ba6abbe89588832d4cc5940c.tar.gz |
Use __attribute__((__destructor__)) instead of magic __dso_handle, and
fix another place.
Patches from Taylor R Campbell (NetBSD xsrc).
Bump PKGREVISION.
Diffstat (limited to 'graphics/MesaLib')
-rw-r--r-- | graphics/MesaLib/Makefile | 4 | ||||
-rw-r--r-- | graphics/MesaLib/distinfo | 5 | ||||
-rw-r--r-- | graphics/MesaLib/patches/patch-src_glsl_ralloc.c | 15 | ||||
-rw-r--r-- | graphics/MesaLib/patches/patch-src_mesa_main_context.c | 40 |
4 files changed, 56 insertions, 8 deletions
diff --git a/graphics/MesaLib/Makefile b/graphics/MesaLib/Makefile index 7cbb08db6f6..4165ea2f5ca 100644 --- a/graphics/MesaLib/Makefile +++ b/graphics/MesaLib/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.96 2014/01/24 23:00:15 ryoon Exp $ +# $NetBSD: Makefile,v 1.97 2014/08/06 10:25:14 wiz Exp $ PKGNAME= MesaLib-${MESA_PKGVERSION} -PKGREVISION= 4 +PKGREVISION= 5 COMMENT= Graphics library similar to SGI's OpenGL CONFLICTS+= xf86driproto<2.0.4 diff --git a/graphics/MesaLib/distinfo b/graphics/MesaLib/distinfo index 4f43f4e35ae..4131be9e3bd 100644 --- a/graphics/MesaLib/distinfo +++ b/graphics/MesaLib/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.87 2014/05/03 19:03:59 ryoon Exp $ +$NetBSD: distinfo,v 1.88 2014/08/06 10:25:14 wiz Exp $ SHA1 (Mesa-7.11.2/MesaGLUT-7.11.2.tar.bz2) = 2e6e730204800a0748b301a5f58b86332699788b RMD160 (Mesa-7.11.2/MesaGLUT-7.11.2.tar.bz2) = bb2b140375aa13df79fcdb60a7ad0a63622dc531 @@ -13,7 +13,7 @@ SHA1 (patch-include_GL_gl.h) = a97ab309556c78d818d0b8bd867b5f2412c141b0 SHA1 (patch-src_gallium_auxiliary_util_u__atomic.h) = 68ba9694aca506add2aa96a6892a7227481c2c11 SHA1 (patch-src_gallium_include_pipe_p__config.h) = 34f4c2a033dd7a494dd3f51db407002a3388f84e SHA1 (patch-src_glsl_ir__constant__expression.cpp) = 281e281f51afed244b1a29b92942d572fc095124 -SHA1 (patch-src_glsl_ralloc.c) = 94fac7a8115d85bc3ee3daeb8ea308c766dc45c1 +SHA1 (patch-src_glsl_ralloc.c) = 40885fac898058f8e83852a79ca50a74b61121ab SHA1 (patch-src_glu_sgi_glu.exports) = 66609d2ea59b02fc46b41311b0042fe4a2da517f SHA1 (patch-src_glx_XF86dri.c) = b69b7cf5e0d617eca129f0d7f0b06c7603d00db0 SHA1 (patch-src_mesa_drivers_dri_common_dri__util.h) = 53e63dcc6243b1872f4e4816b46e92910cf97edc @@ -31,5 +31,6 @@ SHA1 (patch-src_mesa_drivers_dri_intel_intel__context.h) = 6d394e704636134768a6c SHA1 (patch-src_mesa_drivers_dri_mach64_mach64__context.h) = fe95c6610de4c1482c568463aca82f53ed0df900 SHA1 (patch-src_mesa_drivers_x11_Makefile) = 17b72d2b74d89fbd8db05491cfcf253bb856b139 SHA1 (patch-src_mesa_main_compiler.h) = b164781b541cb83b64597facbb7a7e21d8bdb686 +SHA1 (patch-src_mesa_main_context.c) = 6b6f1e3ad4ea189291fcf221d4b8bfbd650f8908 SHA1 (patch-src_mesa_main_imports.c) = d0c50004c749e4c5c136ac2ed50a6989ca90065f SHA1 (patch-src_mesa_main_imports.h) = f5a96195b3a14294ca3389c9fe17a6076c46db8a diff --git a/graphics/MesaLib/patches/patch-src_glsl_ralloc.c b/graphics/MesaLib/patches/patch-src_glsl_ralloc.c index 3537f16de61..f49cf7af652 100644 --- a/graphics/MesaLib/patches/patch-src_glsl_ralloc.c +++ b/graphics/MesaLib/patches/patch-src_glsl_ralloc.c @@ -1,16 +1,23 @@ -$NetBSD: patch-src_glsl_ralloc.c,v 1.1 2014/01/24 23:00:15 ryoon Exp $ +$NetBSD: patch-src_glsl_ralloc.c,v 1.2 2014/08/06 10:25:14 wiz Exp $ * Fix exit time segfault of qt5 application with modular xorg --- src/glsl/ralloc.c.orig 2011-10-15 00:43:58.000000000 +0000 +++ src/glsl/ralloc.c -@@ -283,7 +283,8 @@ ralloc_autofree_context(void) +@@ -272,7 +272,7 @@ ralloc_parent(const void *ptr) + + static void *autofree_context = NULL; + +-static void ++static void __attribute__((__destructor__)) + autofree(void) + { + ralloc_free(autofree_context); +@@ -283,7 +283,6 @@ ralloc_autofree_context(void) { if (unlikely(autofree_context == NULL)) { autofree_context = ralloc_context(NULL); - atexit(autofree); -+ extern __attribute__((visibility("hidden"))) void *__dso_handle; -+ __cxa_atexit(autofree, NULL, __dso_handle); } return autofree_context; } diff --git a/graphics/MesaLib/patches/patch-src_mesa_main_context.c b/graphics/MesaLib/patches/patch-src_mesa_main_context.c new file mode 100644 index 00000000000..96de248f452 --- /dev/null +++ b/graphics/MesaLib/patches/patch-src_mesa_main_context.c @@ -0,0 +1,40 @@ +$NetBSD: patch-src_mesa_main_context.c,v 1.1 2014/08/06 10:25:14 wiz Exp $ + +* Fix exit time segfault of qt5 application with modular xorg + +--- src/mesa/main/context.c.orig 2011-10-15 00:43:58.000000000 +0000 ++++ src/mesa/main/context.c +@@ -383,10 +383,10 @@ _glthread_DECLARE_STATIC_MUTEX(OneTimeLo + * + * \sa _math_init(). + */ ++static GLbitfield api_init_mask = 0x0; + static void + one_time_init( struct gl_context *ctx ) + { +- static GLbitfield api_init_mask = 0x0; + + _glthread_LOCK_MUTEX(OneTimeLock); + +@@ -441,14 +441,16 @@ one_time_init( struct gl_context *ctx ) + + _glthread_UNLOCK_MUTEX(OneTimeLock); + +- /* Hopefully atexit() is widely available. If not, we may need some +- * #ifdef tests here. +- */ +- atexit(_mesa_destroy_shader_compiler); +- + dummy_enum_func(); + } + ++static void __attribute__((__destructor__)) ++one_time_fini(void) ++{ ++ if (api_init_mask) ++ _mesa_destroy_shader_compiler(); ++} ++ + + /** + * Initialize fields of gl_current_attrib (aka ctx->Current.*) |