From owner-freebsd-current@FreeBSD.ORG Wed Jun 21 16:39:11 2006 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 981F216A47A; Wed, 21 Jun 2006 16:39:11 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from mail.ntplx.net (mail.ntplx.net [204.213.176.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3D61843D45; Wed, 21 Jun 2006 16:39:11 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) by mail.ntplx.net (8.13.6/8.13.6/NETPLEX) with ESMTP id k5LGd9b1001359; Wed, 21 Jun 2006 12:39:09 -0400 (EDT) Date: Wed, 21 Jun 2006 12:39:09 -0400 (EDT) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Alexander Leidinger In-Reply-To: <20060621155053.d6lseiz8z4ow8wo8@netchild.homeip.net> Message-ID: References: <44986777.6070601@FreeBSD.org> <20060621061437.GA53019@fit.vutbr.cz> <2265.211.18.249.19.1150871779.squirrel@mail.ninth-nine.com> <20060621121114.h6udocel5wsgg8sg@netchild.homeip.net> <2692.219.127.74.121.1150885501.squirrel@mail.ninth-nine.com> <20060621155053.d6lseiz8z4ow8wo8@netchild.homeip.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.ntplx.net) Cc: freebsd-current@freebsd.org, Norikatsu Shigemura Subject: Re: Linux-flashplugin7 & rtld - RFC X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Jun 2006 16:39:11 -0000 On Wed, 21 Jun 2006, Alexander Leidinger wrote: > Quoting Norikatsu Shigemura (from Wed, 21 Jun 2006 > 19:25:01 +0900 (JST)): > >>> Quoting Norikatsu Shigemura (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