Re: [DynInst_API:] libcommon.so -> undefined reference to `cplus_demangle'


Date: Tue, 11 Mar 2014 11:51:49 -0700
From: Josh Stone <jistone@xxxxxxxxxx>
Subject: Re: [DynInst_API:] libcommon.so -> undefined reference to `cplus_demangle'
On 03/11/2014 09:18 AM, Matthew LeGendre wrote:
> 
> On Tue, 11 Mar 2014, Josh Stone wrote:
>> For the other option Bill mentioned, set cmake -DUSE_GNU_DEMANGLER=1,
>> which makes it use abi::__cxa_demangle from libstdc++ instead of
>> cplus_demangle from libiberty.  I'm not sure of pros/cons either way.
> 
> The major con to using g++'s built-in demangler is that it can't 
> handle binaries produced by the Portland Group Compiler.

OK, I see.  FWIW, binutils and libstdc++ have identical libiberty/
source directories, so all the demangling code is shared.  But only
cplus_demangle has the extra options parameter, which Dyninst uses to
set DMGL_ARM for pgCC.

I wasn't going to bother with libiberty, since we obviously have
libstdc++ already, but this option control seems reason enough.
However, the build doesn't recognize that Fedora/RHEL libiberty.a is
PIC, so it falls back to the download method.  I'll see if that can be
fixed up...

Josh

[← Prev in Thread] Current Thread [Next in Thread→]