summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/rtld.h
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-04-30 13:29:21 +0000
committerkib <kib@FreeBSD.org>2012-04-30 13:29:21 +0000
commit8de997e0528cf3b3d79049e6a2e6901bd746a076 (patch)
tree681fef8aca874b75de3886c0099dcde0d9ea3a45 /libexec/rtld-elf/rtld.h
parentad64077869a527becbbbfbd77ec33f4246f66797 (diff)
downloadFreeBSD-src-8de997e0528cf3b3d79049e6a2e6901bd746a076.zip
FreeBSD-src-8de997e0528cf3b3d79049e6a2e6901bd746a076.tar.gz
Split the symlook_obj1 into a loop iterating over the ELF object symbol
hash elements, and a helper matched_symbol() which match the given hash entry and request, performing needed type and version checks. Based on dragonflybsd support for GNU hash by John Marino <draco marino st> Reviewed by: kan Tested by: bapt MFC after: 2 weeks
Diffstat (limited to 'libexec/rtld-elf/rtld.h')
-rw-r--r--libexec/rtld-elf/rtld.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libexec/rtld-elf/rtld.h b/libexec/rtld-elf/rtld.h
index 6017957..314e522 100644
--- a/libexec/rtld-elf/rtld.h
+++ b/libexec/rtld-elf/rtld.h
@@ -126,6 +126,12 @@ typedef struct Struct_Ver_Entry {
const char *file;
} Ver_Entry;
+typedef struct Struct_Sym_Match_Result {
+ const Elf_Sym *sym_out;
+ const Elf_Sym *vsymp;
+ int vcount;
+} Sym_Match_Result;
+
#define VER_INFO_HIDDEN 0x01
/*
OpenPOWER on IntegriCloud