diff options
Diffstat (limited to 'libpthread/nptl')
-rw-r--r-- | libpthread/nptl/compat/libc-symbols.h | 118 | ||||
-rw-r--r-- | libpthread/nptl/compat/shlib-compat.h | 89 |
2 files changed, 0 insertions, 207 deletions
diff --git a/libpthread/nptl/compat/libc-symbols.h b/libpthread/nptl/compat/libc-symbols.h deleted file mode 100644 index ad34cc637..000000000 --- a/libpthread/nptl/compat/libc-symbols.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef _LIBC_SYMBOLS_H -#define _LIBC_SYMBOLS_H 1 - -/* Handling on non-exported internal names. We have to do this only - for shared code. */ -#ifdef SHARED -# define INTUSE(name) name##_internal -# define INTDEF(name) strong_alias (name, name##_internal) -# define INTVARDEF(name) \ - _INTVARDEF (name, name##_internal) -# if defined HAVE_VISIBILITY_ATTRIBUTE -# define _INTVARDEF(name, aliasname) \ - extern __typeof (name) aliasname __attribute__ ((alias (#name), \ - visibility ("hidden"))); -# else -# define _INTVARDEF(name, aliasname) \ - extern __typeof (name) aliasname __attribute__ ((alias (#name))); -# endif -# define INTDEF2(name, newname) strong_alias (name, newname##_internal) -# define INTVARDEF2(name, newname) _INTVARDEF (name, newname##_internal) -#else -# define INTUSE(name) name -# define INTDEF(name) -# define INTVARDEF(name) -# define INTDEF2(name, newname) -# define INTVARDEF2(name, newname) -#endif - -/* These are all done the same way in ELF. - There is a new section created for each set. */ -# ifdef SHARED -/* When building a shared library, make the set section writable, - because it will need to be relocated at run time anyway. */ -# define _elf_set_element(set, symbol) \ - static const void *__elf_set_##set##_element_##symbol##__ \ - __attribute__ ((used, section (#set))) = &(symbol) -# else -# define _elf_set_element(set, symbol) \ - static const void *const __elf_set_##set##_element_##symbol##__ \ - __attribute__ ((used, section (#set))) = &(symbol) -# endif - -#define text_set_element(set, symbol) _elf_set_element(set, symbol) -#define __sec_comment "\n\t#" - -# ifndef __ASSEMBLER__ -# define hidden_proto(name, attrs...) -# else -# define HIDDEN_JUMPTARGET(name) JUMPTARGET(name) -# endif /* Not __ASSEMBLER__ */ -# define hidden_weak(name) -# define hidden_ver(local, name) -# define hidden_data_weak(name) -# define hidden_data_def(name) -# define hidden_data_ver(local, name) - -#if !defined NOT_IN_libc -# define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define libc_hidden_def(name) -# define libc_hidden_weak(name) hidden_weak (name) -# define libc_hidden_ver(local, name) hidden_ver (local, name) -# define libc_hidden_data_def(name) hidden_data_def (name) -# define libc_hidden_data_weak(name) hidden_data_weak (name) -# define libc_hidden_data_ver(local, name) hidden_data_ver (local, name) -#else -# define libc_hidden_proto(name, attrs...) -# define libc_hidden_def(name) -# define libc_hidden_weak(name) -# define libc_hidden_ver(local, name) -# define libc_hidden_data_def(name) -# define libc_hidden_data_weak(name) -# define libc_hidden_data_ver(local, name) -#endif - -/* Define SET as a symbol set. This may be required (it is in a.out) to - be able to use the set's contents. */ -# define symbol_set_define(set) symbol_set_declare(set) - -/* Declare SET for use in this module, if defined in another module. - In a shared library, this is always local to that shared object. - For static linking, the set might be wholly absent and so we use - weak references. */ -# define symbol_set_declare(set) \ - extern char const __start_##set[] __symbol_set_attribute; \ - extern char const __stop_##set[] __symbol_set_attribute; - -# define __symbol_set_attribute attribute_hidden - -/* Return a pointer (void *const *) to the first element of SET. */ -# define symbol_set_first_element(set) ((void *const *) (&__start_##set)) - -/* Return true iff PTR (a void *const *) has been incremented - past the last element in SET. */ -# define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set) - -/* 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) ... - -/* Move compatibility symbols out of the way by placing them all in a - * special section. */ -#ifndef __ASSEMBLER__ -# define attribute_compat_text_section \ - __attribute__ ((section (".text.compat"))) -# define attribute_compat_data_section \ - __attribute__ ((section (".data.compat"))) -#else -# define compat_text_section .section ".text.compat", "ax"; -# define compat_data_section .section ".data.compat", "aw"; -#endif - -#endif /* _LIBC_SYMBOLS_H */ diff --git a/libpthread/nptl/compat/shlib-compat.h b/libpthread/nptl/compat/shlib-compat.h deleted file mode 100644 index 1e6d1782d..000000000 --- a/libpthread/nptl/compat/shlib-compat.h +++ /dev/null @@ -1,89 +0,0 @@ -/* Macros for managing ABI-compatibility definitions using ELF symbol versions. - Copyright (C) 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SHLIB_COMPAT_H -#define _SHLIB_COMPAT_H 1 - -#if defined HAVE_ELF && defined DO_VERSIONING -/* Since there is just one set of .d files generated, we need to - include this unconditionally to have the dependency noticed properly. */ -#include <abi-versions.h> /* header generated by abi-versions.awk */ -#endif - -#if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING - -/* 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 - version set, the definition gives the subsuming set, i.e. if GLIBC_2_0 - is subsumed by GLIBC_2_1, then ABI_libm_GLIBC_2_0 == ABI_libm_GLIBC_2_1. - Each version set that is to be distinctly defined in the output has an - unique positive integer value, increasing with newer versions. Thus, - evaluating two ABI_* symbols reduces to integer values that differ only - when the two version sets named are in fact two different ABIs we are - supporting. If these do not differ, then there is no need to compile in - extra code to support this version set where it has been superseded by a - newer version. The compatibility code should be conditionalized with - e.g. `#if SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_2)' for code introduced - in the GLIBC_2.0 version and obsoleted in the GLIBC_2.2 version. */ - -# define SHLIB_COMPAT(lib, introduced, obsoleted) \ - ((IS_IN_##lib - 0) \ - && (!(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 (local, symbol, VERSION_##lib##_##version) -# define versioned_symbol_1(local, symbol, name) \ - default_symbol_version (local, symbol, name) - -# define compat_symbol(lib, local, symbol, version) \ - compat_symbol_1 (local, symbol, VERSION_##lib##_##version) -# define compat_symbol_1(local, symbol, name) \ - symbol_version (local, symbol, name) - -#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) ... - -#endif - - -#endif /* shlib-compat.h */ |