From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21683 invoked by alias); 23 Jan 2003 09:16:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 21652 invoked by uid 71); 23 Jan 2003 09:16:01 -0000 Resent-Date: 23 Jan 2003 09:16:01 -0000 Resent-Message-ID: <20030123091601.21650.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, mvz@hac.hr Received: (qmail 21030 invoked by uid 48); 23 Jan 2003 09:13:52 -0000 Message-Id: <20030123091352.21029.qmail@sources.redhat.com> Date: Thu, 23 Jan 2003 09:16:00 -0000 From: mvz@hac.hr Reply-To: mvz@hac.hr To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: optimization/9417: gcc 3.2 on SunOS 5.8 is making broken ucgendat tool under `-m64' and with ANY -O optimization X-SW-Source: 2003-01/txt/msg01352.txt.bz2 List-Id: >Number: 9417 >Category: optimization >Synopsis: gcc 3.2 on SunOS 5.8 is making broken ucgendat tool under `-m64' and with ANY -O optimization >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Thu Jan 23 09:16:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Miroslav Zubcic >Release: Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2/specsConfigured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls Thread model: posix gcc version 3.2 >Organization: >Environment: SunOS 5.8 (Solaris 8) SunOS zvijer 5.8 Generic_108528-17 sun4u sparc SUNW,Ultra-Enterprise >Description: While compiling OpenLDAP 2.1.12 (http://www.OpenLDAP.org) gcc 3.2 is making broken one small peace of code. I have reported bug on openldap-bugs list and OpenLDAP developer told me that this look like optimization bug uin gcc 3.2 The mentioned code is in penldap-2.1.12/libldap/liblunicode. gcc is making help tool "ucgendat" which is producing unicode ".dat" files for use by libldap library, slapd(8) daemon, slapindex(8) and slapadd(8). If I use -O3 -O2 or -O (as for the rest of OpenLDAP code) ucgendat will produce broken unicode tables in dat files. As a consequence mentioned programs will segfault while indexing LDAP attributes which have UTF-8 non/ascii letters in their values. After recompiling ucgendat without optimization and making dat files with *that* ucgendat, everything seems to be OK. >How-To-Repeat: Compile OpenLDAP on SunOS 5.8, with `-m64 -O3 -mcpu=ultrasparc" install it, make a small LDAP database, put non-ascii values in cn or sn attribute, write "index cn,sn,uid pres,eq,approx,sub" in slapd.conf(5) after database definition and run slapindex(8) tool. >Fix: Dunno, For now, I compile unicode dat files again after optimized OpenLDAP build as a workaround. >Release-Note: >Audit-Trail: >Unformatted: