Tools to modify shared libraries
joek at mail.flyingcroc.net
Tue Jun 17 08:49:25 PDT 2003
Marcel Moolenaar wrote:
> On Tue, Jun 17, 2003 at 06:38:29AM -0700, Joe Kelsey wrote:
>>Basically, what I want to do is remove several entries from the *front*
>>of the dynamic section. Actually, I would settle for just removing all
>>of a certain tag (such as DT_NEEDED) from the dynamic section.
> It's more constructive to fix the linker than it is to patch the
> ELF files created by it. The linker knows which libraries are
> really needed and should be able to create the minimal list of
> (true) dependencies.
This cannot be accomplished by fixing the linker. The issue is one of
attempting to use a *linux* shared library in a native application.
Have you ever lookad at the flashpluginwarpper port? It provides a
library to perload which intercepts the linux syscalls and translates
them to bsd syscalls to allow linux shared libraries (specifically, the
linux flash library) in native binaries.
This works fine for the old flash plugin since that shared library did
not include any DT_NEEDED entires in its .dynamic section. However, the
new Flash 6 linux shared library has a number of explicit references to
linux-only shared libraries as DT_NEEDED references in its .dynamic
section. This prevents us from using the flashpluginwrapper trick to
allow use of Flash 6 in native Mozilla.
Do you understand now?
More information about the freebsd-stable