Skip site navigation (1)Skip section navigation (2)
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>