You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.0 KiB
55 lines
2.0 KiB
2 years ago
|
commit 36f6e408845c8c539128f3fb9cb132bf1845a2c8
|
||
|
Author: Florian Weimer <fweimer@redhat.com>
|
||
|
Date: Tue Mar 9 21:07:24 2021 +0100
|
||
|
|
||
|
<shlib-compat.h>: Support compat_symbol_reference for _ISOMAC
|
||
|
|
||
|
This is helpful for testing compat symbols in cases where _ISOMAC
|
||
|
is activated implicitly due to -DMODULE_NAME=testsuite and cannot
|
||
|
be disabled easily.
|
||
|
|
||
|
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
|
||
|
index 41436050d060b89f..44e12b63d40cc572 100644
|
||
|
--- a/include/libc-symbols.h
|
||
|
+++ b/include/libc-symbols.h
|
||
|
@@ -59,6 +59,19 @@
|
||
|
# 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
|
||
|
@@ -388,19 +401,6 @@ for linking")
|
||
|
past the last element in SET. */
|
||
|
#define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set)
|
||
|
|
||
|
-/* 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
|
||
|
-
|
||
|
#ifdef SHARED
|
||
|
# define symbol_version(real, name, version) \
|
||
|
symbol_version_reference(real, name, version)
|