Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com From: Chris Faylor Date: Thu, 18 May 2000 14:01:58 -0400 To: cygwin-developers AT sourceware DOT cygnus DOT com Subject: Re: Can't build the latest snapshot with gcc-2.95.2-1. Message-ID: <20000518140158.F14021@cygnus.com> Reply-To: cygwin-developers AT sourceware DOT cygnus DOT com Mail-Followup-To: cgf AT cygnus DOT com, cygwin-developers AT sourceware DOT cygnus DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.1.12i In-Reply-To: ; from khan@NanoTech.Wisc.EDU on Thu, May 18, 2000 at 12:42:59PM -0500 On Thu, May 18, 2000 at 12:42:59PM -0500, Mumit Khan wrote: >On 19 May 2000, Kazuhiro Fujieda wrote: > >> I can't build the latest snapshot properly with gcc-2.95.2-1 as >> the following. >> >> gcc -o mount.exe mount.o -lnetapi32 -ladvapi32 >> mount.o(.text+0x29):mount.cc: undefined reference to `muto::~muto(void)' >> /Home/fujieda/cygwin/snap/OBJ/i686-pc-cygwin/winsup/cygwin/libcygwin.a(libccrt0.o)(.text+0x29):libccrt0.cc: undefined reference to `muto::~muto(void)' >> collect2: ld returned 1 exit status >> make[1]: *** [mount.exe] Error 1 >> make[1]: Leaving directory `/Home/fujieda/cygwin/snap/OBJ/i686-pc-cygwin/winsup/utils' >> make: *** [utils] Error 2 > >This is being triggered by the defintion of __mbuf in the inline >definition of sigthread::init() (sigproc.h). At this point I don't >know where the problem is, but it has to do with the fact that >__mbuf is `static __attribute__((section(".data_cygwin_nocopy")))'. > >> As far as I look into the output of `nm libccrt0.o' (attached >> below), the compiler seems to put the unnecessary reference to >> the destructor into the libccrt0.o. Should I use the latest >> snapshot of GCC? > >GCC snapshots produce the same behaviour. It's probably a bug in GCC >-- once you start using section attributes and all that, things pretty >hairy in C++. We need to find a reasonably workaround. It's interesting that this happened once I moved the initialization from one class to another. cgf