X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/blobdiff_plain/635c1f0a014ed5de1067f09fd55d52994994ef3f..139b8f347ceba2084f3ddc60686bf4819ecb612d:/libexec/rtld-elf/rtld.h diff --git a/libexec/rtld-elf/rtld.h b/libexec/rtld-elf/rtld.h index 7e0b9a4860..631b8989de 100644 --- a/libexec/rtld-elf/rtld.h +++ b/libexec/rtld-elf/rtld.h @@ -23,7 +23,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/libexec/rtld-elf/rtld.h,v 1.15.2.6 2003/02/20 20:42:46 kan Exp $ - * $DragonFly: src/libexec/rtld-elf/rtld.h,v 1.11 2005/05/11 19:47:06 dillon Exp $ */ #ifndef RTLD_H /* { */ @@ -57,8 +56,6 @@ extern size_t tls_static_space; extern int tls_dtv_generation; extern int tls_max_index; -extern Elf_Addr _GLOBAL_OFFSET_TABLE_[]; - struct stat; struct Struct_Obj_Entry; @@ -112,8 +109,8 @@ typedef struct Struct_Obj_Entry { * These two items have to be set right for compatibility with the * original ElfKit crt1.o. */ - Elf_Word magic; /* Magic number (sanity check) */ - Elf_Word version; /* Version number of struct format */ + Elf_Size magic; /* Magic number (sanity check) */ + Elf_Size version; /* Version number of struct format */ struct Struct_Obj_Entry *next; char *path; /* Pathname of underlying file (%) */ @@ -155,9 +152,9 @@ typedef struct Struct_Obj_Entry { const char *strtab; /* String table */ unsigned long strsize; /* Size in bytes of string table */ - const Elf_Addr *buckets; /* Hash table buckets array */ + const Elf_Hashelt *buckets; /* Hash table buckets array */ unsigned long nbuckets; /* Number of buckets */ - const Elf_Addr *chains; /* Hash table chain array */ + const Elf_Hashelt *chains; /* Hash table chain array */ unsigned long nchains; /* Number of chains */ const char *rpath; /* Search path specified in object */ @@ -181,6 +178,7 @@ typedef struct Struct_Obj_Entry { Objlist dagmembers; /* DAG has these members (%) */ dev_t dev; /* Object's filesystem's device */ ino_t ino; /* Object's inode number */ + void *priv; /* Platform-dependant */ } Obj_Entry; #define RTLD_MAGIC 0xd550b87a @@ -207,11 +205,14 @@ void dump_obj_relocations(Obj_Entry *); void dump_Elf_Rel(Obj_Entry *, const Elf_Rel *, u_long); void dump_Elf_Rela(Obj_Entry *, const Elf_Rela *, u_long); +extern Elf_Addr _GLOBAL_OFFSET_TABLE_[]; + /* * Function declarations. */ const char *basename(const char *); int do_copy_relocations(Obj_Entry *); + unsigned long elf_hash(const char *); const Elf_Sym *find_symdef(unsigned long, const Obj_Entry *, const Obj_Entry **, bool, SymCache *); @@ -233,4 +234,5 @@ void *allocate_module_tls(int); bool allocate_tls_offset(Obj_Entry *); void free_tls_offset(Obj_Entry *); void allocate_initial_tls(Obj_Entry *); + #endif /* } */