diff options
| -rw-r--r-- | package/sysklogd/sysklogd.patch | 93 | 
1 files changed, 84 insertions, 9 deletions
diff --git a/package/sysklogd/sysklogd.patch b/package/sysklogd/sysklogd.patch index 5178ed377..101db0bc1 100644 --- a/package/sysklogd/sysklogd.patch +++ b/package/sysklogd/sysklogd.patch @@ -1,17 +1,92 @@ -On MIPS architecture, sysklogd fails to compile because linux/module.h -depends on asmlinkage, which is defined linux/linkage.h. +--- sysklogd-1.4.1/module.h.orig	1970-01-01 10:00:00.000000000 +1000 ++++ sysklogd-1.4.1/module.h	2005-11-24 01:40:09.000000000 +1000 +@@ -0,0 +1,62 @@ ++/* this file eliminates the need to include <kernel/module.h> */ ++/* 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 ++}; ++	 -The "proper" fix to this would probably be to apply the -mips-fixed-fls-warning.patch to the linux sources, which patches -asm-mips/system.h to always include linux/linkage.h. - ---- sysklogd-1.4.1/ksym_mod.c.orig	2000-09-12 14:15:28.000000000 -0700 -+++ sysklogd-1.4.1/ksym_mod.c	2005-08-15 14:11:42.000000000 -0700 -@@ -89,6 +89,7 @@ +--- sysklogd-1.4.1/ksym_mod.c.orig	2005-11-24 23:15:01.000000000 +1000 ++++ sysklogd-1.4.1/ksym_mod.c	2005-11-24 23:11:54.000000000 +1000 +@@ -89,17 +89,22 @@   #include <errno.h>   #include <sys/fcntl.h>   #include <sys/stat.h>  +#include <linux/linkage.h> ++#include <linux/version.h>   #if !defined(__GLIBC__)   #include <linux/time.h>   #include <linux/module.h> + #else /* __GLIBC__ */ ++#if LINUX_VERSION_CODE >= 0x20500 ++#include "module.h" ++#else + #include <linux/module.h> ++#endif + extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence)); + extern int get_kernel_syms __P ((struct kernel_sym *__table)); + #endif /* __GLIBC__ */ + #include <stdarg.h> + #include <paths.h> +-#include <linux/version.h> +  + #include "klogd.h" + #include "ksyms.h"  | 
