Hello community,
here is the log from the commit of package dosfstools
checked in at Thu Aug 9 18:38:06 CEST 2007.
--------
--- dosfstools/dosfstools.changes 2007-04-26 12:51:21.000000000 +0200
+++ /mounts/work_src_done/STABLE/dosfstools/dosfstools.changes 2007-08-09 17:09:04.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Aug 9 17:08:41 CEST 2007 - olh@suse.de
+
+- remove inclusion of asm/unaligned.h, use private copy of
+ asm-generic/unaligned.h
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dosfstools.spec ++++++
--- /var/tmp/diff_new_pack.j22145/_old 2007-08-09 18:37:24.000000000 +0200
+++ /var/tmp/diff_new_pack.j22145/_new 2007-08-09 18:37:24.000000000 +0200
@@ -12,12 +12,12 @@
Name: dosfstools
Provides: mkdosfs dosfsck
-License: GNU General Public License (GPL)
+License: GPL v2 or later
Group: System/Filesystems
Autoreqprov: on
Summary: Utilities for Making and Checking MS-DOS FAT File Systems on Linux
Version: 2.11
-Release: 51
+Release: 71
URL: ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools
Source: %{name}-%{version}.src.tar.bz2
Patch0: %{name}-%{version}-linuxfs.patch
@@ -45,7 +45,7 @@
%prep
%setup
%patch0
-%patch1
+%patch1 -p1
%patch2
%patch3
%patch4 -p1
@@ -89,6 +89,9 @@
%{_mandir}/man8/*.gz
%changelog
+* Thu Aug 09 2007 - olh@suse.de
+- remove inclusion of asm/unaligned.h, use private copy of
+ asm-generic/unaligned.h
* Thu Apr 26 2007 - lnussel@suse.de
- remove obsolete subfs patch
- fix handling of zero heads and sectors
++++++ dosfstools-2.11-unaligned.patch ++++++
--- /var/tmp/diff_new_pack.j22145/_old 2007-08-09 18:37:24.000000000 +0200
+++ /var/tmp/diff_new_pack.j22145/_new 2007-08-09 18:37:24.000000000 +0200
@@ -1,14 +1,10 @@
---- dosfsck/boot.c
-+++ dosfsck/boot.c
-@@ -8,6 +8,7 @@
- #include
- #include
- #include
-+#include
-
- #include "common.h"
- #include "dosfsck.h"
-@@ -35,18 +36,11 @@ static struct {
+---
+ dosfsck/boot.c | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 120 insertions(+), 11 deletions(-)
+
+--- a/dosfsck/boot.c
++++ b/dosfsck/boot.c
+@@ -34,18 +34,127 @@ static struct {
{ 0xff, "5.25\" 320k floppy 2s/40tr/8sec" },
};
@@ -22,10 +18,127 @@
- })
-#else
-#define GET_UNALIGNED_W(f) CF_LE_W( *(unsigned short *)&f )
-+#ifndef get_unaligned
-+#define get_unaligned(ptr) (*(ptr))
- #endif
+-#endif
++/*
++ * For the benefit of those who are trying to port Linux to another
++ * architecture, here are some C-language equivalents.
++ *
++ * This is based almost entirely upon Richard Henderson's
++ * asm-alpha/unaligned.h implementation. Some comments were
++ * taken from David Mosberger's asm-ia64/unaligned.h header.
++ */
++
++#include
++
++/*
++ * The main single-value unaligned transfer routines.
++ */
++#define get_unaligned(ptr) \
++ __get_unaligned((ptr), sizeof(*(ptr)))
++#define put_unaligned(x,ptr) \
++ __put_unaligned((__u64)(x), (ptr), sizeof(*(ptr)))
++
++/*
++ * This function doesn't actually exist. The idea is that when
++ * someone uses the macros below with an unsupported size (datatype),
++ * the linker will alert us to the problem via an unresolved reference
++ * error.
++ */
++extern void bad_unaligned_access_length(void) __attribute__((noreturn));
++
++struct __una_u64 { __u64 x __attribute__((packed)); };
++struct __una_u32 { __u32 x __attribute__((packed)); };
++struct __una_u16 { __u16 x __attribute__((packed)); };
++
++/*
++ * Elemental unaligned loads
++ */
++
++static inline __u64 __uldq(const __u64 *addr)
++{
++ const struct __una_u64 *ptr = (const struct __una_u64 *) addr;
++ return ptr->x;
++}
++
++static inline __u32 __uldl(const __u32 *addr)
++{
++ const struct __una_u32 *ptr = (const struct __una_u32 *) addr;
++ return ptr->x;
++}
++
++static inline __u16 __uldw(const __u16 *addr)
++{
++ const struct __una_u16 *ptr = (const struct __una_u16 *) addr;
++ return ptr->x;
++}
++
++/*
++ * Elemental unaligned stores
++ */
++
++static inline void __ustq(__u64 val, __u64 *addr)
++{
++ struct __una_u64 *ptr = (struct __una_u64 *) addr;
++ ptr->x = val;
++}
++
++static inline void __ustl(__u32 val, __u32 *addr)
++{
++ struct __una_u32 *ptr = (struct __una_u32 *) addr;
++ ptr->x = val;
++}
++
++static inline void __ustw(__u16 val, __u16 *addr)
++{
++ struct __una_u16 *ptr = (struct __una_u16 *) addr;
++ ptr->x = val;
++}
++
++#define __get_unaligned(ptr, size) ({ \
++ const void *__gu_p = ptr; \
++ __u64 val; \
++ switch (size) { \
++ case 1: \
++ val = *(const __u8 *)__gu_p; \
++ break; \
++ case 2: \
++ val = __uldw(__gu_p); \
++ break; \
++ case 4: \
++ val = __uldl(__gu_p); \
++ break; \
++ case 8: \
++ val = __uldq(__gu_p); \
++ break; \
++ default: \
++ bad_unaligned_access_length(); \
++ }; \
++ (__typeof__(*(ptr)))val; \
++})
++
++#define __put_unaligned(val, ptr, size) \
++do { \
++ void *__gu_p = ptr; \
++ switch (size) { \
++ case 1: \
++ *(__u8 *)__gu_p = val; \
++ break; \
++ case 2: \
++ __ustw(val, __gu_p); \
++ break; \
++ case 4: \
++ __ustl(val, __gu_p); \
++ break; \
++ case 8: \
++ __ustq(val, __gu_p); \
++ break; \
++ default: \
++ bad_unaligned_access_length(); \
++ }; \
++} while(0)
++
++
+#define GET_UNALIGNED_W(f) CF_LE_W( get_unaligned ((unsigned short *)&f))
static char *get_media_descr( unsigned char media )
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org