From nobody@FreeBSD.org  Sun May 13 10:23:52 2007
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 36A3416A403
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 13 May 2007 10:23:52 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [69.147.83.33])
	by mx1.freebsd.org (Postfix) with ESMTP id 0EF5B13C43E
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 13 May 2007 10:23:52 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.13.1/8.13.1) with ESMTP id l4DANpOB009154
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 13 May 2007 10:23:51 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.13.1/8.13.1/Submit) id l4DAInLi008674;
	Sun, 13 May 2007 10:18:49 GMT
	(envelope-from nobody)
Message-Id: <200705131018.l4DAInLi008674@www.freebsd.org>
Date: Sun, 13 May 2007 10:18:49 GMT
From: Sergiy Vyshnevetskiy<serg@vostok.net>
To: freebsd-gnats-submit@FreeBSD.org
Subject: gcj41 --encoding=<non-utf-8> fails
X-Send-Pr-Version: www-3.0

>Number:         112627
>Category:       ports
>Synopsis:       lang/gcc41 - gcj41 --encoding=<non-utf-8> fails
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    gerald
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun May 13 10:30:06 GMT 2007
>Closed-Date:    Sun May 27 13:17:41 GMT 2007
>Last-Modified:  Sun May 27 13:17:41 GMT 2007
>Originator:     Sergiy Vyshnevetskiy
>Release:        6.2
>Organization:
>Environment:
FreeBSD serg2.vostok.net 6.2-STABLE FreeBSD 6.2-STABLE #0: Sun Apr 29 18:08:21 EEST 2007     serg@serg2.vostok.net:/o0/obj/usr/6/src/sys/SERG  i386
>Description:
Parts of gcc are compiled without libiconv even if it's present in the system and  --with-libiconv-prefix specified correctly.

The reason for this is usage of HAVE_ICONV_H macro.

1. The check for iconv.h in configure does not use the value of --with-libiconv-prefix option.

2. HAVE_ICONV_H is useless because check for libiconv uses iconv.h anyway.

3. HAVE_ICONV is changed in some source files like this:

#ifndef HAVE_ICONV_H
#unset HAVE_ICONV
#endif
>How-To-Repeat:
Run gcj41 with a value of --encoding option different from "UTF-8".
>Fix:
Remove all references to HAVE_ICONV_H from source code. Use HAVE_ICONV where necessary. 

Patch attached with submission follows:

--- /dev/null	Sun May 13 05:00:00 2007
+++ lang/gcc41/files/patch-have_iconv_h	Sun May 13 03:56:13 2007
@@ -0,0 +1,55 @@
+--- gcc/configure.orig	Tue Nov 14 00:09:55 2006
++++ gcc/configure	Sat May 12 21:48:18 2007
+@@ -8170,8 +8170,7 @@
+ 
+ 
+ 
+-
+-for ac_header in limits.h stddef.h string.h strings.h stdlib.h time.h iconv.h \
++for ac_header in limits.h stddef.h string.h strings.h stdlib.h time.h \
+ 		 fcntl.h unistd.h sys/file.h sys/time.h sys/mman.h \
+ 		 sys/resource.h sys/param.h sys/times.h sys/stat.h \
+ 		 direct.h malloc.h langinfo.h ldfcn.h locale.h wchar.h
+--- gcc/configure.ac.orig	Tue Nov 14 00:09:55 2006
++++ gcc/configure.ac	Sat May 12 21:11:38 2007
+@@ -910,7 +910,7 @@
+ AC_HEADER_TIME
+ ACX_HEADER_STRING
+ AC_HEADER_SYS_WAIT
+-AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h iconv.h \
++AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h \
+ 		 fcntl.h unistd.h sys/file.h sys/time.h sys/mman.h \
+ 		 sys/resource.h sys/param.h sys/times.h sys/stat.h \
+ 		 direct.h malloc.h langinfo.h ldfcn.h locale.h wchar.h)
+--- gcc/java/lex.h.orig	Sat Jun 25 03:33:05 2005
++++ gcc/java/lex.h	Sat May 12 21:44:38 2007
+@@ -35,10 +35,6 @@
+ /* A Unicode character, as read from the input file  */
+ typedef unsigned short unicode_t;
+ 
+-#ifndef HAVE_ICONV_H
+-#undef HAVE_ICONV
+-#endif
+-
+ #if defined HAVE_ICONV
+ #include <iconv.h>
+ #endif /* HAVE_ICONV */
+--- libcpp/internal.h.orig	Fri Oct 21 20:54:20 2005
++++ libcpp/internal.h	Sat May 12 21:47:11 2007
+@@ -26,15 +26,8 @@
+ #include "symtab.h"
+ #include "cpp-id-data.h"
+ 
+-#ifndef HAVE_ICONV_H
+-#undef HAVE_ICONV
+-#endif
+-
+-#if HAVE_ICONV
++#ifdef HAVE_ICONV
+ #include <iconv.h>
+-#else
+-#define HAVE_ICONV 0
+-typedef int iconv_t;  /* dummy */
+ #endif
+ 
+ struct directive;		/* Deliberately incomplete.  */

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->gerald 
Responsible-Changed-By: edwin 
Responsible-Changed-When: Sun May 13 11:36:30 UTC 2007 
Responsible-Changed-Why:  
Over to maintainer 

