[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Suggested workaround for a bug in Tru64Unix compiler



Please see the attachments.

-- 
Martin Mokrejs <mmokrejs@natur.cuni.cz>, <m.mokrejs@gsf.de>
PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
tel.: +49-89-3187 3683 , fax: +49-89-3187 3585


Hi,
  I have the following problem:

Making all in rsh
make[2]: Entering directory `/usr/local/scratch/heimdal-20030904/appl/rsh'
cc  -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../lib/roken -I../../lib/roken  -I./../login  -I/software/@sys/usr/include -I/usr/local/include -I/usr/local/openssl/include  -O2 -arch ev56 -c `test -f 'rsh.c' || echo './'`rsh.c
cc  -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../lib/roken -I../../lib/roken  -I./../login  -I/software/@sys/usr/include -I/usr/local/include -I/usr/local/openssl/include  -O2 -arch ev56 -c `test -f 'common.c' || echo './'`common.c
Assertion failure:  Compiler internal error - please submit problem report
GEM ASSERTION, Compiler internal error - please submit problem report
Terminated
make[2]: *** [common.o] Error 3
make[2]: Leaving directory `/usr/local/scratch/heimdal-20030904/appl/rsh'
[..]
$ cc -V
Compaq C V6.5-207 (dtk) on Compaq Tru64 UNIX V5.1A (Rev. 1885)
Compiler Driver V6.5-207 (dtk) (dtk) cc Driver
$ cc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../lib/roken -I../../lib/roken  -I./../login  -I/software/@sys/usr/include -I/usr/local/include -I/usr/local/openssl/include  -O1 -arch ev56 -c `test -f 'common.c' || echo './'`common.c
$

  So it is an optimizer bug.

  You can get the sources at ftp://ftp.pdc.kth.se/pub/heimdal/src/snapshots/heimdal-20030904.tar.gz . After extraction, do:

./configure --without-krb4 --with-openssl=/usr/local/openssl --with-readline --with-x --enable-kaserver

  I ran the compile commandline with -P argument. The generated common.i is
attached.

-- 
Martin Mokrejs <mmokrejs@natur.cuni.cz>, <m.mokrejs@gsf.de>
PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
tel.: +49-89-3187 3683 , fax: +49-89-3187 3585

common.i.gz






The problem reduces to the following. As you can see the crash is in function
init_ivecs. I believe you can work around this by creating a new variable called
"not_client" and replacing the "!client" on the call to memset.

This should be fixed in the next release of the compiler. If you need a fix
sooner or need more assistance and have a support contract, please contact HP
Support. This problem is being tracked as cxxc_bugs10348.

--------------------------------------------------------------------------

cxxosf.zko.dec.com> cc -c common.i -O
Assertion failure:  Compiler internal error - please submit problem report
GEM ASSERTION, Compiler internal error - please submit problem report
Terminated 

cxxosf.zko.dec.com> cat common.i
#include <string.h>

char buff1[11],buff2[11];

void *ivec_out[2] = { buff1, buff2 };

void
init_ivecs(int client)
{
    int block_size = 10;

    memset(ivec_out[0], !client, block_size);
}

Please send all Compaq C/C++ Support requests to compaq_cxx.bugs@compaq.com
Reply to this message for further correspondence regarding THIS support
request.  Thank you for choosing Compaq C/C++.