Mesa (mesa_7_5_branch): scons: Use -Bsymbolic linker option.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Sun Jun 28 10:31:37 UTC 2009


Module: Mesa
Branch: mesa_7_5_branch
Commit: 72ad039d19e033baff774b184ece9ffbfef4a2ff
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=72ad039d19e033baff774b184ece9ffbfef4a2ff

Author: José Fonseca <jfonseca at vmware.com>
Date:   Sun Jun 28 10:54:23 2009 +0100

scons: Use -Bsymbolic linker option.

This prevents the error

  relocation R_X86_64_PC32 against symbol `_gl_DispatchTSD' can not be used when making a shared object; recompile with -fPIC

when building on x86_64 architecture.

---

 scons/gallium.py |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/scons/gallium.py b/scons/gallium.py
index ee45af5..b69f2f2 100644
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -448,11 +448,15 @@ def generate(env):
 
     # Linker options
     linkflags = []
+    shlinkflags = []
     if gcc:
         if env['machine'] == 'x86':
             linkflags += ['-m32']
         if env['machine'] == 'x86_64':
             linkflags += ['-m64']
+        shlinkflags += [
+            '-Wl,-Bsymbolic',
+        ]
     if platform == 'windows' and msvc:
         # See also:
         # - http://msdn2.microsoft.com/en-us/library/y0zzbyt4.aspx
@@ -500,6 +504,7 @@ def generate(env):
             '/entry:_DllMainCRTStartup',
         ]
     env.Append(LINKFLAGS = linkflags)
+    env.Append(SHLINKFLAGS = shlinkflags)
 
     # Default libs
     env.Append(LIBS = [])




More information about the mesa-commit mailing list