rui314 / mold

Mold: A Modern Linker 🦠
MIT License
14.31k stars 470 forks source link

Solutions for ```__wine_spec_nt_header```? #1329

Open trcrsired opened 2 months ago

trcrsired commented 2 months ago

Wine has this special __wine_spec_nt_header

https://github.com/wine-mirror/wine/blob/master/tools/winebuild/spec32.c#L738

is that possible to make the elf linker to print this out so that we can easily build linux .so that can be used in wine PE environment?

rui314 commented 2 months ago

Can you explain a little bit more about what you want to do? I know about PE but I'm not a Wine expert. I have no idea what __wine_spec_nt_header is.

PE and ELF are quite different, and it is not easy to convert a Linux .so to a PE file.

trcrsired commented 2 months ago

Can you explain a little bit more about what you want to do? I know about PE but I'm not a Wine expert. I have no idea what __wine_spec_nt_header is.

PE and ELF are quite different, and it is not easy to convert a Linux .so to a PE file.

It emits some pesudo PE metadata (like DOS header PE header) into ELF binary as a symbol for ELF binary. The wine loader uses dlopen to open so and calls into the UNIX side.