X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Facess2.git;a=blobdiff_plain;f=AcessNative%2Fld-acess_src%2Fbinary.c;fp=AcessNative%2Fld-acess_src%2Fbinary.c;h=738c6e819c77966fd36e33647af012883c3ab399;hp=59be8295b63de629475a262683053247629ccb20;hb=845b6f9d90bb87b5e760e4d49aa93b0e003ab750;hpb=67a7fe2bb79eceaf10c572a99bd8345c4e81cf5b diff --git a/AcessNative/ld-acess_src/binary.c b/AcessNative/ld-acess_src/binary.c index 59be8295..738c6e81 100644 --- a/AcessNative/ld-acess_src/binary.c +++ b/AcessNative/ld-acess_src/binary.c @@ -6,6 +6,7 @@ * - Provides binary loading and type abstraction */ #define DEBUG 0 +#define _POSIX_C_SOURCE 200809L // needed for strdup #include "common.h" #include #include @@ -228,7 +229,7 @@ void Binary_SetReadyToUse(void *Base) } } -int Binary_GetSymbol(const char *SymbolName, uintptr_t *Value, size_t *Size) +int Binary_GetSymbol(const char *SymbolName, uintptr_t *Value, size_t *Size, void *IgnoreBase) { int i; tBinary *bin; @@ -251,6 +252,7 @@ int Binary_GetSymbol(const char *SymbolName, uintptr_t *Value, size_t *Size) // Search list of loaded binaries for(bin = gLoadedBinaries; bin; bin = bin->Next) { + if( bin->Base == IgnoreBase ) continue ; if( !bin->Ready ) continue; //printf(" Binary_GetSymbol: bin = %p{%p, %s}\n", bin, bin->Base, bin->Path); if( bin->Format->GetSymbol(bin->Base, (char*)SymbolName, Value, Size) )