Date: Fri, 03 Jan 2003 12:48:26 -0800 From: Tim Kientzle <kientzle@acm.org> To: "M. Warner Losh" <imp@bsdimp.com> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: devd, crunchgen, C++, and /rescue Message-ID: <3E15F71A.3040506@acm.org> References: <3E134AB2.8030401@acm.org> <20030102.195102.106545644.imp@bsdimp.com> <3E151EB7.2050003@acm.org> <20030103.002538.27949584.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
M. Warner Losh wrote: > In message: <3E151EB7.2050003@acm.org> > Tim Kientzle <kientzle@acm.org> 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<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, 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>(unsigned const&, unsigned const&)' To me, this looks like a library entry (locale-inst.o in libstdc++) is not finding a requirement (std::min<unsigned>). 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E15F71A.3040506>