Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 933301 Details for
Bug 1018398
openarena crash: recursive error after: program tried to execute code outside VM
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
quake3 - update package to more recent tarball
0001-Update-to-latest-upstream-HEAD.patch (text/plain), 22.79 KB, created by
Jeff Layton
on 2014-09-01 10:51:29 UTC
(
hide
)
Description:
quake3 - update package to more recent tarball
Filename:
MIME Type:
Creator:
Jeff Layton
Created:
2014-09-01 10:51:29 UTC
Size:
22.79 KB
patch
obsolete
>From 321e979a3567439f4d243350791d13ccafbf2d18 Mon Sep 17 00:00:00 2001 >From: Jeff Layton <jlayton@primarydata.com> >Date: Sat, 19 Jul 2014 13:07:29 -0400 >Subject: [PATCH] Update to latest upstream HEAD > >Signed-off-by: Jeff Layton <jlayton@primarydata.com> >--- > 0011-Double-the-maximum-number-of-cvars.patch | 28 --- > ...e-command-buffer-from-16K-to-128K-followi.patch | 24 --- > jpeg_memsrc.c | 163 ----------------- > jpeg_memsrc.h | 5 - > quake3-1.34-rc4-demo-pak.patch | 18 -- > quake3-1.36-build.patch | 26 --- > quake3-1.36-demo-pak.patch | 19 ++ > quake3-1.36-syslibs.patch | 17 -- > quake3-fastcall.patch | 202 --------------------- > quake3.spec | 50 +++-- > 10 files changed, 41 insertions(+), 511 deletions(-) > delete mode 100644 0011-Double-the-maximum-number-of-cvars.patch > delete mode 100644 0012-Increase-the-command-buffer-from-16K-to-128K-followi.patch > delete mode 100644 jpeg_memsrc.c > delete mode 100644 jpeg_memsrc.h > delete mode 100644 quake3-1.34-rc4-demo-pak.patch > delete mode 100644 quake3-1.36-build.patch > create mode 100644 quake3-1.36-demo-pak.patch > delete mode 100644 quake3-1.36-syslibs.patch > delete mode 100644 quake3-fastcall.patch > >diff --git a/0011-Double-the-maximum-number-of-cvars.patch b/0011-Double-the-maximum-number-of-cvars.patch >deleted file mode 100644 >index eaa5699f6b2b..000000000000 >--- a/0011-Double-the-maximum-number-of-cvars.patch >+++ /dev/null >@@ -1,28 +0,0 @@ >-From: Simon McVittie <smcv@debian.org> >-Date: Wed, 11 Aug 2010 21:37:03 +0100 >-Subject: [PATCH] Double the maximum number of cvars >- >-OpenArena has had problems with hitting the cvar limit, and it only costs >-52K of memory (on i386/armel) to double the arbitrary limit. That should >-hopefully be plenty. >- >-Origin: vendor, Debian >-Forwarded: no >---- >- code/qcommon/cvar.c | 2 +- >- 1 files changed, 1 insertions(+), 1 deletions(-) >- >-diff --git a/code/qcommon/cvar.c b/code/qcommon/cvar.c >-index 3558f0f..15715bc 100644 >---- a/code/qcommon/cvar.c >-+++ b/code/qcommon/cvar.c >-@@ -28,7 +28,7 @@ cvar_t *cvar_vars = NULL; >- cvar_t *cvar_cheats; >- int cvar_modifiedFlags; >- >--#define MAX_CVARS 1024 >-+#define MAX_CVARS 2048 >- cvar_t cvar_indexes[MAX_CVARS]; >- int cvar_numIndexes; >- >--- >diff --git a/0012-Increase-the-command-buffer-from-16K-to-128K-followi.patch b/0012-Increase-the-command-buffer-from-16K-to-128K-followi.patch >deleted file mode 100644 >index 5a2d620e4bc1..000000000000 >--- a/0012-Increase-the-command-buffer-from-16K-to-128K-followi.patch >+++ /dev/null >@@ -1,24 +0,0 @@ >-From: Simon McVittie <smcv@debian.org> >-Date: Wed, 11 Aug 2010 21:40:03 +0100 >-Subject: [PATCH] Increase the command buffer from 16K to 128K, following OpenArena >- >-Origin: OpenArena >-Forwarded: no >---- >- code/qcommon/cmd.c | 2 +- >- 1 files changed, 1 insertions(+), 1 deletions(-) >- >-diff --git a/code/qcommon/cmd.c b/code/qcommon/cmd.c >-index f1243b3..349ff7d 100644 >---- a/code/qcommon/cmd.c >-+++ b/code/qcommon/cmd.c >-@@ -24,7 +24,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA >- #include "q_shared.h" >- #include "qcommon.h" >- >--#define MAX_CMD_BUFFER 16384 >-+#define MAX_CMD_BUFFER 128*1024 >- #define MAX_CMD_LINE 1024 >- >- typedef struct { >--- >diff --git a/jpeg_memsrc.c b/jpeg_memsrc.c >deleted file mode 100644 >index a7863d7f7706..000000000000 >--- a/jpeg_memsrc.c >+++ /dev/null >@@ -1,163 +0,0 @@ >-/* >-* memsrc.c >-* >-* Copyright (C) 1994-1996, Thomas G. Lane. >-* This file is part of the Independent JPEG Group's software. >-* For conditions of distribution and use, see the accompanying README file. >-* >-* This file contains decompression data source routines for the case of >-* reading JPEG data from a memory buffer that is preloaded with the entire >-* JPEG file. This would not seem especially useful at first sight, but >-* a number of people have asked for it. >-* This is really just a stripped-down version of jdatasrc.c. Comparison >-* of this code with jdatasrc.c may be helpful in seeing how to make >-* custom source managers for other purposes. >-*/ >- >-/* this is not a core library module, so it doesn't define JPEG_INTERNALS */ >-#include <stdio.h> >-#include <jpeglib.h> >-#include <jerror.h> >- >- >-/* Expanded data source object for memory input */ >- >-typedef struct { >-struct jpeg_source_mgr pub; /* public fields */ >- >-JOCTET eoi_buffer[2]; /* a place to put a dummy EOI */ >-} my_source_mgr; >- >-typedef my_source_mgr * my_src_ptr; >- >- >-/* >-* Initialize source --- called by jpeg_read_header >-* before any data is actually read. >-*/ >- >-METHODDEF(void) >-init_source (j_decompress_ptr cinfo) >-{ >-/* No work, since jpeg_mem_src set up the buffer pointer and count. >-* Indeed, if we want to read multiple JPEG images from one buffer, >-* this *must* not do anything to the pointer. >-*/ >-} >- >- >-/* >-* Fill the input buffer --- called whenever buffer is emptied. >-* >-* In this application, this routine should never be called; if it is called, >-* the decompressor has overrun the end of the input buffer, implying we >-* supplied an incomplete or corrupt JPEG datastream. A simple error exit >-* might be the most appropriate response. >-* >-* But what we choose to do in this code is to supply dummy EOI markers >-* in order to force the decompressor to finish processing and supply >-* some sort of output image, no matter how corrupted. >-*/ >- >-METHODDEF(boolean) >-fill_input_buffer (j_decompress_ptr cinfo) >-{ >-my_src_ptr src = (my_src_ptr) cinfo->src; >- >-WARNMS(cinfo, JWRN_JPEG_EOF); >- >-/* Create a fake EOI marker */ >-src->eoi_buffer[0] = (JOCTET) 0xFF; >-src->eoi_buffer[1] = (JOCTET) JPEG_EOI; >-src->pub.next_input_byte = src->eoi_buffer; >-src->pub.bytes_in_buffer = 2; >- >-return TRUE; >-} >- >- >-/* >-* Skip data --- used to skip over a potentially large amount of >-* uninteresting data (such as an APPn marker). >-* >-* If we overrun the end of the buffer, we let fill_input_buffer deal with >-* it. An extremely large skip could cause some time-wasting here, but >-* it really isn't supposed to happen ... and the decompressor will never >-* skip more than 64K anyway. >-*/ >- >-METHODDEF(void) >-skip_input_data (j_decompress_ptr cinfo, long num_bytes) >-{ >-my_src_ptr src = (my_src_ptr) cinfo->src; >- >-if (num_bytes > 0) { >-while (num_bytes > (long) src->pub.bytes_in_buffer) { >-num_bytes -= (long) src->pub.bytes_in_buffer; >-(void) fill_input_buffer(cinfo); >-/* note we assume that fill_input_buffer will never return FALSE, >-* so suspension need not be handled. >-*/ >-} >-src->pub.next_input_byte += (size_t) num_bytes; >-src->pub.bytes_in_buffer -= (size_t) num_bytes; >-} >-} >- >- >-/* >-* An additional method that can be provided by data source modules is the >-* resync_to_restart method for error recovery in the presence of RST markers. >-* For the moment, this source module just uses the default resync method >-* provided by the JPEG library. That method assumes that no backtracking >-* is possible. >-*/ >- >- >-/* >-* Terminate source --- called by jpeg_finish_decompress >-* after all data has been read. Often a no-op. >-* >-* NB: *not* called by jpeg_abort or jpeg_destroy; surrounding >-* application must deal with any cleanup that should happen even >-* for error exit. >-*/ >- >-METHODDEF(void) >-term_source (j_decompress_ptr cinfo) >-{ >-/* no work necessary here */ >-} >- >- >-/* >-* Prepare for input from a memory buffer. >-*/ >- >-//GLOBAL(void) >-jpeg_mem_src (j_decompress_ptr cinfo, const JOCTET * buffer, size_t bufsize) >-{ >-my_src_ptr src; >- >-/* The source object is made permanent so that a series of JPEG images >-* can be read from a single buffer by calling jpeg_mem_src >-* only before the first one. >-* This makes it unsafe to use this manager and a different source >-* manager serially with the same JPEG object. Caveat programmer. >-*/ >-if (cinfo->src == NULL) { /* first time for this JPEG object? */ >-cinfo->src = (struct jpeg_source_mgr *) >-(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, >-sizeof(my_source_mgr)); >-} >- >-src = (my_src_ptr) cinfo->src; >-src->pub.init_source = init_source; >-src->pub.fill_input_buffer = fill_input_buffer; >-src->pub.skip_input_data = skip_input_data; >-src->pub.resync_to_restart = jpeg_resync_to_restart; /* use default method */ >-src->pub.term_source = term_source; >- >-src->pub.next_input_byte = buffer; >-src->pub.bytes_in_buffer = bufsize; >-} >diff --git a/jpeg_memsrc.h b/jpeg_memsrc.h >deleted file mode 100644 >index 542425cdefa2..000000000000 >--- a/jpeg_memsrc.h >+++ /dev/null >@@ -1,5 +0,0 @@ >-#include <stdio.h> >-#include <jpeglib.h> >- >-void jpeg_mem_src (j_decompress_ptr cinfo, const JOCTET * buffer, >- size_t bufsize); >diff --git a/quake3-1.34-rc4-demo-pak.patch b/quake3-1.34-rc4-demo-pak.patch >deleted file mode 100644 >index 00cdba43efe4..000000000000 >--- a/quake3-1.34-rc4-demo-pak.patch >+++ /dev/null >@@ -1,18 +0,0 @@ >-diff -up quake3-1.36/code/qcommon/files.c~ quake3-1.36/code/qcommon/files.c >---- quake3-1.36/code/qcommon/files.c~ 2011-07-28 10:55:29.000000000 +0200 >-+++ quake3-1.36/code/qcommon/files.c 2011-07-28 14:10:08.294992989 +0200 >-@@ -3268,11 +3268,10 @@ static void FS_CheckPak0( void ) >- >- curpack = path->pack; >- >-- if(!Q_stricmpn( curpack->pakGamename, "demoq3", MAX_OSPATH ) >-- && !Q_stricmpn( pakBasename, "pak0", MAX_OSPATH )) >-+ if(!Q_stricmpn( pakBasename, "pak0", MAX_OSPATH ) && >-+ curpack->checksum == DEMO_PAK0_CHECKSUM) >- { >-- if(curpack->checksum == DEMO_PAK0_CHECKSUM) >-- founddemo = qtrue; >-+ founddemo = qtrue; >- } >- >- else if(!Q_stricmpn( curpack->pakGamename, BASEGAME, MAX_OSPATH ) >diff --git a/quake3-1.36-build.patch b/quake3-1.36-build.patch >deleted file mode 100644 >index 491cb993ca85..000000000000 >--- a/quake3-1.36-build.patch >+++ /dev/null >@@ -1,26 +0,0 @@ >-diff -up quake3-1.36/code/qcommon/q_platform.h.build quake3-1.36/code/qcommon/q_platform.h >---- quake3-1.36/code/qcommon/q_platform.h.build 2011-08-09 09:15:14.000000000 +0200 >-+++ quake3-1.36/code/qcommon/q_platform.h 2011-08-09 09:16:06.000000000 +0200 >-@@ -184,10 +184,10 @@ Foundation, Inc., 51 Franklin St, Fifth >- #define ARCH_STRING "ppc64" >- #elif defined __powerpc__ >- #define ARCH_STRING "ppc" >--#elif defined __s390__ >--#define ARCH_STRING "s390" >- #elif defined __s390x__ >- #define ARCH_STRING "s390x" >-+#elif defined __s390__ >-+#define ARCH_STRING "s390" >- #elif defined __ia64__ >- #define ARCH_STRING "ia64" >- #elif defined __alpha__ >-@@ -348,6 +348,9 @@ float FloatSwap (const float *f); >- #error "Endianness defined as both big and little" >- #elif defined( Q3_BIG_ENDIAN ) >- >-+void CopyShortSwap(void *dest, void *src); >-+void CopyLongSwap(void *dest, void *src); >-+ >- #define CopyLittleShort(dest, src) CopyShortSwap(dest, src) >- #define CopyLittleLong(dest, src) CopyLongSwap(dest, src) >- #define LittleShort(x) ShortSwap(x) >diff --git a/quake3-1.36-demo-pak.patch b/quake3-1.36-demo-pak.patch >new file mode 100644 >index 000000000000..8ba69dddef3e >--- /dev/null >+++ b/quake3-1.36-demo-pak.patch >@@ -0,0 +1,19 @@ >+diff --git a/code/qcommon/files.c b/code/qcommon/files.c >+index eb51faa9751b..87d9cb2039fc 100644 >+--- a/code/qcommon/files.c >++++ b/code/qcommon/files.c >+@@ -3384,11 +3384,10 @@ static void FS_CheckPak0( void ) >+ >+ curpack = path->pack; >+ >+- if(!Q_stricmpn( curpack->pakGamename, "demoq3", MAX_OSPATH ) >+- && !Q_stricmpn( pakBasename, "pak0", MAX_OSPATH )) >++ if(!Q_stricmpn( pakBasename, "pak0", MAX_OSPATH ) && >++ curpack->checksum == DEMO_PAK0_CHECKSUM) >+ { >+- if(curpack->checksum == DEMO_PAK0_CHECKSUM) >+- founddemo = qtrue; >++ founddemo = qtrue; >+ } >+ >+ else if(!Q_stricmpn( curpack->pakGamename, BASEGAME, MAX_OSPATH ) >diff --git a/quake3-1.36-syslibs.patch b/quake3-1.36-syslibs.patch >deleted file mode 100644 >index 76041504e1e4..000000000000 >--- a/quake3-1.36-syslibs.patch >+++ /dev/null >@@ -1,17 +0,0 @@ >-diff -up quake3-1.36/code/renderer/tr_image_jpg.c~ quake3-1.36/code/renderer/tr_image_jpg.c >---- quake3-1.36/code/renderer/tr_image_jpg.c~ 2011-07-28 10:55:28.000000000 +0200 >-+++ quake3-1.36/code/renderer/tr_image_jpg.c 2011-07-28 11:10:16.575647654 +0200 >-@@ -35,12 +35,7 @@ Foundation, Inc., 51 Franklin St, Fifth >- #endif >- >- #include <jpeglib.h> >-- >--#ifndef USE_INTERNAL_JPEG >--# if JPEG_LIB_VERSION < 80 >--# error Need system libjpeg >= 80 >--# endif >--#endif >-+#include "jpeg_memsrc.c" >- >- static void R_JPGErrorExit(j_common_ptr cinfo) >- { >diff --git a/quake3-fastcall.patch b/quake3-fastcall.patch >deleted file mode 100644 >index 3c550e85383f..000000000000 >--- a/quake3-fastcall.patch >+++ /dev/null >@@ -1,202 +0,0 @@ >-From ffac0e67574891072f74db3769b5ca7e252853b1 Mon Sep 17 00:00:00 2001 >-From: Thilo Schulz <arny@ats.s.bawue.de> >-Date: Wed, 8 Aug 2012 09:34:03 +0000 >-Subject: [PATCH] Move argument passing from VM to engine to global variables >- which allows to get rid of lots of OS specific stuff and also fixes errors >- that happens when compilers add lots of boilerplate to the DoSyscall() >- function >- >-[jlayton: a little wiggling to merge into r2102] >- >---- >- code/asm/vm_x86_64.asm | 18 ---------- >- code/qcommon/vm_x86.c | 91 ++++++++++++++++++++++---------------------------- >- 2 files changed, 40 insertions(+), 69 deletions(-) >- >-diff --git a/code/asm/vm_x86_64.asm b/code/asm/vm_x86_64.asm >-index 030b6987db94..87e04f4dbbd3 100644 >---- a/code/asm/vm_x86_64.asm >-+++ b/code/asm/vm_x86_64.asm >-@@ -23,26 +23,8 @@ >- ; >- ; assumes __fastcall calling convention >- >--DoSyscall PROTO >-- >- .code >- >--; Call to static void DoSyscall(int syscallNum, int programStack, int *opStackBase, uint8_t opStackOfs, intptr_t arg) >-- >--qsyscall64 PROC >-- sub rsp, 28h ; after this esp will be aligned to 16 byte boundary >-- mov qword ptr [rsp + 20h], rcx ; 5th parameter "arg" is passed on stack >-- mov r9b, bl ; opStackOfs >-- mov r8, rdi ; opStackBase >-- mov edx, esi ; programStack >-- mov ecx, eax ; syscallNum >-- mov rax, DoSyscall ; store call address of DoSyscall in rax >-- call rax >-- add rsp, 28h >-- ret >--qsyscall64 ENDP >-- >-- >- ; Call to compiled code after setting up the register environment for the VM >- ; prototype: >- ; uint8_t qvmcall64(int *programStack, int *opStack, intptr_t *instructionPointers, byte *dataBase); >-diff --git a/code/qcommon/vm_x86.c b/code/qcommon/vm_x86.c >-index aa63d048471e..080fe54ec15d 100644 >---- a/code/qcommon/vm_x86.c >-+++ b/code/qcommon/vm_x86.c >-@@ -389,55 +389,28 @@ static void ErrJump(void) >- /* >- ================= >- DoSyscall >--Uses asm to retrieve arguments from registers to work around different calling conventions >-+ >-+Assembler helper routines will write its arguments directly to global variables so as to >-+work around different calling conventions >- ================= >- */ >- >--#if defined(_MSC_VER) && idx64 >-- >--extern void qsyscall64(void); >--extern uint8_t qvmcall64(int *programStack, int *opStack, intptr_t *instructionPointers, byte *dataBase); >-+int vm_syscallNum; >-+int vm_programStack; >-+int *vm_opStackBase; >-+uint8_t vm_opStackOfs; >-+intptr_t vm_arg; >- >--// Microsoft does not support inline assembler on x64 platforms. Meh. >--void DoSyscall(int syscallNum, int programStack, int *opStackBase, uint8_t opStackOfs, intptr_t arg) >--{ >--#else >- static void DoSyscall(void) >- { >-- int syscallNum; >-- int programStack; >-- int *opStackBase; >-- uint8_t opStackOfs; >-- intptr_t arg; >--#endif >-- >- vm_t *savedVM; >- >--#if defined(_MSC_VER) >-- #if !idx64 >-- __asm >-- { >-- mov dword ptr syscallNum, eax >-- mov dword ptr programStack, esi >-- mov byte ptr opStackOfs, bl >-- mov dword ptr opStackBase, edi >-- mov dword ptr arg, ecx >-- } >-- #endif >--#else >-- __asm__ volatile( >-- "" >-- : "=a" (syscallNum), "=S" (programStack), "=D" (opStackBase), "=b" (opStackOfs), >-- "=c" (arg) >-- ); >--#endif >-- >- // save currentVM so as to allow for recursive VM entry >- savedVM = currentVM; >- // modify VM stack pointer for recursive VM entry >-- currentVM->programStack = programStack - 4; >-+ currentVM->programStack = vm_programStack - 4; >- >-- if(syscallNum < 0) >-+ if(vm_syscallNum < 0) >- { >- int *data; >- #if idx64 >-@@ -445,34 +418,34 @@ static void DoSyscall(void) >- intptr_t args[11]; >- #endif >- >-- data = (int *) (savedVM->dataBase + programStack + 4); >-+ data = (int *) (savedVM->dataBase + vm_programStack + 4); >- >- #if idx64 >-- args[0] = ~syscallNum; >-+ args[0] = ~vm_syscallNum; >- for(index = 1; index < ARRAY_LEN(args); index++) >- args[index] = data[index]; >- >-- opStackBase[opStackOfs + 1] = savedVM->systemCall(args); >-+ vm_opStackBase[vm_opStackOfs + 1] = savedVM->systemCall(args); >- #else >-- data[0] = ~syscallNum; >-- opStackBase[opStackOfs + 1] = savedVM->systemCall(data); >-+ data[0] = ~vm_syscallNum; >-+ vm_opStackBase[vm_opStackOfs + 1] = savedVM->systemCall(data); >- #endif >- } >- else >- { >-- switch(syscallNum) >-+ switch(vm_syscallNum) >- { >- case VM_JMP_VIOLATION: >- ErrJump(); >- break; >- case VM_BLOCK_COPY: >-- if(opStackOfs < 1) >-+ if(vm_opStackOfs < 1) >- Com_Error(ERR_DROP, "VM_BLOCK_COPY failed due to corrupted opStack"); >- >-- VM_BlockCopy(opStackBase[(opStackOfs - 1)], opStackBase[opStackOfs], arg); >-+ VM_BlockCopy(vm_opStackBase[(vm_opStackOfs - 1)], vm_opStackBase[vm_opStackOfs], vm_arg); >- break; >- default: >-- Com_Error(ERR_DROP, "Unknown VM operation %d", syscallNum); >-+ Com_Error(ERR_DROP, "Unknown VM operation %d", vm_syscallNum); >- break; >- } >- } >-@@ -503,13 +476,8 @@ Call to DoSyscall() >- int EmitCallDoSyscall(vm_t *vm) >- { >- // use edx register to store DoSyscall address >--#if defined(_MSC_VER) && idx64 >-- EmitRexString(0x48, "BA"); // mov edx, qsyscall64 >-- EmitPtr(qsyscall64); >--#else >- EmitRexString(0x48, "BA"); // mov edx, DoSyscall >- EmitPtr(DoSyscall); >--#endif >- >- // Push important registers to stack as we can't really make >- // any assumptions about calling conventions. >-@@ -521,6 +489,27 @@ int EmitCallDoSyscall(vm_t *vm) >- EmitRexString(0x41, "51"); // push r9 >- #endif >- >-+ // write arguments to global vars >-+ // syscall number >-+ EmitString("A3"); // mov [0x12345678], eax >-+ EmitPtr(&vm_syscallNum); >-+ // vm_programStack value >-+ EmitString("89 F0"); // mov eax, esi >-+ EmitString("A3"); // mov [0x12345678], eax >-+ EmitPtr(&vm_programStack); >-+ // vm_opStackOfs >-+ EmitString("88 D8"); // mov al, bl >-+ EmitString("A2"); // mov [0x12345678], al >-+ EmitPtr(&vm_opStackOfs); >-+ // vm_opStackBase >-+ EmitRexString(0x48, "89 F8"); // mov eax, edi >-+ EmitRexString(0x48, "A3"); // mov [0x12345678], eax >-+ EmitPtr(&vm_opStackBase); >-+ // vm_arg >-+ EmitString("89 C8"); // mov eax, ecx >-+ EmitString("A3"); // mov [0x12345678], eax >-+ EmitPtr(&vm_arg); >-+ >- // align the stack pointer to a 16-byte-boundary >- EmitString("55"); // push ebp >- EmitRexString(0x48, "89 E5"); // mov ebp, esp >diff --git a/quake3.spec b/quake3.spec >index f8128d293416..40c2a4360430 100644 >--- a/quake3.spec >+++ b/quake3.spec >@@ -1,6 +1,6 @@ > Name: quake3 > Version: 1.36 >-Release: 20.svn2102%{?dist} >+Release: 20.git7afb433e%{?dist} > Summary: Quake 3 Arena engine (ioquake3 version) > Group: Amusements/Games > License: GPLv2+ >@@ -13,7 +13,7 @@ URL: http://ioquake3.org/ > # rm -fr code/jpeg-8c code/zlib code/libspeex code/tools/lcc > # popd > # tar cvfj %{name}-%{version}.tar.bz2 %{name}-%{version} >-Source0: %{name}-%{version}-svn2102.tar.bz2 >+Source0: %{name}-%{version}-git7afb433e.tar.bz2 > Source1: %{name}-demo.sh > Source2: %{name}.autodlrc > Source3: %{name}.desktop >@@ -28,16 +28,7 @@ Source11: worldofpadman.sh > Source12: worldofpadman.autodlrc > Source13: worldofpadman.desktop > Source14: wop.png >-Source15: jpeg_memsrc.h >-Source16: jpeg_memsrc.c >-Patch0: quake3-1.36-syslibs.patch >-Patch1: quake3-1.34-rc4-demo-pak.patch >-# patches from Debian for openarena compatibility (increase some buffer sizes) >-Patch2: 0011-Double-the-maximum-number-of-cvars.patch >-Patch3: 0012-Increase-the-command-buffer-from-16K-to-128K-followi.patch >-# big-endian build fix >-Patch4: quake3-1.36-build.patch >-Patch5: quake3-fastcall.patch >+Patch0: quake3-1.36-demo-pak.patch > BuildRequires: SDL-devel libXt-devel openal-soft-devel libjpeg-devel > BuildRequires: speex-devel libvorbis-devel curl-devel desktop-file-utils > BuildRequires: zlib-devel >@@ -138,14 +129,6 @@ Padman menu entry, which will automatically download the necessary datafiles > %prep > %setup -q > %patch0 -p1 >-%patch1 -p1 >-%patch2 -p1 >-%patch3 -p1 >-%patch4 -p1 >-%patch5 -p1 >-# Add jpeg_memsrc >-cp -p %{SOURCE15} %{SOURCE16} ./code/renderer/ >- > > %build > # the CROSS_COMPILING=1 is a hack to not build q3cc and qvm files >@@ -161,13 +144,18 @@ make %{?_smp_mflags} \ > %install > mkdir -p $RPM_BUILD_ROOT%{_bindir} > mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} >+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d >+mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name} >+ >+# set up ld.so.conf >+echo "%{_libdir}/%{name}" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/%{name}.conf >+ >+install -m 755 build/release-linux-*/ioquake3.* $RPM_BUILD_ROOT%{_bindir}/quake3 >+install -m 755 build/release-linux-*/ioq3ded.* $RPM_BUILD_ROOT%{_bindir}/q3ded >+ >+install -m 755 -t $RPM_BUILD_ROOT%{_libdir}/%{name}/ build/release-linux-*/renderer_opengl1_*.so >+install -m 644 -t $RPM_BUILD_ROOT%{_libdir}/%{name}/ build/release-linux-*/renderer_opengl2_*.so > >-install -m 755 build/release-linux-*/ioquake3.* \ >- $RPM_BUILD_ROOT%{_bindir}/quake3 >-install -m 755 build/release-linux-*/ioquake3-smp.* \ >- $RPM_BUILD_ROOT%{_bindir}/quake3-smp >-install -m 755 build/release-linux-*/ioq3ded.* \ >- $RPM_BUILD_ROOT%{_bindir}/q3ded > install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/quake3-demo > install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/%{name} > >@@ -180,6 +168,7 @@ install -p -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/%{name} > install -p -m 755 %{SOURCE11} $RPM_BUILD_ROOT%{_bindir}/worldofpadman > install -p -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{_datadir}/%{name} > >+ > # below is the desktop file and icon stuff. > mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications > desktop-file-install \ >@@ -243,14 +232,16 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : > > %files > %defattr(-,root,root,-) >-%doc BUGS ChangeLog COPYING.txt id-readme.txt md4-readme.txt NOTTODO README >+%doc BUGS ChangeLog COPYING.txt id-readme.txt md4-readme.txt NOTTODO README.md > %doc TODO > %{_bindir}/%{name} >-%{_bindir}/%{name}-smp > %{_bindir}/%{name}-update > %{_bindir}/q3ded > %dir %{_datadir}/%{name} > %{_datadir}/%{name}/%{name}-update.autodlrc >+%dir %{_libdir}/%{name} >+%attr(0755,root,root) %{_libdir}/%{name}/renderer* >+%{_sysconfdir}/ld.so.conf.d/%{name}.conf > > %files demo > %defattr(-,root,root,-) >@@ -275,6 +266,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : > > > %changelog >+* Sat Jul 19 2014 Jeff Layton <jlayton@poochiereds.net> - 1.36.20.git7afb433e >+- Update to latest git head >+ > * Sat Jul 19 2014 Jeff Layton <jlayton@poochiereds.net> - 1.36.20.svn2102 > - Move argument passing from VM to engine to global variables (rhbz#1018398) > >-- >1.9.3 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1018398
:
811395
|
919275
| 933301 |
934520