summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authormoonshadow5652023-04-08 20:44:57 +0200
committermoonshadow5652023-04-08 20:44:57 +0200
commitbd75f5c09e31591cd68bcbd8cb7886e1855ad848 (patch)
tree8ebecc0dff205aacc83bed7ab4738698f28648ab
parentc4f409a3fcf315f221b388c3afb923f9eca63681 (diff)
downloadaur-bd75f5c09e31591cd68bcbd8cb7886e1855ad848.tar.gz
Remove 32bit patches that are useless on 64bit
-rw-r--r--.SRCINFO58
-rw-r--r--0002-LoL-6.17+-syscall-fix.patch27
-rw-r--r--0003-LoL-abi.vsyscall32-alternative_patch_by_using_a_fake_cs_segment.patch148
-rw-r--r--0006-LoL-abi-vsyscall32-disable-vDSO.patch13
-rw-r--r--PKGBUILD18
-rw-r--r--[-rwxr-xr-x]wine-lol-staging.install17
6 files changed, 7 insertions, 274 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f5f3fbe75099..3a451a341892 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = wine-lol-staging
pkgdesc = A compatibility layer for running Windows programs (staging branch) with LoL patches(abi.vsyscall32=0 version)
- pkgver = 8.1
+ pkgver = 8.2
pkgrel = 1
url = https://www.wine-staging.com/
install = wine-lol-staging.install
@@ -15,24 +15,14 @@ pkgbase = wine-lol-staging
makedepends = mingw-w64-gcc
makedepends = giflib
makedepends = lib32-giflib
- makedepends = libpng
- makedepends = lib32-libpng
makedepends = gnutls
makedepends = lib32-gnutls
makedepends = libxinerama
makedepends = lib32-libxinerama
makedepends = libxcomposite
makedepends = lib32-libxcomposite
- makedepends = libxmu
- makedepends = lib32-libxmu
makedepends = libxxf86vm
makedepends = lib32-libxxf86vm
- makedepends = libldap
- makedepends = lib32-libldap
- makedepends = mpg123
- makedepends = lib32-mpg123
- makedepends = openal
- makedepends = lib32-openal
makedepends = v4l-utils
makedepends = lib32-v4l-utils
makedepends = alsa-lib
@@ -45,8 +35,6 @@ pkgbase = wine-lol-staging
makedepends = lib32-libgl
makedepends = opencl-icd-loader
makedepends = lib32-opencl-icd-loader
- makedepends = libxslt
- makedepends = lib32-libxslt
makedepends = libpulse
makedepends = lib32-libpulse
makedepends = libva
@@ -59,13 +47,10 @@ pkgbase = wine-lol-staging
makedepends = lib32-vulkan-icd-loader
makedepends = sdl2
makedepends = lib32-sdl2
- makedepends = vkd3d
- makedepends = lib32-vkd3d
makedepends = libcups
makedepends = lib32-libcups
makedepends = sane
makedepends = libgphoto2
- makedepends = gsm
makedepends = ffmpeg
makedepends = samba
makedepends = opencl-headers
@@ -74,45 +59,25 @@ pkgbase = wine-lol-staging
depends = lib32-attr
depends = fontconfig
depends = lib32-fontconfig
- depends = lcms2
- depends = lib32-lcms2
- depends = libxml2
- depends = lib32-libxml2
depends = libxcursor
depends = lib32-libxcursor
depends = libxrandr
depends = lib32-libxrandr
- depends = libxdamage
- depends = lib32-libxdamage
depends = libxi
depends = lib32-libxi
depends = gettext
depends = lib32-gettext
depends = freetype2
depends = lib32-freetype2
- depends = glu
- depends = lib32-glu
- depends = libsm
- depends = lib32-libsm
depends = gcc-libs
depends = lib32-gcc-libs
depends = libpcap
depends = lib32-libpcap
- depends = faudio
- depends = lib32-faudio
depends = desktop-file-utils
optdepends = giflib
optdepends = lib32-giflib
- optdepends = libpng
- optdepends = lib32-libpng
- optdepends = libldap
- optdepends = lib32-libldap
optdepends = gnutls
optdepends = lib32-gnutls
- optdepends = mpg123
- optdepends = lib32-mpg123
- optdepends = openal
- optdepends = lib32-openal
optdepends = v4l-utils
optdepends = lib32-v4l-utils
optdepends = libpulse
@@ -121,16 +86,12 @@ pkgbase = wine-lol-staging
optdepends = lib32-alsa-plugins
optdepends = alsa-lib
optdepends = lib32-alsa-lib
- optdepends = libjpeg-turbo
- optdepends = lib32-libjpeg-turbo
optdepends = libxcomposite
optdepends = lib32-libxcomposite
optdepends = libxinerama
optdepends = lib32-libxinerama
optdepends = opencl-icd-loader
optdepends = lib32-opencl-icd-loader
- optdepends = libxslt
- optdepends = lib32-libxslt
optdepends = libva
optdepends = lib32-libva
optdepends = gtk3
@@ -141,11 +102,8 @@ pkgbase = wine-lol-staging
optdepends = lib32-vulkan-icd-loader
optdepends = sdl2
optdepends = lib32-sdl2
- optdepends = vkd3d
- optdepends = lib32-vkd3d
optdepends = sane
optdepends = libgphoto2
- optdepends = gsm
optdepends = ffmpeg
optdepends = cups
optdepends = samba
@@ -153,19 +111,17 @@ pkgbase = wine-lol-staging
options = staticlibs
options = !lto
options = !strip
- source = git+https://github.com/wine-staging/wine-staging.git#tag=v8.1
- source = git+https://github.com/wine-mirror/wine.git#tag=wine-8.1
- source = 0002-LoL-6.17+-syscall-fix.patch
- source = 0003-LoL-abi.vsyscall32-alternative_patch_by_using_a_fake_cs_segment.patch
+ source = git+https://github.com/wine-staging/wine-staging.git#tag=v8.2
+ source = git+https://github.com/wine-mirror/wine.git#tag=wine-8.2
source = 0004-LoL-broken-client-update-fix.patch
source = 0005-LoL-client-slow-start-fix.patch
- source = 0006-LoL-abi-vsyscall32-disable-vDSO.patch
+ source = 0007-ntdll-stub-NtSetInformationThread-ThreadPriority.patch
+ source = 0008-ntdll-nopguard-call_vectored_handlers.patch
sha256sums = SKIP
sha256sums = SKIP
- sha256sums = c127907db75cd8575da27198c8f46aa19dd2a219324e7491761f206f3ce91601
- sha256sums = c2cb9265567dfe8c9f148e237910792cad7666d9d3cbf68d8717076030cddc92
sha256sums = 7607a84fd357a86bc8fb59d2cf002a3e471bd8ec78ecdb844b0b77b1ae6d11a0
sha256sums = 49dfbf7546c00958e2b426a61371eedf0119471e9998b354595d5c0ce6dab48b
- sha256sums = fe33c51d492de4685b515781ac157a5d02f8048a528404b4fd8319cfc7f5cf25
+ sha256sums = fc4fba4db2f691e3686fa84dd81935f0eb183d7c5c1215aba33a575b42b38cb5
+ sha256sums = 2075ddc417ddd11954f76be753c88e04db28f0b3937e60508f178630dd5763eb
pkgname = wine-lol-staging
diff --git a/0002-LoL-6.17+-syscall-fix.patch b/0002-LoL-6.17+-syscall-fix.patch
deleted file mode 100644
index 7bf74f30ee42..000000000000
--- a/0002-LoL-6.17+-syscall-fix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c
-index c876d51..654c84d 100644
---- a/tools/winebuild/import.c
-+++ b/tools/winebuild/import.c
-@@ -1401,19 +1401,9 @@ void output_syscalls( DLLSPEC *spec )
- switch (target.cpu)
- {
- case CPU_i386:
-- if (UsePIC)
-- {
-- output( "\tcall %s\n", asm_name("__wine_spec_get_pc_thunk_eax") );
-- output( "1:\tmovl %s-1b(%%eax),%%edx\n", asm_name("__wine_syscall_dispatcher") );
-- output( "\tmovl $%u,%%eax\n", id );
-- needs_get_pc_thunk = 1;
-- }
-- else
-- {
-- output( "\tmovl $%u,%%eax\n", id );
-- output( "\tmovl $%s,%%edx\n", asm_name("__wine_syscall") );
-- }
-- output( "\tcall *%%edx\n" );
-+ output( "\t.byte 0xb8\n" ); /* mov eax, SYSCALL */
-+ output( "\t.long %d\n", id );
-+ output( "\t.byte 0x64,0xff,0x15,0xc0,0x00,0x00,0x00\n" ); /* call dword ptr fs:[0C0h] */
- output( "\tret $%u\n", odp->type == TYPE_STDCALL ? get_args_size( odp ) : 0 );
- break;
- case CPU_x86_64:
diff --git a/0003-LoL-abi.vsyscall32-alternative_patch_by_using_a_fake_cs_segment.patch b/0003-LoL-abi.vsyscall32-alternative_patch_by_using_a_fake_cs_segment.patch
deleted file mode 100644
index 55917702ac29..000000000000
--- a/0003-LoL-abi.vsyscall32-alternative_patch_by_using_a_fake_cs_segment.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c
-index e2a6148..574e74e 100644
---- a/dlls/ntdll/unix/signal_i386.c
-+++ b/dlls/ntdll/unix/signal_i386.c
-@@ -386,6 +386,8 @@ static inline int set_thread_area( struct modify_ldt_s *ptr )
-
- static ULONG first_ldt_entry = 32;
-
-+static int wine_cs;
-+
- enum i386_trap_code
- {
- #if defined(__FreeBSD__) || defined (__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
-@@ -502,6 +504,11 @@ static inline WORD get_cs(void) { WORD res; __asm__( "movw %%cs,%0" : "=r" (res)
- static inline WORD get_ds(void) { WORD res; __asm__( "movw %%ds,%0" : "=r" (res) ); return res; }
- static inline WORD get_fs(void) { WORD res; __asm__( "movw %%fs,%0" : "=r" (res) ); return res; }
- static inline WORD get_gs(void) { WORD res; __asm__( "movw %%gs,%0" : "=r" (res) ); return res; }
-+static CDECL void __attribute((naked)) set_cs( DWORD val ) {
-+ asm ( "movl 4(%esp),%eax\n\t"
-+ "xchg 0(%esp),%eax\n\t"
-+ "push %eax\n\t"
-+ "lret"); }
- static inline void set_fs( WORD val ) { __asm__( "mov %0,%%fs" :: "r" (val)); }
- static inline void set_gs( WORD val ) { __asm__( "mov %0,%%gs" :: "r" (val)); }
-
-@@ -679,7 +686,8 @@ static inline void *init_handler( const ucontext_t *sigcontext )
- }
- #endif
-
-- if (!ldt_is_system(CS_sig(sigcontext)) || !ldt_is_system(SS_sig(sigcontext))) /* 16-bit mode */
-+ if ((CS_sig(sigcontext) != wine_cs && !ldt_is_system(CS_sig(sigcontext))) ||
-+ !ldt_is_system(SS_sig(sigcontext))) /* 16-bit mode */
- {
- /*
- * Win16 or DOS protected mode. Note that during switch
-@@ -1170,7 +1178,7 @@ static inline DWORD is_privileged_instr( CONTEXT *context )
- BYTE instr[16];
- unsigned int i, len, prefix_count = 0;
-
-- if (!ldt_is_system( context->SegCs )) return 0;
-+ if (context->SegCs != wine_cs && !ldt_is_system( context->SegCs )) return 0;
- len = virtual_uninterrupted_read_memory( (BYTE *)context->Eip, instr, sizeof(instr) );
-
- for (i = 0; i < len; i++) switch (instr[i])
-@@ -1237,7 +1245,7 @@ static inline BOOL check_invalid_gs( ucontext_t *sigcontext, CONTEXT *context )
- WORD system_gs = x86_thread_data()->gs;
-
- if (context->SegGs == system_gs) return FALSE;
-- if (!ldt_is_system( context->SegCs )) return FALSE;
-+ if (context->SegCs != wine_cs && !ldt_is_system( context->SegCs )) return FALSE;
- /* only handle faults in system libraries */
- if (virtual_is_valid_code_address( instr, 1 )) return FALSE;
-
-@@ -1478,7 +1486,7 @@ C_ASSERT( (offsetof(struct stack_layout, xstate) == sizeof(struct stack_layout))
- EIP_sig(sigcontext) = (DWORD)pKiUserExceptionDispatcher;
- /* clear single-step, direction, and align check flag */
- EFL_sig(sigcontext) &= ~(0x100|0x400|0x40000);
-- CS_sig(sigcontext) = get_cs();
-+ CS_sig(sigcontext) = wine_cs;
- DS_sig(sigcontext) = get_ds();
- ES_sig(sigcontext) = get_ds();
- FS_sig(sigcontext) = get_fs();
-@@ -2143,6 +2151,36 @@ static void ldt_set_entry( WORD sel, LDT_ENTRY entry )
- LDT_FLAGS_ALLOCATED);
- }
-
-+static WORD internal_ldt_alloc_entry(void)
-+{
-+ for (int idx = first_ldt_entry; idx < LDT_SIZE; idx++)
-+ {
-+ if (__wine_ldt_copy.flags[idx] & LDT_FLAGS_ALLOCATED) continue;
-+
-+ /* mark selector as allocated */
-+ __wine_ldt_copy.flags[idx] |= LDT_FLAGS_ALLOCATED;
-+ return (idx << 3) | 7;
-+ }
-+ return 0;
-+}
-+
-+static inline void cs_init( int first_thread )
-+{
-+ LDT_ENTRY entry;
-+ sigset_t sigset;
-+
-+ /* no locking for first thread */
-+ if (!first_thread) server_enter_uninterrupted_section( &ldt_mutex, &sigset );
-+ if (!wine_cs)
-+ wine_cs = internal_ldt_alloc_entry();
-+
-+ entry = ldt_make_entry( 0, (UINT_PTR)-1, LDT_FLAGS_CODE|LDT_FLAGS_32BIT );
-+ ldt_set_entry( wine_cs, entry );
-+
-+ if (!first_thread) server_leave_uninterrupted_section( &ldt_mutex, &sigset );
-+ set_cs( wine_cs );
-+}
-+
- static void ldt_set_fs( WORD sel, TEB *teb )
- {
- if (sel == gdt_fs_sel)
-@@ -2260,38 +2298,35 @@ void signal_init_threading(void)
- NTSTATUS signal_alloc_thread( TEB *teb )
- {
- struct x86_thread_data *thread_data = (struct x86_thread_data *)&teb->GdiTebBatch;
-+ static int first_thread = 1;
-
- if (!gdt_fs_sel)
- {
-- static int first_thread = 1;
- sigset_t sigset;
-- int idx;
-+ WORD sel;
- LDT_ENTRY entry = ldt_make_entry( teb, page_size - 1, LDT_FLAGS_DATA | LDT_FLAGS_32BIT );
-
- if (first_thread) /* no locking for first thread */
- {
- /* leave some space if libc is using the LDT for %gs */
- if (!is_gdt_sel( get_gs() )) first_ldt_entry = 512;
-- idx = first_ldt_entry;
-- ldt_set_entry( (idx << 3) | 7, entry );
-- first_thread = 0;
-+ sel = (first_ldt_entry << 3) | 7;
-+ ldt_set_entry( sel, entry );
- }
- else
- {
- server_enter_uninterrupted_section( &ldt_mutex, &sigset );
-- for (idx = first_ldt_entry; idx < LDT_SIZE; idx++)
-- {
-- if (__wine_ldt_copy.flags[idx]) continue;
-- ldt_set_entry( (idx << 3) | 7, entry );
-- break;
-- }
-+ sel = internal_ldt_alloc_entry();
-+ if (sel) ldt_set_entry( sel, entry );
- server_leave_uninterrupted_section( &ldt_mutex, &sigset );
-- if (idx == LDT_SIZE) return STATUS_TOO_MANY_THREADS;
-+ if (!sel) return STATUS_TOO_MANY_THREADS;
- }
-- thread_data->fs = (idx << 3) | 7;
-+ thread_data->fs = sel;
- }
- else thread_data->fs = gdt_fs_sel;
-
-+ cs_init( first_thread );
-+ first_thread = 0;
- teb->WOW32Reserved = __wine_syscall_dispatcher;
- return STATUS_SUCCESS;
- }
diff --git a/0006-LoL-abi-vsyscall32-disable-vDSO.patch b/0006-LoL-abi-vsyscall32-disable-vDSO.patch
deleted file mode 100644
index 33c993a82382..000000000000
--- a/0006-LoL-abi-vsyscall32-disable-vDSO.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/loader/preloader.c b/loader/preloader.c
-index d88964e9c4b..1ac8b9bd16b 100644
---- a/loader/preloader.c
-+++ b/loader/preloader.c
-@@ -1460,7 +1460,7 @@ void* wld_start( void **stack )
-
- i = 0;
- /* delete sysinfo values if addresses conflict */
-- if (is_in_preload_range( av, AT_SYSINFO ) || is_in_preload_range( av, AT_SYSINFO_EHDR ))
-+ if (1)
- {
- delete_av[i++].a_type = AT_SYSINFO;
- delete_av[i++].a_type = AT_SYSINFO_EHDR;
diff --git a/PKGBUILD b/PKGBUILD
index 0513cfce821b..85c7357e049f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -14,22 +14,16 @@ options=('staticlibs' '!lto' '!strip')
source=("git+https://github.com/wine-staging/wine-staging.git#tag=v${_winever}"
"git+https://github.com/wine-mirror/wine.git#tag=wine-${_winever}"
- "0002-LoL-6.17+-syscall-fix.patch"
- "0003-LoL-abi.vsyscall32-alternative_patch_by_using_a_fake_cs_segment.patch"
"0004-LoL-broken-client-update-fix.patch"
"0005-LoL-client-slow-start-fix.patch"
- "0006-LoL-abi-vsyscall32-disable-vDSO.patch"
"0007-ntdll-stub-NtSetInformationThread-ThreadPriority.patch"
"0008-ntdll-nopguard-call_vectored_handlers.patch"
)
sha256sums=('SKIP'
'SKIP'
- 'c127907db75cd8575da27198c8f46aa19dd2a219324e7491761f206f3ce91601'
- 'c2cb9265567dfe8c9f148e237910792cad7666d9d3cbf68d8717076030cddc92'
'7607a84fd357a86bc8fb59d2cf002a3e471bd8ec78ecdb844b0b77b1ae6d11a0'
'49dfbf7546c00958e2b426a61371eedf0119471e9998b354595d5c0ce6dab48b'
- 'fe33c51d492de4685b515781ac157a5d02f8048a528404b4fd8319cfc7f5cf25'
'fc4fba4db2f691e3686fa84dd81935f0eb183d7c5c1215aba33a575b42b38cb5'
'2075ddc417ddd11954f76be753c88e04db28f0b3937e60508f178630dd5763eb'
)
@@ -115,14 +109,6 @@ prepare() {
cd "${srcdir}/wine"
- # Reverts syscall thunks so leagues stub.dll can hook them properly(?)
- printf 'Apply 0002-LoL-6.17+-syscall-fix\n'
- patch -Np1 < "${srcdir}/0002-LoL-6.17+-syscall-fix.patch"
-
- # Fakes cs segment, needs "sudo sysctl -w abi.vsyscall32=0"
- printf 'Apply 0003-LoL-abi.vsyscall32\n'
- patch -Np1 < "${srcdir}/0003-LoL-abi.vsyscall32-alternative_patch_by_using_a_fake_cs_segment.patch"
-
# Something with resolving long paths and symlinks, might not be needed if you keep your install in sane place ???
printf 'Apply 0004-LoL-broken-client-update-fix\n'
patch -Np1 < "${srcdir}/0004-LoL-broken-client-update-fix.patch"
@@ -131,10 +117,6 @@ prepare() {
printf 'Apply 0005-LoL-client-slow-start-fix.patch\n'
patch -Np1 < "${srcdir}/0005-LoL-client-slow-start-fix.patch"
- # Disables vDSO in preelink, no need for "sudo sysctl -w abi.vsyscall32=0"
- printf 'Apply 0006-LoL-abi-vsyscall32-disable-vDSO.patch\n'
- patch -Np1 < "${srcdir}/0006-LoL-abi-vsyscall32-disable-vDSO.patch"
-
# Properly stub ThreadPriority for NtSetInformationThread
printf 'Apply 0007-ntdll-stub-NtSetInformationThread-ThreadPriority.patch\n'
patch -Np1 < "${srcdir}/0007-ntdll-stub-NtSetInformationThread-ThreadPriority.patch"
diff --git a/wine-lol-staging.install b/wine-lol-staging.install
index 8612960b4134..e69de29bb2d1 100755..100644
--- a/wine-lol-staging.install
+++ b/wine-lol-staging.install
@@ -1,17 +0,0 @@
-post_install()
-{
- echo "+-----------------------------------------------------------------------------------+"
- echo "| IMPORTANT! [x] |"
- echo "+-----------------------------------------------------------------------------------+"
- echo "| |"
- echo "| 1. run 'sudo sysctl -w abi.vsyscall32=0' on each reboot before starting a game |"
- echo "| |"
- echo "| 2. run '/opt/wine-lol-staging/bin/wine' instead of regular 'wine' or add to PATH |"
- echo "| |"
- echo "+-----------------------------------------------------------------------------------+"
-}
-
-post_upgrade()
-{
- post_install
-}