Re: Linux-flashplugin7 & rtld - RFC

From: Daniel Eischen <deischen_at_freebsd.org>
Date: Wed, 21 Jun 2006 12:39:09 -0400 (EDT)
On Wed, 21 Jun 2006, Alexander Leidinger wrote:

> Quoting Norikatsu Shigemura <nork_at_freebsd.org> (from Wed, 21 Jun 2006 
> 19:25:01 +0900 (JST)):
>
>>> Quoting Norikatsu Shigemura <nork_at_freebsd.org> (from Wed, 21 Jun 2006
>>> 15:36:19 +0900 (JST)):
>>>>> Nork-san says that it is hard to make LPW work on 7-CURRENT.  But, he
>>>>> is trying to make it work with another approach.
>>>> Yes, I'm working Userland COMPAT_LINUX technology[TM]:-).
>>> Can you be a little bit more verbose what this is? Just a high level
>>> overview. I'm curious since I have some ideas about some kind of
>>> cross-compatibility "something" too (a combination of objcopy, a
>>> liblinux2bsd and maybe some libmap stuff).
>> 
>> I'm implementing like following codes to libc/libm/libpthread
>> on 7-current with SYMVER_ENABLED=yes.
>
> [example]
>
> Ugh... I like parts of this (it's the same I thought about myself), but parts 
> of this are... not optimal in my opinion.
>
> I don't like to spam our libXXX to contain GLIBC symbols. First I feared that

I don't think that is the intent and I would oppose polluting
our base libraries with GLIBC symbols.  I think the proposed
solution was to make separate libraries with the GLIBC symbols
that just call out to our own libraries, and use libmap.conf
accordingly.  I have tried this months ago and think I ran
into the same problem that nork has run into -- the loader
doesn't load the mapped libraries because it thinks libc
(our own libc) is already loaded.

> Did you tried to put this into a liblinux2bsd? The idea I had was to try if 
> such a lib can be "attached" to e.g. linux flashplugin. Either with some 
> objcopy (or similar) stuff, by trying to link again (with liblinux2bsd), or 
> with libmap.conf. Another nice try is to have a program/script which does 
> some known obj* stuff with object files, libs and/or programs. The examples I 
> wanted to look at with this stuff are your linuxpluginwrapper, the 
> linuxthreads port, my icc port and maybe the ifc port (it's basically an 
> adoption of my icc port, but AFAIR there are some enhancements). All of them 
> contain already some kind of mappings between linux and bsd. And maybe a 
> combination of both ways (liblinux2bsd and a script which does obj* stuff) 
> could lead to a successfull assimilation of some linux-only stuff.

When I was playing around with trying to get linuxpluginwrapper to
work, I had scripts that parsed the undefined symbols from
flashplayer.so and automatically created a library with those
symbols (that called out to our own libc functions).  It wasn't
that hard to do, but I got side-tracked and never was able to
get rtld to load the mapped library.

-- 
DE
Received on Wed Jun 21 2006 - 14:39:11 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:57 UTC