diff --git a/0001-Revert-loader-Build-the-preloader-as-PIE-on-64-bit.patch b/0001-Revert-loader-Build-the-preloader-as-PIE-on-64-bit.patch new file mode 100644 index 0000000..f758509 --- /dev/null +++ b/0001-Revert-loader-Build-the-preloader-as-PIE-on-64-bit.patch @@ -0,0 +1,126 @@ +From 8da3c054568e33f682b7282dfe0cdf048960b13a Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +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 + diff --git a/0002-Revert-loader-Always-build-the-main-loader-as-PIE-if.patch b/0002-Revert-loader-Always-build-the-main-loader-as-PIE-if.patch new file mode 100644 index 0000000..95a8191 --- /dev/null +++ b/0002-Revert-loader-Always-build-the-main-loader-as-PIE-if.patch @@ -0,0 +1,202 @@ +From 374a2c3ae41efcdcd99c5c0fb2220d03ea14f372 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +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 + diff --git a/0003-Revert-loader-Force-building-the-main-loader-as-PIE-.patch b/0003-Revert-loader-Force-building-the-main-loader-as-PIE-.patch new file mode 100644 index 0000000..23df0d2 --- /dev/null +++ b/0003-Revert-loader-Force-building-the-main-loader-as-PIE-.patch @@ -0,0 +1,82 @@ +From 45b2eb83cc87c8a261f78eb10058ac644d6b5556 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +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 + diff --git a/0004-Revert-loader-Make-the-loader-position-independent-o.patch b/0004-Revert-loader-Make-the-loader-position-independent-o.patch new file mode 100644 index 0000000..31f0752 --- /dev/null +++ b/0004-Revert-loader-Make-the-loader-position-independent-o.patch @@ -0,0 +1,89 @@ +From 26027b7b84b6fa2fa3b04092c8e6201dc0cad772 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +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 + diff --git a/_service b/_service index 84b9e2d..bdac12c 100644 --- a/_service +++ b/_service @@ -3,7 +3,7 @@ @PARENT_TAG@ v(.*) https://github.com/wine-staging/wine-staging.git - refs/tags/v8.10 + refs/tags/v8.11 v*.* git diff --git a/wine-8.10.tar.xz b/wine-8.10.tar.xz deleted file mode 100644 index 6e87eed..0000000 --- a/wine-8.10.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c4f36dd73c176cef8e7016ca4139ee76f5b498a4afd7edb517e14c0d5394736f -size 29225368 diff --git a/wine-8.10.tar.xz.sign b/wine-8.10.tar.xz.sign deleted file mode 100644 index 02e2c61..0000000 --- a/wine-8.10.tar.xz.sign +++ /dev/null @@ -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----- diff --git a/wine-8.11.tar.xz b/wine-8.11.tar.xz new file mode 100644 index 0000000..39e970d --- /dev/null +++ b/wine-8.11.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b5f2c8085352332590f076410174c486f7773da5727337745b1c1dcfe897fc9 +size 29236492 diff --git a/wine-8.11.tar.xz.sign b/wine-8.11.tar.xz.sign new file mode 100644 index 0000000..8fd2b23 --- /dev/null +++ b/wine-8.11.tar.xz.sign @@ -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----- diff --git a/wine-staging-8.10.tar.xz b/wine-staging-8.10.tar.xz deleted file mode 100644 index 056c451..0000000 --- a/wine-staging-8.10.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3fbf7e788ed2ff0e6c042128164dfd3ea18b4a444535f34ce306ec3b0972c13c -size 7366008 diff --git a/wine-staging-8.11.tar.xz b/wine-staging-8.11.tar.xz new file mode 100644 index 0000000..7efb5ce --- /dev/null +++ b/wine-staging-8.11.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d8cc95db1ce2d50ffb23287ea434e161db72bcdea7b0f03f36a9b48d5d5c67c +size 7373640 diff --git a/wine.changes b/wine.changes index 02d7ed4..f99ecbe 100644 --- a/wine.changes +++ b/wine.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Thu Jun 29 08:01:59 UTC 2023 - Fabian Vogt + +- 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 + +- 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 diff --git a/wine.spec b/wine.spec index 64ee77d..782c73a 100644 --- a/wine.spec +++ b/wine.spec @@ -29,8 +29,8 @@ %endif # needs to be on top due to usage of %version macro below -%define realver 8.10 -Version: 8.10 +%define realver 8.11 +Version: 8.11 Release: 0 %if "%{flavor}" != "" @@ -148,6 +148,11 @@ Source6: wine-msi.desktop Source5: ubuntuwine.tar.bz2 Source7: baselibs.conf 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 # - currently none, but add them here Recommends: wine-gecko >= 2.47.3 @@ -168,7 +173,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %{ix86} x86_64 ppc armv7l armv7hl aarch64 %if %{staging} # upstream patch target version -%define staging_version 8.10 +%define staging_version 8.11 Source100: wine-staging-%{staging_version}.tar.xz BuildRequires: gtk3-devel BuildRequires: libOSMesa-devel