From owner-freebsd-i386@FreeBSD.ORG Mon Jan 5 19:30:19 2004 Return-Path: Delivered-To: freebsd-i386@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4599C16A4CE for ; Mon, 5 Jan 2004 19:30:19 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 675B543D2D for ; Mon, 5 Jan 2004 19:30:16 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i063UGFR067103 for ; Mon, 5 Jan 2004 19:30:16 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id i063UGLn067102; Mon, 5 Jan 2004 19:30:16 -0800 (PST) (envelope-from gnats) Resent-Date: Mon, 5 Jan 2004 19:30:16 -0800 (PST) Resent-Message-Id: <200401060330.i063UGLn067102@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-i386@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Kazuo ISHIDA Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4667E16A4CE for ; Mon, 5 Jan 2004 19:24:18 -0800 (PST) Received: from TYO201.gate.nec.co.jp (TYO201.gate.nec.co.jp [202.32.8.214]) by mx1.FreeBSD.org (Postfix) with ESMTP id E8E1A43D49 for ; Mon, 5 Jan 2004 19:24:13 -0800 (PST) (envelope-from ishidakz@hermes.hml.cl.nec.co.jp) Received: from mailgate4.nec.co.jp (mailgate54.nec.co.jp [10.7.69.193]) i063OAc09042 for ; Tue, 6 Jan 2004 12:24:10 +0900 (JST) Received: (from root@localhost) by mailgate4.nec.co.jp (8.11.7/3.7W-MAILGATE-NEC) id i063OAY24053 for FreeBSD-gnats-submit@freebsd.org; Tue, 6 Jan 2004 12:24:10 +0900 (JST) Received: from ikoma.hml.cl.nec.co.jp (ikoma.hml.cl.nec.co.jp [10.56.192.1]) by mailsv.nec.co.jp (8.11.7/3.7W-MAILSV-NEC) with ESMTP id i063O9F26577 for ; Tue, 6 Jan 2004 12:24:09 +0900 (JST) Received: from hermes.hml.cl.nec.co.jp (hermes.hml.cl.nec.co.jp [10.56.192.202])i063O9N3018712 for ; Tue, 6 Jan 2004 12:24:09 +0900 Received: from hermes.hml.cl.nec.co.jp (localhost [127.0.0.1]) i063O9Do048239 for ; Tue, 6 Jan 2004 12:24:09 +0900 (JST) (envelope-from ishidakz@hermes.hml.cl.nec.co.jp) Received: (from ishidakz@localhost) by hermes.hml.cl.nec.co.jp (8.12.10/8.12.10/Submit) id i063O80H048238; Tue, 6 Jan 2004 12:24:08 +0900 (JST) (envelope-from ishidakz) Message-Id: <200401060324.i063O80H048238@hermes.hml.cl.nec.co.jp> Date: Tue, 6 Jan 2004 12:24:08 +0900 (JST) From: Kazuo ISHIDA To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: i386/60963: [PATCH] Win32 Applications abort on PECOFF X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Kazuo ISHIDA List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2004 03:30:19 -0000 >Number: 60963 >Category: i386 >Synopsis: [PATCH] Win32 Applications abort on PECOFF >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jan 05 19:30:15 PST 2004 >Closed-Date: >Last-Modified: >Originator: Kazuo ISHIDA >Release: FreeBSD 5.1-CURRENT i386 >Organization: NEC Corp. >Environment: System: FreeBSD *** 5.1-CURRENT FreeBSD 5.1-CURRENT #0: Mon Oct 27 18:27:39 JST 2003 ishidakz@:/usr/src/sys/GENERIC i386 >Description: Win32 Applications compiled by mingw32-gcc could not be loaded. Because pecoff_load_section() fails when EXE has both BSS(?) and TEXT section. >How-To-Repeat: Compile by ports/devel/mingw32-gcc and execute the following program (pecoff.ko is needed). ------------------------------ main() { printf("Hello\n"); } ------------------------------ >Fix: The following patch fixes this problem: ---------------------------------------------------------------------- diff -ru OLD/src/sys/compat/pecoff/imgact_pecoff.c ./sys/compat/pecoff/imgact_pecoff.c --- OLD/src/sys/compat/pecoff/imgact_pecoff.c Fri Jun 13 15:38:39 2003 +++ ./sys/compat/pecoff/imgact_pecoff.c Wed Oct 1 17:42:03 2003 @@ -511,7 +511,7 @@ text_addr = trunc_page(sh[i].s_vaddr); text_size = trunc_page(sh[i].s_size + sh[i].s_vaddr - text_addr); - } + } else if ((sh[i].s_flags & (COFF_STYP_DATA|COFF_STYP_BSS)) != 0) { if (pecoff_load_section( FIRST_THREAD_IN_PROC(imgp->proc), vmspace, ---------------------------------------------------------------------- >Release-Note: >Audit-Trail: >Unformatted: