Revision: 52453
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52453
Author:   blendix
Date:     2012-11-21 22:28:15 +0000 (Wed, 21 Nov 2012)
Log Message:
-----------
Fix 33149: LLVM caused startup crash on linux systems using Mesa llvmpipe.
Now we hide the LLVM symbols with an ld version script to avoid conflicts.

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt
    trunk/blender/build_files/buildbot/config/user-config-glibc211-i686.py
    trunk/blender/build_files/buildbot/config/user-config-glibc211-x86_64.py
    trunk/blender/build_files/buildbot/config/user-config-glibc27-i686.py
    trunk/blender/build_files/buildbot/config/user-config-glibc27-x86_64.py
    trunk/blender/build_files/scons/config/linux-config.py

Added Paths:
-----------
    trunk/blender/source/creator/blender.map

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt        2012-11-21 21:42:07 UTC (rev 52452)
+++ trunk/blender/CMakeLists.txt        2012-11-21 22:28:15 UTC (rev 52453)
@@ -759,6 +759,9 @@
                else()
                        message(FATAL_ERROR "LLVM not found.")
                endif()
+
+               # Fix for conflict with Mesa llvmpipe
+               set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} 
-Wl,--version-script=${CMAKE_SOURCE_DIR}/source/creator/blender.map")
        endif()
 
        if(WITH_CYCLES_OSL)
@@ -821,7 +824,7 @@
                endif()
        endif()
 
-       set(PLATFORM_LINKFLAGS "-pthread")
+       set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -pthread")
 
        # lfs on glibc, all compilers should use
        add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-D_LARGEFILE64_SOURCE)

Modified: trunk/blender/build_files/buildbot/config/user-config-glibc211-i686.py
===================================================================
--- trunk/blender/build_files/buildbot/config/user-config-glibc211-i686.py      
2012-11-21 21:42:07 UTC (rev 52452)
+++ trunk/blender/build_files/buildbot/config/user-config-glibc211-i686.py      
2012-11-21 22:28:15 UTC (rev 52453)
@@ -162,4 +162,4 @@
 BF_DEBUG = False
 REL_CCFLAGS = ['-O2', '-msse', '-msse2']  # C & C++
 PLATFORM_LINKFLAGS = ['-lrt']
-BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', 
'-Wl,--no-whole-archive']
+BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', 
'-Wl,--no-whole-archive', '-Wl,--version-script=source/creator/blender.map']

Modified: 
trunk/blender/build_files/buildbot/config/user-config-glibc211-x86_64.py
===================================================================
--- trunk/blender/build_files/buildbot/config/user-config-glibc211-x86_64.py    
2012-11-21 21:42:07 UTC (rev 52452)
+++ trunk/blender/build_files/buildbot/config/user-config-glibc211-x86_64.py    
2012-11-21 22:28:15 UTC (rev 52453)
@@ -161,4 +161,4 @@
 BF_DEBUG = False
 REL_CCFLAGS = ['-O2', '-msse', '-msse2']  # C & C++
 PLATFORM_LINKFLAGS = ['-lrt']
-BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', 
'-Wl,--no-whole-archive']
+BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', 
'-Wl,--no-whole-archive', '-Wl,--version-script=source/creator/blender.map']

Modified: trunk/blender/build_files/buildbot/config/user-config-glibc27-i686.py
===================================================================
--- trunk/blender/build_files/buildbot/config/user-config-glibc27-i686.py       
2012-11-21 21:42:07 UTC (rev 52452)
+++ trunk/blender/build_files/buildbot/config/user-config-glibc27-i686.py       
2012-11-21 22:28:15 UTC (rev 52453)
@@ -147,4 +147,4 @@
 BF_DEBUG = False
 REL_CCFLAGS = ['-O2']  # C & C++
 PLATFORM_LINKFLAGS = ['-L/home/sources/staticlibs/lib32']
-BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', 
'-Wl,--no-whole-archive']
+BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', 
'-Wl,--no-whole-archive', '-Wl,--version-script=source/creator/blender.map']

Modified: 
trunk/blender/build_files/buildbot/config/user-config-glibc27-x86_64.py
===================================================================
--- trunk/blender/build_files/buildbot/config/user-config-glibc27-x86_64.py     
2012-11-21 21:42:07 UTC (rev 52452)
+++ trunk/blender/build_files/buildbot/config/user-config-glibc27-x86_64.py     
2012-11-21 22:28:15 UTC (rev 52453)
@@ -146,4 +146,4 @@
 BF_DEBUG = False
 REL_CCFLAGS = ['-O2', '-msse', '-msse2']  # C & C++
 PLATFORM_LINKFLAGS = ['-L/home/sources/staticlibs/lib64']
-BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', 
'-Wl,--no-whole-archive']
+BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', 
'-Wl,--no-whole-archive', '-Wl,--version-script=source/creator/blender.map']

Modified: trunk/blender/build_files/scons/config/linux-config.py
===================================================================
--- trunk/blender/build_files/scons/config/linux-config.py      2012-11-21 
21:42:07 UTC (rev 52452)
+++ trunk/blender/build_files/scons/config/linux-config.py      2012-11-21 
22:28:15 UTC (rev 52453)
@@ -298,3 +298,7 @@
 #Link against pthread
 PLATFORM_LINKFLAGS = ['-pthread']
 
+#Fix for LLVM conflict with Mesa llvmpipe
+if WITH_BF_LLVM:
+    PLATFORM_LINKFLAGS += ['-Wl,--version-script=source/creator/blender.map']
+

Added: trunk/blender/source/creator/blender.map
===================================================================
--- trunk/blender/source/creator/blender.map                            (rev 0)
+++ trunk/blender/source/creator/blender.map    2012-11-21 22:28:15 UTC (rev 
52453)
@@ -0,0 +1,11 @@
+
+/* on Linux we exclude LLVM symbols, they conflict with Mesa llvmpipe */
+
+blender {
+global:
+       *;
+local:
+       *llvm*;
+       *LLVM*;
+};
+

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to