aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #117 from dlfcn-win32/traversaro-patch-2HEADv1.4.2masterSilvio Traversaro11 days1-1/+1
|\ | | | | Fix compatibility with CMake 4.0 by bumping policy_max in cmake_minimum_required to 3.10
| * Bump policy_max in cmake_minimum_required to 3.10traversaro-patch-2Silvio Traversaro11 days1-1/+1
|/
* Merge pull request #110 from dlfcn-win32/traversaro-patch-1Silvio Traversaro2023-07-301-1/+2
|\ | | | | Add some contributors
| * Add some contributorstraversaro-patch-1Silvio Traversaro2023-05-251-1/+2
| |
* | Merge pull request #111 from pali/masterv1.4.1Silvio Traversaro2023-07-041-1/+1
|\ \ | |/ |/| Add missing check that section index in get_image_section() is valid
| * Add missing check that section index in get_image_section() is validPali Rohár2023-07-031-1/+1
|/ | | | Number is stored in NumberOfRvaAndSizes and it may be less than IMAGE_NUMBEROF_DIRECTORY_ENTRIES.
* Merge pull request #109 from dlfcn-win32/updatecontribv1.4.0Silvio Traversaro2023-05-252-12/+21
|\ | | | | Cleanup README and add CODEOWNERS file
| * Cleanup README and add CODEOWNERS fileSilvio Traversaro2023-05-252-12/+21
|/
* Merge pull request #108 from pali/masterSilvio Traversaro2023-05-251-7/+32
|\ | | | | Fix compilation with older SDK and older MSVC
| * Fix compilation with the first NT SDKPali Rohár2023-05-211-0/+13
| | | | | | | | | | First NT SDK available in the first 32-bit MSVC NT compiler does not provide some defines. Add them for compatibility.
| * Fix compilation with old MSVC compilerPali Rohár2023-05-211-0/+12
| | | | | | | | | | Old pre-4.0 MSVC does not support _ReturnAddress() intrinsic. Provide for it simple implementation via inline assembly.
| * Fix compilation with older SDKPali Rohár2023-05-211-7/+7
|/ | | | | | | | | | | | | | Do not use SIZE_T which is not defined in older SDK. There is only size_t type, so use it instead. Do not use IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR which is not defined in older SDK. Use IMAGE_NUMBEROF_DIRECTORY_ENTRIES macro for checking if directory index is valid. In all SDKs is DataDirectory[] array size defined from IMAGE_NUMBEROF_DIRECTORY_ENTRIES macro. Cast members in IMAGE_EXPORT_DIRECTORY and IMAGE_DIRECTORY_ENTRY_IMPORT to DWORD as in older SDK they are defined as PDWORD and compiler throws error 'cannot add two pointers'.
* Merge pull request #107 from driver1998/arm64Silvio Traversaro2022-12-282-2/+71
|\ | | | | Add Windows ARM64 support
| * Add Windows ARM64 supportGH Cao2022-12-272-2/+71
|/
* Merge pull request #106 from szanni/cmake-fix-wrapper-includeSilvio Traversaro2022-12-021-1/+4
|\ | | | | Fix CMake include directive when using wrappers like meson.
| * Fix CMake include directive when using wrappers like meson.Angelo Haller2022-12-011-1/+4
|/
* Merge pull request #103 from pali/masterv1.3.1Silvio Traversaro2022-04-081-2/+8
|\ | | | | Replace magic numbers by sdk macros in get_image_section()
| * Replace magic numbers by sdk macros in get_image_section()Pali Rohár2022-03-111-2/+8
|/
* Merge pull request #102 from pali/masterSilvio Traversaro2022-01-051-7/+36
|\ | | | | Prefer usage of thread-safe function SetThreadErrorMode() instead of process-global function SetErrorMode()
| * Prefer usage of thread-safe function SetThreadErrorMode() instead of ↵Pali Rohár2021-12-211-4/+33
| | | | | | | | | | | | | | process-global function SetErrorMode() Use GetProcAddress() wrapper as SetThreadErrorMode() is not available on older Windows versions.
| * Try to avoid compile warning: cast between incompatible function types from ↵Pali Rohár2021-12-211-3/+3
|/ | | | | | ‘FARPROC’ warning: cast between incompatible function types from ‘FARPROC’ {aka ‘long long int (*)()’} to ‘BOOL (*)(DWORD, const CHAR *, struct HINSTANCE__ **)’ {aka ‘int (*)(long unsigned int, const char *, struct HINSTANCE__ **)’} [-Wcast-function-type]
* Merge pull request #99 from xantares/wineSilvio Traversaro2021-04-294-25/+9
|\ | | | | cmake: use CROSSCOMPILING_EMULATOR
| * cmake: use CROSSCOMPILING_EMULATORMichel Zou2021-04-274-25/+9
| |
* | Merge pull request #96 from xantares/patch-2Silvio Traversaro2021-04-281-1/+1
|\ \ | |/ |/| CMake: Bump version
| * CMake: Bumpr versionxantares2021-04-271-1/+1
|/ | | | Silents warnings, cmake 3.2 is available in distros since many years
* Merge pull request #98 from xantares/constSilvio Traversaro2021-04-112-10/+10
|\ | | | | dladdr: const void *addr
| * dladdr: const void *addrMichel Zou2021-04-092-10/+10
|/ | | | | on unix the addr argument seems to be const fix that for consistency
* Merge pull request #95 from pali/masterv1.3.0Silvio Traversaro2021-02-242-54/+140
|\ | | | | Various fixes
| * Fix noinline for older compiler versions (e.g. Visual Studio 6.0)Pali Rohár2021-02-031-1/+11
| | | | | | | | | | | | Visual Studio 6.0 does not support __declspec(noinline) and throw error. Add checks for compilers which support noinline to prevent compile errors.
| * Define ULONG_PTR for older SDKPali Rohár2021-02-031-0/+5
| | | | | | | | | | | | If compiling with _WIN32_WINNT target prior 0x0500 then SDK does not define ULONG_PTR type. Such systems are only 32bit so define it explicitly to 32bit type ULONG.
| * Fix MSVC 14.00 compile warning: warning C4244: '=' : conversion from ↵Pali Rohár2021-02-031-1/+1
| | | | | | | | 'ULONG_PTR' to 'char', possible loss of data
| * Add helper function MyGetModuleHandleFromAddress()Pali Rohár2021-02-031-7/+57
| | | | | | | | | | | | | | | | | | | | This function implements calling GetModuleHandleExA() with correct flags to retrieve hModule from passed address. To allow compilation also with older compilers and environments (like WDK) with any _WIN32_WINNT value, retrieve pointer to this function via GetProcAddress(). And as a fallback implementation use old code via VirtualQuery() which was there prior commit 8ec5ffef2eca.
| * Fix helper function MyEnumProcessModules()Pali Rohár2021-02-031-7/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call SetErrorMode(SEM_FAILCRITICALERRORS) prior opening Psapi.dll library to avoid GUI error messages. Close Psapi.dll library via FreeLibrary() if symbol was not retrieved to prevent possible memory leaks. Try to get K32EnumProcessModules symbol from Kernel32.dll library as it is preferred way how to call EnumProcessModules() on Windows 7 and newer versions. If retrieving EnumProcessModules symbol failed with both methods then do not try it again on next MyEnumProcessModules() function call.
| * Avoid calling SetLastError() and GetLastError() internallyPali Rohár2021-02-031-22/+17
| | | | | | | | | | | | There is no need for propagating internal errors via SetLastError() and GetLastError() calls. Just use additional argument for save_err_str() function. Also dlfcn API is POSIX and does not use GetLastError().
| * Move hCurrentProc variable to scope where is usedPali Rohár2021-02-031-2/+3
| |
| * Fix some style issuesPali Rohár2021-02-032-14/+14
|/
* Merge pull request #94 from pali/dladdrSilvio Traversaro2021-02-034-65/+69
|\ | | | | dladdr() - Retrieve symbol name and address from export table
| * Remove duplicate checks for NULL pointersPali Rohár2021-01-291-4/+1
| | | | | | | | is_valid_address() already rejects NULL addresses, so there is no need to check address for NULL.
| * Remove code for finding symbol name in import tablePali Rohár2021-01-291-53/+6
| | | | | | | | | | | | It is not required as import table can use only symbols which are exported and therefore are in export table. So if symbol is not found in export table it cannot be in import table.
| * Function dladdr() now retrieve symbol name and symbol address from both ↵Pali Rohár2021-01-274-43/+97
|/ | | | | | export and import tables dladdr tests for Windows now should always pass like on other systems.
* Merge pull request #72 from rhabacker/masterSilvio Traversaro2021-01-259-44/+531
|\ | | | | Add function dladdr()
| * CI: Add static building for cmakeRalf Habacker2021-01-172-23/+70
| |
| * cmake: add support to build test-dladdr on unix like osRalf Habacker2021-01-172-12/+22
| | | | | | | | This is used to obtain test result references.
| * Add function dladdr() and associated test application test-dladdrRalf Habacker2021-01-176-9/+439
|/
* Merge pull request #93 from rhabacker/travis-cmake-supportSilvio Traversaro2020-12-221-0/+11
|\ | | | | Add cmake build support to travis CI
| * Add cmake build support to travis CIRalf Habacker2020-12-221-0/+11
|/
* Merge pull request #90 from pali/masterSilvio Traversaro2020-12-131-6/+13
|\ | | | | Rewrite function save_err_ptr_str() to not use sprintf()
| * Rewrite function save_err_ptr_str() to not use sprintf()Pali Rohár2020-12-131-6/+13
|/ | | | | | | | sprintf() is marked by MSVC as unsafe and suppressing compile warning does not work. It is still generated on AppVeyor. So rewrite code for converting pointer number to string via open coded for-loop and do not use unsafe sprintf() function anymore. New code correctly handles both 32bit and 64bit variants and does not use any #ifdef _MSC_VER anymore.
* Merge pull request #89 from pali/masterSilvio Traversaro2020-12-131-0/+1
|\ | | | | Add _CRT_SECURE_NO_WARNINGS for test.c to disable MSVC deprecation warnings
| * Add _CRT_SECURE_NO_WARNINGS for test.c to disable MSVC deprecation warningsPali Rohár2020-12-131-0/+1
|/