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