From owner-freebsd-ports-bugs@FreeBSD.ORG Sat May 23 14:30:19 2009 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 54F8C106567A for ; Sat, 23 May 2009 14:30:19 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 2F2458FC1F for ; Sat, 23 May 2009 14:30:19 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n4NEUJoD093974 for ; Sat, 23 May 2009 14:30:19 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n4NEUJ9I093963; Sat, 23 May 2009 14:30:19 GMT (envelope-from gnats) Resent-Date: Sat, 23 May 2009 14:30:19 GMT Resent-Message-Id: <200905231430.n4NEUJ9I093963@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Mak Kolybabi Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2684310656DD for ; Sat, 23 May 2009 14:25:13 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id EE6ED8FC08 for ; Sat, 23 May 2009 14:25:12 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n4NEPCIe049001 for ; Sat, 23 May 2009 14:25:12 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id n4NEPCvA048984; Sat, 23 May 2009 14:25:12 GMT (envelope-from nobody) Message-Id: <200905231425.n4NEPCvA048984@www.freebsd.org> Date: Sat, 23 May 2009 14:25:12 GMT From: Mak Kolybabi To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/134874: [patch] Port fix games/iourbanterror on amd64 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 May 2009 14:30:19 -0000 >Number: 134874 >Category: ports >Synopsis: [patch] Port fix games/iourbanterror on amd64 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat May 23 14:30:18 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Mak Kolybabi >Release: 7.2-STABLE >Organization: >Environment: FreeBSD ely.nepharia.org 7.2-STABLE FreeBSD 7.2-STABLE #1: Fri May 22 23:45:21 CDT 2009 root@ely.nepharia.org:/usr/obj/usr/src/sys/GENERIC amd64 >Description: After compiling and installing the dedicated server for Urban Terror on an amd64 FreeBSD server, the dedicated server can't start up. The settings used for the server do not appear to alleviate this problem. This issue does not occur on i386 FreeBSD servers. >How-To-Repeat: # cd /usr/ports/games/iorbanterror # make clean ===> Cleaning for iourbanterror-2007.12.20_4 # make install [snip] # rehash # ioUrTded +map ut4_abbey ioQ3 1.35urt freebsd-amd64 May 23 2009 ----- FS_Startup ----- Going through search path... ---------------------- 8032 files in pk3 files execing default.cfg execing q3config.cfg execing autoexec.cfg Hunk_Clear: reset the hunk ok --- Common Initialization Complete --- Opening IP socket: localhost:27960 Hostname: localhost Alias: ely.nepharia.org Alias: ely IP: 127.0.0.1 Started tty console (use +set ttycon 0 to disable) ------ Server Initialization ------ Server: ut4_abbey Hunk_Clear: reset the hunk ok ----- FS_Startup ----- Going through search path... ---------------------- 16064 files in pk3 files Loading vm file vm/qagame.qvm... total 0, hsize 1021, zero 1021, min 0, max 0 parsearg() - expected '%' -> jmpq *rax >Fix: The problem is caused by a single-character error in the virtual machine. At one point a single '%' is intended to be printed, but since it is a special character in C printf-like functions, it doesn't print. The fix is simply changing the offending '%' to '%%'. There is already a patch for the file containing this error in the port. My attached patch adds another hunk to the pre-existing patch. Once the attached patch is applied, and the port is recompiled and reinstalled, the dedicated server works perfectly. Patch attached with submission follows: --- ./files/patch-code__qcommon__vm_x86_64.c.orig +++ ./files/patch-code__qcommon__vm_x86_64.c @@ -1,5 +1,14 @@ --- ./code/qcommon/vm_x86_64.c.orig 2007-10-09 02:47:22.000000000 -0300 +++ ./code/qcommon/vm_x86_64.c 2008-03-04 10:45:08.000000000 -0300 +@@ -246,7 +246,7 @@ + #else + #define JMPIARG \ + emit("movq $%lu, %%rax", vm->codeBase+vm->instructionPointers[iarg]); \ +- emit("jmpq *%rax"); ++ emit("jmpq *%%rax"); + #endif + + // integer compare and jump @@ -534,7 +534,7 @@ { compiledOfs = assembler_get_code_size(); >Release-Note: >Audit-Trail: >Unformatted: