lkml.org 
[lkml]   [2002]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    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 13:15    [W:4.219 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site