|
|
4cc9c6 |
commit 36f6e408845c8c539128f3fb9cb132bf1845a2c8
|
|
|
4cc9c6 |
Author: Florian Weimer <fweimer@redhat.com>
|
|
|
4cc9c6 |
Date: Tue Mar 9 21:07:24 2021 +0100
|
|
|
4cc9c6 |
|
|
|
4cc9c6 |
<shlib-compat.h>: Support compat_symbol_reference for _ISOMAC
|
|
|
4cc9c6 |
|
|
|
4cc9c6 |
This is helpful for testing compat symbols in cases where _ISOMAC
|
|
|
4cc9c6 |
is activated implicitly due to -DMODULE_NAME=testsuite and cannot
|
|
|
4cc9c6 |
be disabled easily.
|
|
|
4cc9c6 |
|
|
|
4cc9c6 |
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
|
|
|
4cc9c6 |
index 41436050d060b89f..44e12b63d40cc572 100644
|
|
|
4cc9c6 |
--- a/include/libc-symbols.h
|
|
|
4cc9c6 |
+++ b/include/libc-symbols.h
|
|
|
4cc9c6 |
@@ -59,6 +59,19 @@
|
|
|
4cc9c6 |
# define IN_MODULE (-1)
|
|
|
4cc9c6 |
#endif
|
|
|
4cc9c6 |
|
|
|
4cc9c6 |
+/* Use symbol_version_reference to specify the version a symbol
|
|
|
4cc9c6 |
+ reference should link to. Use symbol_version or
|
|
|
4cc9c6 |
+ default_symbol_version for the definition of a versioned symbol.
|
|
|
4cc9c6 |
+ The difference is that the latter is a no-op in non-shared
|
|
|
4cc9c6 |
+ builds. */
|
|
|
4cc9c6 |
+#ifdef __ASSEMBLER__
|
|
|
4cc9c6 |
+# define symbol_version_reference(real, name, version) \
|
|
|
4cc9c6 |
+ .symver real, name##@##version
|
|
|
4cc9c6 |
+#else /* !__ASSEMBLER__ */
|
|
|
4cc9c6 |
+# define symbol_version_reference(real, name, version) \
|
|
|
4cc9c6 |
+ __asm__ (".symver " #real "," #name "@" #version)
|
|
|
4cc9c6 |
+#endif
|
|
|
4cc9c6 |
+
|
|
|
4cc9c6 |
#ifndef _ISOMAC
|
|
|
4cc9c6 |
|
|
|
4cc9c6 |
/* This is defined for the compilation of all C library code. features.h
|
|
|
4cc9c6 |
@@ -388,19 +401,6 @@ for linking")
|
|
|
4cc9c6 |
past the last element in SET. */
|
|
|
4cc9c6 |
#define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set)
|
|
|
4cc9c6 |
|
|
|
4cc9c6 |
-/* Use symbol_version_reference to specify the version a symbol
|
|
|
4cc9c6 |
- reference should link to. Use symbol_version or
|
|
|
4cc9c6 |
- default_symbol_version for the definition of a versioned symbol.
|
|
|
4cc9c6 |
- The difference is that the latter is a no-op in non-shared
|
|
|
4cc9c6 |
- builds. */
|
|
|
4cc9c6 |
-#ifdef __ASSEMBLER__
|
|
|
4cc9c6 |
-# define symbol_version_reference(real, name, version) \
|
|
|
4cc9c6 |
- .symver real, name##@##version
|
|
|
4cc9c6 |
-#else /* !__ASSEMBLER__ */
|
|
|
4cc9c6 |
-# define symbol_version_reference(real, name, version) \
|
|
|
4cc9c6 |
- __asm__ (".symver " #real "," #name "@" #version)
|
|
|
4cc9c6 |
-#endif
|
|
|
4cc9c6 |
-
|
|
|
4cc9c6 |
#ifdef SHARED
|
|
|
4cc9c6 |
# define symbol_version(real, name, version) \
|
|
|
4cc9c6 |
symbol_version_reference(real, name, version)
|