Mesa (master): prevent multiply defined symbols

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jul 28 20:34:38 UTC 2020


Module: Mesa
Branch: master
Commit: a400c2ff2265dfabb1ed7b59c8b24aa38d0557d1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a400c2ff2265dfabb1ed7b59c8b24aa38d0557d1

Author: Daryl W. Grunau <dwg at lanl.gov>
Date:   Thu Jul 23 15:39:07 2020 -0600

prevent multiply defined symbols

Without this patch applied gcc at 10.1.0 fails to compile with the following
error (note mesa at 18.3.6 but the latest release also posseses this problem):

  ld: ../../../../src/gallium/auxiliary/.libs/libgallium.a(u_debug_symbol.o):/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/galli um/auxiliary/util/u_debug_symbol.c:273: multiple definition of `symbols_hash'; ../../../../src/gallium/auxiliary/.libs/libgallium.a(u_debug_stack.o):/tmp/spa ck/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/gallium/auxiliary/util/u_debug_stack.c:49: first defined here
  collect2: error: ld returned 1 exit status
  make[4]: *** [libGL.la] Error 1
  make[4]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/gallium/targets/libgl-xlib'
  make[3]: *** [all-recursive] Error 1
  make[3]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/gallium'
  make[2]: *** [all-recursive] Error 1
  make[2]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src'
  make: *** [all-recursive] Error 1

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3298
Cc: mesa-stable
Reviewed-by: Michel Dänzer <mdaenzer at redhat.com>
Reviewed-by: Eric Engestrom <eric at engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6053>

---

 src/gallium/auxiliary/util/u_debug_stack.c  | 2 +-
 src/gallium/auxiliary/util/u_debug_symbol.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_debug_stack.c b/src/gallium/auxiliary/util/u_debug_stack.c
index e16123b9087..a1e7b27f63d 100644
--- a/src/gallium/auxiliary/util/u_debug_stack.c
+++ b/src/gallium/auxiliary/util/u_debug_stack.c
@@ -47,7 +47,7 @@
 #include "os/os_thread.h"
 #include "u_hash_table.h"
 
-struct hash_table* symbols_hash;
+static struct hash_table* symbols_hash;
 static mtx_t symbols_mutex = _MTX_INITIALIZER_NP;
 
 /* TODO with some refactoring we might be able to re-use debug_symbol_name_cached()
diff --git a/src/gallium/auxiliary/util/u_debug_symbol.c b/src/gallium/auxiliary/util/u_debug_symbol.c
index 4bbed585d81..d6471928a9d 100644
--- a/src/gallium/auxiliary/util/u_debug_symbol.c
+++ b/src/gallium/auxiliary/util/u_debug_symbol.c
@@ -270,7 +270,7 @@ debug_symbol_print(const void *addr)
    debug_printf("\t%s\n", buf);
 }
 
-struct hash_table* symbols_hash;
+static struct hash_table* symbols_hash;
 #ifdef PIPE_OS_WINDOWS
 static mtx_t symbols_mutex;
 #else



More information about the mesa-commit mailing list