<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dlfcn-win32/src, branch fixpatches</title>
<subtitle>A mirror of https://github.com/dlfcn-win32/dlfcn-win32.git
</subtitle>
<id>https://git.lua4.win/dlfcn-win32/atom?h=fixpatches</id>
<link rel='self' href='https://git.lua4.win/dlfcn-win32/atom?h=fixpatches'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/dlfcn-win32/'/>
<updated>2025-05-03T10:30:48+00:00</updated>
<entry>
<title>For non-debug DLL builds avoid linking to CRT library as it is not needed</title>
<updated>2025-05-03T10:30:48+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali.rohar@gmail.com</email>
</author>
<published>2024-11-21T00:52:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/dlfcn-win32/commit/?id=529de2d3d04a41f869dd4803404cd763b9e8f72c'/>
<id>urn:sha1:529de2d3d04a41f869dd4803404cd763b9e8f72c</id>
<content type='text'>
Now when dlfcn.c does not call any function from CRT library, it is not
needed to link dlfcn library with some specific CRT library (e.g.
crtdll.dll, msvcrt.dll, msvcr120.dll or api-ms-win-crt-*.dll) and therefore
bound the dlfcn DLL library to specific Visual C++ runtime version.

This makes libdl.dll DLL library CRT-neutral and therefore can be used or
linked into any EXE application using any CRT library of any version,
without any Visual C++ runtime version conflict.
</content>
</entry>
<entry>
<title>Ensure that dlfcn-win32 library compiled by msvc links LIBC library when calling _alloca</title>
<updated>2025-05-03T10:30:48+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali.rohar@gmail.com</email>
</author>
<published>2024-11-22T22:46:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/dlfcn-win32/commit/?id=77152633a5d3d151107ce9a7b876747bce83c8d3'/>
<id>urn:sha1:77152633a5d3d151107ce9a7b876747bce83c8d3</id>
<content type='text'>
Usage of _alloca emits __alloca_probe call by msvc compiler which is
present in msvc LIBC library. So when _alloca is used then force linker to
include LIBC library. Correct name of the LIBC library is determined by
_DLL, _MT and _DEBUG preprocessor macros.
</content>
</entry>
<entry>
<title>Ensure that dlfcn-win32 library compiled by msvc always links to kernel32.dll</title>
<updated>2025-05-03T10:30:48+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali.rohar@gmail.com</email>
</author>
<published>2024-11-21T00:53:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/dlfcn-win32/commit/?id=664f8812d5ab4757bc31c7542276db6f5eb58189'/>
<id>urn:sha1:664f8812d5ab4757bc31c7542276db6f5eb58189</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Do not define MyAlloc and MyFree as functions</title>
<updated>2025-05-03T10:30:48+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali.rohar@gmail.com</email>
</author>
<published>2024-11-23T17:52:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/dlfcn-win32/commit/?id=86224c8c4a7eaeeaa8b52ac3d6ba4260804b131f'/>
<id>urn:sha1:86224c8c4a7eaeeaa8b52ac3d6ba4260804b131f</id>
<content type='text'>
It breaks memory allocation file name and line number tracking.

Also it breaks detection of the source of memory leaks printed by the
_CrtDumpMemoryLeaks() function.
</content>
</entry>
<entry>
<title>Replace CRT's strlen() and memcpy() by open coded variants</title>
<updated>2025-04-28T12:49:51+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali.rohar@gmail.com</email>
</author>
<published>2024-03-29T14:52:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/dlfcn-win32/commit/?id=3e9bfa7d9dd0e8f4a846d45261df1dcb838b60d8'/>
<id>urn:sha1:3e9bfa7d9dd0e8f4a846d45261df1dcb838b60d8</id>
<content type='text'>
After this change there is no usage of of CRT library function. This allows
to build CRT-neutral variant of libdl.dll library, which can be used in any
application.
</content>
</entry>
<entry>
<title>Replace CRT's malloc() and free() by WinAPI's LocalAlloc() and LocalFree() in release mode</title>
<updated>2025-04-28T12:49:51+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali.rohar@gmail.com</email>
</author>
<published>2024-03-22T00:53:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/dlfcn-win32/commit/?id=f87cc876be9b450d3491a174b8c673d918ec5daf'/>
<id>urn:sha1:f87cc876be9b450d3491a174b8c673d918ec5daf</id>
<content type='text'>
In debug mode is still used malloc() and free() for as part of memory leak
testing done by _CRTDBG_MAP_ALLOC and _CrtDumpMemoryLeaks() in test.c.

This change allows to wrap CRT's malloc() via dlsym's RTLD_NEXT.

See #112
</content>
</entry>
<entry>
<title>Fix includes</title>
<updated>2025-04-28T12:49:51+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali.rohar@gmail.com</email>
</author>
<published>2024-03-22T00:35:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/dlfcn-win32/commit/?id=8c28ff3b85f87ae9cb645fed9ec2d146b3059e7a'/>
<id>urn:sha1:8c28ff3b85f87ae9cb645fed9ec2d146b3059e7a</id>
<content type='text'>
* Remove unused include stdio.h
* Add used include string.h
* Add reason comments for includes
</content>
</entry>
<entry>
<title>Do not cast between function pointer and data pointer when not required</title>
<updated>2025-04-28T12:49:51+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali.rohar@gmail.com</email>
</author>
<published>2024-09-16T21:59:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/dlfcn-win32/commit/?id=e0520e25643b51e69aa78e5944cdf2853323b06a'/>
<id>urn:sha1:e0520e25643b51e69aa78e5944cdf2853323b06a</id>
<content type='text'>
This is undefined in C and also C++. Both gcc and msvc allows to cast
between two incompatible function pointers without triggering warnings
transitionally via void(*)(void) function pointer. Replace transitional
LPVOID cast by void(*)(void) cast.
</content>
</entry>
<entry>
<title>Fix compile warning: comparison of integer expressions of different signedness: ‘int’ and ‘DWORD’ {aka ‘long unsigned int’}</title>
<updated>2025-04-28T12:49:51+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali.rohar@gmail.com</email>
</author>
<published>2024-03-29T14:54:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/dlfcn-win32/commit/?id=5a4d701248f88fb1a6f66932c58d73e74dfadbd9'/>
<id>urn:sha1:5a4d701248f88fb1a6f66932c58d73e74dfadbd9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix compile warning C4244: '=' : conversion from 'int' to 'char', possible loss of data</title>
<updated>2025-04-28T12:49:51+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali.rohar@gmail.com</email>
</author>
<published>2024-03-29T16:05:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/dlfcn-win32/commit/?id=34238cbb5aabda6f1d9a605cc6ef06a1d831bd25'/>
<id>urn:sha1:34238cbb5aabda6f1d9a605cc6ef06a1d831bd25</id>
<content type='text'>
</content>
</entry>
</feed>
