From ishidakz@hermes.hml.cl.nec.co.jp  Mon Jan  5 19:24:18 2004
Return-Path: <ishidakz@hermes.hml.cl.nec.co.jp>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 4667E16A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; 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 <FreeBSD-gnats-submit@freebsd.org>; 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])
	by TYO201.gate.nec.co.jp (8.11.7/3.7W01080315) with ESMTP id i063OAc09042
	for <FreeBSD-gnats-submit@freebsd.org>; 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 <FreeBSD-gnats-submit@freebsd.org>; 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])
	by ikoma.hml.cl.nec.co.jp (8.12.8/8.12.8) with ESMTP id i063O9N3018712
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 6 Jan 2004 12:24:09 +0900
Received: from hermes.hml.cl.nec.co.jp (localhost [127.0.0.1])
	by hermes.hml.cl.nec.co.jp (8.12.10/8.12.10) with ESMTP id i063O9Do048239
	for <FreeBSD-gnats-submit@freebsd.org>; 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 <ishidakz@mug.biglobe.ne.jp>
Reply-To: Kazuo ISHIDA <ishidakz@mug.biglobe.ne.jp>
To: FreeBSD-gnats-submit@freebsd.org
Subject: [PATCH] Win32 Applications abort on PECOFF
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         60963
>Category:       kern
>Synopsis:       [pecoff] [patch] Win32 Applications abort on PECOFF
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    bz
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 05 19:30:15 PST 2004
>Closed-Date:    Sun Nov 29 17:39:59 UTC 2009
>Last-Modified:  Sun Nov 29 17:39:59 UTC 2009
>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:
State-Changed-From-To: open->closed 
State-Changed-By: bz 
State-Changed-When: Sun Nov 29 17:39:35 UTC 2009 
State-Changed-Why:  
PECOFF image activator support was removed from all supported branches. 


Responsible-Changed-From-To: freebsd-bugs->bz 
Responsible-Changed-By: bz 
Responsible-Changed-When: Sun Nov 29 17:39:35 UTC 2009 
Responsible-Changed-Why:  
Take in case of follow-ups. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=60963 
>Unformatted:
