wine modules
Alex Henrie
alexhenrie24 at gmail.com
Mon Apr 18 11:33:01 CDT 2022
On Thu, Apr 14, 2022 at 9:26 AM Eric Pouech <eric.pouech at orange.fr> wrote:
>
> I tried to write down what I grasped for the current modules' evolution
>
> since there's always questions floating around this subject, might be worthwhile to document it a bit
Thank you very much for the documentation! Please be sure to put it on the wiki.
> Currently, the 32 <> 64 bit is still duplicated:
>
> +-----------------+ +------------------------+ +--------------------+
> | FOOBAR.dll (PE) | | FOOBAR.so (ELF 64 bit) | -------------> | ntdll.so (64 bit) |
> | 64 bit | --------> | (unixlib 64 bit) | ELF dyn link +--------------------+
> | | | | -------------> | helper.so (64 bit) |
> +-----------------+ +------------------------+ +--------------------+
>
> +-----------------+ +------------------------+ +--------------------+
> | FOOBAR.dll (PE) | | FOOBAR.so (ELF 32 bit) | -------------> | ntdll.so (32 bit) |
> | 32 bit | --------> | (unixlib 32 bit) | ELF dyn link +--------------------+
> | | | | -------------> | helper.so (32 bit) |
> +-----------------+ +------------------------+ +--------------------+
>
> When all modules are converted to the new scheme, this shall look like:
>
> +-----------------+ +------------------------+ +--------------------+
> | FOOBAR.dll (PE) | | FOOBAR.so (ELF 64 bit) | -------------> | ntdll.so (64 bit) |
> | 64 bit | --------> | (unixlib ) | ELF dyn link +--------------------+
> | | +----> | (64 + 32 bit) | -------------> | helper.so (64 bit) |
> +-----------------+ | +------------------------+ +--------------------+
> |
> +-----------------+ |
> | FOOBAR.dll (PE) | |
> | 32 bit | ---+
> | |
> +-----------------+
>
> This will require that FOOBAR.so correctly handles the "syscall" for both 32 bit
> and 64 bit unixlib calls.
> When this is in place, no support for 32-bit .so files will be necessary (both
> the packages that provide the .so files, but also for the development packages.
This part is still confusing to me. Do any DLLs currently use the new
scheme? How can I know which of the two schemes a DLL uses?
-Alex
More information about the wine-devel
mailing list