diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-07-15 16:57:57 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-07-15 16:57:57 +0200 |
| commit | 0b3097cd0b15eedd3e33ae2331f32fc261ee1231 (patch) | |
| tree | 3f2034d75b595670e68971d0c9dc125000960da4 /src/librarian | |
| parent | c7e0ba82b4a586fed8f4d45acd0c774ddf0f777b (diff) | |
| download | box64-0b3097cd0b15eedd3e33ae2331f32fc261ee1231.tar.gz box64-0b3097cd0b15eedd3e33ae2331f32fc261ee1231.zip | |
[ELFLOADER] Reworked R_X86_64_COPY and R_X86_64_GLOB_DAT handling, improving c++ program compatibility
Diffstat (limited to 'src/librarian')
| -rwxr-xr-x | src/librarian/librarian.c | 4 |
1 files changed, 4 insertions, 0 deletions
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) |