summaryrefslogtreecommitdiff
path: root/libc/include/shlib-compat.h
diff options
context:
space:
mode:
authorjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2013-08-29 20:59:25 +0000
committerjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2013-08-29 20:59:25 +0000
commit0d983ceeeee6bd20ae296d224ca2fd4bf27a47af (patch)
treed1c44612aad8977a145b58f209e5cc7f8c5e1566 /libc/include/shlib-compat.h
parenta4dcdbcd5b2fc886a934227de81a12419879d3c9 (diff)
downloadeglibc2-0d983ceeeee6bd20ae296d224ca2fd4bf27a47af.tar.gz
* Makerules, elf/Makefile, elf/do-rel.h, extra-lib.mk,
include/libc-symbols.h, include/shlib-compat.h, nptl/Makefile, nptl/pthread_kill_other_threads.c, resolv/res_libc.c, scripts/versions.awk, sysdeps/ieee754/ldbl-128ibm/s_finitel.c, sysdeps/ieee754/ldbl-128ibm/s_isinfl.c, sysdeps/ieee754/ldbl-128ibm/s_isnanl.c, sysdeps/ieee754/ldbl-128ibm/strtold_l.c, sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h, sysdeps/powerpc/longjmp.c, sysdeps/powerpc/powerpc32/dl-machine.c, sysdeps/wordsize-32/divdi3.c: Revert --disable-versioning support changes. * Makerules: Change $(versioning) conditional in local code to $(build-shared). git-svn-id: svn://svn.eglibc.org/trunk@23871 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/include/shlib-compat.h')
-rw-r--r--libc/include/shlib-compat.h66
1 files changed, 24 insertions, 42 deletions
diff --git a/libc/include/shlib-compat.h b/libc/include/shlib-compat.h
index 2ec854434..979b5929e 100644
--- a/libc/include/shlib-compat.h
+++ b/libc/include/shlib-compat.h
@@ -25,36 +25,6 @@
#include <abi-versions.h> /* header generated by abi-versions.awk */
#endif
-#if defined SHARED
-
-# ifndef NOT_IN_libc
-# define IS_IN_libc 1
-# endif
-
-/* That header also defines symbols like `VERSION_libm_GLIBC_2_1' to
- the version set name to use for e.g. symbols first introduced into
- libm in the GLIBC_2.1 version. Definitions of symbols with explicit
- versions should look like:
- versioned_symbol (libm, new_foo, foo, GLIBC_2_1);
- This will define the symbol `foo' with the appropriate default version,
- i.e. either GLIBC_2.1 or the "earliest version" specified in
- shlib-versions if that is newer. */
-
-# define versioned_symbol(lib, local, symbol, version) \
- versioned_symbol_1 (lib, local, symbol, version)
-# define versioned_symbol_1(lib, local, symbol, version) \
- versioned_symbol_2 (local, symbol, VERSION_##lib##_##version)
-# define versioned_symbol_2(local, symbol, name) \
- default_symbol_version (local, symbol, name)
-
-#else
-
-/* No versions to worry about, just make this the global definition. */
-# define versioned_symbol(lib, local, symbol, version) \
- weak_alias (local, symbol)
-
-#endif
-
#if defined SHARED && defined DO_VERSIONING
/* The file abi-versions.h (generated by scripts/abi-versions.awk) defines
@@ -79,6 +49,26 @@
&& (!(ABI_##lib##_##obsoleted - 0) \
|| ((ABI_##lib##_##introduced - 0) < (ABI_##lib##_##obsoleted - 0))))
+# ifndef NOT_IN_libc
+# define IS_IN_libc 1
+# endif
+
+/* That header also defines symbols like `VERSION_libm_GLIBC_2_1' to
+ the version set name to use for e.g. symbols first introduced into
+ libm in the GLIBC_2.1 version. Definitions of symbols with explicit
+ versions should look like:
+ versioned_symbol (libm, new_foo, foo, GLIBC_2_1);
+ This will define the symbol `foo' with the appropriate default version,
+ i.e. either GLIBC_2.1 or the "earliest version" specified in
+ shlib-versions if that is newer. */
+
+# define versioned_symbol(lib, local, symbol, version) \
+ versioned_symbol_1 (lib, local, symbol, version)
+# define versioned_symbol_1(lib, local, symbol, version) \
+ versioned_symbol_2 (local, symbol, VERSION_##lib##_##version)
+# define versioned_symbol_2(local, symbol, name) \
+ default_symbol_version (local, symbol, name)
+
# define compat_symbol(lib, local, symbol, version) \
compat_symbol_1 (lib, local, symbol, version)
# define compat_symbol_1(lib, local, symbol, version) \
@@ -86,26 +76,18 @@
# define compat_symbol_2(local, symbol, name) \
symbol_version (local, symbol, name)
-/* This macro is used to provide a versioned-only only symbol
- which is otherwise invisible at link time. */
-# define invisible_compat_symbol(lib, symbol, version) \
- compat_symbol (lib, symbol, symbol, version)
-
#else
/* Not compiling ELF shared libraries at all, so never any old versions. */
# define SHLIB_COMPAT(lib, introduced, obsoleted) 0
+/* No versions to worry about, just make this the global definition. */
+# define versioned_symbol(lib, local, symbol, version) \
+ weak_alias (local, symbol)
+
/* This should not appear outside `#if SHLIB_COMPAT (...)'. */
# define compat_symbol(lib, local, symbol, version) ...
-# if defined SHARED
-/* When not using symbol versioning, invisible_compat_symbol
- is merely a hidden one. */
-# define invisible_compat_symbol(lib, symbol, version) \
- extern __typeof (symbol) symbol attribute_hidden;
-# endif
-
#endif