From barner@in.tum.de  Sun Dec 15 01:49:57 2002
Return-Path: <barner@in.tum.de>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id DC6F037B401
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 15 Dec 2002 01:49:56 -0800 (PST)
Received: from mailout.informatik.tu-muenchen.de (mailout.informatik.tu-muenchen.de [131.159.0.5])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 9AECD43EB2
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 15 Dec 2002 01:49:55 -0800 (PST)
	(envelope-from barner@in.tum.de)
Received: from mailrelay1.informatik.tu-muenchen.de (mailrelay1.informatik.tu-muenchen.de [131.159.254.5])
	by mailout.informatik.tu-muenchen.de (Postfix) with ESMTP id 79C2A620F
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 15 Dec 2002 10:49:54 +0100 (MET)
Received: from mailhalle.informatik.tu-muenchen.de (mailhalle.informatik.tu-muenchen.de [131.159.0.26])
	by mailrelay1.informatik.tu-muenchen.de (Postfix) with ESMTP id 4C1657942
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 15 Dec 2002 10:49:54 +0100 (MET)
Received: from mail.foo.bar (atleo2.leo.org [131.159.72.4])
	by mailhalle.informatik.tu-muenchen.de (Postfix) with ESMTP id E6D3F6CB8E
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 15 Dec 2002 10:49:52 +0100 (MET)
Received: from kiste.foo.bar (kiste.foo.bar [10.0.0.100])
	by mail.foo.bar (Postfix) with ESMTP id 70D7C2DF
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 15 Dec 2002 03:04:55 +0100 (CET)
Received: by kiste.foo.bar (Postfix, from userid 1000)
	id 1228B20B99; Sun, 15 Dec 2002 03:04:53 +0100 (CET)
Message-Id: <20021215020453.1228B20B99@kiste.foo.bar>
Date: Sun, 15 Dec 2002 03:04:53 +0100 (CET)
From: Simon Barner <barner@in.tum.de>
Reply-To: Simon Barner <barner@in.tum.de>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: ports/java: jdk 1.3.1 p7 fails to build with gcc optimization for k6
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         46269
>Category:       java
>Synopsis:       ports/java: jdk 1.3.1 p7 fails to build with gcc optimization for k6
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    glewis
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 15 01:50:05 PST 2002
>Closed-Date:    Sat Aug 30 21:44:25 PDT 2003
>Last-Modified:  Sat Aug 30 21:44:25 PDT 2003
>Originator:     Simon Barner
>Release:        FreeBSD 4.7-STABLE i386
>Organization:
>Environment:
System: FreeBSD kiste.foo.bar 4.7-STABLE FreeBSD 4.7-STABLE #0: Sun Nov 24 15:24:21 CET 2002 simon@kiste.foo.bar:/usr/src/sys/compile/KISTE i386

machine:
CPU: AMD-K6(tm) 3D+ Processor (400.91-MHz 586-class CPU)
Origin = "AuthenticAMD"  Id = 0x591  Stepping = 1
Features=0x8021bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX>
AMD Features=0x80000800<SYSCALL,3DNow!>

libraries & tools:

glib-1.2.10_8
gtk-1.2.10_9
nspr-4.1.2
open-motif-2.2.2_1
XFree86-4.2.0_1,1

linux-jdk-1.3.1
gcc --version: 2.95.4


>Description:

Building the native JDK 1.3.1 p7 (jdk-1.3.1p7_2), I encountered the
following problem: Everything builds fine, except for the files

work/j2sdk1.3.1/src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c
work/j2sdk1.3.1/src/share/native/sun/awt/medialib/mlib_c_ImageConv5x5.c

Here are the relevant parts of my /etc/make.conf (/etc/defaults/make.conf is
unmodified and kept up to date):

CPUTYPE="k6-2"
CFLAGS= -O -pipe -march=k6 -mcpu=k6

These are the error messages for the first file (the ones for the second file
are equivalent): (long lines!)

