diff options
author | Mystery Man <unknown@mandriva.org> | 2001-05-14 14:17:54 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2001-05-14 14:17:54 +0000 |
commit | 16984701aa5165b77f229cc318e8025ee8cf81b5 (patch) | |
tree | 923ed2780582f751b2be106641be35cf71fedd66 /mdk-stage1/dietlibc/libdl/_dl_int.h | |
parent | c5050eb3ba91cf0eab748b773dcbb34b88ae88bc (diff) | |
download | drakx-backup-do-not-use-16984701aa5165b77f229cc318e8025ee8cf81b5.tar drakx-backup-do-not-use-16984701aa5165b77f229cc318e8025ee8cf81b5.tar.gz drakx-backup-do-not-use-16984701aa5165b77f229cc318e8025ee8cf81b5.tar.bz2 drakx-backup-do-not-use-16984701aa5165b77f229cc318e8025ee8cf81b5.tar.xz drakx-backup-do-not-use-16984701aa5165b77f229cc318e8025ee8cf81b5.zip |
This commit was manufactured by cvs2svn to create branch 'dietlibc'.topic/dietlibc
Diffstat (limited to 'mdk-stage1/dietlibc/libdl/_dl_int.h')
-rw-r--r-- | mdk-stage1/dietlibc/libdl/_dl_int.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/libdl/_dl_int.h b/mdk-stage1/dietlibc/libdl/_dl_int.h new file mode 100644 index 000000000..659e6ee0f --- /dev/null +++ b/mdk-stage1/dietlibc/libdl/_dl_int.h @@ -0,0 +1,31 @@ +#ifndef ___DL_INT_H__ +#define ___DL_INT_H__ + +#include <elf.h> + +struct _dl_handle { + /* basic */ + void * mem_base; /* base address of maped *.so */ + unsigned long mem_size; /* len of mem block */ + unsigned int lnk_count; /* reference count */ + + /* symbol resolve helper */ + unsigned long*hash_tab; /* hash table */ + Elf32_Sym * dyn_sym_tab; /* dynamic symbol table */ + char * dyn_str_tab; /* dyn_name table */ + + Elf32_Rel * plt_rel; /* PLT relocation table */ + + /* FINI */ + void (*fini)(void); +}; + +#define HASH_BUCKET_LEN(p) ((p)) +#define HASH_BUCKET(p) ((p)+2) + +#define HASH_CHAIN_LEN(p) ((p)+1) +#define HASH_CHAIN(p) ((p)+2+HASH_BUCKET_LEN(p)) + +unsigned long elf_hash(const unsigned char *name); + +#endif |