can't be versioned to common symbol 'loc1'

aarch64
编译 glibc-2.23 
binunit-2.30
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=388b4f1a02f3a801965028bbfcd48d905638b797

diff --git a/misc/regexp.c b/misc/regexp.c
index 19d76c0.. eaea7c3 100644 (file)
--- 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);

你可能感兴趣的:(can't be versioned to common symbol 'loc1')