lkml.org 
[lkml]   [2005]   [Oct]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 19/20] inflate: (arch) use proper linking
    inflate: remove include of lib/inflate.c and use proper linking

    - make free_mem_ptr vars nonstatic
    - make gunzip nonstatic
    - add gunzip prototype to new inflate.h
    - add per-arch Makefile bits
    - change inflate.c includes to inflate.h includes
    - change NO_INFLATE_MALLOC to CORE
    - compile core kernel version of inflate with -DCORE

    Signed-off-by: Matt Mackall <mpm@selenic.com>

    Index: 2.6.14/arch/alpha/boot/misc.c
    ===================================================================
    --- 2.6.14.orig/arch/alpha/boot/misc.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/alpha/boot/misc.c 2005-10-30 13:07:25.000000000 -0800
    @@ -14,6 +14,7 @@
    */

    #include <linux/kernel.h>
    +#include <linux/inflate.h>
    #include <asm/uaccess.h>

    #define puts srm_printk
    @@ -27,11 +28,7 @@ static u8 *output_data;

    #define HEAP_SIZE 0x2000

    -/* gzip delarations */
    -static u32 free_mem_ptr;
    -static u32 free_mem_ptr_end;
    -
    -#include "../../../lib/inflate.c"
    +static u32 free_mem_ptr, free_mem_ptr_end; /* for gunzip */

    /* flush gunzip output window */
    static void flush_window(const u8 *buf, int len)
    Index: 2.6.14/arch/arm/boot/compressed/Makefile
    ===================================================================
    --- 2.6.14.orig/arch/arm/boot/compressed/Makefile 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/arm/boot/compressed/Makefile 2005-10-30 13:07:25.000000000 -0800
    @@ -95,8 +95,11 @@ LDFLAGS_vmlinux += -p --no-undefined -X
    # would otherwise mess up our GOT table
    CFLAGS_misc.o := -Dstatic=

    +$(obj)/inflate.o: lib/inflate.c
    + $(call cmd,cc_o_c)
    +
    $(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.o \
    - $(addprefix $(obj)/, $(OBJS)) FORCE
    + $(addprefix $(obj)/, $(OBJS)) $(obj)/inflate.o FORCE
    $(call if_changed,ld)
    @:

    Index: 2.6.14/arch/arm/boot/compressed/misc.c
    ===================================================================
    --- 2.6.14.orig/arch/arm/boot/compressed/misc.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/arm/boot/compressed/misc.c 2005-10-30 13:07:25.000000000 -0800
    @@ -14,6 +14,7 @@
    unsigned int __machine_arch_type;

    #include <linux/string.h>
    +#include <linux/inflate.h>
    #include <asm/arch/uncompress.h>

    #ifdef STANDALONE_DEBUG
    @@ -36,31 +37,17 @@ icedcc_putstr(const char *ptr)

    #endif

    -#define __ptr_t void *
    -
    -/*
    - * gzip declarations
    - */
    -
    extern char input_data[];
    extern char input_data_end[];
    +extern int end;

    static u8 *output_data;
    -
    static void putstr(const char *);

    -extern int end;
    -static u32 free_mem_ptr;
    -static u32 free_mem_ptr_end;
    +u32 free_mem_ptr, free_mem_ptr_end; /* for gunzip */

    #define HEAP_SIZE 0x2000

    -#include "../../../../lib/inflate.c"
    -
    -#ifdef STANDALONE_DEBUG
    -#define NO_INFLATE_MALLOC
    -#endif
    -
    /* flush gunzip output window */
    static void flush_window(const u8 *buf, int len)
    {
    Index: 2.6.14/arch/arm26/boot/compressed/Makefile
    ===================================================================
    --- 2.6.14.orig/arch/arm26/boot/compressed/Makefile 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/arm26/boot/compressed/Makefile 2005-10-30 13:07:25.000000000 -0800
    @@ -8,7 +8,7 @@
    #

    HEAD = head.o
    -OBJS = misc.o
    +OBJS = misc.o inflate.o
    FONTC = drivers/video/console/font_acorn_8x8.c

    OBJS += ll_char_wr.o font.o
    @@ -40,11 +40,14 @@ LDFLAGS_piggy.o := -r -b binary
    $(obj)/piggy.o: $(obj)/piggy.gz FORCE
    $(call if_changed,ld)

    +$(obj)/inflate.o: lib/inflate.c
    + $(call cmd,cc_o_c)
    +
    $(obj)/font.o: $(FONTC)
    $(CC) $(CFLAGS) -Dstatic= -c $(FONTC) -o $(obj)/font.o

    $(obj)/vmlinux.lds: $(obj)/vmlinux.lds.in Makefile arch/arm26/boot/Makefile .config
    @sed "$(SEDFLAGS)" < $< > $@

    -$(obj)/misc.o: $(obj)/misc.c $(obj)/uncompress.h lib/inflate.c
    +$(obj)/misc.o: $(obj)/misc.c $(obj)/uncompress.h

    Index: 2.6.14/arch/arm26/boot/compressed/misc.c
    ===================================================================
    --- 2.6.14.orig/arch/arm26/boot/compressed/misc.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/arm26/boot/compressed/misc.c 2005-10-30 13:07:25.000000000 -0800
    @@ -14,6 +14,7 @@
    unsigned int __machine_arch_type;

    #include <linux/kernel.h>
    +#include <linux/inflate.h>
    #include <asm/uaccess.h>
    #include "uncompress.h"

    @@ -30,15 +31,7 @@ static void puts(const char *);

    #define HEAP_SIZE 0x2000

    -/* gzip delarations */
    -static u32 free_mem_ptr;
    -static u32 free_mem_ptr_end;
    -
    -#include "../../../../lib/inflate.c"
    -
    -#ifdef STANDALONE_DEBUG
    -#define NO_INFLATE_MALLOC
    -#endif
    +u32 free_mem_ptr, free_mem_ptr_end; /* for gunzip */

    /* flush the gunzip output window */
    static void flush_window(const u8 *buf, int len)
    Index: 2.6.14/arch/cris/arch-v10/boot/compressed/Makefile
    ===================================================================
    --- 2.6.14.orig/arch/cris/arch-v10/boot/compressed/Makefile 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/cris/arch-v10/boot/compressed/Makefile 2005-10-30 13:07:25.000000000 -0800
    @@ -9,7 +9,7 @@ CFLAGS = -O2
    LD = ld-cris
    OBJCOPY = objcopy-cris
    OBJCOPYFLAGS = -O binary --remove-section=.bss
    -OBJECTS = $(target)/head.o $(target)/misc.o
    +OBJECTS = $(target)/head.o $(target)/misc.o $(target)/inflate.o

    # files to compress
    SYSTEM = $(objtree)/vmlinux.bin
    @@ -29,6 +29,9 @@ $(target_compressed_dir)/vmlinuz: $(targ
    $(target)/head.o: $(src)/head.S
    $(CC) -D__ASSEMBLY__ -traditional -c $< -o $@

    +$(target)/inflate.o: lib/inflate.c
    + $(CC) -D__KERNEL__ -c $< -o $@
    +
    $(target)/misc.o: $(src)/misc.c
    $(CC) -D__KERNEL__ -c $< -o $@

    Index: 2.6.14/arch/cris/arch-v10/boot/compressed/misc.c
    ===================================================================
    --- 2.6.14.orig/arch/cris/arch-v10/boot/compressed/misc.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/cris/arch-v10/boot/compressed/misc.c 2005-10-30 13:07:25.000000000 -0800
    @@ -16,6 +16,7 @@

    #include <linux/config.h>
    #include <linux/types.h>
    +#include <linux/inflate.h>
    #include <asm/arch/svinto.h>

    extern int end; /* the "heap" is put directly after the BSS ends, at end */
    @@ -25,11 +26,8 @@ static u8 *output_data;

    static void puts(const char *);

    -/* gzip declarations */
    -static long free_mem_ptr = (long)&end;
    -static long free_mem_end_ptr = 0xffffffff;
    -
    -#include "../../../../../lib/inflate.c"
    +/* for gunzip */
    +long free_mem_ptr = (long)&end, free_mem_end_ptr = 0xffffffff;

    /* decompressor info and error messages to serial console */

    Index: 2.6.14/arch/cris/arch-v32/boot/compressed/Makefile
    ===================================================================
    --- 2.6.14.orig/arch/cris/arch-v32/boot/compressed/Makefile 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/cris/arch-v32/boot/compressed/Makefile 2005-10-30 13:07:25.000000000 -0800
    @@ -12,7 +12,7 @@ CFLAGS = -O2
    LD = gcc-cris -mlinux -march=v32 -nostdlib
    OBJCOPY = objcopy-cris
    OBJCOPYFLAGS = -O binary --remove-section=.bss
    -OBJECTS = $(target)/head.o $(target)/misc.o
    +OBJECTS = $(target)/head.o $(target)/misc.o $(target)/inflate.o

    # files to compress
    SYSTEM = $(objtree)/vmlinux.bin
    @@ -28,6 +28,9 @@ $(objtree)/vmlinuz: $(target) piggy.img
    rm -f piggy.img
    cp $(objtree)/vmlinuz $(src)

    +$(target)/inflate.o: lib/inflate.c
    + $(call cmd,cc_o_c)
    +
    $(target)/head.o: $(src)/head.S
    $(CC) -D__ASSEMBLY__ -c $< -o $@

    Index: 2.6.14/arch/cris/arch-v32/boot/compressed/misc.c
    ===================================================================
    --- 2.6.14.orig/arch/cris/arch-v32/boot/compressed/misc.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/cris/arch-v32/boot/compressed/misc.c 2005-10-30 13:07:25.000000000 -0800
    @@ -16,6 +16,7 @@

    #include <linux/config.h>
    #include <linux/types.h>
    +#include <linux/inflate.h>
    #include <asm/arch/hwregs/reg_rdwr.h>
    #include <asm/arch/hwregs/reg_map.h>
    #include <asm/arch/hwregs/ser_defs.h>
    @@ -26,11 +27,8 @@ static u8 *output_data;

    static void puts(const char *);

    -/* gzip declarations */
    -static long free_mem_ptr = (long)&_end;
    -static long free_mem_end_ptr = 0xffffffff;
    -
    -#include "../../../../../lib/inflate.c"
    +/* for gunzip */
    +long free_mem_ptr = (long)&_end, free_mem_end_ptr = 0xffffffff;

    /* decompressor info and error messages to serial console */

    Index: 2.6.14/arch/i386/boot/compressed/Makefile
    ===================================================================
    --- 2.6.14.orig/arch/i386/boot/compressed/Makefile 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/i386/boot/compressed/Makefile 2005-10-30 13:07:25.000000000 -0800
    @@ -9,7 +9,11 @@ EXTRA_AFLAGS := -traditional

    LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -e startup_32

    -$(obj)/vmlinux: $(obj)/head.o $(obj)/misc.o $(obj)/piggy.o FORCE
    +$(obj)/inflate.o: lib/inflate.c
    + $(call cmd,cc_o_c)
    +
    +$(obj)/vmlinux: $(obj)/head.o $(obj)/misc.o $(obj)/piggy.o $(obj)/inflate.o \
    + FORCE
    $(call if_changed,ld)
    @:

    Index: 2.6.14/arch/i386/boot/compressed/misc.c
    ===================================================================
    --- 2.6.14.orig/arch/i386/boot/compressed/misc.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/i386/boot/compressed/misc.c 2005-10-30 13:07:25.000000000 -0800
    @@ -8,6 +8,7 @@
    #include <linux/linkage.h>
    #include <linux/vmalloc.h>
    #include <linux/tty.h>
    +#include <linux/inflate.h>
    #include <asm/io.h>
    #include <asm/page.h>

    @@ -46,11 +47,7 @@ static int lines, cols;
    static void * xquad_portio = NULL;
    #endif

    -/* gzip declarations */
    -static long free_mem_ptr = (long)&end;
    -static long free_mem_end_ptr;
    -
    -#include "../../../../lib/inflate.c"
    +long free_mem_ptr = (long)&end, free_mem_end_ptr; /* for gunzip */

    static void scroll(void)
    {
    Index: 2.6.14/arch/m32r/boot/compressed/Makefile
    ===================================================================
    --- 2.6.14.orig/arch/m32r/boot/compressed/Makefile 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/m32r/boot/compressed/Makefile 2005-10-30 13:07:25.000000000 -0800
    @@ -18,7 +18,11 @@ OBJECTS = $(obj)/head.o $(obj)/misc.o

    LDFLAGS_vmlinux := -T

    -$(obj)/vmlinux: $(obj)/vmlinux.lds $(OBJECTS) $(obj)/piggy.o FORCE
    +$(obj)/inflate.o: lib/inflate.c
    + $(call cmd,cc_o_c)
    +
    +$(obj)/vmlinux: $(obj)/vmlinux.lds $(OBJECTS) $(obj)/piggy.o $(obj)/inflate.o \
    + FORCE
    $(call if_changed,ld)
    @:

    Index: 2.6.14/arch/m32r/boot/compressed/misc.c
    ===================================================================
    --- 2.6.14.orig/arch/m32r/boot/compressed/misc.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/m32r/boot/compressed/misc.c 2005-10-30 13:07:25.000000000 -0800
    @@ -9,6 +9,7 @@

    #include <linux/config.h>
    #include <linux/string.h>
    +#include <linux/inflate.h>

    static unsigned char *input_data;
    static int input_len;
    @@ -18,11 +19,7 @@ static u8 *output_data;

    #define HEAP_SIZE 0x10000

    -/* gzip declarations */
    -static unsigned long free_mem_ptr;
    -static unsigned long free_mem_end_ptr;
    -
    -#include "../../../../lib/inflate.c"
    +unsigned long free_mem_ptr, free_mem_end_ptr; /* for gunzip */

    /* flush the gunzip output buffer */
    static void flush_window(const u8 *buf, int len)
    Index: 2.6.14/arch/sh/boot/compressed/Makefile
    ===================================================================
    --- 2.6.14.orig/arch/sh/boot/compressed/Makefile 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/sh/boot/compressed/Makefile 2005-10-30 13:07:25.000000000 -0800
    @@ -24,7 +24,10 @@ IMAGE_OFFSET := $(shell printf "0x%8x" $

    LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -e startup -T $(obj)/../../kernel/vmlinux.lds

    -$(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o FORCE
    +$(obj)/inflate.o: lib/inflate.c
    + $(call cmd,cc_o_c)
    +
    +$(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o $(obj)/inflate.o FORCE
    $(call if_changed,ld)
    @:

    Index: 2.6.14/arch/sh/boot/compressed/misc.c
    ===================================================================
    --- 2.6.14.orig/arch/sh/boot/compressed/misc.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/sh/boot/compressed/misc.c 2005-10-30 13:07:59.000000000 -0800
    @@ -7,6 +7,7 @@
    */

    #include <linux/config.h>
    +#include <linux/inflate.h>
    #include <asm/uaccess.h>
    #ifdef CONFIG_SH_STANDARD_BIOS
    #include <asm/sh_bios.h>
    @@ -22,11 +23,7 @@ int puts(const char *);

    #define HEAP_SIZE 0x10000

    -/* gzip declarations */
    -static unsigned long free_mem_ptr;
    -static unsigned long free_mem_end_ptr;
    -
    -#include "../../../../lib/inflate.c"
    +unsigned long free_mem_ptr, free_mem_end_ptr; /* for gunzip */

    #ifdef CONFIG_SH_STANDARD_BIOS
    size_t strlen(const char *s)
    Index: 2.6.14/arch/sh64/boot/compressed/Makefile
    ===================================================================
    --- 2.6.14.orig/arch/sh64/boot/compressed/Makefile 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/sh64/boot/compressed/Makefile 2005-10-30 13:07:25.000000000 -0800
    @@ -28,7 +28,10 @@ LDFLAGS_vmlinux := -Ttext $(ZIMAGE_OFFSE
    -T $(obj)/../../kernel/vmlinux.lds \
    --no-warn-mismatch

    -$(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o FORCE
    +$(obj)/inflate.o: lib/inflate.c
    + $(call cmd,cc_o_c)
    +
    +$(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o $(obj)/inflate.o FORCE
    $(call if_changed,ld)
    @:

    Index: 2.6.14/arch/sh64/boot/compressed/misc.c
    ===================================================================
    --- 2.6.14.orig/arch/sh64/boot/compressed/misc.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/sh64/boot/compressed/misc.c 2005-10-30 13:07:25.000000000 -0800
    @@ -5,6 +5,7 @@
    */

    #include <linux/config.h>
    +#include <linux/inflate.h>
    #include <asm/uaccess.h>

    /* cache.c */
    @@ -22,11 +23,7 @@ static void puts(const char *);

    #define HEAP_SIZE 0x10000

    -/* gzip declarations */
    -static unsigned long free_mem_ptr;
    -static unsigned long free_mem_end_ptr;
    -
    -#include "../../../../lib/inflate.c"
    +unsigned long free_mem_ptr, free_mem_end_ptr; /* for gunzip */

    void puts(const char *s)
    {
    Index: 2.6.14/arch/x86_64/boot/compressed/Makefile
    ===================================================================
    --- 2.6.14.orig/arch/x86_64/boot/compressed/Makefile 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/x86_64/boot/compressed/Makefile 2005-10-30 13:07:25.000000000 -0800
    @@ -16,7 +16,11 @@ LDFLAGS := -m elf_i386

    LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -e startup_32 -m elf_i386

    -$(obj)/vmlinux: $(obj)/head.o $(obj)/misc.o $(obj)/piggy.o FORCE
    +$(obj)/inflate.o: lib/inflate.c
    + $(call cmd,cc_o_c)
    +
    +$(obj)/vmlinux: $(obj)/head.o $(obj)/misc.o $(obj)/piggy.o $(obj)/inflate.o \
    + FORCE
    $(call if_changed,ld)
    @:

    Index: 2.6.14/arch/x86_64/boot/compressed/misc.c
    ===================================================================
    --- 2.6.14.orig/arch/x86_64/boot/compressed/misc.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/arch/x86_64/boot/compressed/misc.c 2005-10-30 13:07:25.000000000 -0800
    @@ -6,6 +6,7 @@
    */

    #include "miscsetup.h"
    +#include <linux/inflate.h>
    #include <asm/io.h>
    #include <asm/page.h>

    @@ -39,11 +40,7 @@ static char *vidmem = (char *)0xb8000;
    static int vidport;
    static int lines, cols;

    -/* gzip declarations */
    -static long free_mem_ptr = (long)&end;
    -static long free_mem_end_ptr;
    -
    -#include "../../../../lib/inflate.c"
    +long free_mem_ptr = (long)&end, free_mem_end_ptr; /* for gunzip */

    static void scroll(void)
    {
    Index: 2.6.14/include/linux/inflate.h
    ===================================================================
    --- /dev/null 1970-01-01 00:00:00.000000000 +0000
    +++ 2.6.14/include/linux/inflate.h 2005-10-30 13:07:25.000000000 -0800
    @@ -0,0 +1,9 @@
    +#ifndef _LINUX_INFLATE_H
    +#define _LINUX_INFLATE_H
    +
    +int gunzip(u8 *ibuf, int isize, void (*fill)(u8 *buf, int size),
    + void (*flush)(const u8 *buf, int size),
    + void (*error)(const char *msg));
    +
    +#endif /* _LINUX_INFLATE_H */
    +
    Index: 2.6.14/init/do_mounts_rd.c
    ===================================================================
    --- 2.6.14.orig/init/do_mounts_rd.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/init/do_mounts_rd.c 2005-10-30 13:07:25.000000000 -0800
    @@ -1,4 +1,3 @@
    -
    #include <linux/kernel.h>
    #include <linux/fs.h>
    #include <linux/minix_fs.h>
    @@ -7,6 +6,7 @@
    #include <linux/cramfs_fs.h>
    #include <linux/initrd.h>
    #include <linux/string.h>
    +#include <linux/inflate.h>

    #include "do_mounts.h"

    @@ -269,13 +269,6 @@ int __init rd_load_disk(int n)

    #ifdef BUILD_CRAMDISK

    -/* gzip declarations */
    -#define INIT __init
    -#define INITDATA __initdata
    -#define NO_INFLATE_MALLOC
    -
    -#include "../lib/inflate.c"
    -
    #define INBUFSIZ 4096
    static u8 *inbuf;
    static int exit_code;
    Index: 2.6.14/init/initramfs.c
    ===================================================================
    --- 2.6.14.orig/init/initramfs.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/init/initramfs.c 2005-10-30 13:07:25.000000000 -0800
    @@ -6,6 +6,7 @@
    #include <linux/delay.h>
    #include <linux/string.h>
    #include <linux/syscalls.h>
    +#include <linux/inflate.h>

    static __initdata const char *message;
    static void __init error(const char *x)
    @@ -329,14 +330,6 @@ static void __init flush_buffer(const u8
    }
    }

    -/* gzip declarations */
    -
    -#define INIT __init
    -#define INITDATA __initdata
    -#define NO_INFLATE_MALLOC
    -
    -#include "../lib/inflate.c"
    -
    static const char * __init unpack_to_rootfs(char *buf, unsigned len,
    int check_only)
    {
    Index: 2.6.14/lib/Makefile
    ===================================================================
    --- 2.6.14.orig/lib/Makefile 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/lib/Makefile 2005-10-30 13:07:25.000000000 -0800
    @@ -5,12 +5,14 @@
    lib-y := errno.o ctype.o string.o vsprintf.o cmdline.o \
    bust_spinlocks.o rbtree.o radix-tree.o dump_stack.o \
    idr.o div64.o int_sqrt.o bitmap.o extable.o prio_tree.o \
    - sha1.o
    + sha1.o inflate.o

    lib-y += kobject.o kref.o kobject_uevent.o klist.o

    obj-y += sort.o parser.o halfmd4.o

    +CFLAGS_inflate.o += -DCORE
    +
    ifeq ($(CONFIG_DEBUG_KOBJECT),y)
    CFLAGS_kobject.o += -DDEBUG
    CFLAGS_kobject_uevent.o += -DDEBUG
    Index: 2.6.14/lib/inflate.c
    ===================================================================
    --- 2.6.14.orig/lib/inflate.c 2005-10-30 13:07:19.000000000 -0800
    +++ 2.6.14/lib/inflate.c 2005-10-30 13:07:25.000000000 -0800
    @@ -99,22 +99,19 @@
    a repeat code (16, 17, or 18) to go across the boundary between
    the two sets of lengths.
    */
    +#include <linux/kernel.h>
    #include <linux/compiler.h>
    +#include <asm/types.h>

    -#ifndef INIT
    +#ifndef CORE
    #define INIT
    -#endif
    -#ifndef INITDATA
    #define INITDATA
    -#endif
    -
    -#include <asm/types.h>

    -#ifndef NO_INFLATE_MALLOC
    /* A trivial malloc implementation, adapted from
    * malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
    */

    +extern long free_mem_ptr, free_mem_end_ptr;
    static unsigned long malloc_ptr;
    static int malloc_count;

    @@ -148,10 +145,17 @@ static void free(void *where)
    }

    static u8 INITDATA window[0x8000]; /* use a statically allocated window */
    +
    #else
    +
    +#include <linux/module.h>
    +
    static u8 *window; /* dynamically allocate */
    #define malloc(a) kmalloc(a, GFP_KERNEL)
    #define free(a) kfree(a)
    +#define INIT __init
    +#define INITDATA __initdata
    +
    #endif

    static u32 crc_32_tab[256];
    @@ -937,9 +941,9 @@ static void INIT makecrc(void)
    * @flush: function to flush the output pool
    * @error: function to report an error
    */
    -static int INIT gunzip(u8 *ibuf, int isize, void (*fill)(u8 *buf, int size),
    - void (*flush)(const u8 *buf, int size),
    - void (*error)(const char *msg))
    +int INIT gunzip(u8 *ibuf, int isize, void (*fill)(u8 *buf, int size),
    + void (*flush)(const u8 *buf, int size),
    + void (*error)(const char *msg))
    {
    u8 flags;
    unsigned char magic[2]; /* magic header */
    -
    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-10-31 22:05    [W:0.050 / U:60.336 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site