Re: [DynInst_API:] Cannot link to dyninst 8.0 on Ubuntu


Date: Wed, 27 Feb 2013 15:32:27 -0500
From: mkfs <semper.non.sequitur@xxxxxxxxx>
Subject: Re: [DynInst_API:] Cannot link to dyninst 8.0 on Ubuntu
> While I don't use a static libdwarf (I maintain some dynamic builds), I'd
> cast a vote against dropping support for it.  Static builds of libdwarf are
> the default distribution for that package and several distros.

I agree. While I tend to build my own libelf/libdwarf/binutils, it
seems to be standard for a distro to ship a shared libelf and a static
libdwarf.

> The core problem
> is how libdwarf.a was built.  As a static archive it has to be linked with
> the executable, and that's outside of Dyninst's control.

Ah, OK -- I didn't notice that libdwarf wasn't compiled with PIC. That
explains why it's always a static library.

Is there any reason not to use the --whole-archive flags in one of the
Dyninst shared libraries, such symtabAPI or dynDwarf?


Alternatively, this could be handled via 'better documentation', as
mentioned. When I began to write code against Dyninst, it would have
been very helpful to have a sample application (e.g. create a BPatch
against argv[1] and exit) along with toolchain-specific build
commands. This could even use the configured build system, as long as
the build commands are echoed to STDOUT for reference. I tried to coax
the build commands out of the testsuite, but was not very successful.
[← Prev in Thread] Current Thread [Next in Thread→]