Rebase against 152b24015308286441399f9fc2be57213c762c7a.

This commit is contained in:
Sebastian Lackner 2017-01-27 23:24:02 +01:00
parent a6c14e35e7
commit 4a6f3210c9
9 changed files with 4 additions and 303 deletions

View File

@ -1,123 +0,0 @@
From e5645a1c812b49838249db23391d22384031d7ec Mon Sep 17 00:00:00 2001
From: Daniel Lehman <dlehman@esri.com>
Date: Fri, 13 Jan 2017 09:48:05 -0800
Subject: [PATCH v2] msvcrt: Implement nan
Windows ignores the input (https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/nan-nanf-nanl)
Visual Studio #defines NAN differently (-inf * 0) from glibc (builtin) and has different values (0xfff80... vs 0x7ff80...)
but glibc's #define NAN value matches what Windows returns for nan(), so use that
Signed-off-by: Daniel Lehman <dlehman@esri.com>
---
.../api-ms-win-crt-math-l1-1-0.spec | 6 +++---
dlls/msvcr120/msvcr120.spec | 6 +++---
dlls/msvcr120_app/msvcr120_app.spec | 6 +++---
dlls/msvcrt/math.c | 25 ++++++++++++++++++++++
dlls/ucrtbase/ucrtbase.spec | 6 +++---
5 files changed, 37 insertions(+), 12 deletions(-)
diff --git a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
index 6a311971aff..8ff4c58c36a 100644
--- a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
@@ -288,9 +288,9 @@
@ cdecl lroundl(double) ucrtbase.lroundl
@ cdecl modf(double ptr) ucrtbase.modf
@ cdecl -arch=arm,x86_64 modff(float ptr) ucrtbase.modff
-@ stub nan
-@ stub nanf
-@ stub nanl
+@ cdecl nan(str) ucrtbase.nan
+@ cdecl nanf(str) ucrtbase.nanf
+@ cdecl nanl(str) ucrtbase.nanl
@ cdecl nearbyint(double) ucrtbase.nearbyint
@ cdecl nearbyintf(float) ucrtbase.nearbyintf
@ cdecl nearbyintl(double) ucrtbase.nearbyintl
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index edd31e3cdbe..e38de79773d 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -2293,9 +2293,9 @@
@ cdecl memset(ptr long long) MSVCRT_memset
@ cdecl modf(double ptr) MSVCRT_modf
@ cdecl -arch=arm,x86_64 modff(float ptr) MSVCRT_modff
-@ stub nan
-@ stub nanf
-@ stub nanl
+@ cdecl nan(str) MSVCR120_nan
+@ cdecl nanf(str) MSVCR120_nanf
+@ cdecl nanl(str) MSVCR120_nanl
@ cdecl nearbyint(double) MSVCRT_nearbyint
@ cdecl nearbyintf(float) MSVCRT_nearbyintf
@ cdecl nearbyintl(double) MSVCRT_nearbyint
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index 3c1c343521a..e6ab0f73caa 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -1956,9 +1956,9 @@
@ cdecl memset(ptr long long) msvcr120.memset
@ cdecl modf(double ptr) msvcr120.modf
@ cdecl -arch=arm,x86_64 modff(float ptr) msvcr120.modff
-@ stub nan
-@ stub nanf
-@ stub nanl
+@ cdecl nan(str) msvcr120.nan
+@ cdecl nanf(str) msvcr120.nanf
+@ cdecl nanl(str) msvcr120.nanl
@ cdecl nearbyint(double) msvcr120.nearbyint
@ cdecl nearbyintf(float) msvcr120.nearbyintf
@ cdecl nearbyintl(double) msvcr120.nearbyintl
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
index 6880d6ce0ab..323b6668c31 100644
--- a/dlls/msvcrt/math.c
+++ b/dlls/msvcrt/math.c
@@ -2901,3 +2901,28 @@ LDOUBLE CDECL MSVCR120_lgammal(LDOUBLE x)
{
return MSVCR120_lgamma(x);
}
+
+/*********************************************************************
+ * nan (MSVCR120.@)
+ */
+double CDECL MSVCR120_nan(const char *tagp)
+{
+ /* Windows ignores input (MSDN) */
+ return NAN;
+}
+
+/*********************************************************************
+ * nanf (MSVCR120.@)
+ */
+float CDECL MSVCR120_nanf(const char *tagp)
+{
+ return NAN;
+}
+
+/*********************************************************************
+ * nanl (MSVCR120.@)
+ */
+LDOUBLE CDECL MSVCR120_nanl(const char *tagp)
+{
+ return MSVCR120_nan(tagp);
+}
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 4cd3760f6a2..df7cc939ef7 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -2429,9 +2429,9 @@
@ cdecl memset(ptr long long) MSVCRT_memset
@ cdecl modf(double ptr) MSVCRT_modf
@ cdecl -arch=arm,x86_64 modff(float ptr) MSVCRT_modff
-@ stub nan
-@ stub nanf
-@ stub nanl
+@ cdecl nan(str) MSVCR120_nan
+@ cdecl nanf(str) MSVCR120_nanf
+@ cdecl nanl(str) MSVCR120_nanl
@ cdecl nearbyint(double) MSVCRT_nearbyint
@ cdecl nearbyintf(float) MSVCRT_nearbyintf
@ cdecl nearbyintl(double) MSVCRT_nearbyint
--
2.11.0

View File

@ -1 +0,0 @@
Fixes: Implement msvcrt.nan functions

View File

@ -1,46 +0,0 @@
From b802f2ea4ddd860efb54eb09b766f11150b172ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 28 May 2016 00:00:05 +0200
Subject: msvideo.dll16: Implement DrawDibProfileDisplay. (v2)
---
dlls/msvideo.dll16/msvideo.dll16.spec | 2 +-
dlls/msvideo.dll16/msvideo16.c | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/dlls/msvideo.dll16/msvideo.dll16.spec b/dlls/msvideo.dll16/msvideo.dll16.spec
index f45f644b419..02e2c957df7 100644
--- a/dlls/msvideo.dll16/msvideo.dll16.spec
+++ b/dlls/msvideo.dll16/msvideo.dll16.spec
@@ -35,7 +35,7 @@
111 stub DRAWDIBCHANGEPALETTE
112 pascal -ret16 DrawDibRealize(word word word) DrawDibRealize16
113 stub DRAWDIBTIME
-114 stub DRAWDIBPROFILEDISPLAY
+114 pascal -ret16 DrawDibProfileDisplay(ptr) DrawDibProfileDisplay16
115 stub STRETCHDIB
118 pascal -ret16 DrawDibStart(word long) DrawDibStart16
119 pascal -ret16 DrawDibStop(word) DrawDibStop16
diff --git a/dlls/msvideo.dll16/msvideo16.c b/dlls/msvideo.dll16/msvideo16.c
index 8f02cc1ebc8..28f126c957e 100644
--- a/dlls/msvideo.dll16/msvideo16.c
+++ b/dlls/msvideo.dll16/msvideo16.c
@@ -121,6 +121,15 @@ UINT16 VFWAPI DrawDibRealize16(HDRAWDIB16 hdd, HDC16 hdc,
}
/*************************************************************************
+ * DrawDibProfileDisplay [MSVIDEO.114]
+ */
+BOOL16 VFWAPI DrawDibProfileDisplay16(LPBITMAPINFOHEADER lpbi)
+{
+ TRACE("(%p)\n", lpbi);
+ return DrawDibProfileDisplay(lpbi);
+}
+
+/*************************************************************************
* DrawDibStart [MSVIDEO.118]
*/
BOOL16 VFWAPI DrawDibStart16(HDRAWDIB16 hdd, DWORD rate)
--
2.11.0

View File

@ -1 +0,0 @@
Fixes: [42022] Implement DrawDibProfileDisplay in msvideo.dll16

View File

@ -24,7 +24,7 @@ index 28dc60c40a2..7d6c7447d79 100644
# @ stub NtAllocateUserPhysicalPages
-@ stdcall NtAllocateUuids(ptr ptr ptr)
+@ stdcall NtAllocateUuids(ptr ptr ptr ptr)
@ stdcall NtAllocateVirtualMemory(long ptr ptr ptr long long)
@ stdcall NtAllocateVirtualMemory(long ptr long ptr long long)
@ stdcall NtAreMappedFilesTheSame(ptr ptr)
@ stdcall NtAssignProcessToJobObject(long long)
@@ -1035,7 +1035,7 @@
@ -33,7 +33,7 @@ index 28dc60c40a2..7d6c7447d79 100644
# @ stub ZwAllocateUserPhysicalPages
-@ stdcall -private ZwAllocateUuids(ptr ptr ptr) NtAllocateUuids
+@ stdcall -private ZwAllocateUuids(ptr ptr ptr ptr) NtAllocateUuids
@ stdcall -private ZwAllocateVirtualMemory(long ptr ptr ptr long long) NtAllocateVirtualMemory
@ stdcall -private ZwAllocateVirtualMemory(long ptr long ptr long long) NtAllocateVirtualMemory
@ stdcall -private ZwAreMappedFilesTheSame(ptr ptr) NtAreMappedFilesTheSame
@ stdcall -private ZwAssignProcessToJobObject(long long) NtAssignProcessToJobObject
diff --git a/dlls/ntdll/om.c b/dlls/ntdll/om.c
@ -65,7 +65,7 @@ index 62ceaceeea6..bba67d71c7d 100644
@ stdcall NtAllocateLocallyUniqueId(ptr) ntdll.NtAllocateLocallyUniqueId
-@ stdcall NtAllocateUuids(ptr ptr ptr) ntdll.NtAllocateUuids
+@ stdcall NtAllocateUuids(ptr ptr ptr ptr) ntdll.NtAllocateUuids
@ stdcall NtAllocateVirtualMemory(long ptr ptr ptr long long) ntdll.NtAllocateVirtualMemory
@ stdcall NtAllocateVirtualMemory(long ptr long ptr long long) ntdll.NtAllocateVirtualMemory
@ stub NtBuildNumber
@ stdcall NtClose(long) ntdll.NtClose
diff --git a/include/winternl.h b/include/winternl.h

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "96a48efeeade7359c8c84a8c3a0a9768fb2a6194"
echo "152b24015308286441399f9fc2be57213c762c7a"
}
# Show version information
@ -214,9 +214,7 @@ patch_enable_all ()
enable_msidb_Implementation="$1"
enable_msvcr120__SetWinRTOutOfMemoryExceptionCallback="$1"
enable_msvcrt_Math_Precision="$1"
enable_msvcrt_NAN="$1"
enable_msvfw32_ICGetDisplayFormat="$1"
enable_msvideo_dll16_DrawDibProfileDisplay="$1"
enable_msvideo16_HasThunk="$1"
enable_msxml3_AllowXsltScript="$1"
enable_ntdll_APC_Performance="$1"
@ -377,7 +375,6 @@ patch_enable_all ()
enable_vulkan_Vulkan_Implementation="$1"
enable_wbemdisp_ISWbemSecurity="$1"
enable_wbemprox_Printer="$1"
enable_wbemprox_fill_processor="$1"
enable_widl_SLTG_Typelib_Support="$1"
enable_windowscodecs_32bppGrayFloat="$1"
enable_windowscodecs_32bppPRGBA="$1"
@ -855,15 +852,9 @@ patch_enable ()
msvcrt-Math_Precision)
enable_msvcrt_Math_Precision="$2"
;;
msvcrt-NAN)
enable_msvcrt_NAN="$2"
;;
msvfw32-ICGetDisplayFormat)
enable_msvfw32_ICGetDisplayFormat="$2"
;;
msvideo.dll16-DrawDibProfileDisplay)
enable_msvideo_dll16_DrawDibProfileDisplay="$2"
;;
msvideo16-HasThunk)
enable_msvideo16_HasThunk="$2"
;;
@ -1344,9 +1335,6 @@ patch_enable ()
wbemprox-Printer)
enable_wbemprox_Printer="$2"
;;
wbemprox-fill_processor)
enable_wbemprox_fill_processor="$2"
;;
widl-SLTG_Typelib_Support)
enable_widl_SLTG_Typelib_Support="$2"
;;
@ -2055,13 +2043,6 @@ if test "$enable_windowscodecs_Palette_Images" -eq 1; then
enable_windowscodecs_32bppGrayFloat=1
fi
if test "$enable_wbemprox_Printer" -eq 1; then
if test "$enable_wbemprox_fill_processor" -gt 1; then
abort "Patchset wbemprox-fill_processor disabled, but wbemprox-Printer depends on that."
fi
enable_wbemprox_fill_processor=1
fi
if test "$enable_uxtheme_GTK_Theming" -eq 1; then
if test "$enable_ntdll_DllRedirects" -gt 1; then
abort "Patchset ntdll-DllRedirects disabled, but uxtheme-GTK_Theming depends on that."
@ -5062,19 +5043,6 @@ if test "$enable_msvcrt_Math_Precision" -eq 1; then
) >> "$patchlist"
fi
# Patchset msvcrt-NAN
# |
# | Modified files:
# | * dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec, dlls/msvcr120/msvcr120.spec,
# | dlls/msvcr120_app/msvcr120_app.spec, dlls/msvcrt/math.c, dlls/ucrtbase/ucrtbase.spec
# |
if test "$enable_msvcrt_NAN" -eq 1; then
patch_apply msvcrt-NAN/0001-msvcrt-Implement-nan.patch
(
printf '%s\n' '+ { "Daniel Lehman", "msvcrt: Implement nan.", 2 },';
) >> "$patchlist"
fi
# Patchset msvfw32-ICGetDisplayFormat
# |
# | This patchset fixes the following Wine bugs:
@ -5104,21 +5072,6 @@ if test "$enable_msvfw32_ICGetDisplayFormat" -eq 1; then
) >> "$patchlist"
fi
# Patchset msvideo.dll16-DrawDibProfileDisplay
# |
# | This patchset fixes the following Wine bugs:
# | * [#42022] Implement DrawDibProfileDisplay in msvideo.dll16
# |
# | Modified files:
# | * dlls/msvideo.dll16/msvideo.dll16.spec, dlls/msvideo.dll16/msvideo16.c
# |
if test "$enable_msvideo_dll16_DrawDibProfileDisplay" -eq 1; then
patch_apply msvideo.dll16-DrawDibProfileDisplay/0001-msvideo.dll16-Implement-DrawDibProfileDisplay.patch
(
printf '%s\n' '+ { "Michael Müller", "msvideo.dll16: Implement DrawDibProfileDisplay.", 2 },';
) >> "$patchlist"
fi
# Patchset msvideo16-HasThunk
# |
# | This patchset fixes the following Wine bugs:
@ -7773,26 +7726,8 @@ if test "$enable_wbemdisp_ISWbemSecurity" -eq 1; then
) >> "$patchlist"
fi
# Patchset wbemprox-fill_processor
# |
# | This patchset fixes the following Wine bugs:
# | * [#40392] Fix row count in fill_processor and fill_printer function
# |
# | Modified files:
# | * dlls/wbemprox/builtin.c
# |
if test "$enable_wbemprox_fill_processor" -eq 1; then
patch_apply wbemprox-fill_processor/0001-wbemprox-Only-include-matching-rows-in-the-table-row.patch
(
printf '%s\n' '+ { "Hans Leidekker", "wbemprox: Only include matching rows in the table row count.", 1 },';
) >> "$patchlist"
fi
# Patchset wbemprox-Printer
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * wbemprox-fill_processor
# |
# | This patchset fixes the following Wine bugs:
# | * [#40539] Provide DeviceID, Location and PortName for printers
# |

