Re: Linux-flashplugin7 & rtld - RFC

From: Daniel Eischen <deischen_at_freebsd.org>
Date: Mon, 26 Jun 2006 15:06:33 -0400 (EDT)
On Sun, 25 Jun 2006, Norikatsu Shigemura wrote:

> On Thu, 22 Jun 2006 23:04:16 -0400
> Alexander Kabaev <kabaev_at_gmail.com> wrote:
>> On Thu, 22 Jun 2006 12:49:59 -0400 (EDT)
>> Daniel Eischen <deischen_at_freebsd.org> wrote:
>>> On Fri, 23 Jun 2006, Norikatsu Shigemura wrote:
>>>> On Wed, 21 Jun 2006 12:39:09 -0400 (EDT)
>> <SKIP>
>>>> 	spamming? junk symbols?  Humm...  I don't think so, but it
>>>> 	is POLICY that I think.  Althought I'm working, I want to
>>>> 	merge 'Userland COMPAT_LINUX technology' to FreeBSD source
>>>> 	tree.  I hope that you do consent.  So I hope to discuss
>>>> 	_at_GLIBC_2.* symbols:-).
>>> No, I would still oppose that.  I think separate libraries
>>> are the way to go.
>
> 	deischen: Sorry, I didn't read 'separate libraries'.
>
>> ... and I will support Daniel's objection if it will come to that.
>> Sorry, but Linux symbols in FreeBSD native libraries amount to only one
>> thing - pollution and nothing else.
>
> 	Humm.. Even if GLIBC version information in Version.def,
> 	should I say that it was polluted or not....

Yes, any GLIBC symbols in our stock libraries would be pollution
IMHO.

> ===============================================================================
> * Can we separate library to use Linux-flash7?
>  Yes, we need following conditions (1 or more):
>
> 	1. Following error should be banished.
> [/lib/libc.so.7: version GLIBC_2.1 required by /usr/X11R6/lib/linux-flashplugin7/libflashplayer.so not found]
>
> 	1-a. To banish, I think that following code should be fixed at
> 	     check_object_provided_version in src/libexec/rtld-elf/rtld.c.
>
> 		if (vd == NULL) {
> 			_rtld_error("%s: version %s required by %s not defined",
> 			depobj->path, vername, refobj->path);
> 			return (-1);
> 		}
>
> 	     I tried to remove 'return (-1);', but I don't know side-effects.

I think that rtld needs to be fixed so that we fully respect
libmap.conf.  If flashplayer.so requires (Linux) library libc.so.7,
and libc.so.7 is mapped to wrapper.so, then any versioned symbols
should be pulled from wrapper.so, not our own native libc.so.7.

The check for the object providing the correct version should
still be done, but it needs to be checking the correct (libmap'd)
object.

-- 
DE
Received on Mon Jun 26 2006 - 17:39:52 UTC

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