delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-developers-subscribe AT sourceware DOT cygnus DOT com> |
List-Archive: | <http://sourceware.cygnus.com/ml/cygwin-developers/> |
List-Post: | <mailto:cygwin-developers AT sourceware DOT cygnus DOT com> |
List-Help: | <mailto:cygwin-developers-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs> |
Sender: | cygwin-developers-owner AT sourceware DOT cygnus DOT com |
Delivered-To: | mailing list cygwin-developers AT sourceware DOT cygnus DOT com |
X-Authentication-Warning: | hp2.xraylith.wisc.edu: khan owned process doing -bs |
Date: | Thu, 18 May 2000 16:16:14 -0500 (CDT) |
From: | Mumit Khan <khan AT NanoTech DOT Wisc DOT EDU> |
To: | Kazuhiro Fujieda <fujieda AT jaist DOT ac DOT jp> |
cc: | cygwin-developers AT sourceware DOT cygnus DOT com |
Subject: | Re: Can't build the latest snapshot with gcc-2.95.2-1 |
In-Reply-To: | <s1sln17hcid.fsf@jaist.ac.jp> |
Message-ID: | <Pine.HPP.3.96.1000518160133.20231G-100000@hp2.xraylith.wisc.edu> |
MIME-Version: | 1.0 |
On 19 May 2000, Kazuhiro Fujieda wrote: > I can still observe the same problem. "mount.cc" didn't take > part in the problem. The problem is that any application can't > be compiled with the latest snapshot because of the unresolved > reference in "libcygwin.a". Same here. > According to the explanation by Mumit, the problem is triggered > by the sigthread::init(). This inlined method introduces the > reference to the destructor into all source codes which include > "sigproc.h". The reference only in "libccrt0.o" can't be > resolved and causes the problem. I'm trying to understand who is responsible at this point, and I am leaning towards GCC as the culprit (however, I'm not sure at this point). Here's a watered down version that shows where the problem is: struct muto { ~muto (); }; struct foobar { void init () { static muto __foobar; // <<<< THIS IS WHAT DOES IT! } }; $ i686-pc-cygwin-gcc -g -O2 -fno-exceptions -fno-rtti -c bug.cc $ i686-pc-cygwin-nm --dem bug.o | grep muto U muto::~muto(void) Argh. The only solution I see now is to move the sigthread::init method to an implementation file as an out-of-line definition instead. Regards, Mumit
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |