diff options
author | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2013-08-29 20:59:25 +0000 |
---|---|---|
committer | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2013-08-29 20:59:25 +0000 |
commit | 0d983ceeeee6bd20ae296d224ca2fd4bf27a47af (patch) | |
tree | d1c44612aad8977a145b58f209e5cc7f8c5e1566 /libc/include/shlib-compat.h | |
parent | a4dcdbcd5b2fc886a934227de81a12419879d3c9 (diff) | |
download | eglibc2-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.h | 66 |
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 |