From owner-freebsd-hackers Fri Jan 3 12:48:38 2003 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D34F037B401 for ; Fri, 3 Jan 2003 12:48:36 -0800 (PST) Received: from clover.kientzle.com (user-112uh9a.biz.mindspring.com [66.47.69.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0F16543EC5 for ; Fri, 3 Jan 2003 12:48:36 -0800 (PST) (envelope-from kientzle@acm.org) Received: from acm.org (c43 [66.47.69.43]) by clover.kientzle.com (8.11.3/8.11.3) with ESMTP id h03KmQE38434; Fri, 3 Jan 2003 12:48:27 -0800 (PST) (envelope-from kientzle@acm.org) Message-ID: <3E15F71A.3040506@acm.org> Date: Fri, 03 Jan 2003 12:48:26 -0800 From: Tim Kientzle Reply-To: kientzle@acm.org User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.6) Gecko/20011206 X-Accept-Language: en-us, en MIME-Version: 1.0 To: "M. Warner Losh" Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: devd, crunchgen, C++, and /rescue References: <3E134AB2.8030401@acm.org> <20030102.195102.106545644.imp@bsdimp.com> <3E151EB7.2050003@acm.org> <20030103.002538.27949584.imp@bsdimp.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG M. Warner Losh wrote: > In message: <3E151EB7.2050003@acm.org> > Tim Kientzle writes: > : devd.lo: In function `event_proc::~event_proc()': > So I'd say that crunchgen doesn't grok c++ mangled symbols, which > isn't that surprising... You apparently didn't read the end of my message. My apologies if I didn't format it well; the important points may have not been very clear. The errors you're referring to here disappeared when I manually linked using 'c++' rather than 'cc'. If I understand correctly, 'c++' links just like 'cc', except it pulls in some additional libraries. Those additional libraries satisfied those missing references. However, linking with 'c++' doesn't entirely work; it generates exactly _one_ error message: # c++ -static -o test test.o devd.lo -ll /usr/lib/libstdc++.a(locale-inst.o): In function `std::money_get > >::do_get(std::istreambuf_iterator >, std::istreambuf_iterator >, bool, std::ios_base&, std::_Ios_Iostate&, std::string&) const': locale-inst.o(.gnu.linkonce.t._ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs+0xa44): undefined reference to `unsigned const& std::min(unsigned const&, unsigned const&)' To me, this looks like a library entry (locale-inst.o in libstdc++) is not finding a requirement (std::min). I don't see how this could be broken by name-mangling within the devd object files. On the other hand, template instantiation has always been a bit of a mystery to me, so you could well be right. Tim Kientzle To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message