diff options
author | Roland McGrath <roland@gnu.org> | 2005-02-16 12:31:10 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2005-02-16 12:31:10 +0000 |
commit | 833861be818bb5d45ab0c47370b84068dfb2fedf (patch) | |
tree | 2f1754a415c378f6b067f9158cc42df24d4641d2 /include | |
parent | c397a0064061e28a00eea873669e59f3983db791 (diff) |
import later fedora-branch tweaks
Diffstat (limited to 'include')
-rw-r--r-- | include/dlfcn.h | 27 | ||||
-rw-r--r-- | include/features.h | 2 | ||||
-rw-r--r-- | include/libc-symbols.h | 3 | ||||
-rw-r--r-- | include/link.h | 76 | ||||
-rw-r--r-- | include/signal.h | 3 | ||||
-rw-r--r-- | include/stub-tag.h | 7 | ||||
-rw-r--r-- | include/stubs-biarch.h | 12 |
7 files changed, 23 insertions, 107 deletions
diff --git a/include/dlfcn.h b/include/dlfcn.h index 460c037ed1..bfa1b9041b 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -7,24 +7,9 @@ #define __RTLD_SPROF 0x40000000 #define __RTLD_OPENEXEC 0x20000000 #define __RTLD_CALLMAP 0x10000000 -#define __RTLD_AUDIT 0x08000000 #define __LM_ID_CALLER -2 -#ifdef SHARED -/* Locally stored program arguments. */ -extern int __dlfcn_argc attribute_hidden; -extern char **__dlfcn_argv attribute_hidden; -#else -/* These variables are defined and initialized in the startup code. */ -extern int __libc_argc attribute_hidden; -extern char **__libc_argv attribute_hidden; - -# define __dlfcn_argc __libc_argc -# define __dlfcn_argv __libc_argv -#endif - - /* Now define the internal interfaces. */ #define __libc_dlopen(name) \ @@ -44,8 +29,18 @@ extern int _dl_addr (const void *address, Dl_info *info, libc_hidden_proto (_dl_addr) #endif +/* Open the shared object NAME, relocate it, and run its initializer if it + hasn't already been run. MODE is as for `dlopen' (see <dlfcn.h>). If + the object is already opened, returns its existing map. */ +extern void *_dl_open (const char *name, int mode, const void *caller, + Lmid_t nsid) + internal_function; +libc_hidden_proto (_dl_open) + /* Close an object previously opened by _dl_open. */ -extern void _dl_close (void *map) attribute_hidden; +extern void _dl_close (void *map) + internal_function; +libc_hidden_proto (_dl_close) /* Look up NAME in shared object HANDLE (which may be RTLD_DEFAULT or RTLD_NEXT). WHO is the calling function, for RTLD_NEXT. Returns diff --git a/include/features.h b/include/features.h index 5e6cca5c86..ff1de8f472 100644 --- a/include/features.h +++ b/include/features.h @@ -295,7 +295,7 @@ /* Major and minor version number of the GNU C library package. Use these macros to test for features in specific releases. */ #define __GLIBC__ 2 -#define __GLIBC_MINOR__ 4 +#define __GLIBC_MINOR__ 3 #define __GLIBC_PREREQ(maj, min) \ ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) diff --git a/include/libc-symbols.h b/include/libc-symbols.h index f3526ca053..dcc46cc80f 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -1,6 +1,6 @@ /* Support macros for making weak and strong aliases for symbols, and for using symbol sets and linker warnings with GNU ld. - Copyright (C) 1995-1998,2000-2003,2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1995-1998,2000-2003,2004 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 @@ -279,7 +279,6 @@ /* A canned warning for sysdeps/stub functions. */ #define stub_warning(name) \ - __make_section_unallocated (".gnu.glibc-stub." #name) \ link_warning (name, \ "warning: " #name " is not implemented and will always fail") diff --git a/include/link.h b/include/link.h index 965419126d..3078b72a87 100644 --- a/include/link.h +++ b/include/link.h @@ -1,6 +1,6 @@ /* Data structure for communication from the run-time dynamic linker for loaded ELF shared objects. - Copyright (C) 1995-2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1995-2002, 2003, 2004 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 @@ -34,7 +34,6 @@ #include <bits/elfclass.h> /* Defines __ELF_NATIVE_CLASS. */ #include <bits/link.h> -#include <bits/linkmap.h> #include <dl-lookupcfg.h> #include <tls.h> /* Defines USE_TLS. */ @@ -200,10 +199,6 @@ struct link_map should be called on this link map when relocation finishes. */ unsigned int l_used:1; /* Nonzero if the DSO is used. */ - unsigned int l_auditing:1; /* Nonzero if the DSO is used in auditing. */ - unsigned int l_audit_any_plt:1; /* Nonzero if at least one audit module - is interested in the PLT interception.*/ - /* Array with version names. */ unsigned int l_nversions; struct r_found_version *l_versions; @@ -212,14 +207,7 @@ struct link_map struct r_search_path_struct l_rpath_dirs; /* Collected results of relocation while profiling. */ - struct reloc_result - { - DL_FIXUP_VALUE_TYPE addr; - struct link_map *bound; - unsigned int boundndx; - uint32_t enterexit; - unsigned int flags; - } *l_reloc_result; + ElfW(Addr) *l_reloc_result; /* Pointer to the version information if available. */ ElfW(Versym) *l_versyms; @@ -275,7 +263,11 @@ struct link_map { const ElfW(Sym) *sym; int type_class; +#ifdef DL_LOOKUP_RETURNS_MAP struct link_map *value; +#else + ElfW(Addr) value; +#endif const ElfW(Sym) *ret; } l_lookup_cache; @@ -305,64 +297,8 @@ struct link_map done. */ ElfW(Addr) l_relro_addr; size_t l_relro_size; - - /* Audit information. This array apparent must be the last in the - structure. Never add something after it. */ - struct auditstate - { - uintptr_t cookie; - unsigned int bindflags; - } l_audit[0]; - }; - -/* Version numbers for la_version handshake interface. */ -#define LAV_CURRENT 1 - -/* Activity types signaled through la_activity. */ -enum - { - LA_ACT_CONSISTENT, - LA_ACT_ADD, - LA_ACT_DELETE - }; - -/* Values representing origin of name for dynamic loading. */ -enum - { - LA_SER_ORIG = 0x01, /* Original name. */ - LA_SER_LIBPATH = 0x02, /* Directory from LD_LIBRARY_PATH. */ - LA_SER_RUNPATH = 0x04, /* Directory from RPATH/RUNPATH. */ - LA_SER_CONFIG = 0x08, /* Found through ldconfig. */ - LA_SER_DEFAULT = 0x40, /* Default directory. */ - LA_SER_SECURE = 0x80 /* Unused. */ - }; - -/* Values for la_objopen return value. */ -enum - { - LA_FLG_BINDTO = 0x01, /* Audit symbols bound to this object. */ - LA_FLG_BINDFROM = 0x02 /* Audit symbols bound from this object. */ }; -/* Values for la_symbind flags parameter. */ -enum - { - LA_SYMB_NOPLTENTER = 0x01, /* la_pltenter will not be called. */ - LA_SYMB_NOPLTEXIT = 0x02, /* la_pltexit will not be called. */ - LA_SYMB_STRUCTCALL = 0x04, /* Return value is a structure. */ - LA_SYMB_DLSYM = 0x08, /* Binding due to dlsym call. */ - LA_SYMB_ALTVALUE = 0x10 /* Value has been changed by a previous - la_symbind call. */ - }; - -#if __ELF_NATIVE_CLASS == 32 -# define symbind symbind32 -#elif __ELF_NATIVE_CLASS == 64 -# define symbind symbind64 -#else -# error "__ELF_NATIVE_CLASS must be defined" -#endif - struct dl_phdr_info { ElfW(Addr) dlpi_addr; diff --git a/include/signal.h b/include/signal.h index dc1e0a12e5..104ea8f83a 100644 --- a/include/signal.h +++ b/include/signal.h @@ -48,9 +48,6 @@ extern int __sigpause (int sig_or_mask, int is_sig); extern int __default_sigpause (int mask); extern int __xpg_sigpause (int sig); -/* Simplified sigemptyset() implementation without the parameter checking. */ -#undef __sigemptyset -#define __sigemptyset(ss) (memset (ss, '\0', sizeof (sigset_t)), 0) /* Allocate real-time signal with highest/lowest available priority. */ diff --git a/include/stub-tag.h b/include/stub-tag.h index d4d10c8341..3004d6f429 100644 --- a/include/stub-tag.h +++ b/include/stub-tag.h @@ -1,4 +1,5 @@ /* This header is included into every file that declares a stub function. - It is obsolete now, but hasn't died to avoid removing all those - #include's. Every such file should use the `stub_warning' macro for - each of its functions, and that is sufficient. */ + * The build process looks for this header in .d files to decide whether + * or not it needs to scan the corresponding .c file for entries to add to + * <gnu/stubs.h>. + */ diff --git a/include/stubs-biarch.h b/include/stubs-biarch.h deleted file mode 100644 index fc086bd894..0000000000 --- a/include/stubs-biarch.h +++ /dev/null @@ -1,12 +0,0 @@ -/* This file selects the right generated file of `__stub_FUNCTION' macros - based on the architecture being compiled for. */ - -#include <bits/wordsize.h> - -#if __WORDSIZE == 32 -# include <gnu/stubs-32.h> -#elif __WORDSIZE == 64 -# include <gnu/stubs-64.h> -#else -# error "unexpected value for __WORDSIZE macro" -#endif |