Breaking the X module ABI in 7.0 ?
Adam Jackson
ajax at nwnk.net
Wed Apr 13 14:45:26 PDT 2005
On Wednesday 13 April 2005 16:32, Jonas Gall wrote:
> On 4/11/05, Adam Jackson <ajax at nwnk.net> wrote:
> > On Friday 08 April 2005 20:08, Roland Mainz wrote:
> > > 2. Would it be possible to break the existing ABI and start from
> > > scratch with a new one ?
> >
> > Many things are possible. I doubt reinventing this particular wheel
> > would be a good use of our time.
>
> But sacrificing innovation in favor of a dying loader format is a good
> use of time? Many of you now favor the new 'dll loader' loader over
> the ELF loader - why is it required to pull over all the mistakes in
> the ABI design done in the ELF loader times over to the dll loader?
Please don't call it "dll loader". It's dlloader, because it's based on the
system's libdl library.
I really don't understand why people are conflating module format with ABI, as
they're basically orthogonal. Let's define some terms here. The ABI is the
set of function signatures and global data that the modules can expect to be
exported from the server. It is effectively defined to be the list of
SYMFUNC and SYMVAR statements in the loader code together with the module
info structures. If you see something in those lists that needs to be
changed, _that_ is an ABI change. Module format really isn't at play here
[1].
You can think of it as having four implementations of the same ABI, if it
helps. This multiplicity goes away in the future, as everything except
dlloader is deprecated as of 7.0.
> X11 R7 should make a clean, clear cut here, right together with the
> introduction of the new loader.
This loader has existed since XFree86 4.0. It was only recently made usable
in 6.8, but this was only due to driver bugs, not bugs in the loader itself.
It is not a new loader.
If you have suggestions for major ABI changes I'd love to hear them, but right
now I'm not hearing any. I'm just hearing people clamoring for change
without a clear description of what changes they want together with why they
are needed.
> PS: Do not forget this item:
> xc/config/cf/X11.tmpl
> * This enables binary compatibility with the older (XFree86 <= 4.1)
> fontenc * entry points in the Xfont library (and X server). If this is
> turned off, * then SharedFontRev should have it's major revision bumped,
> and the * XFree86 font module ABI (in xfree86/common/xf86Module.h) should
> have it's * major revision bumped.
Feel free to open a bug for this - or any other ABI issue - and keyword it
with 'ABI' so I know to look for it when 7.0 time rolls around.
[1] - This is a slight lie, due to some sloppiness in the way dlloader works
which allows you to reference things outside the SYMFUNC/SYMVAR list. Pay no
attention to the man behind that curtain.
- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.x.org/archives/xorg-arch/attachments/20050413/cd7e73df/attachment.pgp
More information about the xorg-arch
mailing list