summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/glibc/locs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/glibc/locs.patch')
-rw-r--r--var/spack/repos/builtin/packages/glibc/locs.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/glibc/locs.patch b/var/spack/repos/builtin/packages/glibc/locs.patch
new file mode 100644
index 0000000000..cf377751c0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/glibc/locs.patch
@@ -0,0 +1,20 @@
+--- a/misc/regexp.c
++++ b/misc/regexp.c
+@@ -29,14 +29,15 @@
+
+ #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_23)
+
+-/* Define the variables used for the interface. */
+-char *loc1;
+-char *loc2;
++/* Define the variables used for the interface. Avoid .symver on common
++ symbol, which just creates a new common symbol, not an alias. */
++char *loc1 __attribute__ ((nocommon));
++char *loc2 __attribute__ ((nocommon));
+ compat_symbol (libc, loc1, loc1, GLIBC_2_0);
+ compat_symbol (libc, loc2, loc2, GLIBC_2_0);
+
+ /* Although we do not support the use we define this variable as well. */
+-char *locs;
++char *locs __attribute__ ((nocommon));
+ compat_symbol (libc, locs, locs, GLIBC_2_0);