Update to 1.7.53

f38
Michael Cronenworth 9 years ago
parent e47529cef1
commit 857631cb48

6
.gitignore vendored

@ -1,3 +1,3 @@
/wine-1.7.52.tar.bz2
/wine-1.7.52.tar.bz2.sign
/wine-staging-1.7.52.tar.gz
/wine-1.7.53.tar.bz2
/wine-1.7.53.tar.bz2.sign
/wine-staging-1.7.53.tar.gz

@ -1,3 +1,3 @@
70ecd94e17394446ed28ee21282e3e4c wine-1.7.52.tar.bz2
81ef48846d2e5859695259db9f37b9b3 wine-1.7.52.tar.bz2.sign
4418842dafac05d23e666e7695b2bf05 wine-staging-1.7.52.tar.gz
199c4adc4f294bdbec51f919b34a3798 wine-1.7.53.tar.bz2
a6e2984178a89fb7c48acd7125b74171 wine-1.7.53.tar.bz2.sign
62df4e7b3d01040e242ba68bf3a28917 wine-staging-1.7.53.tar.gz

@ -1,43 +1,86 @@
--- a/configure.ac.orig 2015-08-13 14:05:20.603210791 -0500
+++ b/configure.ac 2015-08-14 09:20:46.380372331 -0500
@@ -1021,6 +1021,9 @@
From 509a781e793cc6d15d74e1ffc5fc8d4a3c31026a Mon Sep 17 00:00:00 2001
From: Michael Cronenworth <mike@cchtml.com>
Date: Wed, 21 Oct 2015 10:26:40 -0500
Subject: [PATCH] winegcc: Check for linker relocation support before relying
on prelink
Prelink was used to rewrite binares and set their text segment, but
modern linkers support setting the value at link time. Prelink is
being retired by upstream.
Signed-off-by: Michael Cronenworth <mike@cchtml.com>
---
configure.ac | 11 ++++++++---
tools/winegcc/winegcc.c | 12 ++++++++++--
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
index 5ab2d69..a30b552 100644
--- a/configure.ac
+++ b/configure.ac
@@ -988,10 +988,15 @@ wine-installed: main.o
*) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400" ;;
esac
])
- AC_PATH_PROG(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
- if test "x$PRELINK" = xfalse
+ WINE_TRY_CFLAGS([-Wl,-Ttext-segment=0x7bc00000],
+ [AC_DEFINE([HAVE_TTEXT_SEGMENT],[1],[Define if
+linker supports -Ttext-segment.])])
AC_PATH_PROG(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
if test "x$PRELINK" = xfalse
+ [HAVE_TTEXT_SEGMENT="yes"])
+ if test "x$HAVE_TTEXT_SEGMENT" != "xyes"
then
--- a/tools/winegcc/winegcc.c.orig 2015-08-14 09:26:57.802873676 -0500
+++ b/tools/winegcc/winegcc.c 2015-08-14 09:25:17.290194637 -0500
@@ -1134,6 +1134,12 @@
- WINE_WARNING([prelink not found, base address of core dlls won't be set correctly.])
+ AC_PATH_PROG(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
+ if test "x$PRELINK" = xfalse
+ then
+ WINE_WARNING([prelink not found and linker does not support relocation, base address of core dlls won't be set correctly.])
+ fi
fi
;;
esac
diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
index 3b2794e..fa62c34 100644
--- a/tools/winegcc/winegcc.c
+++ b/tools/winegcc/winegcc.c
@@ -778,6 +778,7 @@ static void build(struct options* opts)
const char *output_name, *spec_file, *lang;
int generate_app_loader = 1;
int fake_module = 0;
+ int text_segment = 0;
unsigned int j;
/* NOTE: for the files array we'll use the following convention:
@@ -1112,6 +1113,11 @@ static void build(struct options* opts)
for ( j = 0 ; j < opts->linker_args->size ; j++ )
strarray_add(link_args, opts->linker_args->base[j]);
+ /* check linker support for setting text base address */
+ if (opts->image_base &&
+ !try_link(opts->prefix, link_args, strmake("-Wl,-Ttext-segment=%s", opts->image_base)))
+ text_segment = 1;
+
switch (opts->target_platform)
{
case PLATFORM_APPLE:
@@ -1134,6 +1140,8 @@ static void build(struct options* opts)
}
break;
default:
+#ifdef HAVE_TTEXT_SEGMENT
+ if (opts->image_base)
+ {
+ if (text_segment)
+ strarray_add(link_args, strmake("-Wl,-Ttext-segment=%s", opts->image_base));
+ }
+#endif
break;
}
@@ -1167,6 +1173,7 @@
@@ -1167,8 +1175,8 @@ static void build(struct options* opts)
spawn(opts->prefix, link_args, 0);
strarray_free (link_args);
+#ifndef HAVE_TTEXT_SEGMENT
/* set the base address */
if (opts->image_base && !opts->target)
- /* set the base address */
- if (opts->image_base && !opts->target)
+ /* set the base address with prelink if linker support is not present */
+ if (opts->image_base && !opts->target && !text_segment)
{
@@ -1182,6 +1189,7 @@
strarray_free(prelink_args);
}
}
+#endif
/* create the loader script */
if (generate_app_loader)
const char *prelink = PRELINK;
if (prelink[0] && strcmp(prelink,"false"))
--
2.4.3

@ -21,7 +21,7 @@
%endif
Name: wine
Version: 1.7.52
Version: 1.7.53
Release: 1%{?dist}
Summary: A compatibility layer for windows applications
@ -1590,6 +1590,7 @@ fi
%{_libdir}/wine/vcomp90.dll.so
%{_libdir}/wine/vcomp100.dll.so
%{_libdir}/wine/vcomp110.dll.so
%{_libdir}/wine/vcomp120.dll.so
%{_libdir}/wine/vcruntime140.dll.so
%{_libdir}/wine/vdmdbg.dll.so
%{_libdir}/wine/version.dll.so
@ -1643,6 +1644,7 @@ fi
%{_libdir}/wine/wined3d.dll.so
%{_libdir}/wine/dnsapi.dll.so
%{_libdir}/wine/iexplore.exe.so
%{_libdir}/wine/x3daudio1_0.dll.so
%{_libdir}/wine/x3daudio1_1.dll.so
%{_libdir}/wine/x3daudio1_2.dll.so
%{_libdir}/wine/x3daudio1_3.dll.so
@ -1651,9 +1653,17 @@ fi
%{_libdir}/wine/x3daudio1_6.dll.so
%{_libdir}/wine/x3daudio1_7.dll.so
%{_libdir}/wine/xapofx1_1.dll.so
%{_libdir}/wine/xapofx1_2.dll.so
%{_libdir}/wine/xapofx1_3.dll.so
%{_libdir}/wine/xapofx1_4.dll.so
%{_libdir}/wine/xapofx1_5.dll.so
%{_libdir}/wine/xaudio2_0.dll.so
%{_libdir}/wine/xaudio2_1.dll.so
%{_libdir}/wine/xaudio2_2.dll.so
%{_libdir}/wine/xaudio2_3.dll.so
%{_libdir}/wine/xaudio2_4.dll.so
%{_libdir}/wine/xaudio2_5.dll.so
%{_libdir}/wine/xaudio2_6.dll.so
%{_libdir}/wine/xaudio2_7.dll.so
%{_libdir}/wine/xaudio2_8.dll.so
%{_libdir}/wine/xcopy.exe.so
@ -1953,6 +1963,9 @@ fi
%{_libdir}/wine/opencl.dll.so
%changelog
* Wed Oct 21 2015 Michael Cronenworth <mike@cchtml.com> 1.7.53-1
- version upgrade
* Sat Oct 03 2015 Michael Cronenworth <mike@cchtml.com> 1.7.52-1
- version upgrade

Loading…
Cancel
Save