public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* Repackaging a shared library...
@ 2006-07-01  4:29 Mikhail Teterin
  2006-07-02 23:15 ` Alan Modra
  0 siblings, 1 reply; 5+ messages in thread
From: Mikhail Teterin @ 2006-07-01  4:29 UTC (permalink / raw)
  To: binutils

Hello!

I'm pretty sure the following is possible, indeed, straightforward, but don't 
know how to do it.

I want to be able to repackage a shared library compiled and linked for one 
ELF-based Operating System to work on another -- using the same hardware 
architecture.

For simplicity, let's consider an example of the Macromedia/Adobe Flash plugin 
(libflash.so) found in the plugins/ subdirectory of your Firefox install.

The shared library is only available for Linux -- I'd like to use it on 
FreeBSD.

A hack (http://freshports.org/www/linuxpluginwrapper) exists, that provides 
emulation for the libraries, libflash.so expects, but is not it possible to 
edit the library directly -- changing its dependencies, and providing the 
possibly missing symbols (such as _stderr)?

Thanks!

	-mi

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Repackaging a shared library...
  2006-07-01  4:29 Repackaging a shared library Mikhail Teterin
@ 2006-07-02 23:15 ` Alan Modra
  2006-07-03 13:12   ` Mikhail Teterin
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Modra @ 2006-07-02 23:15 UTC (permalink / raw)
  To: Mikhail Teterin; +Cc: binutils

On Sat, Jul 01, 2006 at 12:29:48AM -0400, Mikhail Teterin wrote:
> but is not it possible to 
> edit the library directly -- changing its dependencies, and providing the 
> possibly missing symbols (such as _stderr)?

No.  Binutils does not provide tools to manipulate final linked objects
(such as shared libraries) in any signifigant way.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Repackaging a shared library...
  2006-07-02 23:15 ` Alan Modra
@ 2006-07-03 13:12   ` Mikhail Teterin
  2006-07-03 14:11     ` Daniel Jacobowitz
  0 siblings, 1 reply; 5+ messages in thread
From: Mikhail Teterin @ 2006-07-03 13:12 UTC (permalink / raw)
  To: Alan Modra; +Cc: binutils

On Sunday 02 July 2006 19:15, Alan Modra wrote:
= On Sat, Jul 01, 2006 at 12:29:48AM -0400, Mikhail Teterin wrote:
= > but is not it possible to 
= > edit the library directly -- changing its dependencies, and providing the 
= > possibly missing symbols (such as _stderr)?
= 
= No. б Binutils does not provide tools to manipulate final linked objects
= (such as shared libraries) in any signifigant way.

Discouraging... :-(

But is such a manipulation even possible with the ELF format? Or is this task 
on the level of complexity of decompiling?

Thanks!

	-mi

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Repackaging a shared library...
  2006-07-03 13:12   ` Mikhail Teterin
@ 2006-07-03 14:11     ` Daniel Jacobowitz
  2006-07-04  4:32       ` Alan Modra
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Jacobowitz @ 2006-07-03 14:11 UTC (permalink / raw)
  To: Mikhail Teterin; +Cc: Alan Modra, binutils

On Mon, Jul 03, 2006 at 09:12:29AM -0400, Mikhail Teterin wrote:
> On Sunday 02 July 2006 19:15, Alan Modra wrote:
> = On Sat, Jul 01, 2006 at 12:29:48AM -0400, Mikhail Teterin wrote:
> = > but is not it possible to 
> = > edit the library directly -- changing its dependencies, and providing the 
> = > possibly missing symbols (such as _stderr)?
> = 
> = No.  Binutils does not provide tools to manipulate final linked objects
> = (such as shared libraries) in any signifigant way.
> 
> Discouraging... :-(
> 
> But is such a manipulation even possible with the ELF format? Or is this task 
> on the level of complexity of decompiling?

In general, it's not possible.

The actual symbol manipulations you want are not too hard.  However,
usually much more would be required.  e.g. macros from header files may
make incompatible assumptions about the contents of a FILE*.

-- 
Daniel Jacobowitz
CodeSourcery

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Repackaging a shared library...
  2006-07-03 14:11     ` Daniel Jacobowitz
@ 2006-07-04  4:32       ` Alan Modra
  0 siblings, 0 replies; 5+ messages in thread
From: Alan Modra @ 2006-07-04  4:32 UTC (permalink / raw)
  To: Mikhail Teterin, binutils

On Mon, Jul 03, 2006 at 10:11:30AM -0400, Daniel Jacobowitz wrote:
> The actual symbol manipulations you want are not too hard.

Some are.  You can't easily increase the size of .dynsym.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-07-04  4:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-07-01  4:29 Repackaging a shared library Mikhail Teterin
2006-07-02 23:15 ` Alan Modra
2006-07-03 13:12   ` Mikhail Teterin
2006-07-03 14:11     ` Daniel Jacobowitz
2006-07-04  4:32       ` Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).