Linux-flashplugin7 & rtld - RFC

Alexander Kabaev kabaev at gmail.com
Thu Jun 22 00:39:00 UTC 2006


On Wed, 21 Jun 2006 08:54:40 -0400
Alexander Kabaev <kabaev at gmail.com> wrote:

> On Wed, 21 Jun 2006 19:25:01 +0900 (JST)
> "Norikatsu Shigemura" <nork at FreeBSD.org> wrote:
> 
> > > 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.
> > 
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > #include <sys/types.h>
> > #include <sys/cdefs.h>
> > 
> > #define SYM_COMPAT(sym, impl, ver)              \
> >         __sym_compat(sym, impl, ver)
> > #define GLIBC_SYMBOL_2(sym, major, minor)       \
> >         GLIBC_##major##_##minor##_##sym
> > #define GLIBC_COMPAT_2(sym, major, minor)       \
> >         SYM_COMPAT(sym, GLIBC_SYMBOL_2(sym, major, minor), GLIBC_
> > ##major. ##minor);
> > 
> > #include <string.h>
> > 
> > /*
> >  * strcmp(3)
> >  */
> > GLIBC_COMPAT_2(strcmp, 2, 0);
> > 
> > int
> > GLIBC_SYMBOL_2(strcmp, 2, 0)
> >         (const char *s1, const char *s2)
> > {
> >         int ret;
> >         ret = strcmp(s1, s2);
> > 
> >         dprintf("strcmp(\"%s\", \"%s\") = %d", s1, s2, ret);
> > 
> >         return ret;
> > }
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > 
> > And Version.def, too.
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > # $FreeBSD$
> > 
> > GLIBC_2.0 {
> >     strcmp;
> >       :
> > }
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > 
> > _______________________________________________
> > freebsd-current at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-current
> > To unsubscribe, send any mail to
> > "freebsd-current-unsubscribe at freebsd.org"
> 
> Thanks for doing this. This strikes me as much more robust and clean
> way of doing things.
> 
> -- 
> Alexander Kabaev
To clarify: createing our own libc and libm wrapper libraries which
provide symbols with proper versions is the way to go, NOT spamming
native libraries with junk symbols.

-- 
Alexander Kabaev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20060622/229fa59b/signature.pgp


More information about the freebsd-current mailing list