summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libdl/_dl_int.h
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2001-05-14 14:17:54 +0000
committerMystery Man <unknown@mandriva.org>2001-05-14 14:17:54 +0000
commit16984701aa5165b77f229cc318e8025ee8cf81b5 (patch)
tree923ed2780582f751b2be106641be35cf71fedd66 /mdk-stage1/dietlibc/libdl/_dl_int.h
parentc5050eb3ba91cf0eab748b773dcbb34b88ae88bc (diff)
downloaddrakx-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.h31
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