linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Keith Owens <kaos@ocs.com.au>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Kernel Mailing List <linux-kernel@vger.kernel.org>,
	faith@vmlinux.com, dri-devel@lists.sourceforge.net
Subject: Re: Happy new year^H^H^H^Hkernel..
Date: Tue, 02 Jan 2001 08:32:45 +1100	[thread overview]
Message-ID: <9103.978384765@ocs3.ocs-net> (raw)
In-Reply-To: Your message of "Mon, 01 Jan 2001 09:39:38 -0800." <Pine.LNX.4.10.10101010938590.2892-100000@penguin.transmeta.com>

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.

-
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/

  parent reply	other threads:[~2001-01-01 22:03 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 [this message]
2001-01-02 21:18       ` Rik Faith
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
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=9103.978384765@ocs3.ocs-net \
    --to=kaos@ocs.com.au \
    --cc=dri-devel@lists.sourceforge.net \
    --cc=faith@vmlinux.com \
    --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;
as well as URLs for NNTP newsgroup(s).