Rebase against cbaab82d086e36dacaa22c6adf80f9114bb820fb.

This commit is contained in:
Sebastian Lackner 2015-10-30 17:58:45 +01:00
parent f8627a6f02
commit 7e1bf8aca0
10 changed files with 15 additions and 350 deletions

2
debian/changelog vendored
View File

@ -25,6 +25,8 @@ wine-staging (1.7.54) UNRELEASED; urgency=low
server_select (accepted upstream).
* Removed patch to implement combase.WindowsSubstring function (accepted
upstream).
* Removed patch to fix build failure (identical patch committed upstream).
* Removed patch for vcruntime120 dll (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Mon, 19 Oct 2015 21:56:22 +0200
wine-staging (1.7.53) unstable; urgency=low

View File

@ -1,163 +0,0 @@
From f81b1feadca76ec41c834915fd5c5ce43f66f7b1 Mon Sep 17 00:00:00 2001
From: Martin Storsjo <martin@martin.st>
Date: Mon, 3 Aug 2015 22:26:02 +0300
Subject: vcruntime140: Add the new MSVC 2015 compiler specific DLL.
Since MSVC 2015/Windows 10, the C runtime has now been split into two
parts, ucrtbase, which is the generic C runtime which is now considered
a system component, and vcruntimeX which is specific to the compiler
version.
Even if this DLL only has a fraction of the functions of the full
msvcrt/ucrtbase, it still requires almost all the object files from
msvcrt.
---
configure.ac | 1 +
dlls/vcruntime140/Makefile.in | 33 +++++++++++++++
dlls/vcruntime140/vcruntime140.spec | 82 +++++++++++++++++++++++++++++++++++++
3 files changed, 116 insertions(+)
create mode 100644 dlls/vcruntime140/Makefile.in
create mode 100644 dlls/vcruntime140/vcruntime140.spec
diff --git a/configure.ac b/configure.ac
index e22b0ef..498470f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3363,6 +3363,7 @@ WINE_CONFIG_DLL(vcomp100)
WINE_CONFIG_DLL(vcomp110)
WINE_CONFIG_DLL(vcomp120)
WINE_CONFIG_DLL(vcomp90)
+WINE_CONFIG_DLL(vcruntime140,,[implib])
WINE_CONFIG_DLL(vdhcp.vxd,enable_win16)
WINE_CONFIG_DLL(vdmdbg,,[implib])
WINE_CONFIG_DLL(ver.dll16,enable_win16)
diff --git a/dlls/vcruntime140/Makefile.in b/dlls/vcruntime140/Makefile.in
new file mode 100644
index 0000000..92f99c4
--- /dev/null
+++ b/dlls/vcruntime140/Makefile.in
@@ -0,0 +1,33 @@
+EXTRADEFS = -D_MT -D_MSVCR_VER=140
+MODULE = vcruntime140.dll
+IMPORTLIB = vcruntime140
+DELAYIMPORTS = advapi32 user32
+PARENTSRC = ../msvcrt
+
+C_SRCS = \
+ console.c \
+ cpp.c \
+ ctype.c \
+ data.c \
+ dir.c \
+ environ.c \
+ errno.c \
+ except.c \
+ except_arm.c \
+ except_i386.c \
+ except_x86_64.c \
+ exit.c \
+ file.c \
+ heap.c \
+ locale.c \
+ lock.c \
+ main.c \
+ math.c \
+ mbcs.c \
+ misc.c \
+ process.c \
+ string.c \
+ thread.c \
+ time.c \
+ undname.c \
+ wcs.c
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
new file mode 100644
index 0000000..9027955
--- /dev/null
+++ b/dlls/vcruntime140/vcruntime140.spec
@@ -0,0 +1,82 @@
+@ stub _CreateFrameInfo
+@ stdcall _CxxThrowException(long long)
+@ cdecl -arch=i386 -norelay _EH_prolog()
+@ stub _FindAndUnlinkFrame
+@ stub _IsExceptionObjectToBeDestroyed
+@ stub _NLG_Dispatch2
+@ stub _NLG_Return
+@ stub _NLG_Return2
+@ stub _SetWinRTOutOfMemoryExceptionCallback
+@ cdecl __AdjustPointer(ptr ptr)
+@ stub __BuildCatchObject
+@ stub __BuildCatchObjectHelper
+@ cdecl -arch=i386,x86_64,arm __CxxDetectRethrow(ptr)
+@ stub __CxxExceptionFilter
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler(ptr ptr ptr ptr)
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler2(ptr ptr ptr ptr) __CxxFrameHandler
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler3(ptr ptr ptr ptr) __CxxFrameHandler
+@ stdcall -arch=i386 __CxxLongjmpUnwind(ptr)
+@ cdecl -arch=i386,x86_64,arm __CxxQueryExceptionSize()
+@ stub __CxxRegisterExceptionObject
+@ stub __CxxUnregisterExceptionObject
+@ stub __DestructExceptionObject
+@ stub __FrameUnwindFilter
+@ stub __GetPlatformExceptionInfo
+@ cdecl __RTCastToVoid(ptr) MSVCRT___RTCastToVoid
+@ cdecl __RTDynamicCast(ptr long ptr ptr long) MSVCRT___RTDynamicCast
+@ cdecl __RTtypeid(ptr) MSVCRT___RTtypeid
+@ stub __TypeMatch
+@ stub __current_exception
+@ stub __current_exception_context
+@ stub __intrinsic_setjmp
+@ stub __processing_throw
+@ stub __report_gsfailure
+@ stub __std_exception_copy
+@ stub __std_exception_destroy
+@ stub __std_terminate
+@ stub __std_type_info_compare
+@ stub __std_type_info_destroy_list
+@ stub __std_type_info_hash
+@ stub __std_type_info_name
+@ stub __telemetry_main_invoke_trigger
+@ stub __telemetry_main_return_trigger
+@ cdecl __unDName(ptr str long ptr ptr long)
+@ cdecl __unDNameEx(ptr str long ptr ptr ptr long)
+@ cdecl __uncaught_exception() MSVCRT___uncaught_exception
+@ stub __uncaught_exceptions
+@ stub __vcrt_GetModuleFileNameW
+@ stub __vcrt_GetModuleHandleW
+@ stub __vcrt_InitializeCriticalSectionEx
+@ stub __vcrt_LoadLibraryExW
+@ cdecl -arch=i386 -norelay _chkesp()
+@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr)
+@ cdecl -arch=i386 _except_handler3(ptr ptr ptr ptr)
+@ cdecl -arch=i386 _except_handler4_common(ptr ptr ptr ptr ptr ptr)
+@ stub _get_purecall_handler
+@ cdecl _get_unexpected() MSVCRT__get_unexpected
+@ cdecl -arch=i386 _global_unwind2(ptr)
+@ stub _is_exception_typeof
+@ cdecl -arch=i386 _local_unwind2(ptr long)
+@ cdecl -arch=i386 _local_unwind4(ptr ptr long)
+@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp
+@ cdecl _purecall()
+@ stdcall -arch=i386 _seh_longjmp_unwind4(ptr)
+@ stdcall -arch=i386 _seh_longjmp_unwind(ptr)
+@ cdecl _set_purecall_handler(ptr)
+@ stub -arch=win32 ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS *)
+@ stub -arch=win64 ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
+@ cdecl -arch=i386 -norelay _setjmp3(ptr long) MSVCRT__setjmp3
+@ cdecl -arch=i386,x86_64,arm longjmp(ptr long) MSVCRT_longjmp
+@ cdecl memchr(ptr long long) MSVCRT_memchr
+@ cdecl memcmp(ptr ptr long) MSVCRT_memcmp
+@ cdecl memcpy(ptr ptr long) MSVCRT_memcpy
+@ cdecl memmove(ptr ptr long) MSVCRT_memmove
+@ cdecl memset(ptr long long) MSVCRT_memset
+@ stub set_unexpected
+@ cdecl strchr(str long) MSVCRT_strchr
+@ cdecl strrchr(str long) MSVCRT_strrchr
+@ cdecl strstr(str str) MSVCRT_strstr
+@ stub unexpected
+@ cdecl wcschr(wstr long) MSVCRT_wcschr
+@ cdecl wcsrchr(wstr long) ntdll.wcsrchr
+@ cdecl wcsstr(wstr wstr) MSVCRT_wcsstr
--
2.6.0

View File

@ -1,26 +0,0 @@
From 3d3dd8491369119ee0dea8ec571b917f8613910a Mon Sep 17 00:00:00 2001
From: Martin Storsjo <martin@martin.st>
Date: Mon, 3 Aug 2015 22:26:03 +0300
Subject: vcruntime140: Hook up a function with a new name to the existing
implementation
---
dlls/vcruntime140/vcruntime140.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
index 9027955..adfb0f0 100644
--- a/dlls/vcruntime140/vcruntime140.spec
+++ b/dlls/vcruntime140/vcruntime140.spec
@@ -46,7 +46,7 @@
@ stub __uncaught_exceptions
@ stub __vcrt_GetModuleFileNameW
@ stub __vcrt_GetModuleHandleW
-@ stub __vcrt_InitializeCriticalSectionEx
+@ cdecl -arch=i386,win64 __vcrt_InitializeCriticalSectionEx(ptr long long) MSVCR110__crtInitializeCriticalSectionEx
@ stub __vcrt_LoadLibraryExW
@ cdecl -arch=i386 -norelay _chkesp()
@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr)
--
2.5.0

View File

@ -1,54 +0,0 @@
From 00e2e0a38d5ef81502d35a5aa3f62cb4ed834488 Mon Sep 17 00:00:00 2001
From: Martin Storsjo <martin@martin.st>
Date: Mon, 3 Aug 2015 22:26:05 +0300
Subject: vcruntime140: Add stubs for telemetry functions
These are required for a plain empty exe built with MSVC 2015 with
dynamic C runtime to start up with the builtin vcruntime140.dll.
---
dlls/msvcrt/misc.c | 16 ++++++++++++++++
dlls/vcruntime140/vcruntime140.spec | 4 ++--
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/msvcrt/misc.c b/dlls/msvcrt/misc.c
index 4e9f288..556ca62 100644
--- a/dlls/msvcrt/misc.c
+++ b/dlls/msvcrt/misc.c
@@ -498,3 +498,19 @@ void CDECL MSVCR120__vacopy(__ms_va_list *dest, __ms_va_list src)
{
__ms_va_copy(*dest, src);
}
+
+/*********************************************************************
+ * __telemetry_main_invoke_trigger (MSVCRT.@)
+ */
+void CDECL __telemetry_main_invoke_trigger(const HINSTANCE hinst)
+{
+ TRACE("(%p)\n", hinst);
+}
+
+/*********************************************************************
+ * __telemetry_main_return_trigger (MSVCRT.@)
+ */
+void CDECL __telemetry_main_return_trigger(const HINSTANCE hinst)
+{
+ TRACE("(%p)\n", hinst);
+}
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
index adfb0f0..efd967f 100644
--- a/dlls/vcruntime140/vcruntime140.spec
+++ b/dlls/vcruntime140/vcruntime140.spec
@@ -38,8 +38,8 @@
@ stub __std_type_info_destroy_list
@ stub __std_type_info_hash
@ stub __std_type_info_name
-@ stub __telemetry_main_invoke_trigger
-@ stub __telemetry_main_return_trigger
+@ cdecl __telemetry_main_invoke_trigger(ptr)
+@ cdecl __telemetry_main_return_trigger(ptr)
@ cdecl __unDName(ptr str long ptr ptr long)
@ cdecl __unDNameEx(ptr str long ptr ptr ptr long)
@ cdecl __uncaught_exception() MSVCRT___uncaught_exception
--
2.5.0

