Accepting request 1095999 from Emulators
- Add reverts to fix startup on 64bit (https://bugs.winehq.org/show_bug.cgi?id=55139): * 0001-Revert-loader-Build-the-preloader-as-PIE-on-64-bit.patch * 0002-Revert-loader-Always-build-the-main-loader-as-PIE-if.patch * 0003-Revert-loader-Force-building-the-main-loader-as-PIE-.patch * 0004-Revert-loader-Make-the-loader-position-independent-o.patch (forwarded request 1095938 from favogt) OBS-URL: https://build.opensuse.org/request/show/1095999 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wine?expand=0&rev=413
This commit is contained in:
commit
76d7316493
126
0001-Revert-loader-Build-the-preloader-as-PIE-on-64-bit.patch
Normal file
126
0001-Revert-loader-Build-the-preloader-as-PIE-on-64-bit.patch
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
From 8da3c054568e33f682b7282dfe0cdf048960b13a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Vogt <fvogt@suse.de>
|
||||||
|
Date: Thu, 29 Jun 2023 09:59:30 +0200
|
||||||
|
Subject: [PATCH 1/4] Revert "loader: Build the preloader as PIE on 64-bit."
|
||||||
|
|
||||||
|
This reverts commit ac1761d1dae8bf114a05e28ed6886deba6c2c860.
|
||||||
|
---
|
||||||
|
configure | 38 +-------------------------------------
|
||||||
|
configure.ac | 11 +----------
|
||||||
|
loader/preloader.c | 7 +++----
|
||||||
|
3 files changed, 5 insertions(+), 51 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure b/configure
|
||||||
|
index d530de3ced1..635e3b7f25f 100755
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -10245,47 +10245,11 @@ if test "x$ac_cv_cflags__Wl___export_dynamic" = xyes
|
||||||
|
then :
|
||||||
|
WINELOADER_LDFLAGS="-Wl,--export-dynamic"
|
||||||
|
fi
|
||||||
|
- WINEPRELOADER_LDFLAGS="-nostartfiles -nodefaultlibs"
|
||||||
|
|
||||||
|
case $host_os in
|
||||||
|
linux*)
|
||||||
|
as_fn_append WINELOADER_LDFLAGS " -pie"
|
||||||
|
- case $HOST_ARCH in
|
||||||
|
- i386|arm)
|
||||||
|
- as_fn_append WINEPRELOADER_LDFLAGS " -static -Wl,-Ttext=0x7d400000" ;;
|
||||||
|
- *)
|
||||||
|
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -static-pie" >&5
|
||||||
|
-printf %s "checking whether the compiler supports -static-pie... " >&6; }
|
||||||
|
-if test ${ac_cv_cflags__static_pie+y}
|
||||||
|
-then :
|
||||||
|
- printf %s "(cached) " >&6
|
||||||
|
-else $as_nop
|
||||||
|
- ac_wine_try_cflags_saved=$CFLAGS
|
||||||
|
-CFLAGS="$CFLAGS -static-pie"
|
||||||
|
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
-/* end confdefs.h. */
|
||||||
|
-int main(int argc, char **argv) { return 0; }
|
||||||
|
-_ACEOF
|
||||||
|
-if ac_fn_c_try_link "$LINENO"
|
||||||
|
-then :
|
||||||
|
- ac_cv_cflags__static_pie=yes
|
||||||
|
-else $as_nop
|
||||||
|
- ac_cv_cflags__static_pie=no
|
||||||
|
-fi
|
||||||
|
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||||
|
- conftest$ac_exeext conftest.$ac_ext
|
||||||
|
-CFLAGS=$ac_wine_try_cflags_saved
|
||||||
|
-fi
|
||||||
|
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__static_pie" >&5
|
||||||
|
-printf "%s\n" "$ac_cv_cflags__static_pie" >&6; }
|
||||||
|
-if test "x$ac_cv_cflags__static_pie" = xyes
|
||||||
|
-then :
|
||||||
|
- as_fn_append WINEPRELOADER_LDFLAGS " -static-pie"
|
||||||
|
-else $as_nop
|
||||||
|
- as_fn_append WINEPRELOADER_LDFLAGS " -static -Wl,-Ttext=0x7d7d00000000"
|
||||||
|
-fi
|
||||||
|
- ;;
|
||||||
|
- esac
|
||||||
|
+ WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7d400000"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
case $HOST_ARCH in
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 90c95c89ffb..c8880886b1c 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -769,20 +769,11 @@ case $host_os in
|
||||||
|
|
||||||
|
WINE_TRY_CFLAGS([-Wl,-z,defs],[UNIXLDFLAGS="$UNIXLDFLAGS -Wl,-z,defs"])
|
||||||
|
WINE_TRY_CFLAGS([-Wl,--export-dynamic],[WINELOADER_LDFLAGS="-Wl,--export-dynamic"])
|
||||||
|
- WINEPRELOADER_LDFLAGS="-nostartfiles -nodefaultlibs"
|
||||||
|
|
||||||
|
case $host_os in
|
||||||
|
linux*)
|
||||||
|
AS_VAR_APPEND([WINELOADER_LDFLAGS],[" -pie"])
|
||||||
|
- case $HOST_ARCH in
|
||||||
|
- i386|arm)
|
||||||
|
- AS_VAR_APPEND([WINEPRELOADER_LDFLAGS],[" -static -Wl,-Ttext=0x7d400000"]) ;;
|
||||||
|
- *)
|
||||||
|
- WINE_TRY_CFLAGS([-static-pie],
|
||||||
|
- [AS_VAR_APPEND([WINEPRELOADER_LDFLAGS],[" -static-pie"])],
|
||||||
|
- [AS_VAR_APPEND([WINEPRELOADER_LDFLAGS],[" -static -Wl,-Ttext=0x7d7d00000000"])])
|
||||||
|
- ;;
|
||||||
|
- esac
|
||||||
|
+ WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7d400000"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
case $HOST_ARCH in
|
||||||
|
diff --git a/loader/preloader.c b/loader/preloader.c
|
||||||
|
index 635e85ee7cb..5e1eabfa308 100644
|
||||||
|
--- a/loader/preloader.c
|
||||||
|
+++ b/loader/preloader.c
|
||||||
|
@@ -353,7 +353,7 @@ __ASM_GLOBAL_FUNC(_start,
|
||||||
|
"movq %rsp,%rax\n\t"
|
||||||
|
"leaq -144(%rsp),%rsp\n\t" /* allocate some space for extra aux values */
|
||||||
|
"movq %rax,(%rsp)\n\t" /* orig stack pointer */
|
||||||
|
- "movq thread_data(%rip),%rsi\n\t"
|
||||||
|
+ "movq $thread_data,%rsi\n\t"
|
||||||
|
"movq $0x1002,%rdi\n\t" /* ARCH_SET_FS */
|
||||||
|
"movq $158,%rax\n\t" /* SYS_arch_prctl */
|
||||||
|
"syscall\n\t"
|
||||||
|
@@ -441,8 +441,7 @@ __ASM_GLOBAL_FUNC(_start,
|
||||||
|
"mov x0, SP\n\t"
|
||||||
|
"sub SP, SP, #144\n\t" /* allocate some space for extra aux values */
|
||||||
|
"str x0, [SP]\n\t" /* orig stack pointer */
|
||||||
|
- "adrp x0, thread_data\n\t"
|
||||||
|
- "add x0, x0, :lo12:thread_data\n\t"
|
||||||
|
+ "ldr x0, =thread_data\n\t"
|
||||||
|
"msr tpidr_el0, x0\n\t"
|
||||||
|
"mov x0, SP\n\t" /* ptr to orig stack pointer */
|
||||||
|
"bl wld_start\n\t"
|
||||||
|
@@ -1401,7 +1400,7 @@ void* wld_start( void **stack )
|
||||||
|
page_size = get_auxiliary( av, AT_PAGESZ, 4096 );
|
||||||
|
page_mask = page_size - 1;
|
||||||
|
|
||||||
|
- preloader_start = (char *)((unsigned long)_start & ~page_mask);
|
||||||
|
+ preloader_start = (char *)_start - ((unsigned long)_start & page_mask);
|
||||||
|
preloader_end = (char *)((unsigned long)(_end + page_mask) & ~page_mask);
|
||||||
|
|
||||||
|
#ifdef DUMP_AUX_INFO
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
202
0002-Revert-loader-Always-build-the-main-loader-as-PIE-if.patch
Normal file
202
0002-Revert-loader-Always-build-the-main-loader-as-PIE-if.patch
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
From 374a2c3ae41efcdcd99c5c0fb2220d03ea14f372 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Vogt <fvogt@suse.de>
|
||||||
|
Date: Thu, 29 Jun 2023 09:59:35 +0200
|
||||||
|
Subject: [PATCH 2/4] Revert "loader: Always build the main loader as PIE if we
|
||||||
|
have a preloader."
|
||||||
|
|
||||||
|
This reverts commit c55578f3a54c63084657e7d79c043b22b10df989.
|
||||||
|
---
|
||||||
|
configure | 93 +++++++++++++++++++++++++++++++++-------------------
|
||||||
|
configure.ac | 31 +++++++++---------
|
||||||
|
2 files changed, 76 insertions(+), 48 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure b/configure
|
||||||
|
index 635e3b7f25f..4d00a023d18 100755
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -10245,77 +10245,104 @@ if test "x$ac_cv_cflags__Wl___export_dynamic" = xyes
|
||||||
|
then :
|
||||||
|
WINELOADER_LDFLAGS="-Wl,--export-dynamic"
|
||||||
|
fi
|
||||||
|
+ WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7d400000"
|
||||||
|
|
||||||
|
- case $host_os in
|
||||||
|
- linux*)
|
||||||
|
- as_fn_append WINELOADER_LDFLAGS " -pie"
|
||||||
|
- WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7d400000"
|
||||||
|
- ;;
|
||||||
|
- *)
|
||||||
|
- case $HOST_ARCH in
|
||||||
|
- i386|arm)
|
||||||
|
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-Ttext-segment=0x60000000" >&5
|
||||||
|
-printf %s "checking whether the compiler supports -Wl,-Ttext-segment=0x60000000... " >&6; }
|
||||||
|
-if test ${ac_cv_cflags__Wl__Ttext_segment_0x60000000+y}
|
||||||
|
+ case $host_cpu in
|
||||||
|
+ *i[3456789]86* | arm*)
|
||||||
|
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-Ttext-segment=0x7bc00000" >&5
|
||||||
|
+printf %s "checking whether the compiler supports -Wl,-Ttext-segment=0x7bc00000... " >&6; }
|
||||||
|
+if test ${ac_cv_cflags__Wl__Ttext_segment_0x7bc00000+y}
|
||||||
|
then :
|
||||||
|
printf %s "(cached) " >&6
|
||||||
|
else $as_nop
|
||||||
|
ac_wine_try_cflags_saved=$CFLAGS
|
||||||
|
-CFLAGS="$CFLAGS -Wl,-Ttext-segment=0x60000000"
|
||||||
|
+CFLAGS="$CFLAGS -Wl,-Ttext-segment=0x7bc00000"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
int main(int argc, char **argv) { return 0; }
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"
|
||||||
|
then :
|
||||||
|
- ac_cv_cflags__Wl__Ttext_segment_0x60000000=yes
|
||||||
|
+ ac_cv_cflags__Wl__Ttext_segment_0x7bc00000=yes
|
||||||
|
else $as_nop
|
||||||
|
- ac_cv_cflags__Wl__Ttext_segment_0x60000000=no
|
||||||
|
+ ac_cv_cflags__Wl__Ttext_segment_0x7bc00000=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
CFLAGS=$ac_wine_try_cflags_saved
|
||||||
|
fi
|
||||||
|
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl__Ttext_segment_0x60000000" >&5
|
||||||
|
-printf "%s\n" "$ac_cv_cflags__Wl__Ttext_segment_0x60000000" >&6; }
|
||||||
|
-if test "x$ac_cv_cflags__Wl__Ttext_segment_0x60000000" = xyes
|
||||||
|
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl__Ttext_segment_0x7bc00000" >&5
|
||||||
|
+printf "%s\n" "$ac_cv_cflags__Wl__Ttext_segment_0x7bc00000" >&6; }
|
||||||
|
+if test "x$ac_cv_cflags__Wl__Ttext_segment_0x7bc00000" = xyes
|
||||||
|
then :
|
||||||
|
- as_fn_append WINELOADER_LDFLAGS " -Wl,-Ttext-segment=0x60000000"
|
||||||
|
+ case $host_os in
|
||||||
|
+ freebsd* | kfreebsd*-gnu) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-Ttext-segment=0x60000000" ;;
|
||||||
|
+ *) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-Ttext-segment=0x7d000000" ;;
|
||||||
|
+ esac
|
||||||
|
else $as_nop
|
||||||
|
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--section-start,.interp=0x60000400" >&5
|
||||||
|
-printf %s "checking whether the compiler supports -Wl,--section-start,.interp=0x60000400... " >&6; }
|
||||||
|
-if test ${ac_cv_cflags__Wl___section_start__interp_0x60000400+y}
|
||||||
|
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--section-start,.interp=0x7d000400" >&5
|
||||||
|
+printf %s "checking whether the compiler supports -Wl,--section-start,.interp=0x7d000400... " >&6; }
|
||||||
|
+if test ${ac_cv_cflags__Wl___section_start__interp_0x7d000400+y}
|
||||||
|
then :
|
||||||
|
printf %s "(cached) " >&6
|
||||||
|
else $as_nop
|
||||||
|
ac_wine_try_cflags_saved=$CFLAGS
|
||||||
|
-CFLAGS="$CFLAGS -Wl,--section-start,.interp=0x60000400"
|
||||||
|
+CFLAGS="$CFLAGS -Wl,--section-start,.interp=0x7d000400"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
int main(int argc, char **argv) { return 0; }
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"
|
||||||
|
then :
|
||||||
|
- ac_cv_cflags__Wl___section_start__interp_0x60000400=yes
|
||||||
|
+ ac_cv_cflags__Wl___section_start__interp_0x7d000400=yes
|
||||||
|
else $as_nop
|
||||||
|
- ac_cv_cflags__Wl___section_start__interp_0x60000400=no
|
||||||
|
+ ac_cv_cflags__Wl___section_start__interp_0x7d000400=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
CFLAGS=$ac_wine_try_cflags_saved
|
||||||
|
fi
|
||||||
|
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl___section_start__interp_0x60000400" >&5
|
||||||
|
-printf "%s\n" "$ac_cv_cflags__Wl___section_start__interp_0x60000400" >&6; }
|
||||||
|
-if test "x$ac_cv_cflags__Wl___section_start__interp_0x60000400" = xyes
|
||||||
|
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl___section_start__interp_0x7d000400" >&5
|
||||||
|
+printf "%s\n" "$ac_cv_cflags__Wl___section_start__interp_0x7d000400" >&6; }
|
||||||
|
+if test "x$ac_cv_cflags__Wl___section_start__interp_0x7d000400" = xyes
|
||||||
|
then :
|
||||||
|
- as_fn_append WINELOADER_LDFLAGS " -Wl,--section-start,.interp=0x60000400"
|
||||||
|
+ case $host_os in
|
||||||
|
+ freebsd* | kfreebsd*-gnu) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,--section-start,.interp=0x60000400" ;;
|
||||||
|
+ *) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,--section-start,.interp=0x7d000400" ;;
|
||||||
|
+ esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
- ;;
|
||||||
|
- *)
|
||||||
|
- as_fn_append WINELOADER_LDFLAGS " -pie"
|
||||||
|
- ;;
|
||||||
|
- esac
|
||||||
|
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-z,max-page-size=0x1000" >&5
|
||||||
|
+printf %s "checking whether the compiler supports -Wl,-z,max-page-size=0x1000... " >&6; }
|
||||||
|
+if test ${ac_cv_cflags__Wl__z_max_page_size_0x1000+y}
|
||||||
|
+then :
|
||||||
|
+ printf %s "(cached) " >&6
|
||||||
|
+else $as_nop
|
||||||
|
+ ac_wine_try_cflags_saved=$CFLAGS
|
||||||
|
+CFLAGS="$CFLAGS -Wl,-z,max-page-size=0x1000"
|
||||||
|
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
+/* end confdefs.h. */
|
||||||
|
+int main(int argc, char **argv) { return 0; }
|
||||||
|
+_ACEOF
|
||||||
|
+if ac_fn_c_try_link "$LINENO"
|
||||||
|
+then :
|
||||||
|
+ ac_cv_cflags__Wl__z_max_page_size_0x1000=yes
|
||||||
|
+else $as_nop
|
||||||
|
+ ac_cv_cflags__Wl__z_max_page_size_0x1000=no
|
||||||
|
+fi
|
||||||
|
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||||
|
+ conftest$ac_exeext conftest.$ac_ext
|
||||||
|
+CFLAGS=$ac_wine_try_cflags_saved
|
||||||
|
+fi
|
||||||
|
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl__z_max_page_size_0x1000" >&5
|
||||||
|
+printf "%s\n" "$ac_cv_cflags__Wl__z_max_page_size_0x1000" >&6; }
|
||||||
|
+if test "x$ac_cv_cflags__Wl__z_max_page_size_0x1000" = xyes
|
||||||
|
+then :
|
||||||
|
+ WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"
|
||||||
|
+fi
|
||||||
|
+ ;;
|
||||||
|
+ *)
|
||||||
|
+ WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -pie"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index c8880886b1c..2255db13046 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -769,24 +769,25 @@ case $host_os in
|
||||||
|
|
||||||
|
WINE_TRY_CFLAGS([-Wl,-z,defs],[UNIXLDFLAGS="$UNIXLDFLAGS -Wl,-z,defs"])
|
||||||
|
WINE_TRY_CFLAGS([-Wl,--export-dynamic],[WINELOADER_LDFLAGS="-Wl,--export-dynamic"])
|
||||||
|
+ WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7d400000"
|
||||||
|
|
||||||
|
- case $host_os in
|
||||||
|
- linux*)
|
||||||
|
- AS_VAR_APPEND([WINELOADER_LDFLAGS],[" -pie"])
|
||||||
|
- WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7d400000"
|
||||||
|
+ case $host_cpu in
|
||||||
|
+ *i[[3456789]]86* | arm*)
|
||||||
|
+ WINE_TRY_CFLAGS([-Wl,-Ttext-segment=0x7bc00000],
|
||||||
|
+ [case $host_os in
|
||||||
|
+ freebsd* | kfreebsd*-gnu) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-Ttext-segment=0x60000000" ;;
|
||||||
|
+ *) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-Ttext-segment=0x7d000000" ;;
|
||||||
|
+ esac],
|
||||||
|
+ [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7d000400],
|
||||||
|
+ [case $host_os in
|
||||||
|
+ freebsd* | kfreebsd*-gnu) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,--section-start,.interp=0x60000400" ;;
|
||||||
|
+ *) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,--section-start,.interp=0x7d000400" ;;
|
||||||
|
+ esac])])
|
||||||
|
+ WINE_TRY_CFLAGS([-Wl,-z,max-page-size=0x1000],
|
||||||
|
+ [WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"])
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
- case $HOST_ARCH in
|
||||||
|
- i386|arm)
|
||||||
|
- WINE_TRY_CFLAGS([-Wl,-Ttext-segment=0x60000000],
|
||||||
|
- [AS_VAR_APPEND([WINELOADER_LDFLAGS],[" -Wl,-Ttext-segment=0x60000000"])],
|
||||||
|
- [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x60000400],
|
||||||
|
- [AS_VAR_APPEND([WINELOADER_LDFLAGS],[" -Wl,--section-start,.interp=0x60000400"])])])
|
||||||
|
- ;;
|
||||||
|
- *)
|
||||||
|
- AS_VAR_APPEND([WINELOADER_LDFLAGS],[" -pie"])
|
||||||
|
- ;;
|
||||||
|
- esac
|
||||||
|
+ WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -pie"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
@ -0,0 +1,82 @@
|
|||||||
|
From 45b2eb83cc87c8a261f78eb10058ac644d6b5556 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Vogt <fvogt@suse.de>
|
||||||
|
Date: Thu, 29 Jun 2023 09:59:41 +0200
|
||||||
|
Subject: [PATCH 3/4] Revert "loader: Force building the main loader as PIE on
|
||||||
|
64-bit."
|
||||||
|
|
||||||
|
This reverts commit 78ed343842dcd8ffb95c416420953e121959d40d.
|
||||||
|
---
|
||||||
|
configure | 29 ++++++++++++++++++++++++++++-
|
||||||
|
configure.ac | 3 ++-
|
||||||
|
loader/Makefile.in | 1 -
|
||||||
|
3 files changed, 30 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure b/configure
|
||||||
|
index 4d00a023d18..a38400ad529 100755
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -10342,7 +10342,34 @@ then :
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
- WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -pie"
|
||||||
|
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-pie" >&5
|
||||||
|
+printf %s "checking whether the compiler supports -Wl,-pie... " >&6; }
|
||||||
|
+if test ${ac_cv_cflags__Wl__pie+y}
|
||||||
|
+then :
|
||||||
|
+ printf %s "(cached) " >&6
|
||||||
|
+else $as_nop
|
||||||
|
+ ac_wine_try_cflags_saved=$CFLAGS
|
||||||
|
+CFLAGS="$CFLAGS -Wl,-pie"
|
||||||
|
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
+/* end confdefs.h. */
|
||||||
|
+int main(int argc, char **argv) { return 0; }
|
||||||
|
+_ACEOF
|
||||||
|
+if ac_fn_c_try_link "$LINENO"
|
||||||
|
+then :
|
||||||
|
+ ac_cv_cflags__Wl__pie=yes
|
||||||
|
+else $as_nop
|
||||||
|
+ ac_cv_cflags__Wl__pie=no
|
||||||
|
+fi
|
||||||
|
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||||
|
+ conftest$ac_exeext conftest.$ac_ext
|
||||||
|
+CFLAGS=$ac_wine_try_cflags_saved
|
||||||
|
+fi
|
||||||
|
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl__pie" >&5
|
||||||
|
+printf "%s\n" "$ac_cv_cflags__Wl__pie" >&6; }
|
||||||
|
+if test "x$ac_cv_cflags__Wl__pie" = xyes
|
||||||
|
+then :
|
||||||
|
+ WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-pie"
|
||||||
|
+fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 2255db13046..b9b3ee4ffc3 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -787,7 +787,8 @@ case $host_os in
|
||||||
|
[WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"])
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
- WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -pie"
|
||||||
|
+ WINE_TRY_CFLAGS([-Wl,-pie],
|
||||||
|
+ [WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-pie"])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
diff --git a/loader/Makefile.in b/loader/Makefile.in
|
||||||
|
index 30413fc8677..7302c231915 100644
|
||||||
|
--- a/loader/Makefile.in
|
||||||
|
+++ b/loader/Makefile.in
|
||||||
|
@@ -12,7 +12,6 @@ SOURCES = \
|
||||||
|
|
||||||
|
PROGRAMS = $(WINELOADER_PROGRAMS)
|
||||||
|
INSTALL_LIB = $(WINELOADER_PROGRAMS)
|
||||||
|
-UNIX_CFLAGS = -fPIE
|
||||||
|
|
||||||
|
preloader_EXTRADEFS = -fno-builtin
|
||||||
|
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
@ -0,0 +1,89 @@
|
|||||||
|
From 26027b7b84b6fa2fa3b04092c8e6201dc0cad772 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Vogt <fvogt@suse.de>
|
||||||
|
Date: Thu, 29 Jun 2023 09:59:47 +0200
|
||||||
|
Subject: [PATCH 4/4] Revert "loader: Make the loader position-independent on
|
||||||
|
64-bit."
|
||||||
|
|
||||||
|
This reverts commit cc2cfb9b792bee681b96c5859084fd6d4d0bbed7.
|
||||||
|
---
|
||||||
|
configure | 32 +-------------------------------
|
||||||
|
configure.ac | 6 +-----
|
||||||
|
2 files changed, 2 insertions(+), 36 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure b/configure
|
||||||
|
index a38400ad529..1de33458d28 100755
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -10248,7 +10248,7 @@ fi
|
||||||
|
WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7d400000"
|
||||||
|
|
||||||
|
case $host_cpu in
|
||||||
|
- *i[3456789]86* | arm*)
|
||||||
|
+ *i[3456789]86* | x86_64 | *aarch64* | arm*)
|
||||||
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-Ttext-segment=0x7bc00000" >&5
|
||||||
|
printf %s "checking whether the compiler supports -Wl,-Ttext-segment=0x7bc00000... " >&6; }
|
||||||
|
if test ${ac_cv_cflags__Wl__Ttext_segment_0x7bc00000+y}
|
||||||
|
@@ -10339,36 +10339,6 @@ printf "%s\n" "$ac_cv_cflags__Wl__z_max_page_size_0x1000" >&6; }
|
||||||
|
if test "x$ac_cv_cflags__Wl__z_max_page_size_0x1000" = xyes
|
||||||
|
then :
|
||||||
|
WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"
|
||||||
|
-fi
|
||||||
|
- ;;
|
||||||
|
- *)
|
||||||
|
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-pie" >&5
|
||||||
|
-printf %s "checking whether the compiler supports -Wl,-pie... " >&6; }
|
||||||
|
-if test ${ac_cv_cflags__Wl__pie+y}
|
||||||
|
-then :
|
||||||
|
- printf %s "(cached) " >&6
|
||||||
|
-else $as_nop
|
||||||
|
- ac_wine_try_cflags_saved=$CFLAGS
|
||||||
|
-CFLAGS="$CFLAGS -Wl,-pie"
|
||||||
|
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
-/* end confdefs.h. */
|
||||||
|
-int main(int argc, char **argv) { return 0; }
|
||||||
|
-_ACEOF
|
||||||
|
-if ac_fn_c_try_link "$LINENO"
|
||||||
|
-then :
|
||||||
|
- ac_cv_cflags__Wl__pie=yes
|
||||||
|
-else $as_nop
|
||||||
|
- ac_cv_cflags__Wl__pie=no
|
||||||
|
-fi
|
||||||
|
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||||
|
- conftest$ac_exeext conftest.$ac_ext
|
||||||
|
-CFLAGS=$ac_wine_try_cflags_saved
|
||||||
|
-fi
|
||||||
|
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl__pie" >&5
|
||||||
|
-printf "%s\n" "$ac_cv_cflags__Wl__pie" >&6; }
|
||||||
|
-if test "x$ac_cv_cflags__Wl__pie" = xyes
|
||||||
|
-then :
|
||||||
|
- WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-pie"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index b9b3ee4ffc3..23f4250220d 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -772,7 +772,7 @@ case $host_os in
|
||||||
|
WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7d400000"
|
||||||
|
|
||||||
|
case $host_cpu in
|
||||||
|
- *i[[3456789]]86* | arm*)
|
||||||
|
+ *i[[3456789]]86* | x86_64 | *aarch64* | arm*)
|
||||||
|
WINE_TRY_CFLAGS([-Wl,-Ttext-segment=0x7bc00000],
|
||||||
|
[case $host_os in
|
||||||
|
freebsd* | kfreebsd*-gnu) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-Ttext-segment=0x60000000" ;;
|
||||||
|
@@ -786,10 +786,6 @@ case $host_os in
|
||||||
|
WINE_TRY_CFLAGS([-Wl,-z,max-page-size=0x1000],
|
||||||
|
[WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"])
|
||||||
|
;;
|
||||||
|
- *)
|
||||||
|
- WINE_TRY_CFLAGS([-Wl,-pie],
|
||||||
|
- [WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-pie"])
|
||||||
|
- ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
2
_service
2
_service
@ -3,7 +3,7 @@
|
|||||||
<param name="versionformat">@PARENT_TAG@</param>
|
<param name="versionformat">@PARENT_TAG@</param>
|
||||||
<param name="versionrewrite-pattern">v(.*)</param>
|
<param name="versionrewrite-pattern">v(.*)</param>
|
||||||
<param name="url">https://github.com/wine-staging/wine-staging.git</param>
|
<param name="url">https://github.com/wine-staging/wine-staging.git</param>
|
||||||
<param name="revision">refs/tags/v8.10</param>
|
<param name="revision">refs/tags/v8.11</param>
|
||||||
<param name="match-tag">v*.*</param>
|
<param name="match-tag">v*.*</param>
|
||||||
<param name="scm">git</param>
|
<param name="scm">git</param>
|
||||||
</service>
|
</service>
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:c4f36dd73c176cef8e7016ca4139ee76f5b498a4afd7edb517e14c0d5394736f
|
|
||||||
size 29225368
|
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCgAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAmSDn8sACgkQzvrI6q8X
|
|
||||||
UZ0pqg/7B/OmKaywlxnmmsrCFuJ0tQ1yAGf4hWp+LzScHz0Z9AA9+XrJrsbE38CZ
|
|
||||||
/1XgbNHKfX+pQ2b1AXnS2iH1/K5tIOrQq6kWHISyBjpwpXWGKUpKmSq5I524xU73
|
|
||||||
HR/SrwWwojWIaS21SgCi2eQ7qKuS0hM4CbwuafNnpeutj8IzLH66OjuL2KY4hYF4
|
|
||||||
1Am8SqTE/6e7HLbB/7gMGP6f3J/5Znj+z4+xVnDKT6QAbHjRIqrJX55zhB9gS4Bz
|
|
||||||
olUAl+ynyD2vh84aZMtrrQ2P5ZcK3dyF1WFsP8IPSa4Jhyt8LPvIxG9kKMwwA71k
|
|
||||||
O93OvN7Zm15AcOvryLb5TNdtuz+BUYpqGuxano4BhefD2SA3nZec5eLtleI2odhw
|
|
||||||
duZAnNsDLw+5Fcb6CB/miqqCz36D4kRc2n+vIcbQ/J3RRdYq2+7lyLi0EMiI0uqn
|
|
||||||
qOkxrvKnY3W6q3/DIcx51TDerhJ+4T14qqf7wbLkd43NlgjU+FMEgaHura2h3QBd
|
|
||||||
Y3uSHzKVRy0zB+4sCkBcMuKY6RTFsx8Cvvid8xjYZa36V2TJZwO5j2/6v6Qtm0bt
|
|
||||||
Z1DFr+vYs5ieMpfslBLus9VcJaoz6fYc0DEemQToij1YzeZd+/1k6PeAtxykNUzf
|
|
||||||
/jEGEaEVCabL/MjxydTTyr5xRdXFvZnitNAnKi/sil9AuMkEiLQ=
|
|
||||||
=MlQe
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
wine-8.11.tar.xz
Normal file
3
wine-8.11.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:0b5f2c8085352332590f076410174c486f7773da5727337745b1c1dcfe897fc9
|
||||||
|
size 29236492
|
16
wine-8.11.tar.xz.sign
Normal file
16
wine-8.11.tar.xz.sign
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAmSWDRsACgkQzvrI6q8X
|
||||||
|
UZ2xLg//cJNb/zW1Mvkn8i/8si3u4ZIGWGK9N7WGvQIwydiiONJE5PYI/q4lh8cj
|
||||||
|
VjNxjG2rOSgHC6EBnUztDjZY4aiuGNqA2NkKvg40e5lChfCvIpw/FJeUQ4uaSIdl
|
||||||
|
bKMJqG1ZJBUaaD9nejpODcsUOA8lsi9DJ9QMfq/yXZ+cvGBLNjvW5pgl7CazWHI3
|
||||||
|
Qd4oWxydlVMRTTy15ErIvlDHpyIk5nHagNk13d5VvO9M7kCLfdYDrzy4WA8HjQ/s
|
||||||
|
tcTSKHfDPumDYkPytUmIrq+fWFA+S814yu5VCwVXJA/WUP0LrKCiYHbmMIErDnaM
|
||||||
|
7M9PHwVGMTlXKxmiC8xpiR1hZbcgApT/GurfntuiKDUhKGqEECeaTfGEIbHGb4SS
|
||||||
|
29kY3No3GnuJA4hX6DTSWRgNa7ybsjp2AeS9LU2W9arlyv7ABp5N5THBZcEEOJq/
|
||||||
|
NfHuBwkOg5Mcg0aPDXVA5nBV2lJt/n20/FdAWiZCKx3Qv3MFw+6VaCjfoggqs1Ez
|
||||||
|
giTEDlHE97Q8/JdfX06qu8vaK20Q5TdDQkz9jKxMz+xNaoRKXABt+knz9rhto/RH
|
||||||
|
o3N2icGjniCreRTfNirFKL2T5XET3QVB6woCfloojgA4k++7DhX8vXXHAHGSeQnH
|
||||||
|
Y1EVBPz3Q5bJFHDWrA5jHPhQa0hQ4CC97xXeYOII1FsP1BuYxZo=
|
||||||
|
=uctY
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:3fbf7e788ed2ff0e6c042128164dfd3ea18b4a444535f34ce306ec3b0972c13c
|
|
||||||
size 7366008
|
|
3
wine-staging-8.11.tar.xz
Normal file
3
wine-staging-8.11.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2d8cc95db1ce2d50ffb23287ea434e161db72bcdea7b0f03f36a9b48d5d5c67c
|
||||||
|
size 7373640
|
20
wine.changes
20
wine.changes
@ -1,3 +1,23 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 29 08:01:59 UTC 2023 - Fabian Vogt <fvogt@suse.com>
|
||||||
|
|
||||||
|
- Add reverts to fix startup on 64bit
|
||||||
|
(https://bugs.winehq.org/show_bug.cgi?id=55139):
|
||||||
|
* 0001-Revert-loader-Build-the-preloader-as-PIE-on-64-bit.patch
|
||||||
|
* 0002-Revert-loader-Always-build-the-main-loader-as-PIE-if.patch
|
||||||
|
* 0003-Revert-loader-Force-building-the-main-loader-as-PIE-.patch
|
||||||
|
* 0004-Revert-loader-Make-the-loader-position-independent-o.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 26 07:57:27 UTC 2023 - Marcus Meissner <meissner@suse.com>
|
||||||
|
|
||||||
|
- Updated to 8.11 release
|
||||||
|
- More mouse cursor clipping improvements.
|
||||||
|
- Support for TLS alerts.
|
||||||
|
- Increased available address space in WoW64 mode.
|
||||||
|
- Various bug fixes.
|
||||||
|
- update staging to 8.11 release
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jun 12 06:58:24 UTC 2023 - Marcus Meissner <meissner@suse.com>
|
Mon Jun 12 06:58:24 UTC 2023 - Marcus Meissner <meissner@suse.com>
|
||||||
|
|
||||||
|
11
wine.spec
11
wine.spec
@ -29,8 +29,8 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# needs to be on top due to usage of %version macro below
|
# needs to be on top due to usage of %version macro below
|
||||||
%define realver 8.10
|
%define realver 8.11
|
||||||
Version: 8.10
|
Version: 8.11
|
||||||
Release: 0
|
Release: 0
|
||||||
|
|
||||||
%if "%{flavor}" != ""
|
%if "%{flavor}" != ""
|
||||||
@ -148,6 +148,11 @@ Source6: wine-msi.desktop
|
|||||||
Source5: ubuntuwine.tar.bz2
|
Source5: ubuntuwine.tar.bz2
|
||||||
Source7: baselibs.conf
|
Source7: baselibs.conf
|
||||||
Source8: wine-rpmlintrc
|
Source8: wine-rpmlintrc
|
||||||
|
# PATCH-FIX-UPSTREAM (hopefully temporary reverts for https://bugs.winehq.org/show_bug.cgi?id=55139)
|
||||||
|
Patch1: 0001-Revert-loader-Build-the-preloader-as-PIE-on-64-bit.patch
|
||||||
|
Patch2: 0002-Revert-loader-Always-build-the-main-loader-as-PIE-if.patch
|
||||||
|
Patch3: 0003-Revert-loader-Force-building-the-main-loader-as-PIE-.patch
|
||||||
|
Patch4: 0004-Revert-loader-Make-the-loader-position-independent-o.patch
|
||||||
# SUSE specific patches
|
# SUSE specific patches
|
||||||
# - currently none, but add them here
|
# - currently none, but add them here
|
||||||
Recommends: wine-gecko >= 2.47.3
|
Recommends: wine-gecko >= 2.47.3
|
||||||
@ -168,7 +173,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|||||||
ExclusiveArch: %{ix86} x86_64 ppc armv7l armv7hl aarch64
|
ExclusiveArch: %{ix86} x86_64 ppc armv7l armv7hl aarch64
|
||||||
%if %{staging}
|
%if %{staging}
|
||||||
# upstream patch target version
|
# upstream patch target version
|
||||||
%define staging_version 8.10
|
%define staging_version 8.11
|
||||||
Source100: wine-staging-%{staging_version}.tar.xz
|
Source100: wine-staging-%{staging_version}.tar.xz
|
||||||
BuildRequires: gtk3-devel
|
BuildRequires: gtk3-devel
|
||||||
BuildRequires: libOSMesa-devel
|
BuildRequires: libOSMesa-devel
|
||||||
|
Loading…
Reference in New Issue
Block a user