diff options
Diffstat (limited to 'dosfstools')
-rw-r--r-- | dosfstools/dosfstools/alignment_hack.patch | 34 | ||||
-rw-r--r-- | dosfstools/dosfstools/dosfstools-2.10-kernel-2.6.patch | 74 |
2 files changed, 108 insertions, 0 deletions
diff --git a/dosfstools/dosfstools/alignment_hack.patch b/dosfstools/dosfstools/alignment_hack.patch index e69de29bb2..e15060a6fe 100644 --- a/dosfstools/dosfstools/alignment_hack.patch +++ b/dosfstools/dosfstools/alignment_hack.patch @@ -0,0 +1,34 @@ +The problem is that unsigned char[2] is +guranteed to be 8Bit aligned on arm +but unsigned short is/needs to be 16bit aligned +the union { unsigned short; unsigned char[2] } trick +didn't work so no we use the alpha hack. + +memcpy into an 16bit aligned + + -zecke + + +--- dosfstools/dosfsck/boot.c.orig 2003-05-15 19:32:23.000000000 +0200 ++++ dosfstools/dosfsck/boot.c 2003-06-13 17:44:25.000000000 +0200 +@@ -36,17 +36,15 @@ + { 0xff, "5.25\" 320k floppy 2s/40tr/8sec" }, + }; + +-#if defined __alpha || defined __ia64__ || defined __s390x__ || defined __x86_64__ || defined __ppc64__ ++ + /* Unaligned fields must first be copied byte-wise */ + #define GET_UNALIGNED_W(f) \ + ({ \ + unsigned short __v; \ + memcpy( &__v, &f, sizeof(__v) ); \ +- CF_LE_W( *(unsigned short *)&f ); \ ++ CF_LE_W( *(unsigned short *)&__v ); \ + }) +-#else +-#define GET_UNALIGNED_W(f) CF_LE_W( *(unsigned short *)&f ) +-#endif ++ + + + static char *get_media_descr( unsigned char media ) diff --git a/dosfstools/dosfstools/dosfstools-2.10-kernel-2.6.patch b/dosfstools/dosfstools/dosfstools-2.10-kernel-2.6.patch index e69de29bb2..3ecafc324b 100644 --- a/dosfstools/dosfstools/dosfstools-2.10-kernel-2.6.patch +++ b/dosfstools/dosfstools/dosfstools-2.10-kernel-2.6.patch @@ -0,0 +1,74 @@ +Submitted By: Jim Gifford (jim at linuxfromscratch dot org) +Date: 2004-02-09 +Initial Package Version: 2.6 +Origin: Jim Gifford +Upstream Status: Accepted +Description: Fixes Compile Issues with the 2.6 Kernel + +--- dosfstools-2.10/dosfsck/common.h.orig 2004-02-09 18:37:59.056737458 +0000 ++++ dosfstools-2.10/dosfsck/common.h 2004-02-09 18:38:18.333392952 +0000 +@@ -2,6 +2,13 @@ + + /* Written 1993 by Werner Almesberger */ + ++#include <linux/version.h> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) ++ #define __KERNEL__ ++ #include <asm/types.h> ++ #undef __KERNEL__ ++ #define MSDOS_FAT12 4084 /* maximum number of clusters in a 12 bit FAT */ ++#endif + + #ifndef _COMMON_H + #define _COMMON_H +--- dosfstools-2.10/dosfsck/file.c.orig 2004-02-09 18:40:52.016728845 +0000 ++++ dosfstools-2.10/dosfsck/file.c 2004-02-09 18:40:03.665117865 +0000 +@@ -15,6 +15,14 @@ + #define _LINUX_STAT_H /* hack to avoid inclusion of <linux/stat.h> */ + #define _LINUX_STRING_H_ /* hack to avoid inclusion of <linux/string.h>*/ + #define _LINUX_FS_H /* hack to avoid inclusion of <linux/fs.h> */ ++ ++#include <linux/version.h> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) ++ #define __KERNEL__ ++ #include <asm/types.h> ++ #undef __KERNEL__ ++#endif ++ + #include <linux/msdos_fs.h> + + #include "common.h" +--- dosfstools-2.10/dosfsck/dosfsck.h.orig 2004-02-09 18:57:11.022870974 +0000 ++++ dosfstools-2.10/dosfsck/dosfsck.h 2004-02-09 18:56:20.628614393 +0000 +@@ -13,6 +13,15 @@ + #define _LINUX_STAT_H /* hack to avoid inclusion of <linux/stat.h> */ + #define _LINUX_STRING_H_ /* hack to avoid inclusion of <linux/string.h>*/ + #define _LINUX_FS_H /* hack to avoid inclusion of <linux/fs.h> */ ++ ++#include <linux/version.h> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) ++ #define __KERNEL__ ++ #include <asm/types.h> ++ #include <asm/byteorder.h> ++ #undef __KERNEL__ ++#endif ++ + #include <linux/msdos_fs.h> + + /* 2.1 kernels use le16_to_cpu() type functions for CF_LE_W & Co., but don't +--- dosfstools-2.10/mkdosfs/mkdosfs.c.orig 2004-02-09 18:31:41.997157413 +0000 ++++ dosfstools-2.10/mkdosfs/mkdosfs.c 2004-02-09 18:34:07.311945252 +0000 +@@ -66,6 +66,13 @@ + #include <time.h> + #include <errno.h> + ++#include <linux/version.h> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) ++ #define __KERNEL__ ++ #include <asm/types.h> ++ #undef __KERNEL__ ++#endif ++ + #if __BYTE_ORDER == __BIG_ENDIAN + + #include <asm/byteorder.h> |