[APISETS] Fix data forwarding. 511/head
authorMark Jansen <mark.jansen@reactos.org>
Sat, 21 Apr 2018 16:55:57 +0000 (18:55 +0200)
committerMark Jansen <mark.jansen@reactos.org>
Sat, 21 Apr 2018 16:56:33 +0000 (18:56 +0200)
Thanks to Timo for the help :)

dll/apisets/api-ms-win-core-crt-l2-1-0.spec
dll/apisets/api-ms-win-crt-multibyte-l1-1-0.spec
dll/apisets/update.py

index 68cf57d..3acd1f5 100644 (file)
@@ -13,8 +13,7 @@
 @ 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
index e723f9d..3e169a7 100644 (file)
@@ -69,8 +69,7 @@
 @ 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
index dc14a16..0591553 100644 (file)
@@ -247,15 +247,8 @@ class SpecEntry(object):
             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,