View File

@ -1,2 +1 @@
Fixes: [40539] Provide DeviceID, Location and PortName for printers
Depends: wbemprox-fill_processor

View File

@ -1,61 +0,0 @@
From 476ce365e5c475be94a88ef48b11f4a4191a813a Mon Sep 17 00:00:00 2001
From: Hans Leidekker <hans@codeweavers.com>
Date: Thu, 12 Jan 2017 05:29:07 +0100
Subject: wbemprox: Only include matching rows in the table row count.
---
dlls/wbemprox/builtin.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
index cf9ae5c8437..14e819e5373 100644
--- a/dlls/wbemprox/builtin.c
+++ b/dlls/wbemprox/builtin.c
@@ -2350,7 +2350,7 @@ static enum fill_status fill_printer( struct table *table, const struct expr *co
struct record_printer *rec;
enum fill_status status = FILL_STATUS_UNFILTERED;
PRINTER_INFO_2W *info;
- DWORD i, offset = 0, count = 0, size = 0;
+ DWORD i, offset = 0, count = 0, size = 0, num_rows = 0;
EnumPrintersW( PRINTER_ENUM_LOCAL, NULL, 2, NULL, 0, &size, &count );
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) return FILL_STATUS_FAILED;
@@ -2382,9 +2382,10 @@ static enum fill_status fill_printer( struct table *table, const struct expr *co
continue;
}
offset += sizeof(*rec);
+ num_rows++;
}
- TRACE("created %u rows\n", count);
- table->num_rows = count;
+ TRACE("created %u rows\n", num_rows);
+ table->num_rows = num_rows;
heap_free( info );
return status;
@@ -2567,7 +2568,7 @@ static enum fill_status fill_processor( struct table *table, const struct expr *
static const WCHAR fmtW[] = {'C','P','U','%','u',0};
WCHAR caption[100], device_id[14], processor_id[17], manufacturer[13], name[49] = {0}, version[50];
struct record_processor *rec;
- UINT i, offset = 0, num_cores, num_logical_processors, count = get_processor_count();
+ UINT i, offset = 0, num_rows = 0, num_cores, num_logical_processors, count = get_processor_count();
enum fill_status status = FILL_STATUS_UNFILTERED;
if (!resize_table( table, count, sizeof(*rec) )) return FILL_STATUS_FAILED;
@@ -2608,10 +2609,11 @@ static enum fill_status fill_processor( struct table *table, const struct expr *
continue;
}
offset += sizeof(*rec);
+ num_rows++;
}
- TRACE("created %u rows\n", count);
- table->num_rows = count;
+ TRACE("created %u rows\n", num_rows);
+ table->num_rows = num_rows;
return status;
}
--
2.11.0

View File

@ -1 +0,0 @@
Fixes: [40392] Fix row count in fill_processor and fill_printer function