Hans Leidekker wrote:
On Friday 18 November 2005 02:05, Juan Lang wrote:
Someone proposed a hack where the loader would know that these DLLs are dummies based on a wine-specific flag in the header.
Why a dummy? Why not ship a full PE DLL with a flag saying it's a built-in? That way file existence checks, PE header checks, LOAD_LIBRARY_AS_DATA_FILE, resource scraping, even some copy protection checks, etc. could all work.
that's not that easy. using .so file allows you to (without pain): - handle relocation in memory - resolve dependencies to other .so libraries If you'd have to store the equivalent of the .so file as a binary array in a PE file, you'll have to sort this out by hand (so more or less write a full ELF loader).
Last but not least, moving to a full PE file for our builtin DLLs is not easily possible, especially because of the way we handle NE modules.
A+