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