Index: BOOK/boot/ppc64/e2fsprogs.xml
===================================================================
--- BOOK/boot/ppc64/e2fsprogs.xml	(revision a2e7b58b2a1f0ab482f5f4f3b90f065e2547f6a9)
+++ BOOK/boot/ppc64/e2fsprogs.xml	(revision 6461d21d907dec664bf9a99bb41143b27a2be2ed)
@@ -22,9 +22,4 @@
   <sect2 role="installation">
     <title>Installation of E2fsprogs</title>
-
-    <para os="a1">This package cannot be cross-compiled for ppc64 on some
-    common architectures.  The following patch fixes this:</para>
-
-<screen os="a2"><userinput>patch -Np1 -i ../&e2fsprogs-cross-patch;</userinput></screen>
 
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
Index: BOOK/introduction/ppc64/changelog.xml
===================================================================
--- BOOK/introduction/ppc64/changelog.xml	(revision a2e7b58b2a1f0ab482f5f4f3b90f065e2547f6a9)
+++ BOOK/introduction/ppc64/changelog.xml	(revision 6461d21d907dec664bf9a99bb41143b27a2be2ed)
@@ -34,4 +34,15 @@
 -->
 
+
+    <listitem>
+      <para>July 24, 2007</para>
+      <itemizedlist>
+        <listitem>
+          <para>[ken] - Removed the patch for cross-compiling e2fsprogs, not
+	  needed with 1.40.2.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
     <listitem>
       <para>February 22, 2007</para>
@@ -43,5 +54,4 @@
           <para>[ken] - Mention that Parted installs a library and put it in
 	    /usr/lib64.</para>
-
         </listitem>
       </itemizedlist>
Index: BOOK/materials/ppc64/patches.xml
===================================================================
--- BOOK/materials/ppc64/patches.xml	(revision a2e7b58b2a1f0ab482f5f4f3b90f065e2547f6a9)
+++ BOOK/materials/ppc64/patches.xml	(revision 6461d21d907dec664bf9a99bb41143b27a2be2ed)
@@ -23,13 +23,4 @@
         url="&patches-root;&binutils-ppc64-vistest-patch;"/></para>
         <para>MD5 sum: <literal>&binutils-ppc64-vistest-patch-md5;</literal></para>
-      </listitem>
-    </varlistentry>
-
-    <varlistentry>
-      <term>E2fsprogs Cross-Compile Patch - <token>&e2fsprogs-cross-patch-size;</token>:</term>
-      <listitem>
-        <para>Download: <ulink
-        url="&patches-root;&e2fsprogs-cross-patch;"/></para>
-        <para>MD5 sum: <literal>&e2fsprogs-cross-patch-md5;</literal></para>
       </listitem>
     </varlistentry>
Index: BOOK/patches.ent
===================================================================
--- BOOK/patches.ent	(revision a2e7b58b2a1f0ab482f5f4f3b90f065e2547f6a9)
+++ BOOK/patches.ent	(revision 6461d21d907dec664bf9a99bb41143b27a2be2ed)
@@ -215,8 +215,4 @@
 <!ENTITY binutils-ppc64-vistest-patch-size "3.5 KB">
 
-<!ENTITY e2fsprogs-cross-patch "e2fsprogs-&e2fsprogs-version;-cross-1.patch">
-<!ENTITY e2fsprogs-cross-patch-md5 "7e870161b81ea9da6a3fb780fb5e866b">
-<!ENTITY e2fsprogs-cross-patch-size "7.4 KB">
-
 <!ENTITY gcc-nof-patch "gcc-&gcc-version;-powerpc64_multilib-1.patch">
 <!ENTITY gcc-nof-patch-md5 "190a654cac8bc87d86363fcd0f0522c6">
Index: tches/e2fsprogs-1.40.2-cross-1.patch
===================================================================
--- patches/e2fsprogs-1.40.2-cross-1.patch	(revision a2e7b58b2a1f0ab482f5f4f3b90f065e2547f6a9)
+++ 	(revision )
@@ -1,315 +1,0 @@
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2006-07-29
-Initial Package Version: 1.39
-Origin: Self.
-Upstream status: not submitted, pending comments on bug 1529730 for e2fsprogs.
-Description:
- Revert changes to two .h.in files which prevent cross-compilation for powerpc64
-from x86 and x86_64.  I believe the problem will appear whenever the machine
-doing the build uses long long for __{s,u}64and the target uses long, and perhaps
-also the other way around.  The following arches that are in the book use long:
-alpha, mips64, ppc64, sparc64.  None except ppc64 have reported this, so perhaps
-there is something different there.
-
---- e2fsprogs-1.39/lib/ext2fs/ext2_types.h.in	2006-04-09 02:39:39.000000000 +0100
-+++ e2fsprogs-1.38/lib/ext2fs/ext2_types.h.in	2004-04-03 16:20:26.000000000 +0100
-@@ -7,128 +7,55 @@
- 	!defined(_EXT2_TYPES_H))
- #define _EXT2_TYPES_H
- 
--@ASM_TYPES_HEADER@
--
--#ifdef __U8_TYPEDEF
--typedef __U8_TYPEDEF __u8;
--#else
- typedef unsigned char __u8;
--#endif
--
--#ifdef __S8_TYPEDEF
--typedef __S8_TYPEDEF __s8;
--#else
- typedef signed char __s8;
--#endif
- 
--#ifdef __U16_TYPEDEF
--typedef __U16_TYPEDEF __u16;
-+#if (@SIZEOF_INT@ == 8)
-+typedef int		__s64;
-+typedef unsigned int	__u64;
- #else
--#if (@SIZEOF_INT@ == 2)
--typedef	unsigned int	__u16;
-+#if (@SIZEOF_LONG@ == 8)
-+typedef long		__s64;
-+typedef unsigned long	__u64;
- #else
--#if (@SIZEOF_SHORT@ == 2)
--typedef	unsigned short	__u16;
-+#if (@SIZEOF_LONG_LONG@ == 8)
-+#if defined(__GNUC__)
-+typedef __signed__ long long 	__s64;
- #else
--  ?==error: undefined 16 bit type
--#endif /* SIZEOF_SHORT == 2 */
--#endif /* SIZEOF_INT == 2 */
--#endif /* __U16_TYPEDEF */
-+typedef signed long long 	__s64;
-+#endif /* __GNUC__ */
-+typedef unsigned long long	__u64;
-+#endif /* SIZEOF_LONG_LONG == 8 */
-+#endif /* SIZEOF_LONG == 8 */
-+#endif /* SIZEOF_INT == 8 */
- 
--#ifdef __S16_TYPEDEF
--typedef __S16_TYPEDEF __s16;
--#else
- #if (@SIZEOF_INT@ == 2)
- typedef	int		__s16;
-+typedef	unsigned int	__u16;
- #else
- #if (@SIZEOF_SHORT@ == 2)
- typedef	short		__s16;
-+typedef	unsigned short	__u16;
- #else
-   ?==error: undefined 16 bit type
- #endif /* SIZEOF_SHORT == 2 */
- #endif /* SIZEOF_INT == 2 */
--#endif /* __S16_TYPEDEF */
--
--
--#ifdef __U32_TYPEDEF
--typedef __U32_TYPEDEF __u32;
--#else
--#if (@SIZEOF_INT@ == 4)
--typedef	unsigned int	__u32;
--#else
--#if (@SIZEOF_LONG@ == 4)
--typedef	unsigned long	__u32;
--#else
--#if (@SIZEOF_SHORT@ == 4)
--typedef	unsigned short	__u32;
--#else
-- ?== error: undefined 32 bit type
--#endif /* SIZEOF_SHORT == 4 */
--#endif /* SIZEOF_LONG == 4 */
--#endif /* SIZEOF_INT == 4 */
--#endif /* __U32_TYPEDEF */
- 
--#ifdef __S32_TYPEDEF
--typedef __S32_TYPEDEF __s32;
--#else
- #if (@SIZEOF_INT@ == 4)
- typedef	int		__s32;
-+typedef	unsigned int	__u32;
- #else
- #if (@SIZEOF_LONG@ == 4)
- typedef	long		__s32;
-+typedef	unsigned long	__u32;
- #else
- #if (@SIZEOF_SHORT@ == 4)
- typedef	short		__s32;
-+typedef	unsigned short	__u32;
- #else
-  ?== error: undefined 32 bit type
- #endif /* SIZEOF_SHORT == 4 */
- #endif /* SIZEOF_LONG == 4 */
- #endif /* SIZEOF_INT == 4 */
--#endif /* __S32_TYPEDEF */
--
--#ifdef __U64_TYPEDEF
--typedef __U64_TYPEDEF __u64;
--#else
--#if (@SIZEOF_INT@ == 8)
--typedef unsigned int	__u64;
--#else
--#if (@SIZEOF_LONG@ == 8)
--typedef unsigned long	__u64;
--#else
--#if (@SIZEOF_LONG_LONG@ == 8)
--typedef unsigned long long	__u64;
--#endif /* SIZEOF_LONG_LONG == 8 */
--#endif /* SIZEOF_LONG == 8 */
--#endif /* SIZEOF_INT == 8 */
--#endif /* __U64_TYPEDEF */
--
--#ifdef __S64_TYPEDEF
--typedef __S64_TYPEDEF __s64;
--#else
--#if (@SIZEOF_INT@ == 8)
--typedef int		__s64;
--#else
--#if (@SIZEOF_LONG@ == 8)
--typedef long		__s64;
--#else
--#if (@SIZEOF_LONG_LONG@ == 8)
--#if defined(__GNUC__)
--typedef __signed__ long long 	__s64;
--#else
--typedef signed long long 	__s64;
--#endif /* __GNUC__ */
--#endif /* SIZEOF_LONG_LONG == 8 */
--#endif /* SIZEOF_LONG == 8 */
--#endif /* SIZEOF_INT == 8 */
--#endif /* __S64_TYPEDEF */
--
--#undef __S8_TYPEDEF
--#undef __U8_TYPEDEF
--#undef __S16_TYPEDEF
--#undef __U16_TYPEDEF
--#undef __S32_TYPEDEF
--#undef __U32_TYPEDEF
--#undef __S64_TYPEDEF
--#undef __U64_TYPEDEF
- 
- #endif /* _*_TYPES_H */
---- e2fsprogs-1.39/lib/blkid/blkid_types.h.in	2006-04-09 02:43:44.000000000 +0100
-+++ e2fsprogs-1.38/lib/blkid/blkid_types.h.in	2004-03-30 07:55:10.000000000 +0100
-@@ -7,128 +7,55 @@
- 	!defined(_EXT2_TYPES_H))
- #define _BLKID_TYPES_H
- 
--@ASM_TYPES_HEADER@
--
--#ifdef __U8_TYPEDEF
--typedef __U8_TYPEDEF __u8;
--#else
- typedef unsigned char __u8;
--#endif
--
--#ifdef __S8_TYPEDEF
--typedef __S8_TYPEDEF __s8;
--#else
- typedef signed char __s8;
--#endif
- 
--#ifdef __U16_TYPEDEF
--typedef __U16_TYPEDEF __u16;
-+#if (@SIZEOF_INT@ == 8)
-+typedef int		__s64;
-+typedef unsigned int	__u64;
- #else
--#if (@SIZEOF_INT@ == 2)
--typedef	unsigned int	__u16;
-+#if (@SIZEOF_LONG@ == 8)
-+typedef long		__s64;
-+typedef unsigned long	__u64;
- #else
--#if (@SIZEOF_SHORT@ == 2)
--typedef	unsigned short	__u16;
-+#if (@SIZEOF_LONG_LONG@ == 8)
-+#if defined(__GNUC__)
-+typedef __signed__ long long 	__s64;
- #else
--  ?==error: undefined 16 bit type
--#endif /* SIZEOF_SHORT == 2 */
--#endif /* SIZEOF_INT == 2 */
--#endif /* __U16_TYPEDEF */
-+typedef signed long long 	__s64;
-+#endif /* __GNUC__ */
-+typedef unsigned long long	__u64;
-+#endif /* SIZEOF_LONG_LONG == 8 */
-+#endif /* SIZEOF_LONG == 8 */
-+#endif /* SIZEOF_INT == 8 */
- 
--#ifdef __S16_TYPEDEF
--typedef __S16_TYPEDEF __s16;
--#else
- #if (@SIZEOF_INT@ == 2)
- typedef	int		__s16;
-+typedef	unsigned int	__u16;
- #else
- #if (@SIZEOF_SHORT@ == 2)
- typedef	short		__s16;
-+typedef	unsigned short	__u16;
- #else
-   ?==error: undefined 16 bit type
- #endif /* SIZEOF_SHORT == 2 */
- #endif /* SIZEOF_INT == 2 */
--#endif /* __S16_TYPEDEF */
--
--
--#ifdef __U32_TYPEDEF
--typedef __U32_TYPEDEF __u32;
--#else
--#if (@SIZEOF_INT@ == 4)
--typedef	unsigned int	__u32;
--#else
--#if (@SIZEOF_LONG@ == 4)
--typedef	unsigned long	__u32;
--#else
--#if (@SIZEOF_SHORT@ == 4)
--typedef	unsigned short	__u32;
--#else
-- ?== error: undefined 32 bit type
--#endif /* SIZEOF_SHORT == 4 */
--#endif /* SIZEOF_LONG == 4 */
--#endif /* SIZEOF_INT == 4 */
--#endif /* __U32_TYPEDEF */
- 
--#ifdef __S32_TYPEDEF
--typedef __S32_TYPEDEF __s32;
--#else
- #if (@SIZEOF_INT@ == 4)
- typedef	int		__s32;
-+typedef	unsigned int	__u32;
- #else
- #if (@SIZEOF_LONG@ == 4)
- typedef	long		__s32;
-+typedef	unsigned long	__u32;
- #else
- #if (@SIZEOF_SHORT@ == 4)
- typedef	short		__s32;
-+typedef	unsigned short	__u32;
- #else
-  ?== error: undefined 32 bit type
- #endif /* SIZEOF_SHORT == 4 */
- #endif /* SIZEOF_LONG == 4 */
- #endif /* SIZEOF_INT == 4 */
--#endif /* __S32_TYPEDEF */
--
--#ifdef __U64_TYPEDEF
--typedef __U64_TYPEDEF __u64;
--#else
--#if (@SIZEOF_INT@ == 8)
--typedef unsigned int	__u64;
--#else
--#if (@SIZEOF_LONG@ == 8)
--typedef unsigned long	__u64;
--#else
--#if (@SIZEOF_LONG_LONG@ == 8)
--typedef unsigned long long	__u64;
--#endif /* SIZEOF_LONG_LONG == 8 */
--#endif /* SIZEOF_LONG == 8 */
--#endif /* SIZEOF_INT == 8 */
--#endif /* __U64_TYPEDEF */
--
--#ifdef __S64_TYPEDEF
--typedef __S64_TYPEDEF __s64;
--#else
--#if (@SIZEOF_INT@ == 8)
--typedef int		__s64;
--#else
--#if (@SIZEOF_LONG@ == 8)
--typedef long		__s64;
--#else
--#if (@SIZEOF_LONG_LONG@ == 8)
--#if defined(__GNUC__)
--typedef __signed__ long long 	__s64;
--#else
--typedef signed long long 	__s64;
--#endif /* __GNUC__ */
--#endif /* SIZEOF_LONG_LONG == 8 */
--#endif /* SIZEOF_LONG == 8 */
--#endif /* SIZEOF_INT == 8 */
--#endif /* __S64_TYPEDEF */
--
--#undef __S8_TYPEDEF
--#undef __U8_TYPEDEF
--#undef __S16_TYPEDEF
--#undef __U16_TYPEDEF
--#undef __S32_TYPEDEF
--#undef __U32_TYPEDEF
--#undef __S64_TYPEDEF
--#undef __U64_TYPEDEF
- 
- #endif /* _*_TYPES_H */
