Tools to modify shared libraries

Joe Kelsey 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?

/Joe



More information about the freebsd-stable mailing list