View File

@ -1,26 +0,0 @@
From e8f45ee1fb9530fd798d68ae5eeb34190d1de1ff Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 29 Oct 2015 21:22:16 +0100
Subject: makefiles: Use correct source path for ttf install rules.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
---
tools/makedep.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/makedep.c b/tools/makedep.c
index 30bbc3e..c15f0ac 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -2057,7 +2057,7 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
}
if (source->file->flags & FLAG_INSTALL)
{
- strarray_add( &make->install_lib_rules, ttf_file );
+ strarray_add( &make->install_lib_rules, strmake( "%s.ttf", obj ));
strarray_add( &make->install_lib_rules, strmake( "D$(fontdir)/%s.ttf", obj ));
}
if (source->file->flags & FLAG_SFD_FONTS)
--
2.6.1

View File

@ -1,31 +0,0 @@
From d0b101227ad133d8b011a3c5b13e8967d7656abe Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 29 Oct 2015 21:22:24 +0100
Subject: makefiles: Symlinks have no dependencies on source files.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
---
tools/makedep.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tools/makedep.c b/tools/makedep.c
index c15f0ac..cbf0d48 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1796,8 +1796,11 @@ static void output_install_rules( struct makefile *make, struct strarray files,
if (!files.count) return;
for (i = 0; i < files.count; i += 2)
- if (files.str[i + 1][0] >= 'a' && files.str[i + 1][0] <= 'z') /* only for files in object dir */
- strarray_add_uniq( &targets, files.str[i] );
+ {
+ if (files.str[i + 1][0] < 'a' || files.str[i + 1][0] > 'z') continue; /* only for files in object dir */
+ if (files.str[i + 1][0] == 'y') continue; /* symlinks have no dependencies on source files */
+ strarray_add_uniq( &targets, files.str[i] );
+ }
output( "install %s::", target );
output_filenames_obj_dir( make, targets );
--
2.6.1

View File

@ -1 +0,0 @@
Apply-Before: *

View File

@ -1,4 +1,4 @@
From 8a68964092d39388b5e4147796b8b88affd960e1 Mon Sep 17 00:00:00 2001
From 7128a10cb4d1febc06bac49191c36fc1561141b0 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@wine-staging.com>
Date: Tue, 15 Sep 2015 17:44:33 -0600
Subject: msidb: Add stub tool for manipulating MSI databases.
@ -6,18 +6,17 @@ Subject: msidb: Add stub tool for manipulating MSI databases.
Signed-off-by: Erich E. Hoover <erich.e.hoover@wine-staging.com>
---
configure.ac | 1 +
programs/msidb/Makefile.in | 6 ++
programs/msidb/Makefile.in | 8 +++
programs/msidb/main.c | 153 +++++++++++++++++++++++++++++++++++++++++++++
tools/make_makefiles | 1 +
4 files changed, 161 insertions(+)
3 files changed, 162 insertions(+)
create mode 100644 programs/msidb/Makefile.in
create mode 100644 programs/msidb/main.c
diff --git a/configure.ac b/configure.ac
index bfcf319..b75fe09 100644
index bb879b0..06a0d24 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3523,6 +3523,7 @@ WINE_CONFIG_PROGRAM(ipconfig,,[install,po])
@@ -3514,6 +3514,7 @@ WINE_CONFIG_PROGRAM(ipconfig,,[install,po])
WINE_CONFIG_PROGRAM(lodctr,,[install])
WINE_CONFIG_PROGRAM(mofcomp,,[install])
WINE_CONFIG_PROGRAM(mshta,,[install])
@ -27,16 +26,18 @@ index bfcf319..b75fe09 100644
WINE_CONFIG_PROGRAM(netsh,,[install])
diff --git a/programs/msidb/Makefile.in b/programs/msidb/Makefile.in
new file mode 100644
index 0000000..e83de8c
index 0000000..dae699c
--- /dev/null
+++ b/programs/msidb/Makefile.in
@@ -0,0 +1,6 @@
@@ -0,0 +1,8 @@
+MODULE = msidb.exe
+APPMODE = -mconsole -municode
+IMPORTS = msi
+
+C_SRCS = \
+ main.c
+
+INSTALL_LIB = msidb.exe msidb
diff --git a/programs/msidb/main.c b/programs/msidb/main.c
new file mode 100644
index 0000000..43cc519
@ -196,18 +197,6 @@ index 0000000..43cc519
+ close_database( &state );
+ return 0;
+}
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 266f33a..90234f9 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -24,6 +24,7 @@ use strict;
# Programs that we want to install in the bin directory too
my %bin_install =
(
+ "msidb" => 1,
"msiexec" => 1,
"notepad" => 1,
"regedit" => 1,
--
2.6.1

View File

@ -12,7 +12,7 @@ index 09fb04b..7e20dc3 100644
--- a/dlls/kernel32/path.c
+++ b/dlls/kernel32/path.c
@@ -1612,18 +1612,23 @@ BOOL WINAPI RemoveDirectoryW( LPCWSTR path )
status = NtOpenFile( &handle, DELETE, &attr, &io,
status = NtOpenFile( &handle, DELETE | SYNCHRONIZE, &attr, &io,
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
FILE_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT );
- if (status == STATUS_SUCCESS)

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "54633e3956e6b3c4d8ebbd5d721efa294e9602fb"
echo "cbaab82d086e36dacaa22c6adf80f9114bb820fb"
}
# Show version information
@ -165,7 +165,6 @@ patch_enable_all ()
enable_libs_Debug_Channel="$1"
enable_libs_Unicode_Collation="$1"
enable_makedep_PARENTSPEC="$1"
enable_makefiles_Fix_Build="$1"
enable_mfplat_MFTRegister="$1"
enable_mmdevapi_AEV_Stubs="$1"
enable_mountmgr_DosDevices="$1"
@ -592,9 +591,6 @@ patch_enable ()
makedep-PARENTSPEC)
enable_makedep_PARENTSPEC="$2"
;;
makefiles-Fix_Build)
enable_makefiles_Fix_Build="$2"
;;
mfplat-MFTRegister)
enable_mfplat_MFTRegister="$2"
;;
@ -2057,20 +2053,6 @@ if test "$enable_patchlist" -eq 1; then
fi
# Patchset makefiles-Fix_Build
# |
# | Modified files:
# | * tools/makedep.c
# |
if test "$enable_makefiles_Fix_Build" -eq 1; then
patch_apply makefiles-Fix_Build/0001-makefiles-Use-correct-source-path-for-ttf-install-ru.patch
patch_apply makefiles-Fix_Build/0002-makefiles-Symlinks-have-no-dependencies-on-source-fi.patch
(
echo '+ { "Sebastian Lackner", "makefiles: Use correct source path for ttf install rules.", 1 },';
echo '+ { "Sebastian Lackner", "makefiles: Symlinks have no dependencies on source files.", 1 },';
) >> "$patchlist"
fi
# Patchset Compiler_Warnings
# |
# | Modified files:
@ -2302,19 +2284,12 @@ fi
# Patchset api-ms-win-crt-Stub_DLLs
# |
# | Modified files:
# | * configure.ac, dlls/msvcrt/misc.c, dlls/ucrtbase/ucrtbase.spec, dlls/vcruntime140/Makefile.in,
# | dlls/vcruntime140/vcruntime140.spec
# | * dlls/ucrtbase/ucrtbase.spec
# |
if test "$enable_api_ms_win_crt_Stub_DLLs" -eq 1; then
patch_apply api-ms-win-crt-Stub_DLLs/0001-ucrtbase-Hook-up-some-functions-with-new-names-to-ex.patch
patch_apply api-ms-win-crt-Stub_DLLs/0002-vcruntime140-Add-the-new-MSVC-2015-compiler-specific.patch
patch_apply api-ms-win-crt-Stub_DLLs/0003-vcruntime140-Hook-up-a-function-with-a-new-name-to-t.patch
patch_apply api-ms-win-crt-Stub_DLLs/0004-vcruntime140-Add-stubs-for-telemetry-functions.patch
(
echo '+ { "Martin Storsjo", "ucrtbase: Hook up some functions with new names to existing implementations.", 1 },';
echo '+ { "Martin Storsjo", "vcruntime140: Add the new MSVC 2015 compiler specific DLL.", 1 },';
echo '+ { "Martin Storsjo", "vcruntime140: Hook up a function with a new name to the existing implementation.", 1 },';
echo '+ { "Martin Storsjo", "vcruntime140: Add stubs for telemetry functions.", 1 },';
) >> "$patchlist"
fi
@ -3768,7 +3743,7 @@ fi
# |
# | Modified files:
# | * configure.ac, dlls/msi/database.c, dlls/msi/msipriv.h, dlls/msi/streams.c, dlls/msi/suminfo.c,
# | programs/msidb/Makefile.in, programs/msidb/main.c, tools/make_makefiles
# | programs/msidb/Makefile.in, programs/msidb/main.c
# |
if test "$enable_msidb_Implementation" -eq 1; then
patch_apply msidb-Implementation/0001-msidb-Add-stub-tool-for-manipulating-MSI-databases.patch