Revert 1ccd638b1aa85fb3c43b49d69d279cd509ebdc21 from upstream which

causes problems upon startup while, hopefully, a fix will be created
upstream. (This changes tools/winegcc/winegcc.c)

Backport 23543f20058d1655d3ad552474ce99c01bbd78ea from upstream which
landed after the Wine 5.8 snapshot (and should be included in the next)
and avoid crashes related to fonts.

With these two changes Wine should mostly work again.
This commit is contained in:
Gerald Pfeifer 2020-05-14 07:40:26 +00:00
parent 16006a6fd0
commit 95ddc30d85
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=535220
3 changed files with 61 additions and 0 deletions

View File

@ -3,6 +3,7 @@
PORTNAME= wine
DISTVERSION= 5.8
PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= emulators
MASTER_SITES= SF/${PORTNAME}/Source \

View File

@ -0,0 +1,27 @@
The following is a backport of code contributed between Wine 5.8 and 5.9;
it should be included in Wine 5.9 released later this month at which point
this patch can (and should) go again.
commit 23543f20058d1655d3ad552474ce99c01bbd78ea
Author: Gijs Vermeulen <gijsvrm@gmail.com>
Date: Mon May 11 15:43:59 2020 +0200
dwrite: Set ret on unimplemented lookup in opentype_layout_apply_gsub_lookup.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
--- UTC
diff --git dlls/dwrite/opentype.c dlls/dwrite/opentype.c
index 0feb2feadc..f22cd7469b 100644
--- dlls/dwrite/opentype.c
+++ dlls/dwrite/opentype.c
@@ -4478,6 +4478,7 @@ static void opentype_layout_apply_gsub_lookup(struct scriptshaping_context *cont
case GSUB_LOOKUP_LIGATURE_SUBST:
case GSUB_LOOKUP_CONTEXTUAL_SUBST:
case GSUB_LOOKUP_REVERSE_CHAINING_CONTEXTUAL_SUBST:
+ ret = FALSE;
WARN("Unimplemented lookup %d.\n", lookup_type);
break;
default:

View File

@ -0,0 +1,33 @@
Revert commit 1ccd638b1aa85fb3c43b49d69d279cd509ebdc21
Author: Alexandre Julliard <julliard@winehq.org>
Date: Tue Apr 21 11:27:53 2020 +0200
winegcc: No longer use a constructor for module initialization.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
--- UTC
diff --git tools/winegcc/winegcc.c tools/winegcc/winegcc.c
index 8a7db2ad34..9008c457bd 100644
--- tools/winegcc/winegcc.c
+++ tools/winegcc/winegcc.c
@@ -553,6 +553,8 @@ static strarray *get_link_args( struct options *opts, const char *output_name )
strarray_add( flags, "-Wl,--no-wchar-size-warning" );
if (!try_link( opts->prefix, link_args, "-Wl,-z,defs" ))
strarray_add( flags, "-Wl,-z,defs" );
+ if (opts->shared && !try_link( opts->prefix, link_args, "-Wl,-init,__wine_spec_init" ))
+ strarray_add( flags, "-Wl,-init,__wine_spec_init" );
strarray_addall( link_args, flags );
return link_args;
@@ -1408,8 +1410,8 @@ static void build(struct options* opts)
}
}
- if (!is_pe) fixup_constructors( opts, output_path );
- else if (opts->wine_builtin) make_wine_builtin( opts, output_path );
+ if (!is_pe && !opts->shared) fixup_constructors( opts, output_path );
+ if (is_pe && opts->wine_builtin) make_wine_builtin( opts, output_path );
/* create the loader script */
if (generate_app_loader)