From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31528 invoked by alias); 27 May 2003 17:42:51 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 31513 invoked from network); 27 May 2003 17:42:51 -0000 Received: from unknown (HELO mail.libertysurf.net) (213.36.80.91) by sources.redhat.com with SMTP; 27 May 2003 17:42:51 -0000 Received: from localhost.localdomain (212.83.191.12) by mail.libertysurf.net (6.5.026) id 3ECC3D0200143861; Tue, 27 May 2003 19:42:47 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Eric Botcazou To: Josh Subject: Re: Bootstrap failure on Sparc Solaris2.8 Date: Tue, 27 May 2003 17:51:00 -0000 User-Agent: KMail/1.4.3 Cc: gcc@gcc.gnu.org References: <8134855.1054054386555.JavaMail.nobody@wamui07.slb.atl.earthlink.net> In-Reply-To: <8134855.1054054386555.JavaMail.nobody@wamui07.slb.atl.earthlink.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-Id: <200305271946.53796.ebotcazou@libertysurf.fr> X-SW-Source: 2003-05/txt/msg02299.txt.bz2 > I have now tried to bootstrap with the snapshot dated 20030526, with the > same result: eh_alloc.cc fails at line 81, with or without LIBCXXFLAGS > set. I probably shouldn't have, but I did, go in and change the files > listed below, commenting out initializations of the __gthread_mutex_t > type. This allowed the bootstrap to finish. > > In directory libstdc++-v3/include/libsupc++: eh_alloc.cc > In directory libstdc++-v3/include/bits: stl_alloc.h, stl_threads.h I should have thought about it earlier: there are these lines in fixinc/inclhack.def: /* * Sun Solaris defines PTHREAD_MUTEX_INITIALIZER with a trailing * "0" for the last field of the pthread_mutex_t structure, which is * of type upad64_t, which itself is typedef'd to int64_t, but with * __STDC__ defined (e.g. by -ansi) it is a union. So change the * initializer to "{0}" instead */ fix = { hackname = solaris_mutex_init_2; select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; files = pthread.h; c_fix = format; c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n" "%0\n" "#else\n" "%1, {0}}%3\n" "#endif"; c_fix_arg = "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+{.*)" ",[ \t]*0}" "(|[ \t].*)$"; test_text = '#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n" "#define PTHREAD_MUTEX_INITIALIZER\t{{{0},0}, {{{0}}}, 0}\n" "#define PTHREAD_COND_INITIALIZER\t{{{0}, 0}, 0}\t/* DEFAULTCV */\n" "#define PTHREAD_RWLOCK_INITIALIZER\t" "{0, 0, 0, {0, 0, 0}, {0, 0}, {0, 0}}"; }; which means that GCC is supposed to fix alone a problem that is very similar to the one you encountered. Could you see if there is a pthread.h header file in $(objdir)/gcc/include? -- Eric Botcazou