summaryrefslogtreecommitdiff
path: root/ldso/include/dl-hash.h
diff options
context:
space:
mode:
authorBernd Schmidt <bernds_cb1@t-online.de>2007-12-03 22:54:16 +0000
committerBernd Schmidt <bernds_cb1@t-online.de>2007-12-03 22:54:16 +0000
commit95586b5663e51548e91fdbde34037886fb1eb07c (patch)
treed29cf66e07de417b715e84cbd04e4b38f0f96c40 /ldso/include/dl-hash.h
parent3d2a55e7a31cbb50ca1677d09791ca147368b62a (diff)
Blackfin FD-PIC patch 3/6.
Change _dl_find_hash to _dl_lookup_hash, as on the NPTL branch. _dl_find_hash is now a wrapper function around it; unlike on the NPTL branch, it retains the old interface so that not all callers need to be changed. _dl_lookup_hash can optionally give its caller a pointer to the module where the symbol was found. Introduce ELF_RTYPE_CLASS_DLSYM for lookups from libdl. Spelling fixes in the Blackfin port, since Alex Oliva's original version of these patches used _dl_find_hash_mod as the name of the function rather than _dl_lookup_hash.
Diffstat (limited to 'ldso/include/dl-hash.h')
-rw-r--r--ldso/include/dl-hash.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/ldso/include/dl-hash.h b/ldso/include/dl-hash.h
index 5239467c1..e5f9f8806 100644
--- a/ldso/include/dl-hash.h
+++ b/ldso/include/dl-hash.h
@@ -105,8 +105,22 @@ extern struct elf_resolve * _dl_add_elf_hash_table(const char * libname,
DL_LOADADDR_TYPE loadaddr, unsigned long * dynamic_info,
unsigned long dynamic_addr, unsigned long dynamic_size);
-extern char * _dl_find_hash(const char * name, struct dyn_elf * rpnt1,
- struct elf_resolve *mytpnt, int type_class);
+extern char * _dl_lookup_hash(const char * name, struct dyn_elf * rpnt,
+ struct elf_resolve *mytpnt, int type_class
+#ifdef __FDPIC__
+ , struct elf_resolve **tpntp
+#endif
+ );
+
+static __always_inline char *_dl_find_hash(const char *name, struct dyn_elf *rpnt,
+ struct elf_resolve *mytpnt, int type_class)
+{
+#ifdef __FDPIC__
+ return _dl_lookup_hash(name, rpnt, mytpnt, type_class, NULL);
+#else
+ return _dl_lookup_hash(name, rpnt, mytpnt, type_class);
+#endif
+}
extern int _dl_linux_dynamic_link(void);