lkml.org 
[lkml]   [2002]   [Jan]   [10]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
    /
    DateThu, 10 Jan 2002 08:36:57 -0700
    FromTom Rini <>
    SubjectRe: Moving zlib so that others may use it
    On Thu, Jan 10, 2002 at 03:44:47PM +1100, Keith Owens wrote:
    > On Wed, 09 Jan 2002 22:23:31 -0600, 
    > Corey Minyard <minyard@acm.org> wrote:
    > >Keith Owens wrote:
    > >>On Wed, 09 Jan 2002 17:32:20 -0600, 
    > >>Corey Minyard <minyard@acm.org> wrote:
    > >>>I would like to propose putting zlib in the lib directory and making it 
    > >>>optionally compile if it is needed.
    > >>
    > >>The best option is to build zlib.o for the kernel (not module) and
    > >>store it in lib.a.  Compile zlib.o if any consumer of zlib has been
    > >>selected and add a dummy reference to zlib code in vmlinux to ensure
    > >>that zlib is pulled from the archive if anybody needs it, even if all
    > >>the consumers are in modules.  Some of the zlib symbols will need to be
    > >>exported, I will leave that to you.
    > >>
    > >Why not just create zlib as a module if all the users are modules (so 
    > >depmod and modprobe load it)?  That's what everything else does.  And 
    > >that way, if it's already in the kernel, the module just won't get 
    > >loaded, but if it's not the module gets loaded.  What you are suggesting 
    > >seems rather convoluted.
    > 
    > If zlib is a module then it cannot be part of lib/lib.a, it has to be
    > separate, with changes to the top level Makefile to conditionally
    > include lib/zlib.o.  I did that originally but the changes to
    > lib/Makefile and the top level Makefile were worse.  Building zlib as a
    > module guarantees that you cannot use it in a boot loader, forcing you
    > to maintain multiple versions of zlib.c.  If you are going to use one
    > version of zlib then you should try to handle bootloaders as well.
    
    
    It's possible they can share, but the bootloaders (PPC & MIPS) need a
    slight change to the zlib.c code to to allow using zero as a real
    address to store the uncompressed data.  So we'd want to guard the
    changes with __BOOTER__ or so, and then cp the file or do
    #define __BOOTER__
    #include "zlib.c"
    
    And do -I$(TOPDIR)/lib, or something along those lines.
    
    -- 
    Tom Rini (TR1265)
    http://gate.crashing.org/~trini/
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/
    
    
    \
     
     \ /
      Last update: 2005-03-22 12:15    [from the cache]
    ©2003-2008