• Show log

    Commit

  • Hash : 63d7bda4
    Author : Pali Rohár
    Date : 2019-01-29T22:57:04

    Implement support for dlsym() with RTLD_DEFAULT and RTLD_NEXT dlsym() with RTLD_DEFAULT handle behaves in same way like with global handle returned by dlopen() with NULL file name. dlsym() with RTLD_NEXT handle search for next loaded module which provides specified symbol. "Next" means module which in EnumProcessModules() result after the module which called dlsym(). To get caller function of dlsym() use _ReturnAddress() intrinsic. To get module where is caller function use the fact that HMODULE is the same value as the module's base address. When compiling under gcc, defines _ReturnAddress() macro via gcc's builtin as it does not provide MSC's specific _ReturnAddress() intrinsic. Added tests demonstrate that both RTLD_DEFAULT and RTLD_NEXT are working as expected.

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/dlfcn-win32.git
    Git SSH git@git.kmx.io:kc3-lang/dlfcn-win32.git
    Public access ? public
    Description
    Users
    thodg_w thodg_m thodg_l kc3_lang_org thodg www_kmx_io
    Tags