diff options
author | kib <kib@FreeBSD.org> | 2012-04-30 13:29:21 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-04-30 13:29:21 +0000 |
commit | 8de997e0528cf3b3d79049e6a2e6901bd746a076 (patch) | |
tree | 681fef8aca874b75de3886c0099dcde0d9ea3a45 /libexec/rtld-elf/rtld.h | |
parent | ad64077869a527becbbbfbd77ec33f4246f66797 (diff) | |
download | FreeBSD-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.h | 6 |
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 /* |