Re: Extract static object from dynamic one

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Brian Dessent <brian@xxxxxxxxxxx> writes:

> Thomas Köppe wrote:
> 
> > Is there an obstruction in principle (that some vital information is
> > lost in the shared library), or is it simply that no such tool has been
> > written?
> 
> It's not just a matter of extracting something.  You'd have to rewrite
> all accesses through the GOT and PLT (for ELF) or indirections through
> .idata (for PE) to be regular symbol references.  You'd have to undo
> relocs and make them into regular labels.  With things like relaxation
> this becomes extremely nontrivial.  In a sense this is going backwards,
> like a disassembler, because a static library is just a collection of
> unlinked .o files, whereas a shared library is fully linked.

In particular, PC relative relocations between object files will be
lost in the .so, and there is no way to recreate them as would be
required in a .o.  So this conversion is not possible even in
principle.

Ian


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux