$ wine footgun_itanium.exe
hello kids, we are gonna shoot oursevles to the foot today!
hello from footgun_constructor, compiled at Jan 23 2026 13:37:46
shot your right leg with gnu
good bye from footgun_destructor
$ wine footgun_msvc.exe
hello kids, we are gonna shoot oursevles to the foot today!
hello from footgun_constructor, compiled at Jan 23 2026 13:37:46
shot your left leg with msvc
good bye from footgun_destructor
first EXE is compiled with MinGW, second EXE is compiled with MSVC both linked to the same DLL.
maybe you knew that, maybe not but the thing is: Itanium and MSVC ABIs are notoriously incompatible with each other. But this hack lets you export both at the same time.
here is the source code https://git.mentality.rip/a1batross/footgun or github if you really want https://github.com/a1batross/footgun
hello kids, we are gonna shoot oursevles to the foot today!
hello from footgun_constructor, compiled at Jan 23 2026 13:37:46
shot your right leg with gnu
good bye from footgun_destructor
$ wine footgun_msvc.exe
hello kids, we are gonna shoot oursevles to the foot today!
hello from footgun_constructor, compiled at Jan 23 2026 13:37:46
shot your left leg with msvc
good bye from footgun_destructor
first EXE is compiled with MinGW, second EXE is compiled with MSVC both linked to the same DLL.
maybe you knew that, maybe not but the thing is: Itanium and MSVC ABIs are notoriously incompatible with each other. But this hack lets you export both at the same time.
here is the source code https://git.mentality.rip/a1batross/footgun or github if you really want https://github.com/a1batross/footgun