From 0b3097cd0b15eedd3e33ae2331f32fc261ee1231 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 15 Jul 2023 16:57:57 +0200 Subject: [ELFLOADER] Reworked R_X86_64_COPY and R_X86_64_GLOB_DAT handling, improving c++ program compatibility --- src/librarian/librarian.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/librarian') diff --git a/src/librarian/librarian.c b/src/librarian/librarian.c index 8ed3fe8b..5de70936 100755 --- a/src/librarian/librarian.c +++ b/src/librarian/librarian.c @@ -590,6 +590,10 @@ int GetGlobalNoWeakSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* st { int weak = 0; size_t size = 0; + // check global GLOB_DAT kind of symbols + if(GetSymbolStartEnd(GetGlobalData(maplib), name, start, end, version, vername, 1, defver)) + if(*start || *end) + return 1; // check with default version... if(GetSymbolStartEnd(GetMapSymbols(my_context->elfs[0]), name, start, end, version, vername, 1, defver)) if(*start || *end) -- cgit 1.4.1