@ stdcall _onexit() msvcrt._onexit
@ stdcall _purecall() msvcrt._purecall
@ stdcall _time64() msvcrt._time64
-@ extern -arch=arm64,i386,arm atexit msvcrt._imp__atexit
-@ extern -arch=x86_64 atexit msvcrt.__imp_atexit
+@ extern -stub atexit msvcrt.atexit # the -stub is a HACK to fix VS < 2017 build!
@ stdcall exit() msvcrt.exit
@ stub hgets
@ stub hwprintf
@ stub _mbbtombc_l
@ stdcall _mbbtype() msvcrt._mbbtype
@ stub _mbbtype_l
-@ extern -arch=arm64,i386,arm _mbcasemap msvcrt._imp___mbcasemap
-@ extern -arch=x86_64 _mbcasemap msvcrt.__imp__mbcasemap
+@ extern -stub _mbcasemap msvcrt._mbcasemap # the -stub is a HACK to fix VS < 2017 build!
@ stdcall _mbccpy() msvcrt._mbccpy
@ stub _mbccpy_l
@ stub _mbccpy_s
arch = self.arch
if self.callconv == 'extern':
args = ''
- callconv = 'extern'
- if arch.has(Arch.x86_64):
- fwd = '{}.__imp_{}'.format(*self._forwarder)
- self.arch = arch - Arch(Arch.x86_64)
- estimate_size += self.write(spec_file)
- self.arch = arch
- arch = Arch(Arch.x86_64)
- else:
- fwd = '{}._imp__{}'.format(*self._forwarder)
+ callconv = 'extern -stub' # HACK
+ fwd += ' # the -stub is a HACK to fix VS < 2017 build!'
if arch != Arch(Arch.Any):
opts = '{} -arch={}'.format(opts, arch.to_str())
spec_file.write('{ord} {cc}{opts} {name}{args} {fwd}{nl}'.format(ord=self._ord,