http://www.freebsd.org/cgi/query-pr.cgi?pr=112627 

From: Sergiy Vyshnevetskiy <serg@vostok.net>
To: bug-followup@FreeBSD.org, serg@vostok.net
Cc:  
Subject: Re: ports/112627: gcj41 --encoding=<non-utf-8> fails
Date: Sun, 13 May 2007 14:48:37 +0300 (EEST)

   This message is in MIME format.  The first part should be readable text,
   while the remaining parts are likely unreadable without MIME-aware tools.
 
 --1297089064-1282278348-1179056917=:12825
 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
 
 Original patch was double-diffed. This one is ready to be applied.
 --1297089064-1282278348-1179056917=:12825
 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-have_iconv_h
 Content-Transfer-Encoding: BASE64
 Content-ID: <Pine.LNX.4.64.0705131448370.12825@uanet.vostok.net>
 Content-Description: 
 Content-Disposition: attachment; filename=patch-have_iconv_h
 
 LS0tIGdjYy9jb25maWd1cmUub3JpZwlUdWUgTm92IDE0IDAwOjA5OjU1IDIw
 MDYNCisrKyBnY2MvY29uZmlndXJlCVNhdCBNYXkgMTIgMjE6NDg6MTggMjAw
 Nw0KQEAgLTgxNzAsOCArODE3MCw3IEBADQogDQogDQogDQotDQotZm9yIGFj
 X2hlYWRlciBpbiBsaW1pdHMuaCBzdGRkZWYuaCBzdHJpbmcuaCBzdHJpbmdz
 Lmggc3RkbGliLmggdGltZS5oIGljb252LmggXA0KK2ZvciBhY19oZWFkZXIg
 aW4gbGltaXRzLmggc3RkZGVmLmggc3RyaW5nLmggc3RyaW5ncy5oIHN0ZGxp
 Yi5oIHRpbWUuaCBcDQogCQkgZmNudGwuaCB1bmlzdGQuaCBzeXMvZmlsZS5o
 IHN5cy90aW1lLmggc3lzL21tYW4uaCBcDQogCQkgc3lzL3Jlc291cmNlLmgg
 c3lzL3BhcmFtLmggc3lzL3RpbWVzLmggc3lzL3N0YXQuaCBcDQogCQkgZGly
 ZWN0LmggbWFsbG9jLmggbGFuZ2luZm8uaCBsZGZjbi5oIGxvY2FsZS5oIHdj
 aGFyLmgNCi0tLSBnY2MvY29uZmlndXJlLmFjLm9yaWcJVHVlIE5vdiAxNCAw
 MDowOTo1NSAyMDA2DQorKysgZ2NjL2NvbmZpZ3VyZS5hYwlTYXQgTWF5IDEy
 IDIxOjExOjM4IDIwMDcNCkBAIC05MTAsNyArOTEwLDcgQEANCiBBQ19IRUFE
 RVJfVElNRQ0KIEFDWF9IRUFERVJfU1RSSU5HDQogQUNfSEVBREVSX1NZU19X
 QUlUDQotQUNfQ0hFQ0tfSEVBREVSUyhsaW1pdHMuaCBzdGRkZWYuaCBzdHJp
 bmcuaCBzdHJpbmdzLmggc3RkbGliLmggdGltZS5oIGljb252LmggXA0KK0FD
 X0NIRUNLX0hFQURFUlMobGltaXRzLmggc3RkZGVmLmggc3RyaW5nLmggc3Ry
 aW5ncy5oIHN0ZGxpYi5oIHRpbWUuaCBcDQogCQkgZmNudGwuaCB1bmlzdGQu
 aCBzeXMvZmlsZS5oIHN5cy90aW1lLmggc3lzL21tYW4uaCBcDQogCQkgc3lz
 L3Jlc291cmNlLmggc3lzL3BhcmFtLmggc3lzL3RpbWVzLmggc3lzL3N0YXQu
 aCBcDQogCQkgZGlyZWN0LmggbWFsbG9jLmggbGFuZ2luZm8uaCBsZGZjbi5o
 IGxvY2FsZS5oIHdjaGFyLmgpDQotLS0gZ2NjL2phdmEvbGV4Lmgub3JpZwlT
 YXQgSnVuIDI1IDAzOjMzOjA1IDIwMDUNCisrKyBnY2MvamF2YS9sZXguaAlT
 YXQgTWF5IDEyIDIxOjQ0OjM4IDIwMDcNCkBAIC0zNSwxMCArMzUsNiBAQA0K
 IC8qIEEgVW5pY29kZSBjaGFyYWN0ZXIsIGFzIHJlYWQgZnJvbSB0aGUgaW5w
 dXQgZmlsZSAgKi8NCiB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHVuaWNvZGVf
 dDsNCiANCi0jaWZuZGVmIEhBVkVfSUNPTlZfSA0KLSN1bmRlZiBIQVZFX0lD
 T05WDQotI2VuZGlmDQotDQogI2lmIGRlZmluZWQgSEFWRV9JQ09OVg0KICNp
 bmNsdWRlIDxpY29udi5oPg0KICNlbmRpZiAvKiBIQVZFX0lDT05WICovDQot
 LS0gbGliY3BwL2ludGVybmFsLmgub3JpZwlGcmkgT2N0IDIxIDIwOjU0OjIw
 IDIwMDUNCisrKyBsaWJjcHAvaW50ZXJuYWwuaAlTYXQgTWF5IDEyIDIxOjQ3
 OjExIDIwMDcNCkBAIC0yNiwxNSArMjYsOCBAQA0KICNpbmNsdWRlICJzeW10
 YWIuaCINCiAjaW5jbHVkZSAiY3BwLWlkLWRhdGEuaCINCiANCi0jaWZuZGVm
 IEhBVkVfSUNPTlZfSA0KLSN1bmRlZiBIQVZFX0lDT05WDQotI2VuZGlmDQot
 DQotI2lmIEhBVkVfSUNPTlYNCisjaWZkZWYgSEFWRV9JQ09OVg0KICNpbmNs
 dWRlIDxpY29udi5oPg0KLSNlbHNlDQotI2RlZmluZSBIQVZFX0lDT05WIDAN
 Ci10eXBlZGVmIGludCBpY29udl90OyAgLyogZHVtbXkgKi8NCiAjZW5kaWYN
 CiANCiBzdHJ1Y3QgZGlyZWN0aXZlOwkJLyogRGVsaWJlcmF0ZWx5IGluY29t
 cGxldGUuICAqLw0K
 
 --1297089064-1282278348-1179056917=:12825--

From: Sergiy Vyshnevetskiy <serg@vostok.net>
To: FreeBSD-gnats-submit@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org
Cc:  
Subject: Re: ports/112627: gcj41 --encoding=<non-utf-8> fails
Date: Tue, 15 May 2007 14:08:51 +0300 (EEST)

 Patch submitted to GCC Bugzilla as
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31932
 
State-Changed-From-To: open->closed 
State-Changed-By: gerald 
State-Changed-When: Sun May 27 13:16:16 UTC 2007 
State-Changed-Why:  
Sergiy now submitted this to upstream, which is the only way we can 
take a change of this magnitude into our ports.  Once there has been 
agreement upstream and a patch applied, I will make sure to sync it 
from upstream as soon as possible. 

Thanks for driving this upstream, Sergiy! 

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