From: Max Qian Subject: [PATCH 1/2] Update make_specfiles to handle ucrtbase's _o_* functions Message-Id: <20170621224748.4016-1-public@maxqia.com> Date: Wed, 21 Jun 2017 15:47:47 -0700 Helps fix https://bugs.winehq.org/show_bug.cgi?id=38960 I'm 99% sure that all of them redirect to the non _o_ functions, and this is required to get Steam working with Windows <=7 mode. Signed-off-by: Max Qian --- tools/make_specfiles | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tools/make_specfiles b/tools/make_specfiles index ca620da8e6..ec2bb75ac9 100755 --- a/tools/make_specfiles +++ b/tools/make_specfiles @@ -53,6 +53,10 @@ my @dll_groups = ], [ "ucrtbase", + "ucrtbase", # part of a recursive hack + ], + [ + "ucrtbase", "api-ms-win-crt-conio-l1-1-0", "api-ms-win-crt-convert-l1-1-0", "api-ms-win-crt-environment-l1-1-0", @@ -459,8 +463,18 @@ sub update_spec_file($) goto done; } - my %parent = %{$funcs{$func}}; - goto done if $parent{spec} eq $descr{spec}; # the definition is in this spec file + my $find = $func; + my $recursive = 0; + if ($name eq "ucrtbase") # recursive hack + { + if ($find =~ m/_o_/) + { + $find =~ s/_o_//; + $recursive = 1; + } + } + my %parent = %{$funcs{$find}}; + goto done if not $recursive and $parent{spec} eq $descr{spec}; # the definition is in this spec file goto done if $descr{comment} && $descr{comment} =~ /don't forward/; if ($descr{callconv} ne "stub" && $descr{target} !~ /\./ && !$commented_out) { -- 2.13.1