aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-03-25 11:05:37 +0100
committerFlorian Weimer <fweimer@redhat.com>2021-03-25 11:06:56 +0100
commit3a24ddeab5b7064beaf8165533fbcd2db95d5339 (patch)
tree90ee62810ca1b4db251bea773f6e3403b603820f /include
parent4631c2372a40c8f9e4b6da863a456c8de8b448a6 (diff)
downloadglibc-3a24ddeab5b7064beaf8165533fbcd2db95d5339.tar
glibc-3a24ddeab5b7064beaf8165533fbcd2db95d5339.tar.gz
glibc-3a24ddeab5b7064beaf8165533fbcd2db95d5339.tar.bz2
glibc-3a24ddeab5b7064beaf8165533fbcd2db95d5339.zip
Change how the symbol_version_reference macro is defined
A subsequent change will require including <config.h> for defining symbol_version_reference. <libc-symbol.h> should not include <config.h> for _ISOMAC, so it cannot define symbol_version_reference anymore, but symbol_version_reference is needed <shlib-compat.h> even for _ISOMAC. Moving the definition of symbol_version_reference to a separate file <libc-symver.h> makes it possible to use a single definition for both cases. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/libc-symbols.h16
-rw-r--r--include/shlib-compat.h3
2 files changed, 6 insertions, 13 deletions
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index c83e550b03..ce5f75a1a2 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -59,19 +59,6 @@
# define IN_MODULE (-1)
#endif
-/* Use symbol_version_reference to specify the version a symbol
- reference should link to. Use symbol_version or
- default_symbol_version for the definition of a versioned symbol.
- The difference is that the latter is a no-op in non-shared
- builds. */
-#ifdef __ASSEMBLER__
-# define symbol_version_reference(real, name, version) \
- .symver real, name##@##version
-#else /* !__ASSEMBLER__ */
-# define symbol_version_reference(real, name, version) \
- __asm__ (".symver " #real "," #name "@" #version)
-#endif
-
#ifndef _ISOMAC
/* This is defined for the compilation of all C library code. features.h
@@ -97,6 +84,9 @@
#include <config.h>
+/* Obtain the definition of symbol_version_reference. */
+#include <libc-symver.h>
+
/* When PIC is defined and SHARED isn't defined, we are building PIE
by default. */
#if defined PIC && !defined SHARED
diff --git a/include/shlib-compat.h b/include/shlib-compat.h
index 28baef1ea4..b874e2588f 100644
--- a/include/shlib-compat.h
+++ b/include/shlib-compat.h
@@ -21,6 +21,9 @@
# include <abi-versions.h>
+/* Obtain the definition of symbol_version_reference. */
+#include <libc-symver.h>
+
/* The file abi-versions.h (generated by scripts/abi-versions.awk) defines
symbols like `ABI_libm_GLIBC_2_0' for each version set in the source
code for each library. For a version set that is subsumed by a later