diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-12-31 10:21:50 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-12-31 10:21:50 +0100 |
| commit | bd4c74221285e438616a25ddd0736339957a069b (patch) | |
| tree | bb1e9b15a72e1469dbdb6ed134df8cd6b8612a39 /src | |
| parent | c821fd938c26348165844653868b986ca37c1c2a (diff) | |
| download | box64-bd4c74221285e438616a25ddd0736339957a069b.tar.gz box64-bd4c74221285e438616a25ddd0736339957a069b.zip | |
Added empty wrapped _dl_find_object function (for #487, probably other too, but not sure it's enough)
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 1 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibdltypes.h | 1 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibdl.c | 15 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibdl_private.h | 1 |
4 files changed, 18 insertions, 0 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index e5032981..87ec1b7f 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -3196,6 +3196,7 @@ wrappedlibdl: - pFv: - dlerror - iFpp: + - _dl_find_object - dladdr - pFpi: - dlopen diff --git a/src/wrapped/generated/wrappedlibdltypes.h b/src/wrapped/generated/wrappedlibdltypes.h index 0c448396..4d6d208e 100644 --- a/src/wrapped/generated/wrappedlibdltypes.h +++ b/src/wrapped/generated/wrappedlibdltypes.h @@ -24,6 +24,7 @@ typedef int64_t (*iFpppi_t)(void*, void*, void*, int64_t); #define SUPER() ADDED_FUNCTIONS() \ GO(dlclose, iFp_t) \ GO(dlerror, pFv_t) \ + GO(_dl_find_object, iFpp_t) \ GO(dladdr, iFpp_t) \ GO(dlopen, pFpi_t) \ GO(dlsym, pFpp_t) \ diff --git a/src/wrapped/wrappedlibdl.c b/src/wrapped/wrappedlibdl.c index a71ef4fc..62fce387 100755 --- a/src/wrapped/wrappedlibdl.c +++ b/src/wrapped/wrappedlibdl.c @@ -478,6 +478,21 @@ int my_dlinfo(x64emu_t* emu, void* handle, int request, void* info) return -1; } +typedef struct my_dl_find_object_s { + uint64_t dlfo_flags; + void* dlfo_map_start; + void* dlfo_map_end; + struct link_map *dlf_link_map; + void* dlfo_eh_frame; + // other stuff... +} my_dl_find_object_t; + +EXPORT int my__dl_find_object(x64emu_t* emu, void* addr, my_dl_find_object_t* result) +{ + printf_log(LOG_INFO, "Unimplemented _dl_find_object called\n"); + return -1; +} + #define CUSTOM_INIT\ if(!box64_isglibc234) setNeededLibs(lib, 1, "libc.so.6"); diff --git a/src/wrapped/wrappedlibdl_private.h b/src/wrapped/wrappedlibdl_private.h index 4753af0b..f547ffb9 100755 --- a/src/wrapped/wrappedlibdl_private.h +++ b/src/wrapped/wrappedlibdl_private.h @@ -10,5 +10,6 @@ GOM(dlmopen, pFEppi) GOM(dlopen, pFEpi) GOM(dlsym, pFEpp) GOM(dlvsym, pFEppp) // Weak +GOM(_dl_find_object, iFEpp) #endif |