diff -urN modutils-2.4.27.orig/include/module.h modutils-2.4.27/include/module.h --- modutils-2.4.27.orig/include/module.h 2003-01-27 11:22:02.000000000 -0500 +++ modutils-2.4.27/include/module.h 2004-08-23 19:52:34.756772712 -0400 @@ -88,6 +88,20 @@ /* For sizeof() which are related to the module platform and not to the environment isnmod is running in, use sizeof_xx instead of sizeof(xx). */ +/* Additional test for OE, set tgt_blah correct for the target arch, *not* the + native arch. If int isn't 32bit on the native machine we're in trouble. */ + +#ifdef ARCH_arm +#define tgt_sizeof_char sizeof(char) +#define tgt_sizeof_short sizeof(short) +#define tgt_sizeof_int sizeof(int) +#define tgt_sizeof_long 4 +#define tgt_sizeof_char_p 4 +#define tgt_sizeof_void_p 4 +#define tgt_long int +#define tgt_long_fmt "l" +#define tgt_strtoul strtoul +#else #define tgt_sizeof_char sizeof(char) #define tgt_sizeof_short sizeof(short) #define tgt_sizeof_int sizeof(int) @@ -97,7 +111,7 @@ #define tgt_long long #define tgt_long_fmt "l" #define tgt_strtoul strtoul - +#endif /* This assumes that long long on a 32 bit system is equivalent to long on the * equivalent 64 bit system. Also that void and char pointers are 8 bytes on * all 64 bit systems. Add per system tweaks if it ever becomes necessary.