/usr/bin/gcc -O3 -O -pipe -march=k6 -mcpu=k6  -W -Wall  -Wno-unused -Wno-parentheses   -Di386 -DARCH='"i386"' -DSOLARIS2 -DRELEASE='"1.3.1-p7"' -DFULL_VERSION='"1.3.1-p7-simon-021215-02:50"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -DLOGGING -D_LITTLE_ENDIAN -I. -I../../../../build/bsd-i386/tmp/sun/sun.awt.medialib/mlib_image/CClassHeaders -I../../../../src/solaris/javavm/export -I../../../../src/share/javavm/export -I../../../../src/share/native/common -I../../../../src/solaris/native/common -I../../../../src/share/native/sun/awt/medialib -I../../../../src/solaris/native/sun/awt/medialib   -I../../../../src/solaris/native/sun/awt/medialib/medialib   -c -o ../../../../build/bsd-i386/tmp/sun/sun.awt.medialib/mlib_image/obj/mlib_c_ImageConv3x3.o ../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c: In function `mlib_c_conv3x3_32nw':
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:499: syntax error before `1'
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:503: invalid lvalue in assignment
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:503: `k7' undeclared (first use in this function)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:503: (Each undeclared identifier is reported only once
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:503: for each function it appears in.)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:503: `k8' undeclared (first use in this function)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c: In function `mlib_c_conv3x3_32ext':
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:579: syntax error before `1'
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:584: invalid lvalue in assignment
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:584: `k7' undeclared (first use in this function)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:584: `k8' undeclared (first use in this function)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c: In function `mlib_c_conv3x3_16nw':
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:663: syntax error before `1'
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:672: invalid lvalue in assignment
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:672: `k7' undeclared (first use in this function)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:672: `k8' undeclared (first use in this function)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c: In function `mlib_c_conv3x3_16ext':
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:783: syntax error before `1'
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:793: invalid lvalue
 in assignment
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:793: `k7' undeclare
d (first use in this function)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:793: `k8' undeclare
d (first use in this function)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c: In function `mlib_
c_conv3x3_8nw':
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:907: syntax error b
efore `1'
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:919: invalid lvalue
 in assignment
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:919: `k7' undeclare
d (first use in this function)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:919: `k8' undeclare
d (first use in this function)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c: In function `mlib_
c_conv3x3_8ext':
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:1032: syntax error 
before `1'
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:1045: invalid lvalu
e in assignment
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:1045: `k7' undeclar
ed (first use in this function)
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c:1045: `k8' undeclar
ed (first use in this function)
gmake[4]: *** [../../../../build/bsd-i386/tmp/sun/sun.awt.medialib/mlib_image/obj/mlib_
c_ImageConv3x3.o] Error 1
gmake[4]: Leaving directory `/usr/ports/java/jdk13/work/j2sdk1.3.1/make/sun/image/gener
ic'
gmake[3]: *** [optimized] Error 2
gmake[3]: Leaving directory `/usr/ports/java/jdk13/work/j2sdk1.3.1/make/sun/image/gener
ic'
gmake[2]: *** [all] Error 1
gmake[2]: Leaving directory `/usr/ports/java/jdk13/work/j2sdk1.3.1/make/sun/image'
gmake[1]: *** [all] Error 1
gmake[1]: Leaving directory `/usr/ports/java/jdk13/work/j2sdk1.3.1/make/sun'
gmake: *** [all] Error 1
*** Error code 2

The error appears 4 times:
build/bsd-i386/tmp/sun/sun.awt.medialib/mlib_image/obj/mlib_c_ImageConv3x3.o
build/bsd-i386/tmp/sun/sun.awt.medialib/mlib_image/obj/mlib_c_ImageConv5x5.o
build/bsd-i386/tmp/sun/sun.awt.medialib/mlib_image/obj_g/mlib_c_ImageConv3x2.o
build/bsd-i386/tmp/sun/sun.awt.medialib/mlib_image/obj_g/mlib_c_ImageConv5x5.o

>How-To-Repeat:

Build the java/jdk13 port with the -march=k6 -mcpu=k6 gcc flags: e.g.

put
CPUTYPE="k6-2"
CFLAGS= -O -pipe -march=k6 -mcpu=k6

into /etc/make.conf

cd /usr/ports/java/jdk13
make build

>Fix:

Build the object files without AMD k6 optimization, i.e.
cd /usr/ports/java/jdk13/work/j2sdk1.3.1/make/sun/image/generic

/usr/bin/gcc -O3 -O -pipe -march=k6 -W -Wall  -Wno-unused
-Wno-parentheses   -Di386 -DARCH='"i386"' -DSOLARIS2 -DRELEASE='"1.3.1-p7"'
-DFULL_VERSION='"1.3.1-p7-toor-021215-01:34"' -D_LARGEFILE64_SOURCE
-D_GNU_SOURCE -D_REENTRANT -DLOGGING -D_LITTLE_ENDIAN -I.
-I../../../../build/bsd-i386/tmp/sun/sun.awt.medialib/mlib_image/CClassHeaders
-I../../../../src/solaris/javavm/export -I../../../../src/share/javavm/export
-I../../../../src/share/native/common -I../../../../src/solaris/native/common
-I../../../../src/share/native/sun/awt/medialib
-I../../../../src/solaris/native/sun/awt/medialib 
-I../../../../src/solaris/native/sun/awt/medialib/medialib   
-c -o ../../../../build/bsd-i386/tmp/sun/sun.awt.medialib/mlib_image/obj/
mlib_c_ImageConv3x3.o
../../../../src/share/native/sun/awt/medialib/mlib_c_ImageConv3x3.c

etc.
and continue the build of the port:

cd /usr/ports/java/jdk13
make build

=> removing -mcpu=k6 is enough. Decreading the optimization level to -O or
disabling optimization at all does not help.


Maybe this is a gcc bug?
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-java->glewis 
Responsible-Changed-By: glewis 
Responsible-Changed-When: Tue Jun 3 09:20:07 PDT 2003 
Responsible-Changed-Why:  
Over to maintainer (aka me). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=46269 
State-Changed-From-To: open->feedback 
State-Changed-By: glewis 
State-Changed-When: Fri Aug 22 10:09:29 PDT 2003 
State-Changed-Why:  
Can you please install a different version of gcc (see lang/gcc* for your 
options) and try compiling with that?  This is almost certainly a gcc bug, 
and I believe its triggered by the jdk14 port as well.  If a newer version 
compiles it correctly with your -mcpu setting then that would confirm that 
its a bug with gcc (I can maybe add a check for it and warn people in that 
case). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=46269 
State-Changed-From-To: feedback->closed 
State-Changed-By: glewis 
State-Changed-When: Sat Aug 30 21:43:52 PDT 2003 
State-Changed-Why:  
I committed tha variant of the fix you sent me, thanks! 

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