dosfsutils: Move from meta-extras to meta

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2868 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie
2007-10-11 21:48:55 +00:00
parent 03abf8e9c6
commit ffb1c7c470
11 changed files with 0 additions and 0 deletions

View File

@@ -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 )