Submitted By: DJ Lucas (dj_at_lucasit_dot_com) Date: 2003-08-17 Initial Package Version: 1.4.1 Origin: Linux Standard Base Project Description: This patch fixes a dependacy on kernel includes. Specifically, it removes the need to have kernel/module.h around. It is usable when building a linux-2.6 based system to get around compile problems. Source link: http://freestandards.org/pipermail/lsb-impl/2002-October/000466.html diff -Naur sysklogd-1.4.1-orig/Makefile sysklogd-1.4.1/Makefile --- sysklogd-1.4.1-orig/Makefile 1998-10-12 20:25:15.000000000 +0000 +++ sysklogd-1.4.1/Makefile 2003-08-17 19:14:38.000000000 +0000 @@ -3,7 +3,7 @@ CC= gcc #CFLAGS= -g -DSYSV -Wall #LDFLAGS= -g -CFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall -fno-strength-reduce +CFLAGS= $(RPM_OPT_FLAGS) -DSYSV -D_GNU_SOURCE -Wall LDFLAGS= -s # Look where your install program is. diff -Naur sysklogd-1.4.1-orig/ksym_mod.c sysklogd-1.4.1/ksym_mod.c --- sysklogd-1.4.1-orig/ksym_mod.c 2000-09-12 21:15:28.000000000 +0000 +++ sysklogd-1.4.1/ksym_mod.c 2003-08-17 19:14:38.000000000 +0000 @@ -93,7 +93,7 @@ #include #include #else /* __GLIBC__ */ -#include +#include "module.h" extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence)); extern int get_kernel_syms __P ((struct kernel_sym *__table)); #endif /* __GLIBC__ */ diff -Naur sysklogd-1.4.1-orig/module.h sysklogd-1.4.1/module.h --- sysklogd-1.4.1-orig/module.h 1970-01-01 00:00:00.000000000 +0000 +++ sysklogd-1.4.1/module.h 2003-08-17 19:14:38.000000000 +0000 @@ -0,0 +1,62 @@ +/* this file eliminates the need to include */ +/* Module definitions for klogd's module support */ +struct kernel_sym +{ + unsigned long value; + char name[60]; +}; + +struct module_symbol +{ + unsigned long value; + const char *name; +}; + +struct module_ref +{ + struct module *dep; /* "parent" pointer */ + struct module *ref; /* "child" pointer */ + struct module_ref *next_ref; +}; + +struct module_info +{ + unsigned long addr; + unsigned long size; + unsigned long flags; + long usecount; +}; + + +typedef struct { volatile int counter; } atomic_t; + +struct module +{ + unsigned long size_of_struct; /* == sizeof(module) */ + struct module *next; + const char *name; + unsigned long size; + + union + { + atomic_t usecount; + long pad; + } uc; /* Needs to keep its size - so says rth */ + + unsigned long flags; /* AUTOCLEAN et al */ + + unsigned nsyms; + unsigned ndeps; + + struct module_symbol *syms; + struct module_ref *deps; + struct module_ref *refs; + int (*init)(void); + void (*cleanup)(void); + const struct exception_table_entry *ex_table_start; + const struct exception_table_entry *ex_table_end; +#ifdef __alpha__ + unsigned long gp; +#endif +}; +