From: Rik Faith <faith@valinux.com>
To: Keith Owens <kaos@ocs.com.au>
Cc: Linus Torvalds <torvalds@transmeta.com>,
Kernel Mailing List <linux-kernel@vger.kernel.org>,
DRI Development <dri-devel@lists.sourceforge.net>
Subject: Re: Happy new year^H^H^H^Hkernel..
Date: Tue, 2 Jan 2001 16:18:15 -0500 (EST) [thread overview]
Message-ID: <14930.17815.720457.433064@light.alephnull.com> (raw)
In-Reply-To: [Keith Owens <kaos@ocs.com.au>] Tue 2 Jan 2001 08:32:45 +1100
In-Reply-To: <Pine.LNX.4.10.10101010938590.2892-100000@penguin.transmeta.com> <9103.978384765@ocs3.ocs-net>
On Tue 2 Jan 2001 08:32:45 +1100,
Keith Owens <kaos@ocs.com.au> wrote:
> On Mon, 1 Jan 2001 09:39:38 -0800 (PST),
> Linus Torvalds <torvalds@transmeta.com> wrote:
> >On 1 Jan 2001, Adam Sampson wrote:
> >>
> >> It appears to work (even with the reiserfs patch with the obvious
> >> Makefile tweak), but the drm modules have unresolved symbols:
> >
> >Does this fix it for you (do a "make clean" before re-building your tree)?
> >
> > Linus
> >
> >----
> >--- v2.4.0-prerelease/linux/drivers/char/drm/Makefile Mon Jan 1 09:38:35 2001
> >+++ linux/drivers/char/drm/Makefile Mon Jan 1 09:38:04 2001
> >@@ -44,22 +44,22 @@
> > mga-objs := mga_drv.o mga_dma.o mga_context.o mga_bufs.o mga_state.o
> > i810-objs := i810_drv.o i810_dma.o i810_context.o i810_bufs.o
> >
> >-obj-$(CONFIG_DRM_GAMMA) += gamma.o
> >-obj-$(CONFIG_DRM_TDFX) += tdfx.o
> >-obj-$(CONFIG_DRM_R128) += r128.o
> >-obj-$(CONFIG_DRM_FFB) += ffb.o
> >-obj-$(CONFIG_DRM_MGA) += mga.o
> >-obj-$(CONFIG_DRM_I810) += i810.o
> >-
> >-
> > # When linking into the kernel, link the library just once.
> > # If making modules, we include the library into each module
> >
> > ifdef MAKING_MODULES
> > lib = drmlib.a
> > else
> >- obj-y += drmlib.a
> >+ extra-obj = drmlib.a
> > endif
> >+
> >+obj-$(CONFIG_DRM_GAMMA) += gamma.o $(extra-obj)
> >+obj-$(CONFIG_DRM_TDFX) += tdfx.o $(extra-obj)
> >+obj-$(CONFIG_DRM_R128) += r128.o $(extra-obj)
> >+obj-$(CONFIG_DRM_FFB) += ffb.o $(extra-obj)
> >+obj-$(CONFIG_DRM_MGA) += mga.o $(extra-obj)
> >+obj-$(CONFIG_DRM_I810) += i810.o $(extra-obj)
> >+
> >
> > include $(TOPDIR)/Rules.make
>
> That will break for anybody compiling a DRM card into the kernel and
> compiling a second DRM card as a module. drmlib.a will get a split
> personality, it will be compiled twice, once for kernel and once for
> module, which version actually gets linked will depend on the phase of
> the moon. Either that or it only gets compiled for kernel, which is
> where we came in.
>
> DRM maintainers: can we remove this restriction on needing multiple
> copies of the library? It makes no sense anyway. If you build a new
> library with the same function names then you cannot have two DRM cards
> built into the kernel, the function names will collide within vmlinux.
> So you have to use different function names for a new library, but then the
> old cards can share the old library and the new cards can share the new
> library, i.e. there is no need for each driver to have its own copy of
> the library.
>
> I strongly recommend that you remove the restriction on having multiple
> copies of the library. Then Adam J. Richter's patch does the job
> nicely, making drmlib.a a helper module.
We plan to remove the need to have multiple copies of drmlib.a and make
the kernel Makefile fully compatible with the 2.4 make system -- but we
haven't finished this work yet. With this new work, however, the
end-user will still load a single module (e.g., tdfx.o), just like now.
(Loading a single kernel module is a significant win when dealing with
end users: there is no possibility of version skew or of having two
modules that were compiled with different options.)
Linus -- Please use your patch or Keith Owens' patch as a bandaid to
solve this problem until we can do it the right way. Whatever patch you
select, please do *NOT* make drmlib into a separate helper module --
this will only lead to user confusion (especially since we'll move back
to a single-module solution soon). From the user's standpoint, I'm not
concerned that you can't mix modules with in-kernel versions, since most
users don't do that [and we could fix the configuration file to prevent
this -- that's another way to bandage this problem that I'll send you a
patch for tomorrow]. I am very concerned that users will see us move
from 1 DRM module to 2 and then back to 1 -- that would be very
confusing for them.
--Rik
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2001-01-02 21:49 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-12-31 20:24 Happy new year^H^H^H^Hkernel Linus Torvalds
2001-01-01 2:14 ` Adam Sampson
2001-01-01 17:39 ` Linus Torvalds
2001-01-01 19:15 ` Frank Jacobberger
2001-01-01 21:32 ` Keith Owens
2001-01-02 21:18 ` Rik Faith [this message]
2001-01-02 21:37 ` Alan Cox
2001-01-02 20:40 ` Adam Sampson
2001-01-01 19:12 ` Daniel Phillips
2001-01-02 2:51 ` Gerold Jury
2001-01-02 11:55 ` Kurt Roeckx
2001-01-02 17:25 ` David Woodhouse
2001-01-02 22:37 ` Gerold Jury
2001-01-02 22:55 ` Kai Germaschewski
2001-01-03 0:38 ` Gerold Jury
2001-01-03 16:07 ` Hugh Dickins
2001-01-03 17:50 ` Eric W. Biederman
2001-01-03 22:06 ` Kai Germaschewski
2001-01-03 22:32 ` Russell King
2001-01-04 12:03 ` Eric W. Biederman
2001-01-02 18:14 ` Matthias Andree
2001-01-02 18:32 ` Richard B. Johnson
2001-01-02 21:44 ` Andrzej Krzysztofowicz
2001-01-02 18:53 ` Dominik Kubla
-- strict thread matches above, loose matches on Subject: below --
2001-01-01 0:16 Ray Strode
2001-01-01 2:56 Ray Strode
[not found] <20010102190651.C26503@Marvin.DL8BCU.ampr.org>
2001-01-02 21:16 ` Kai Germaschewski
[not found] <3A522A57.3050307@grips.com>
2001-01-03 0:37 ` David Woodhouse
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=14930.17815.720457.433064@light.alephnull.com \
--to=faith@valinux.com \
--cc=dri-devel@lists.sourceforge.net \
--cc=kaos@ocs.com.au \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox