facelift step number two
authorEric Andersen <andersen@codepoet.org>
Sat, 9 Oct 2004 02:49:33 +0000 (02:49 -0000)
committerEric Andersen <andersen@codepoet.org>
Sat, 9 Oct 2004 02:49:33 +0000 (02:49 -0000)
240 files changed:
.cvsignore
Makefile
package/Makefile.in
package/bison/bison.mk
package/bison/yacc [new file with mode: 0755]
package/boa/boa-config.site-i386 [new file with mode: 0644]
package/boa/boa.conf [new file with mode: 0644]
package/boa/boa.mk
package/boa/mime.types [new file with mode: 0644]
package/bridge/bridge.mk
package/bridge/bridge.patch [new file with mode: 0644]
package/busybox/busybox.mk
package/cramfsroot/cramfsroot.mk [deleted file]
package/customize/customize.mk
package/dnsmasq/dnsmasq.mk
package/dnsmasq/dnsmasq1-100-bugfix.patch [new file with mode: 0644]
package/dnsmasq/dnsmasq2-100-config.patch [new file with mode: 0644]
package/dropbear_sshd/dropbear-init.patch [new file with mode: 0644]
package/dropbear_sshd/dropbear_sshd.mk
package/ed/ed.mk
package/ext2root/ext2root.mk [deleted file]
package/file/file.mk
package/file/file.patch [new file with mode: 0644]
package/flex/flex.mk
package/hotplug/hotplug.mk
package/hotplug/hotplug.patch [new file with mode: 0644]
package/iptables/iptables.mk
package/jffs2root/jffs2root.mk [deleted file]
package/libfloat/libfloat.mk
package/libfloat/libfloat.patch [new file with mode: 0644]
package/libglib12/libglib12.mk
package/libglib12/libglib_configure_1.2.10.bz2 [new file with mode: 0644]
package/linux/kernel-patches/006-ieee1394-hotplug.bz2 [new file with mode: 0644]
package/linux/kernel-patches/007-scsi_add_remove_single.bz2 [new file with mode: 0644]
package/linux/kernel-patches/008-ieee1394-fix.bz2 [new file with mode: 0644]
package/linux/kernel-patches/009-always-inline.bz2 [new file with mode: 0644]
package/linux/kernel-patches/010-optimize-for-size.bz2 [new file with mode: 0644]
package/linux/kernel-patches/012-x86-check_gcc.bz2 [new file with mode: 0644]
package/linux/kernel-patches/017-printk.bz2 [new file with mode: 0644]
package/linux/kernel-patches/018-slab-loop-init.bz2 [new file with mode: 0644]
package/linux/kernel-patches/041-changeloop.patch.bz2 [new file with mode: 0644]
package/linux/kernel-patches/042-loopfixes.patch.bz2 [new file with mode: 0644]
package/linux/kernel-patches/044-streaming_io.bz2 [new file with mode: 0644]
package/linux/kernel-patches/062-silence-blk-queue.bz2 [new file with mode: 0644]
package/linux/kernel-patches/063-silence.kbd.patch.bz2 [new file with mode: 0644]
package/linux/kernel-patches/064-shutup-md.bz2 [new file with mode: 0644]
package/linux/kernel-patches/077-orinoco-0.13e.bz2 [new file with mode: 0644]
package/linux/kernel-patches/078-hostap.bz2 [new file with mode: 0644]
package/linux/kernel-patches/079-jiffies64.bz2 [new file with mode: 0644]
package/linux/kernel-patches/089-no-touch-makedep.bz2 [new file with mode: 0644]
package/linux/kernel-patches/100_VERSION.bz2 [new file with mode: 0644]
package/linux/linux.config [new file with mode: 0644]
package/linux/linux.mk
package/ltp-testsuite/ltp-testsuite.mk
package/ltp-testsuite/ltp-testsuite.patch [new file with mode: 0644]
package/lzo/lzo-cross-compile.patch [new file with mode: 0644]
package/lzo/lzo.mk
package/mrouted/mrouted-sys_errlist.patch [new file with mode: 0644]
package/mrouted/mrouted.mk
package/ncurses/ncurses-100-hostccflags.patch [new file with mode: 0644]
package/ncurses/ncurses.mk
package/netkittelnet/netkittelnet.mk
package/netkittelnet/netkittelnet.patch [new file with mode: 0644]
package/netsnmp/netsnmp.mk
package/netsnmp/netsnmp.patch [new file with mode: 0644]
package/openssh/openssh.mk
package/openssh/openssh.patch [new file with mode: 0644]
package/openssl/openssl.mk
package/openssl/openssl.patch [new file with mode: 0644]
package/openvpn/openvpn.init [new file with mode: 0755]
package/openvpn/openvpn.mk
package/pciutils/pciutils.mk
package/pciutils/pciutils.patch [new file with mode: 0644]
package/pcmcia/pcmcia.mk
package/pcmcia/pcmcia.patch [new file with mode: 0644]
package/python/python-cross-compile.patch [new file with mode: 0644]
package/python/python.mk
package/rxvt/rxvt.mk
package/sed/sed.mk
package/sed/sedcheck.sh [new file with mode: 0755]
package/squashfsroot/squashfsroot.mk [deleted file]
package/tinyx/tinyx-011010.patch [new file with mode: 0644]
package/tinyx/tinyx.mk
package/util-linux/util-linux.mk
package/util-linux/util-linux.patch [new file with mode: 0644]
package/valgrind/valgrind.mk
package/valgrind/valgrind.patch [new file with mode: 0644]
package/vtun/vtun.mk
package/vtun/vtun.patch [new file with mode: 0644]
sources/boa-config.site-i386 [deleted file]
sources/boa.conf [deleted file]
sources/bridge.patch [deleted file]
sources/cramfs.patch [deleted file]
sources/device_table.txt [deleted file]
sources/dnsmasq1-100-bugfix.patch [deleted file]
sources/dnsmasq2-100-config.patch [deleted file]
sources/dropbear-init.patch [deleted file]
sources/file.patch [deleted file]
sources/genext2fs.patch [deleted file]
sources/kernel-patches/006-ieee1394-hotplug.bz2 [deleted file]
sources/kernel-patches/007-scsi_add_remove_single.bz2 [deleted file]
sources/kernel-patches/008-ieee1394-fix.bz2 [deleted file]
sources/kernel-patches/009-always-inline.bz2 [deleted file]
sources/kernel-patches/010-optimize-for-size.bz2 [deleted file]
sources/kernel-patches/012-x86-check_gcc.bz2 [deleted file]
sources/kernel-patches/017-printk.bz2 [deleted file]
sources/kernel-patches/018-slab-loop-init.bz2 [deleted file]
sources/kernel-patches/041-changeloop.patch.bz2 [deleted file]
sources/kernel-patches/042-loopfixes.patch.bz2 [deleted file]
sources/kernel-patches/044-streaming_io.bz2 [deleted file]
sources/kernel-patches/062-silence-blk-queue.bz2 [deleted file]
sources/kernel-patches/063-silence.kbd.patch.bz2 [deleted file]
sources/kernel-patches/064-shutup-md.bz2 [deleted file]
sources/kernel-patches/077-orinoco-0.13e.bz2 [deleted file]
sources/kernel-patches/078-hostap.bz2 [deleted file]
sources/kernel-patches/079-jiffies64.bz2 [deleted file]
sources/kernel-patches/089-no-touch-makedep.bz2 [deleted file]
sources/kernel-patches/100_VERSION.bz2 [deleted file]
sources/libfloat.patch [deleted file]
sources/libglib_configure_1.2.10.bz2 [deleted file]
sources/linux-libc-headers-2.6.8-cleanup.patch [deleted file]
sources/linux.config [deleted file]
sources/ltp-testsuite.patch [deleted file]
sources/lzo-cross-compile.patch [deleted file]
sources/mime.types [deleted file]
sources/mrouted-sys_errlist.patch [deleted file]
sources/ncurses-100-hostccflags.patch [deleted file]
sources/netkittelnet.patch [deleted file]
sources/netsnmp.patch [deleted file]
sources/openssh.patch [deleted file]
sources/openssl.patch [deleted file]
sources/openvpn [deleted file]
sources/patch-kernel.sh [deleted file]
sources/pciutils.patch [deleted file]
sources/pcmcia.patch [deleted file]
sources/perl-cross-0.1.tar.gz [deleted file]
sources/perl.patch [deleted file]
sources/python-cross-compile.patch [deleted file]
sources/sedcheck.sh [deleted file]
sources/skel.tar.gz [deleted file]
sources/squashfs.patch [deleted file]
sources/target_skeleton/etc/TZ [deleted file]
sources/target_skeleton/etc/fstab [deleted file]
sources/target_skeleton/etc/group [deleted file]
sources/target_skeleton/etc/hostname [deleted file]
sources/target_skeleton/etc/hosts [deleted file]
sources/target_skeleton/etc/init.d/S20urandom [deleted file]
sources/target_skeleton/etc/init.d/S40network [deleted file]
sources/target_skeleton/etc/init.d/rcS [deleted file]
sources/target_skeleton/etc/inittab [deleted file]
sources/target_skeleton/etc/inputrc [deleted file]
sources/target_skeleton/etc/issue [deleted file]
sources/target_skeleton/etc/network/interfaces [deleted file]
sources/target_skeleton/etc/passwd [deleted file]
sources/target_skeleton/etc/profile [deleted file]
sources/target_skeleton/etc/protocols [deleted file]
sources/target_skeleton/etc/random-seed [deleted file]
sources/target_skeleton/etc/resolv.conf [deleted file]
sources/target_skeleton/etc/securetty [deleted file]
sources/target_skeleton/etc/services [deleted file]
sources/target_skeleton/etc/shadow [deleted file]
sources/target_skeleton/root/.bash_history [deleted file]
sources/target_skeleton/root/.bash_logout [deleted file]
sources/target_skeleton/root/.bash_profile [deleted file]
sources/target_skeleton/root/.bashrc [deleted file]
sources/target_skeleton/usr/share/terminfo/a/ansi [deleted file]
sources/target_skeleton/usr/share/terminfo/d/dumb [deleted file]
sources/target_skeleton/usr/share/terminfo/l/linux [deleted file]
sources/target_skeleton/usr/share/terminfo/r/rxvt [deleted file]
sources/target_skeleton/usr/share/terminfo/s/screen [deleted file]
sources/target_skeleton/usr/share/terminfo/s/screen-w [deleted file]
sources/target_skeleton/usr/share/terminfo/s/sun [deleted file]
sources/target_skeleton/usr/share/terminfo/v/vt100 [deleted file]
sources/target_skeleton/usr/share/terminfo/v/vt220 [deleted file]
sources/target_skeleton/usr/share/terminfo/v/vt52 [deleted file]
sources/target_skeleton/usr/share/terminfo/x/xterm [deleted file]
sources/target_skeleton/usr/share/terminfo/x/xterm-xfree86 [deleted file]
sources/target_skeleton/usr/share/udhcpc/default.script [deleted file]
sources/tinyx-011010.patch [deleted file]
sources/util-linux.patch [deleted file]
sources/valgrind.patch [deleted file]
sources/vtun.patch [deleted file]
sources/yacc [deleted file]
target/Config.in [new file with mode: 0644]
target/Makefile.in [new file with mode: 0644]
target/cramfs/Config.in [new file with mode: 0644]
target/cramfs/Makefile.in [new file with mode: 0644]
target/cramfs/cramfs.mk [new file with mode: 0644]
target/cramfs/cramfs.patch [new file with mode: 0644]
target/default/device_table.txt [new file with mode: 0644]
target/default/skel.tar.gz [new file with mode: 0644]
target/default/target_skeleton/etc/TZ [new file with mode: 0644]
target/default/target_skeleton/etc/fstab [new file with mode: 0644]
target/default/target_skeleton/etc/group [new file with mode: 0644]
target/default/target_skeleton/etc/hostname [new file with mode: 0644]
target/default/target_skeleton/etc/hosts [new file with mode: 0644]
target/default/target_skeleton/etc/init.d/S20urandom [new file with mode: 0755]
target/default/target_skeleton/etc/init.d/S40network [new file with mode: 0755]
target/default/target_skeleton/etc/init.d/rcS [new file with mode: 0755]
target/default/target_skeleton/etc/inittab [new file with mode: 0644]
target/default/target_skeleton/etc/inputrc [new file with mode: 0644]
target/default/target_skeleton/etc/issue [new file with mode: 0644]
target/default/target_skeleton/etc/network/interfaces [new file with mode: 0644]
target/default/target_skeleton/etc/passwd [new file with mode: 0644]
target/default/target_skeleton/etc/profile [new file with mode: 0644]
target/default/target_skeleton/etc/protocols [new file with mode: 0644]
target/default/target_skeleton/etc/random-seed [new file with mode: 0644]
target/default/target_skeleton/etc/resolv.conf [new file with mode: 0644]
target/default/target_skeleton/etc/securetty [new file with mode: 0644]
target/default/target_skeleton/etc/services [new file with mode: 0644]
target/default/target_skeleton/etc/shadow [new file with mode: 0644]
target/default/target_skeleton/root/.bash_history [new file with mode: 0644]
target/default/target_skeleton/root/.bash_logout [new file with mode: 0644]
target/default/target_skeleton/root/.bash_profile [new file with mode: 0644]
target/default/target_skeleton/root/.bashrc [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/a/ansi [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/d/dumb [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/l/linux [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/r/rxvt [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/s/screen [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/s/screen-w [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/s/sun [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/v/vt100 [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/v/vt220 [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/v/vt52 [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/x/xterm [new file with mode: 0644]
target/default/target_skeleton/usr/share/terminfo/x/xterm-xfree86 [new file with mode: 0644]
target/default/target_skeleton/usr/share/udhcpc/default.script [new file with mode: 0755]
target/ext2/ext2root.mk [new file with mode: 0644]
target/ext2/genext2fs.patch [new file with mode: 0644]
target/jffs2/jffs2root.mk [new file with mode: 0644]
target/squashfs/squashfs.patch [new file with mode: 0644]
target/squashfs/squashfsroot.mk [new file with mode: 0644]
toolchain/binutils/binutils.mk
toolchain/gcc/gcc-uclibc-2.95.mk
toolchain/gcc/gcc-uclibc-3.x.mk
toolchain/gdb/gdb.mk
toolchain/kernel-headers/kernel-headers.mk
toolchain/kernel-headers/linux-libc-headers-2.6.8-cleanup.patch [new file with mode: 0644]
toolchain/patch-kernel.sh [new file with mode: 0755]

index 08611a0d4d8030265261536c51e64be035f81ffc..e834fd6c3680c5ee2e53de7edf7ebe2a5d90df96 100644 (file)
@@ -1,4 +1,4 @@
-UMlinux
+.config*
 root_fs*
 build_*
 toolchain_build_*
index 3c20ced2d0eee958f418737d88297dc0ea11a68c..90443f0947be0a2e3a6c41ac9fef5a372aa77aee 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -48,6 +48,8 @@ include toolchain/Makefile.in
 include toolchain/*/Makefile.in
 include package/Makefile.in
 include package/*/Makefile.in
+include target/Makefile.in
+include target/*/Makefile.in
 
 #############################################################
 #
index fa320393dd3a96acc8e3c19c279db9ccfec53dd1..ddb3d82a9804ff181cd42da90eb7977f6424bc24 100644 (file)
@@ -11,9 +11,8 @@ TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
 
 HOSTCC:=gcc
 BASE_DIR:=${shell pwd}
-SOURCE_DIR:=$(BASE_DIR)/sources
-DL_DIR:=$(SOURCE_DIR)/dl
-PATCH_DIR=$(SOURCE_DIR)/patches
+DL_DIR:=$(BASE_DIR)/sources/dl
+PATCH_DIR=$(BASE_DIR)/sources/patches
 BUILD_DIR:=$(BASE_DIR)/build_$(ARCH)$(ARCH_FPU_SUFFIX)
 TARGET_DIR:=$(BUILD_DIR)/root
 STAGING_DIR=$(BUILD_DIR)/staging_dir
index 89c9b916cc8390867a345a17257c16bb5c17f5ef..7481b76884b78911e02f5398283522cb908e2623 100644 (file)
@@ -49,7 +49,7 @@ $(TARGET_DIR)/$(BISON_TARGET_BINARY): $(BISON_DIR)/$(BISON_BINARY)
        $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BISON_DIR) install
        rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
                $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
-       cp -a $(SOURCE_DIR)/yacc $(TARGET_DIR)/usr/bin/yacc
+       cp -a package/bison/yacc $(TARGET_DIR)/usr/bin/yacc
 
 bison: uclibc $(TARGET_DIR)/$(BISON_TARGET_BINARY)
 
diff --git a/package/bison/yacc b/package/bison/yacc
new file mode 100755 (executable)
index 0000000..aed120e
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /usr/bin/bison -y "$@"
diff --git a/package/boa/boa-config.site-i386 b/package/boa/boa-config.site-i386
new file mode 100644 (file)
index 0000000..425d948
--- /dev/null
@@ -0,0 +1 @@
+ac_cv_func_setvbuf_reversed=no
diff --git a/package/boa/boa.conf b/package/boa/boa.conf
new file mode 100644 (file)
index 0000000..f51c237
--- /dev/null
@@ -0,0 +1,187 @@
+# Boa v0.94 configuration file
+# File format has not changed from 0.93
+# File format has changed little from 0.92
+# version changes are noted in the comments
+#
+# The Boa configuration file is parsed with a lex/yacc or flex/bison
+# generated parser.  If it reports an error, the line number will be
+# provided; it should be easy to spot.  The syntax of each of these
+# rules is very simple, and they can occur in any order.  Where possible
+# these directives mimic those of NCSA httpd 1.3; I saw no reason to 
+# introduce gratuitous differences.
+
+# $Id: boa.conf,v 1.1 2004/10/09 02:48:37 andersen Exp $
+
+# The "ServerRoot" is not in this configuration file.  It can be compiled
+# into the server (see defines.h) or specified on the command line with
+# the -c option, for example:
+#
+# boa -c /usr/local/boa
+
+
+# Port: The port Boa runs on.  The default port for http servers is 80.
+# If it is less than 1024, the server must be started as root.
+
+Port 80
+
+# Listen: the Internet address to bind(2) to.  If you leave it out,
+# it takes the behavior before 0.93.17.2, which is to bind to all
+# addresses (INADDR_ANY).  You only get one "Listen" directive,
+# if you want service on multiple IP addresses, you have three choices:
+#    1. Run boa without a "Listen" directive
+#       a. All addresses are treated the same; makes sense if the addresses
+#          are localhost, ppp, and eth0.
+#       b. Use the VirtualHost directive below to point requests to different
+#          files.  Should be good for a very large number of addresses (web
+#          hosting clients).
+#    2. Run one copy of boa per IP address, each has its own configuration
+#       with a "Listen" directive.  No big deal up to a few tens of addresses.
+#       Nice separation between clients.
+# The name you provide gets run through inet_aton(3), so you have to use dotted
+# quad notation.  This configuration is too important to trust some DNS.
+
+#Listen 192.68.0.5
+
+#  User: The name or UID the server should run as.
+# Group: The group name or GID the server should run as.
+
+User nobody
+Group nobody
+
+# ServerAdmin: The email address where server problems should be sent.
+# Note: this is not currently used, except as an environment variable
+# for CGIs.
+
+#ServerAdmin root@localhost
+
+# ErrorLog: The location of the error log file. If this does not start
+# with /, it is considered relative to the server root.
+# Set to /dev/null if you don't want errors logged.
+# If unset, defaults to /dev/stderr
+
+ErrorLog /var/log/boa/error_log
+# Please NOTE: Sending the logs to a pipe ('|'), as shown below,
+#  is somewhat experimental and might fail under heavy load.
+# "Usual libc implementations of printf will stall the whole
+#  process if the receiving end of a pipe stops reading."
+#ErrorLog "|/usr/sbin/cronolog --symlink=/var/log/boa/error_log /var/log/boa/error-%Y%m%d.log"
+
+# AccessLog: The location of the access log file. If this does not
+# start with /, it is considered relative to the server root.
+# Comment out or set to /dev/null (less effective) to disable 
+# Access logging.
+
+AccessLog /var/log/boa/access_log
+# Please NOTE: Sending the logs to a pipe ('|'), as shown below,
+#  is somewhat experimental and might fail under heavy load.
+# "Usual libc implementations of printf will stall the whole
+#  process if the receiving end of a pipe stops reading."
+#AccessLog  "|/usr/sbin/cronolog --symlink=/var/log/boa/access_log /var/log/boa/access-%Y%m%d.log"
+
+# UseLocaltime: Logical switch.  Uncomment to use localtime 
+# instead of UTC time
+#UseLocaltime
+
+# VerboseCGILogs: this is just a logical switch.
+#  It simply notes the start and stop times of cgis in the error log
+# Comment out to disable.
+
+#VerboseCGILogs
+
+# ServerName: the name of this server that should be sent back to 
+# clients if different than that returned by gethostname + gethostbyname 
+
+#ServerName www.your.org.here
+
+# VirtualHost: a logical switch.
+# Comment out to disable.
+# Given DocumentRoot /var/www, requests on interface 'A' or IP 'IP-A'
+# become /var/www/IP-A.
+# Example: http://localhost/ becomes /var/www/127.0.0.1
+#
+# Not used until version 0.93.17.2.  This "feature" also breaks commonlog
+# output rules, it prepends the interface number to each access_log line.
+# You are expected to fix that problem with a postprocessing script.
+
+#VirtualHost 
+
+# DocumentRoot: The root directory of the HTML documents.
+# Comment out to disable server non user files.
+
+DocumentRoot /var/www
+
+# UserDir: The name of the directory which is appended onto a user's home
+# directory if a ~user request is recieved.
+
+UserDir public_html
+
+# DirectoryIndex: Name of the file to use as a pre-written HTML
+# directory index.  Please MAKE AND USE THESE FILES.  On the
+# fly creation of directory indexes can be _slow_.
+# Comment out to always use DirectoryMaker
+
+DirectoryIndex index.html
+
+# DirectoryMaker: Name of program used to create a directory listing.
+# Comment out to disable directory listings.  If both this and
+# DirectoryIndex are commented out, accessing a directory will give
+# an error (though accessing files in the directory are still ok).
+
+DirectoryMaker /usr/lib/boa/boa_indexer
+
+# DirectoryCache: If DirectoryIndex doesn't exist, and DirectoryMaker
+# has been commented out, the the on-the-fly indexing of Boa can be used
+# to generate indexes of directories. Be warned that the output is 
+# extremely minimal and can cause delays when slow disks are used.
+# Note: The DirectoryCache must be writable by the same user/group that 
+# Boa runs as.
+
+# DirectoryCache /var/spool/boa/dircache
+
+# KeepAliveMax: Number of KeepAlive requests to allow per connection
+# Comment out, or set to 0 to disable keepalive processing
+
+KeepAliveMax 1000
+
+# KeepAliveTimeout: seconds to wait before keepalive connection times out
+
+KeepAliveTimeout 10
+
+# MimeTypes: This is the file that is used to generate mime type pairs
+# and Content-Type fields for boa.
+# Set to /dev/null if you do not want to load a mime types file.
+# Do *not* comment out (better use AddType!)
+
+MimeTypes /etc/mime.types
+
+# DefaultType: MIME type used if the file extension is unknown, or there
+# is no file extension.
+
+DefaultType text/plain
+
+# AddType: adds types without editing mime.types
+# Example: AddType type extension [extension ...]
+
+# Uncomment the next line if you want .cgi files to execute from anywhere
+#AddType application/x-httpd-cgi cgi
+
+# Redirect, Alias, and ScriptAlias all have the same semantics -- they
+# match the beginning of a request and take appropriate action.  Use
+# Redirect for other servers, Alias for the same server, and ScriptAlias
+# to enable directories for script execution.
+
+# Redirect allows you to tell clients about documents which used to exist in
+# your server's namespace, but do not anymore. This allows you to tell the
+# clients where to look for the relocated document.
+# Example: Redirect /bar http://elsewhere/feh/bar
+
+# Aliases: Aliases one path to another.
+# Example: Alias /path1/bar /path2/foo
+
+# Alias /doc /usr/doc
+
+# ScriptAlias: Maps a virtual path to a directory for serving scripts
+# Example: ScriptAlias /htbin/ /www/htbin/
+
+ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
+
index 1eb233fbc6ff090e035f491ac330ea49652c5e09..07f29f441bb8f261ca4d3a2ea4f8089194248ac7 100644 (file)
@@ -24,10 +24,10 @@ $(BOA_DIR)/.unpacked:       $(DL_DIR)/$(BOA_SOURCE)
 $(BOA_WORKDIR)/Makefile: $(BOA_DIR)/.unpacked
        rm -f $(BOA_WORKDIR)/Makefile
        mkdir -p $(BOA_WORKDIR)
-       (cd $(BOA_WORKDIR) && CONFIG_SITE=$(SOURCE_DIR)/boa-config.site-$(ARCH) \
+       (cd $(BOA_WORKDIR) && CONFIG_SITE=package/boa/boa-config.site-$(ARCH) \
                CC=$(TARGET_CC) $(BOA_DIR)/configure)
        touch $(BOA_WORKDIR)/.depend
-        
+
 $(BOA_WORKDIR)/boa $(BOA_WORKDIR)/boa_indexer: $(BOA_WORKDIR)/Makefile
        rm -f $@
        $(MAKE) VPATH=$(BOA_DIR)/src/ -C $(BOA_WORKDIR)
@@ -38,8 +38,8 @@ $(BOA_WORKDIR)/.installed: $(BOA_WORKDIR)/boa $(BOA_WORKDIR)/boa_indexer
        mkdir -p $(TARGET_DIR)/usr/lib/boa
        cp -f $(BOA_WORKDIR)/src/boa_indexer $(TARGET_DIR)/usr/lib/boa/boa_indexer
        mkdir -p $(TARGET_DIR)/etc/boa
-       cp -f $(SOURCE_DIR)/boa.conf $(TARGET_DIR)/etc/boa
-       cp -f $(SOURCE_DIR)/mime.types $(TARGET_DIR)/etc/mime.types
+       cp -f package/boa/boa.conf $(TARGET_DIR)/etc/boa
+       cp -f package/boa/mime.types $(TARGET_DIR)/etc/mime.types
        strip --strip-all $(TARGET_DIR)/usr/sbin/boa $(TARGET_DIR)/usr/lib/boa/boa_indexer
        touch $(BOA_WORKDIR)/.installed
 
diff --git a/package/boa/mime.types b/package/boa/mime.types
new file mode 100644 (file)
index 0000000..53f6ea1
--- /dev/null
@@ -0,0 +1,205 @@
+###############################################################################
+#
+#  MIME-TYPES and the extensions that represent them
+#
+#  This file is part of the "mime-support" package.  Please send email (not a
+#  bug report) to mime-support@packages.debian.org if you would like new types
+#  and/or extensions to be added.
+#
+#  Note: Compression schemes like "gzip", "bzip", and "compress" are not
+#  actually "mime-types".  They are "encodings" and hence must _not_ have
+#  entries in this file to map their extensions.  The "mime-type" of an
+#  encoded file refers to the type of data that has been encoded, not the
+#  type of the encoding.
+#
+###############################################################################
+
+
+application/activemessage
+application/andrew-inset
+application/applefile
+application/atomicmail
+application/cu-seeme                           csm cu
+application/dca-rft
+application/dec-dx
+application/dsptype                            tsp
+application/futuresplash                       spl
+application/ghostview
+application/mac-binhex40                       hqx
+application/macwriteii
+application/msaccess                           mdb
+application/msword                             doc dot
+application/news-message-id
+application/news-transmission
+application/octet-stream                       bin
+application/oda                                        oda
+application/pdf                                        pdf
+application/pgp-signature                      pgp
+application/postscript                         ps ai eps
+application/remote-printing
+application/rtf                                        rtf
+application/slate
+application/vnd.ms-excel                       xls xlb
+application/vnd.ms-powerpoint                  ppt pps pot
+application/vnd.wap.wmlc                       wmlc
+application/vnd.wap.wmlscriptc                 wmlsc
+application/wita
+application/wordperfect5.1                     wp5
+application/zip                                        zip
+application/x-123                              wk
+application/x-bcpio                            bcpio
+application/x-chess-pgn                                pgn
+application/x-core
+application/x-cpio                             cpio
+application/x-csh
+application/x-debian-package                   deb
+application/x-director                         dcr dir dxr
+application/x-dms                              dms
+application/x-dvi                              dvi
+application/x-executable
+application/x-font                             pfa pfb gsf pcf pcf.Z
+application/x-gnumeric                         gnumeric
+application/x-gtar                             gtar tgz
+application/x-hdf                              hdf
+application/x-httpd-php                                phtml pht php
+application/x-httpd-php3                       php3
+application/x-httpd-php3-source                        phps
+application/x-httpd-php3-preprocessed          php3p
+application/x-httpd-php4                       php4
+application/x-ica                              ica
+application/x-java                             class
+application/x-javascript                       js
+application/x-kdelnk
+application/x-kchart                           chrt
+application/x-killustrator                     kil
+application/x-kpresenter                       kpr kpt
+application/x-kspread                          ksp
+application/x-kword                            kwd kwt
+application/x-latex                            latex
+application/x-lha                              lha
+application/x-lzh                              lzh
+application/x-lzx                              lzx
+application/x-maker                            frm maker frame fm fb book fbdoc
+application/x-mif                              mif
+application/x-msdos-program                    com exe bat dll
+application/x-msi                              msi
+application/x-netcdf                           nc cdf
+application/x-ns-proxy-autoconfig              pac
+application/x-object                           o
+application/x-ogg                              ogg
+application/x-oz-application                   oza
+application/x-perl                             pl pm
+application/x-redhat-package-manager           rpm
+application/x-rx
+application/x-sh
+application/x-shar                             shar
+application/x-shellscript
+application/x-shockwave-flash                  swf swfl
+application/x-stuffit                          sit
+application/x-sv4cpio                          sv4cpio
+application/x-sv4crc                           sv4crc
+application/x-tar                              tar
+application/x-tcl
+application/x-tex
+application/x-tex-gf                           gf
+application/x-tex-pk                           pk PK
+application/x-texinfo                          texinfo texi
+application/x-trash                            ~ % bak old sik
+application/x-troff                            t tr roff
+application/x-troff-man                                man
+application/x-troff-me                         me
+application/x-troff-ms                         ms
+application/x-ustar                            ustar
+application/x-wais-source                      src
+application/x-wingz                            wz
+
+audio/basic                                    au snd
+audio/midi                                     mid midi
+audio/mpeg                                     mpga mpega mp2 mp3
+audio/mpegurl                                  m3u
+audio/prs.sid                                  sid
+audio/x-aiff                                   aif aiff aifc
+audio/x-gsm                                    gsm
+audio/x-pn-realaudio                           ra rm ram
+audio/x-wav                                    wav
+
+image/bitmap                                   bmp
+image/gif                                      gif
+image/ief                                      ief
+image/jpeg                                     jpeg jpg jpe
+image/pcx                                      pcx
+image/png                                      png
+image/tiff                                     tiff tif
+image/vnd.wap.wbmp                             wbmp
+image/x-cmu-raster                             ras
+image/x-coreldraw                              cdr
+image/x-coreldrawpattern                       pat
+image/x-coreldrawtemplate                      cdt
+image/x-corelphotopaint                                cpt
+image/x-jng                                    jng
+image/x-portable-anymap                                pnm
+image/x-portable-bitmap                                pbm
+image/x-portable-graymap                       pgm
+image/x-portable-pixmap                                ppm
+image/x-rgb                                    rgb
+image/x-xbitmap                                        xbm
+image/x-xpixmap                                        xpm
+image/x-xwindowdump                            xwd
+
+inode/chardevice
+inode/blockdevice
+inode/directory-locked
+inode/directory
+inode/fifo
+inode/socket
+
+message/external-body
+message/news
+message/partial
+message/rfc822
+
+multipart/alternative
+multipart/appledouble
+multipart/digest
+multipart/mixed
+multipart/parallel
+
+text/comma-separated-values                    csv
+text/css                                       css
+text/english
+text/html                                      htm html xhtml
+text/mathml                                    mml
+text/plain                                     txt text diff
+text/richtext                                  rtx
+text/tab-separated-values                      tsv
+text/vnd.wap.wml                               wml
+text/vnd.wap.wmlscript                         wmls
+text/xml                                       xml
+text/x-c++hdr                                  h++ hpp hxx hh
+text/x-c++src                                  c++ cpp cxx cc
+text/x-chdr                                    h
+text/x-crontab
+text/x-csh                                     csh
+text/x-csrc                                    c
+text/x-java                                    java
+text/x-makefile
+text/x-moc                                     moc
+text/x-pascal                                  p pas
+text/x-setext                                  etx
+text/x-sh                                      sh
+text/x-tcl                                     tcl tk
+text/x-tex                                     tex ltx sty cls
+text/x-vcalendar                               vcs
+text/x-vcard                                   vcf
+
+video/dl                                       dl
+video/fli                                      fli
+video/gl                                       gl
+video/mpeg                                     mpeg mpg mpe
+video/quicktime                                        qt mov
+video/x-mng                                    mng
+video/x-ms-asf                                 asf asx
+video/x-msvideo                                        avi
+video/x-sgi-movie                              movie
+
+x-world/x-vrml                                 vrm vrml wrl
index 46b78b0e871e63a5daac86f9dd39f98e24a5582c..64703fa3a71d10bd56d03b44bbde985dd39037f6 100644 (file)
@@ -10,11 +10,11 @@ BRIDGE_BUILD_DIR=$(BUILD_DIR)/bridge-utils-1.0.4
 BRIDGE_TARGET_BINARY:=usr/sbin/brctl
 
 $(DL_DIR)/$(BRIDGE_SOURCE):
-        $(WGET) -P $(DL_DIR) $(BRIDGE_SOURCE_URL)/$(BRIDGE_SOURCE) 
+        $(WGET) -P $(DL_DIR) $(BRIDGE_SOURCE_URL)/$(BRIDGE_SOURCE)
 
 $(BRIDGE_BUILD_DIR)/.unpacked: $(DL_DIR)/$(BRIDGE_SOURCE)
        zcat $(DL_DIR)/$(BRIDGE_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       patch -p1 -d $(BRIDGE_BUILD_DIR) < $(SOURCE_DIR)/bridge.patch 
+       patch -p1 -d $(BRIDGE_BUILD_DIR) < package/bridge/bridge.patch
        touch $(BRIDGE_BUILD_DIR)/.unpacked
 
 $(BRIDGE_BUILD_DIR)/.configured: $(BRIDGE_BUILD_DIR)/.unpacked
diff --git a/package/bridge/bridge.patch b/package/bridge/bridge.patch
new file mode 100644 (file)
index 0000000..f447377
--- /dev/null
@@ -0,0 +1,11 @@
+--- bridge-utils-0.9.6/libbridge/Makefile.in.dist      2004-03-01 20:55:52.000000000 -0600
++++ bridge-utils-0.9.6/libbridge/Makefile.in   2004-03-01 20:56:23.000000000 -0600
+@@ -5,7 +5,7 @@
+ RANLIB=@RANLIB@
+ CC=@CC@
+-CFLAGS = -Wall -g $(KERNEL_HEADERS)
++CFLAGS = -Wall -g @CFLAGS@ $(KERNEL_HEADERS)
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
index c6b3b0ad1472d240f702b49b86094d815e01385a..571a17f10bf96b85acef5edaf53ad8ffaee5c953 100644 (file)
@@ -25,7 +25,7 @@ busybox-source: $(DL_DIR)/$(BUSYBOX_SOURCE) $(BUSYBOX_CONFIG)
 $(BUSYBOX_DIR)/.configured: $(DL_DIR)/$(BUSYBOX_SOURCE) $(BUSYBOX_CONFIG)
        $(BUSYBOX_UNZIP) $(DL_DIR)/$(BUSYBOX_SOURCE) | tar -C $(BUILD_DIR) -xvf -
        # Allow busybox patches.
-       $(SOURCE_DIR)/patch-kernel.sh $(BUSYBOX_DIR) package/busybox busybox-\*.patch
+       toolchain/patch-kernel.sh $(BUSYBOX_DIR) package/busybox busybox-\*.patch
        cp $(BUSYBOX_CONFIG) $(BUSYBOX_DIR)/.config
        $(SED) "s,^CROSS.*,CROSS=$(TARGET_CROSS)\n\
                PREFIX=$(TARGET_DIR),;" $(BUSYBOX_DIR)/Rules.mak
diff --git a/package/cramfsroot/cramfsroot.mk b/package/cramfsroot/cramfsroot.mk
deleted file mode 100644 (file)
index 0f1204a..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#############################################################
-#
-# mkcramfs to build to target cramfs filesystems
-#
-#############################################################
-CRAMFS_DIR=$(BUILD_DIR)/cramfs-1.1
-CRAMFS_SOURCE=cramfs-1.1.tar.gz
-CRAMFS_SITE=http://aleron.dl.sourceforge.net/sourceforge/cramfs
-CRAMFS_PATCH=$(SOURCE_DIR)/cramfs.patch
-
-$(DL_DIR)/$(CRAMFS_SOURCE):
-        $(WGET) -P $(DL_DIR) $(CRAMFS_SITE)/$(CRAMFS_SOURCE)
-
-$(CRAMFS_DIR): $(DL_DIR)/$(CRAMFS_SOURCE) $(CRAMFS_PATCH)
-       zcat $(DL_DIR)/$(CRAMFS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       cat $(CRAMFS_PATCH) | patch -p1 -d $(CRAMFS_DIR)
-
-$(CRAMFS_DIR)/mkcramfs: $(CRAMFS_DIR)
-       $(MAKE) CFLAGS="-Wall -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" -C $(CRAMFS_DIR);
-       touch -c $(CRAMFS_DIR)/mkcramfs
-
-cramfs: $(CRAMFS_DIR)/mkcramfs
-
-cramfs-source: $(DL_DIR)/$(CRAMFS_SOURCE)
-
-cramfs-clean:
-       -$(MAKE) -C $(CRAMFS_DIR) clean
-
-cramfs-dirclean:
-       rm -rf $(CRAMFS_DIR)
-
-#############################################################
-#
-# Build the cramfs root filesystem image
-#
-#############################################################
-
-cramfsroot: cramfs
-       #-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true;
-       -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
-       @rm -rf $(TARGET_DIR)/usr/man
-       @rm -rf $(TARGET_DIR)/usr/info
-       $(CRAMFS_DIR)/mkcramfs -q -D $(SOURCE_DIR)/device_table.txt $(TARGET_DIR) $(IMAGE)
-
-cramfsroot-source: cramfs-source
-
-cramfsroot-clean:
-       -$(MAKE) -C $(CRAMFS_DIR) clean
-
-cramfsroot-dirclean:
-       rm -rf $(CRAMFS_DIR)
-
index 2cfed18345e7dfd775961c772957d5878e25099a..d6c99407ba469ea67b4df872ea09d12242966f74 100644 (file)
@@ -3,8 +3,7 @@
 # Any custom stuff you feel like doing....
 #
 #############################################################
-CUST_DIR:=$(SOURCE_DIR)/customize
-ROOT_DIR:=$(BUILD_DIR)/root
+CUST_DIR:=package/customize/source
 
 customize:
-       cp -af $(CUST_DIR)/* $(ROOT_DIR)/
+       -cp -af $(CUST_DIR)/* $(TARGET_DIR)/
index 0c9b204b8865e6d3d6ebac18979abd51c44f4b05..22ef4310de2f381359f8e435b554a61e50e76ae9 100644 (file)
@@ -22,7 +22,7 @@ $(DL_DIR)/$(DNSMASQ_SOURCE):
 
 $(DNSMASQ_DIR)/.source: $(DL_DIR)/$(DNSMASQ_SOURCE)
        zcat $(DL_DIR)/$(DNSMASQ_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       $(SOURCE_DIR)/patch-kernel.sh $(DNSMASQ_DIR) $(SOURCE_DIR) \
+       toolchain/patch-kernel.sh $(DNSMASQ_DIR) package/dnsmasq/ \
                $(DNSMASQ_VER)-\*.patch
        touch $(DNSMASQ_DIR)/.source
 
diff --git a/package/dnsmasq/dnsmasq1-100-bugfix.patch b/package/dnsmasq/dnsmasq1-100-bugfix.patch
new file mode 100644 (file)
index 0000000..c676a1a
--- /dev/null
@@ -0,0 +1,25 @@
+--- dnsmasq-1.18/config.h.dist 2004-03-01 22:25:12.000000000 -0600
++++ dnsmasq-1.18/config.h      2004-03-01 22:26:50.000000000 -0600
+@@ -126,7 +126,9 @@
+ /* Must preceed __linux__ since uClinux defines __linux__ too. */
+ #if defined(__uClinux__) || defined(__UCLIBC__)
++#ifndef __UCLIBC_HAS_IPV6__
+ #undef HAVE_LINUX_IPV6_PROC
++#endif
+ #define HAVE_GETOPT_LONG
+ #undef HAVE_ARC4RANDOM
+ #define HAVE_RANDOM
+diff -x CVS -urN dnsmasq-1.18/option.c dnsmasq.old/option.c
+--- dnsmasq-1.18/option.c      2003-11-05 08:22:18.000000000 -0600
++++ dnsmasq.old/option.c       2004-01-05 23:40:11.000000000 -0600
+@@ -578,8 +578,8 @@
+ #ifdef HAVE_IPV6
+           else if (tmp->source_addr.sa.sa_family == AF_INET6)
+             tmp->source_addr.in6.sin6_port = htons(*query_port);
+-        }
+ #endif  
++        }
+     }
+   
+   if (*if_addrs)
diff --git a/package/dnsmasq/dnsmasq2-100-config.patch b/package/dnsmasq/dnsmasq2-100-config.patch
new file mode 100644 (file)
index 0000000..270c227
--- /dev/null
@@ -0,0 +1,49 @@
+diff -ur dnsmasq-2.15.orig/src/config.h dnsmasq-2.15/src/config.h
+--- dnsmasq-2.15.orig/src/config.h     2004-10-08 11:41:34.757371880 -0400
++++ dnsmasq-2.15/src/config.h  2004-10-08 11:43:49.074952504 -0400
+@@ -78,6 +78,11 @@
+ /* We assume that systems which don't have IPv6
+    headers don't have ntop and pton either */
++#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)
++#  undef NO_IPV6
++#  define NO_IPV6
++#endif
++
+ #if defined(INET6_ADDRSTRLEN) && defined(IPV6_V6ONLY) && !defined(NO_IPV6)
+ #  define HAVE_IPV6
+ #  define ADDRSTRLEN INET6_ADDRSTRLEN
+@@ -194,7 +199,7 @@
+ /* platform dependent options. */
+ /* Must preceed __linux__ since uClinux defines __linux__ too. */
+-#if defined(__uClinux__) || defined(__UCLIBC__)
++#if defined(__uClinux__)
+ #undef HAVE_LINUX_IPV6_PROC
+ #define HAVE_GETOPT_LONG
+ #undef HAVE_ARC4RANDOM
+@@ -208,6 +213,24 @@
+ #  define NO_FORK
+ #endif
++#elif defined(__linux__) && defined(__UCLIBC__)
++#  define HAVE_LINUX_IPV6_PROC
++#  if defined(__UCLIBC_HAS_GNU_GETOPT__) || \
++   ((__UCLIBC_MAJOR__==0) && (__UCLIBC_MINOR__==9) && (__UCLIBC_SUBLEVEL__<21))
++#    define HAVE_GETOPT_LONG
++#  else
++#    undef HAVE_GETOPT_LONG
++#  endif
++#undef HAVE_ARC4RANDOM
++#define HAVE_RANDOM
++#define HAVE_DEV_URANDOM
++#define HAVE_DEV_RANDOM
++#undef HAVE_SOCKADDR_SA_LEN
++#undef HAVE_PSELECT
++#if !defined(__ARCH_HAS_MMU__)
++#  define NO_FORK
++#endif
++
+ /* libc5 - must precede __linux__ too */
+ /* Note to build a libc5 binary on a modern Debian system:
+    install the packages altgcc libc5 and libc5-altdev 
diff --git a/package/dropbear_sshd/dropbear-init.patch b/package/dropbear_sshd/dropbear-init.patch
new file mode 100644 (file)
index 0000000..d6bf174
--- /dev/null
@@ -0,0 +1,59 @@
+--- dropbear-0.42/S50dropbear
++++ dropbear-0.42/S50dropbear
+@@ -0,0 +1,56 @@
++#!/bin/sh
++#
++# Starts dropbear sshd.
++#
++
++# Make sure the dropbearkey progam exists
++[ -f /usr/bin/dropbearkey ] || exit 0
++
++# Check for the Dropbear RSA key
++if [ ! -f /etc/dropbear/dropbear_rsa_host_key ] ; then
++      echo Generating RSA Key...
++      mkdir -p /etc/dropbear
++      /usr/bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
++fi
++
++# Check for the Dropbear DSS key
++if [ ! -f /etc/dropbear/dropbear_dss_host_key ] ; then
++      echo Generating DSS Key...
++      mkdir -p /etc/dropbear
++      /usr/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
++fi
++
++umask 077
++
++start() {
++      echo -n "Starting dropbear sshd: "
++      start-stop-daemon --start --quiet --pidfile /var/run/dropbear.pid --exec /usr/sbin/dropbear
++      echo "OK"
++}
++stop() {
++      echo -n "Stopping sshd: "
++      start-stop-daemon --stop --quiet --pidfile /var/run/dropbear.pid
++      echo "OK"
++}
++restart() {
++      stop
++      start
++}
++
++case "$1" in
++  start)
++      start
++      ;;
++  stop)
++      stop
++      ;;
++  restart|reload)
++      restart
++      ;;
++  *)
++      echo $"Usage: $0 {start|stop|restart}"
++      exit 1
++esac
++
++exit $?
++
index 407fb57794972cde5d495dc07d168c2114a86015..ac0307c7224a8a62c07e12bf189471904da0aaa9 100644 (file)
@@ -18,7 +18,7 @@ dropbear_sshd-source: $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE)
 
 $(DROPBEAR_SSHD_DIR)/.unpacked: $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE)
        $(DROPBEAR_SSHD_CAT) $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       $(SOURCE_DIR)/patch-kernel.sh $(DROPBEAR_SSHD_DIR) $(SOURCE_DIR) dropbear-\*.patch
+       toolchain/patch-kernel.sh $(DROPBEAR_SSHD_DIR) package/dropbear_sshd/ dropbear-\*.patch
        $(SED) 's,^/\* #define DROPBEAR_MULTI.*,#define DROPBEAR_MULTI,g' $(DROPBEAR_SSHD_DIR)/options.h
        touch $(DROPBEAR_SSHD_DIR)/.unpacked
 
index de6c3cb251b703755051deeb9b3fbbb69b36a26b..361918404de2af9cae7ad2d1b563b5eba8b3770b 100644 (file)
@@ -21,7 +21,7 @@ ed-source: $(DL_DIR)/$(ED_SOURCE) $(DL_DIR)/$(ED_PATCH)
 
 $(ED_DIR)/.unpacked: $(DL_DIR)/$(ED_SOURCE) $(DL_DIR)/$(ED_PATCH)
        $(ED_CAT) $(DL_DIR)/$(ED_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       $(SOURCE_DIR)/patch-kernel.sh $(ED_DIR) $(DL_DIR) $(ED_PATCH)
+       toolchain/patch-kernel.sh $(ED_DIR) $(DL_DIR) $(ED_PATCH)
        touch $(ED_DIR)/.unpacked
 
 $(ED_DIR)/.configured: $(ED_DIR)/.unpacked
diff --git a/package/ext2root/ext2root.mk b/package/ext2root/ext2root.mk
deleted file mode 100644 (file)
index ff28771..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#############################################################
-#
-# genext2fs to build to target ext2 filesystems
-#
-#############################################################
-GENEXT2_DIR=$(BUILD_DIR)/genext2fs-1.3
-GENEXT2_SOURCE=genext2fs_1.3.orig.tar.gz
-GENEXT2_SITE=http://ftp.debian.org/debian/pool/main/g/genext2fs
-GENEXT2_PATCH=$(SOURCE_DIR)/genext2fs.patch
-
-$(DL_DIR)/$(GENEXT2_SOURCE):
-       $(WGET) -P $(DL_DIR) $(GENEXT2_SITE)/$(GENEXT2_SOURCE)
-
-$(GENEXT2_DIR): $(DL_DIR)/$(GENEXT2_SOURCE) $(GENEXT2_PATCH)
-       zcat $(DL_DIR)/$(GENEXT2_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       mv $(GENEXT2_DIR).orig $(GENEXT2_DIR)
-       cat $(GENEXT2_PATCH) | patch -p1 -d $(GENEXT2_DIR)
-
-$(GENEXT2_DIR)/genext2fs: $(GENEXT2_DIR)
-       $(MAKE) CFLAGS="-Wall -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \
-               -D_FILE_OFFSET_BITS=64" -C $(GENEXT2_DIR);
-       touch -c $(GENEXT2_DIR)/genext2fs
-
-genext2fs: $(GENEXT2_DIR)/genext2fs
-
-
-
-#############################################################
-#
-# Build the ext2 root filesystem image
-#
-#############################################################
-
-# How much KB we want to add to the calculated size for slack space
-GENEXT2_REALSIZE=$(subst total,, $(shell LANG=C du $(TARGET_DIR) -s -c -k | grep total ))
-GENEXT2_ADDTOROOTSIZE=$(shell if [ $(GENEXT2_REALSIZE) -ge 20000 ] ; then echo 16384; else echo 16; fi)
-GENEXT2_SIZE=$(shell expr $(GENEXT2_REALSIZE) + $(GENEXT2_ADDTOROOTSIZE) + 200)
-# We currently add about 400 device nodes, so add that into the total
-GENEXT2_INODES=$(shell expr $(shell find $(TARGET_DIR) | wc -l) + 400)
-#GENEXT2_SIZE=100000
-
-ext2root: genext2fs
-       #-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true;
-       -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
-       $(GENEXT2_DIR)/genext2fs -i $(GENEXT2_INODES) -b $(GENEXT2_SIZE) \
-               -d $(TARGET_DIR) -q -D $(SOURCE_DIR)/device_table.txt $(IMAGE)
-
-ext2root-source: $(DL_DIR)/$(GENEXT2_SOURCE)
-
-ext2root-clean:
-       -$(MAKE) -C $(GENEXT2_DIR) clean
-
-ext2root-dirclean:
-       rm -rf $(GENEXT2_DIR)
-
index ad21956c7299aeea4520fa051a57e52a6a097e2e..1bdaf788e21649627dddc53ae4639131adbf0aec 100644 (file)
@@ -18,7 +18,7 @@ file-source: $(DL_DIR)/$(FILE_SOURCE)
 
 $(FILE_DIR)/.unpacked: $(DL_DIR)/$(FILE_SOURCE)
        $(FILE_CAT) $(DL_DIR)/$(FILE_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       cat $(SOURCE_DIR)/file.patch | patch -p1 -d $(FILE_DIR)
+       toolchain/patch-kernel.sh $(FILE_DIR) package/file/ file\*.patch
        touch  $(FILE_DIR)/.unpacked
 
 $(FILE_DIR)/.configured: $(FILE_DIR)/.unpacked
diff --git a/package/file/file.patch b/package/file/file.patch
new file mode 100644 (file)
index 0000000..b2b7d3c
--- /dev/null
@@ -0,0 +1,30 @@
+--- file-4.10/magic/Makefile.in.orig   2004-07-24 14:38:55.000000000 -0600
++++ file-4.10/magic/Makefile.in        2004-07-28 12:16:23.000000000 -0600
+@@ -490,10 +490,10 @@
+       done >> $@
+ magic.mgc: magic
+-      $(top_builddir)/src/file -C -m magic
++      /usr/bin/file -C -m magic
+ magic.mime.mgc: magic.mime
+-      $(top_builddir)/src/file -C -m $(srcdir)/magic.mime
++      /usr/bin/file -C -m $(srcdir)/magic.mime
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
+--- file-4.10/magic/Makefile.am.orig   2004-07-24 14:38:55.000000000 -0600
++++ file-4.10/magic/Makefile.am        2004-07-28 12:18:15.000000000 -0600
+@@ -16,10 +16,10 @@
+       done >> $@
+ magic.mgc: magic
+-      $(top_builddir)/src/file -C -m magic
++      /usr/bin/file -C -m magic
+ magic.mime.mgc: magic.mime
+-      $(top_builddir)/src/file -C -m $(srcdir)/magic.mime
++      /usr/bin/file -C -m $(srcdir)/magic.mime
+ magic_FRAGMENTS = \
+ Magdir/acorn \
index a29fa5875ebecad59fc132503a2b89daccb73813..488bf60ae7499d8326afcd5591279f68d3bb5c22 100644 (file)
@@ -21,7 +21,7 @@ flex-source: $(DL_DIR)/$(FLEX_SOURCE) $(DL_DIR)/$(FLEX_PATCH)
 
 $(FLEX_DIR)/.unpacked: $(DL_DIR)/$(FLEX_SOURCE) $(DL_DIR)/$(FLEX_PATCH)
        $(FLEX_CAT) $(DL_DIR)/$(FLEX_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       #$(SOURCE_DIR)/patch-kernel.sh $(FLEX_DIR) $(DL_DIR) $(FLEX_PATCH)
+       #toolchain/patch-kernel.sh $(FLEX_DIR) $(DL_DIR) $(FLEX_PATCH)
        touch $(FLEX_DIR)/.unpacked
 
 $(FLEX_DIR)/.configured: $(FLEX_DIR)/.unpacked
index e13a6025dd36d3fa79573844b114e46f4dcbfd10..ef38deec3b6c9032bdef8e1987eaf87dae4cb372 100644 (file)
@@ -6,14 +6,13 @@
 HOTPLUG_SOURCE=diethotplug-0.4.tar.gz
 HOTPLUG_SITE=http://aleron.dl.sourceforge.net/sourceforge/linux-hotplug
 HOTPLUG_DIR=$(BUILD_DIR)/diethotplug-0.4
-HOTPLUG_PATCH=$(SOURCE_DIR)/hotplug.patch
 
 $(DL_DIR)/$(HOTPLUG_SOURCE):
        $(WGET) -P $(DL_DIR) $(HOTPLUG_SITE)/$(HOTPLUG_SOURCE)
 
-$(HOTPLUG_DIR): $(DL_DIR)/$(HOTPLUG_SOURCE) $(HOTPLUG_PATCH)
+$(HOTPLUG_DIR): $(DL_DIR)/$(HOTPLUG_SOURCE)
        zcat $(DL_DIR)/$(HOTPLUG_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       cat $(HOTPLUG_PATCH) | patch -p1 -d $(HOTPLUG_DIR)
+       toolchain/patch-kernel.sh $(HOTPLUG_DIR) package/hotplug/ hotplug\*.patch
 
 $(HOTPLUG_DIR)/hotplug: $(HOTPLUG_DIR)
        $(MAKE) CROSS=$(TARGET_CROSS) DEBUG=false KLIBC=false \
diff --git a/package/hotplug/hotplug.patch b/package/hotplug/hotplug.patch
new file mode 100644 (file)
index 0000000..22c356b
--- /dev/null
@@ -0,0 +1,33 @@
+diff -urN diethotplug-0.4.orig/pci.c diethotplug-0.4/pci.c
+--- diethotplug-0.4.orig/pci.c Wed Jan  9 13:57:29 2002
++++ diethotplug-0.4/pci.c      Wed Jan 30 22:35:24 2002
+@@ -68,8 +68,8 @@
+               }
+               /* check that the class matches */
+-              class_temp = pci_module_map[i].class_mask & pci_class;
+-              if (pci_module_map[i].class != class_temp) {
++              class_temp = (pci_module_map[i].class ^ pci_class) & pci_module_map[i].class_mask; 
++              if (class_temp != 0) { 
+                       dbg ("class mask check failed %x != %x",
+                            pci_module_map[i].class, class_temp);
+                       continue;
+--- diethotplug-0.4/Makefile.orig      Wed Jan  9 14:28:05 2002
++++ diethotplug-0.4/Makefile   Mon Jul  8 07:29:00 2002
+@@ -135,13 +135,13 @@
+ # Rules on how to create the generated header files
+ usb_modules.h:
+-      perl convert_usb.pl < /lib/modules/$(KERNEL_VERSION)/modules.usbmap > $@
++      perl convert_usb.pl < $(TARGET_DIR)/lib/modules/$(KERNEL_VERSION)/modules.usbmap > $@
+ pci_modules.h:
+-      perl convert_pci.pl < /lib/modules/$(KERNEL_VERSION)/modules.pcimap > $@
++      perl convert_pci.pl < $(TARGET_DIR)/lib/modules/$(KERNEL_VERSION)/modules.pcimap > $@
+ ieee1394_modules.h:
+-      perl convert_ieee1394.pl < /lib/modules/$(KERNEL_VERSION)/modules.ieee1394map > $@
++      perl convert_ieee1394.pl < $(TARGET_DIR)/lib/modules/$(KERNEL_VERSION)/modules.ieee1394map > $@
+ hotplug_version.h:
+       @echo \#define HOTPLUG_VERSION \"$(VERSION)\" > $@
index 2d4ef43b5034b2f2ec931f0bff5d08941ae7892e..dac8c0170bed49c494b1ec12e0acca93779da7af 100644 (file)
@@ -16,7 +16,7 @@ $(IPTABLES_BUILD_DIR)/.unpacked: $(DL_DIR)/$(IPTABLES_SOURCE)
 
 $(IPTABLES_BUILD_DIR)/.configured: $(IPTABLES_BUILD_DIR)/.unpacked
        # Allow patches.  Needed for openwrt for instance.
-       $(SOURCE_DIR)/patch-kernel.sh $(IPTABLES_BUILD_DIR) $(SOURCE_DIR) iptables-\*.patch
+       toolchain/patch-kernel.sh $(IPTABLES_BUILD_DIR) package/iptables/ iptables-\*.patch
        #
        $(SED) "s;\[ -f /usr/include/netinet/ip6.h \];grep -q '__UCLIBC_HAS_IPV6__ 1' \
                $(BUILD_DIR)/uClibc/include/bits/uClibc_config.h;" $(IPTABLES_BUILD_DIR)/Makefile
diff --git a/package/jffs2root/jffs2root.mk b/package/jffs2root/jffs2root.mk
deleted file mode 100644 (file)
index a8c6de6..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#############################################################
-#
-# mtd provides us with mkfs.jffs2, to target JFFS2 filesystems
-#
-#############################################################
-
-MTD_DIR:=$(BUILD_DIR)/mtd-20011217
-MTD_SOURCE=mtd_20011217.orig.tar.gz
-MTD_SITE=http://ftp.debian.org/debian/pool/main/m/mtd
-MKFS_JFFS2=$(shell which mkfs.jffs2 2>/dev/null || echo $(MTD_DIR)/util/mkfs.jffs2)
-
-$(DL_DIR)/$(MTD_SOURCE):
-       $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_SOURCE)
-
-$(MTD_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
-       zcat $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       touch $(MTD_DIR)/.unpacked
-
-$(MTD_DIR)/util/mkfs.jffs2: $(MTD_DIR)/.unpacked
-       CFLAGS=-I$(LINUX_HEADERS_DIR)/include $(MAKE) LINUXDIR=$(LINUX_DIR) -C $(MTD_DIR)/util
-
-mtd: $(MKFS_JFFS2)
-
-
-#############################################################
-#
-# Build the jffs2 root filesystem image
-#
-#############################################################
-
-jffs2root: mtd
-       #-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true;
-       -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
-       @rm -rf $(TARGET_DIR)/usr/man
-       @rm -rf $(TARGET_DIR)/usr/info
-       $(MKFS_JFFS2) --pad --little-endian --squash -e 0x20000 \
-               -D $(SOURCE_DIR)/device_table.txt -d $(TARGET_DIR) \
-               -o $(IMAGE)
-
-jffs2root-source: $(DL_DIR)/$(MTD_SOURCE)
-
-jffs2root-clean:
-       -$(MAKE) -C $(MTD_DIR) clean
-
-jffs2root-dirclean:
-       rm -rf $(MTD_DIR)
-
-
-
index a7404fcdc6e952a7bb992bc9eb496b8c635ec622..8e8fb85224a816a7c9b9bf22615f01734ad164f2 100644 (file)
@@ -30,8 +30,8 @@ $(LIBFLOAT_DIR)/.unpacked: $(DL_DIR)/$(LIBFLOAT_SOURCE) $(DL_DIR)/$(LIBFLOAT_PAT
        $(LIBFLOAT_CAT) $(DL_DIR)/$(LIBFLOAT_SOURCE) | tar -C $(BUILD_DIR) -xvf -
        # Remove the binary files distributed with the the package.
        make -C $(LIBFLOAT_DIR) clean
-       $(SOURCE_DIR)/patch-kernel.sh $(LIBFLOAT_DIR) $(DL_DIR) $(LIBFLOAT_PATCH)
-       $(SOURCE_DIR)/patch-kernel.sh $(LIBFLOAT_DIR) $(SOURCE_DIR) libfloat.patch
+       toolchain/patch-kernel.sh $(LIBFLOAT_DIR) $(DL_DIR) $(LIBFLOAT_PATCH)
+       toolchain/patch-kernel.sh $(LIBFLOAT_DIR) package/libfloat/ libfloat\*.patch
        touch $(LIBFLOAT_DIR)/.unpacked
 
 $(LIBFLOAT_DIR)/libfloat.so.1: $(LIBFLOAT_DIR)/.unpacked $(TARGET_CC)
diff --git a/package/libfloat/libfloat.patch b/package/libfloat/libfloat.patch
new file mode 100644 (file)
index 0000000..90459a8
--- /dev/null
@@ -0,0 +1,45 @@
+diff -urN libfloat-dist/Makefile libfloat/Makefile
+--- libfloat-dist/Makefile     2003-10-26 00:33:45.000000000 -0500
++++ libfloat/Makefile  2003-10-26 01:07:26.000000000 -0500
+@@ -1,7 +1,7 @@
+ # Makefile for the Linux soft-float library
+-CC=gcc -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__
+-#CC=gcc -g -O2 -freg-struct-return -D__LIBFLOAT__
++CFLAGS= -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__ -msoft-float
++LIBGCC=$(shell $(CC) -print-libgcc-file-name)
+ AR=ar
+ all: libfloat.a libfloat.so.1
+@@ -12,24 +11,24 @@
+ libfloat.so.1: softfloat.os fplib_glue.os
+       rm -f libfloat.so.1
+-      gcc -shared -Wl,-soname,libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1
++      $(LD) -shared -soname=libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1 $(LIBGCC)
+ softfloat.o: softfloat/bits64/softfloat.c
+-      $(CC) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
++      $(CC) $(CFLAGS) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
+ fplib_glue.o: fplib_glue.S
+-      $(CC) -c -o fplib_glue.o fplib_glue.S
++      $(CC) $(CFLAGS) -c -o fplib_glue.o fplib_glue.S
+ softfloat.os: softfloat/bits64/softfloat.c
+-      $(CC) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
++      $(CC) $(CFLAGS) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
+ fplib_glue.os: fplib_glue.S
+-      $(CC) -fpic -c -o fplib_glue.os fplib_glue.S
++      $(CC) $(CFLAGS) -fpic -c -o fplib_glue.os fplib_glue.S
+ install: libfloat.a libfloat.so.1
+       cp -a libfloat.a $(DESTDIR)/usr/lib
+-      cp -a libfloat.so.1 $(DESTDIR)/usr/lib
+-      cd $(DESTDIR)/usr/lib; ln -s libfloat.so.1 libfloat.so
++      cp -a libfloat.so.1 $(DESTDIR)/lib
++      cd $(DESTDIR)/lib; ln -s libfloat.so.1 libfloat.so
+       #ldconfig
+ clean: 
index f6211ee107ed5602433c96b7c0a3299bfc4af486..26c2bce4ec2288739c05c4b94dcf195bf285b0b4 100644 (file)
@@ -8,7 +8,7 @@ LIBGLIB12_SITE:=ftp://ftp.gtk.org/pub/gtk/v1.2
 LIBGLIB12_CAT:=zcat
 LIBGLIB12_DIR:=$(BUILD_DIR)/glib-1.2.10
 LIBGLIB12_BINARY:=libglib.a
-LIBGLIB12_PATCH:=$(SOURCE_DIR)/libglib_configure_1.2.10.bz2
+LIBGLIB12_PATCH:=libglib_configure_1.2.10.bz2
 
 
 $(DL_DIR)/$(LIBGLIB12_SOURCE):
@@ -18,7 +18,7 @@ libglib12-source: $(DL_DIR)/$(LIBGLIB12_SOURCE)
 
 $(LIBGLIB12_DIR)/.unpacked: $(DL_DIR)/$(LIBGLIB12_SOURCE)
        $(LIBGLIB12_CAT) $(DL_DIR)/$(LIBGLIB12_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       bzcat $(LIBGLIB12_PATCH) | patch -p1 -d $(LIBGLIB12_DIR)
+       toolchain/patch-kernel.sh $(LIBGLIB12_DIR) package/libglib/ $(LIBGLIB12_PATCH)
        touch $(LIBGLIB12_DIR)/.unpacked
 
 $(LIBGLIB12_DIR)/.configured: $(LIBGLIB12_DIR)/.unpacked
diff --git a/package/libglib12/libglib_configure_1.2.10.bz2 b/package/libglib12/libglib_configure_1.2.10.bz2
new file mode 100644 (file)
index 0000000..883a800
Binary files /dev/null and b/package/libglib12/libglib_configure_1.2.10.bz2 differ
diff --git a/package/linux/kernel-patches/006-ieee1394-hotplug.bz2 b/package/linux/kernel-patches/006-ieee1394-hotplug.bz2
new file mode 100644 (file)
index 0000000..b8361ba
Binary files /dev/null and b/package/linux/kernel-patches/006-ieee1394-hotplug.bz2 differ
diff --git a/package/linux/kernel-patches/007-scsi_add_remove_single.bz2 b/package/linux/kernel-patches/007-scsi_add_remove_single.bz2
new file mode 100644 (file)
index 0000000..0d2ee20
Binary files /dev/null and b/package/linux/kernel-patches/007-scsi_add_remove_single.bz2 differ
diff --git a/package/linux/kernel-patches/008-ieee1394-fix.bz2 b/package/linux/kernel-patches/008-ieee1394-fix.bz2
new file mode 100644 (file)
index 0000000..d88f251
Binary files /dev/null and b/package/linux/kernel-patches/008-ieee1394-fix.bz2 differ
diff --git a/package/linux/kernel-patches/009-always-inline.bz2 b/package/linux/kernel-patches/009-always-inline.bz2
new file mode 100644 (file)
index 0000000..0838fed
Binary files /dev/null and b/package/linux/kernel-patches/009-always-inline.bz2 differ
diff --git a/package/linux/kernel-patches/010-optimize-for-size.bz2 b/package/linux/kernel-patches/010-optimize-for-size.bz2
new file mode 100644 (file)
index 0000000..68c19d4
Binary files /dev/null and b/package/linux/kernel-patches/010-optimize-for-size.bz2 differ
diff --git a/package/linux/kernel-patches/012-x86-check_gcc.bz2 b/package/linux/kernel-patches/012-x86-check_gcc.bz2
new file mode 100644 (file)
index 0000000..f645dc1
Binary files /dev/null and b/package/linux/kernel-patches/012-x86-check_gcc.bz2 differ
diff --git a/package/linux/kernel-patches/017-printk.bz2 b/package/linux/kernel-patches/017-printk.bz2
new file mode 100644 (file)
index 0000000..da99976
Binary files /dev/null and b/package/linux/kernel-patches/017-printk.bz2 differ
diff --git a/package/linux/kernel-patches/018-slab-loop-init.bz2 b/package/linux/kernel-patches/018-slab-loop-init.bz2
new file mode 100644 (file)
index 0000000..dfba2ba
Binary files /dev/null and b/package/linux/kernel-patches/018-slab-loop-init.bz2 differ
diff --git a/package/linux/kernel-patches/041-changeloop.patch.bz2 b/package/linux/kernel-patches/041-changeloop.patch.bz2
new file mode 100644 (file)
index 0000000..9e64eca
Binary files /dev/null and b/package/linux/kernel-patches/041-changeloop.patch.bz2 differ
diff --git a/package/linux/kernel-patches/042-loopfixes.patch.bz2 b/package/linux/kernel-patches/042-loopfixes.patch.bz2
new file mode 100644 (file)
index 0000000..456ee61
Binary files /dev/null and b/package/linux/kernel-patches/042-loopfixes.patch.bz2 differ
diff --git a/package/linux/kernel-patches/044-streaming_io.bz2 b/package/linux/kernel-patches/044-streaming_io.bz2
new file mode 100644 (file)
index 0000000..4f453e1
Binary files /dev/null and b/package/linux/kernel-patches/044-streaming_io.bz2 differ
diff --git a/package/linux/kernel-patches/062-silence-blk-queue.bz2 b/package/linux/kernel-patches/062-silence-blk-queue.bz2
new file mode 100644 (file)
index 0000000..84a9a05
Binary files /dev/null and b/package/linux/kernel-patches/062-silence-blk-queue.bz2 differ
diff --git a/package/linux/kernel-patches/063-silence.kbd.patch.bz2 b/package/linux/kernel-patches/063-silence.kbd.patch.bz2
new file mode 100644 (file)
index 0000000..04c56d6
Binary files /dev/null and b/package/linux/kernel-patches/063-silence.kbd.patch.bz2 differ
diff --git a/package/linux/kernel-patches/064-shutup-md.bz2 b/package/linux/kernel-patches/064-shutup-md.bz2
new file mode 100644 (file)
index 0000000..944b12a
Binary files /dev/null and b/package/linux/kernel-patches/064-shutup-md.bz2 differ
diff --git a/package/linux/kernel-patches/077-orinoco-0.13e.bz2 b/package/linux/kernel-patches/077-orinoco-0.13e.bz2
new file mode 100644 (file)
index 0000000..b181185
Binary files /dev/null and b/package/linux/kernel-patches/077-orinoco-0.13e.bz2 differ
diff --git a/package/linux/kernel-patches/078-hostap.bz2 b/package/linux/kernel-patches/078-hostap.bz2
new file mode 100644 (file)
index 0000000..f9ce7aa
Binary files /dev/null and b/package/linux/kernel-patches/078-hostap.bz2 differ
diff --git a/package/linux/kernel-patches/079-jiffies64.bz2 b/package/linux/kernel-patches/079-jiffies64.bz2
new file mode 100644 (file)
index 0000000..1b6873d
Binary files /dev/null and b/package/linux/kernel-patches/079-jiffies64.bz2 differ
diff --git a/package/linux/kernel-patches/089-no-touch-makedep.bz2 b/package/linux/kernel-patches/089-no-touch-makedep.bz2
new file mode 100644 (file)
index 0000000..2e413cc
Binary files /dev/null and b/package/linux/kernel-patches/089-no-touch-makedep.bz2 differ
diff --git a/package/linux/kernel-patches/100_VERSION.bz2 b/package/linux/kernel-patches/100_VERSION.bz2
new file mode 100644 (file)
index 0000000..9bfe01c
Binary files /dev/null and b/package/linux/kernel-patches/100_VERSION.bz2 differ
diff --git a/package/linux/linux.config b/package/linux/linux.config
new file mode 100644 (file)
index 0000000..d268d77
--- /dev/null
@@ -0,0 +1,879 @@
+#
+# Automatically generated make config: don't edit
+#
+CONFIG_X86=y
+# CONFIG_SBUS is not set
+CONFIG_UID16=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+# CONFIG_MODVERSIONS is not set
+CONFIG_KMOD=y
+
+#
+# Processor type and features
+#
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M686 is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+CONFIG_MELAN=y
+# CONFIG_MCRUSOE is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP2 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_INVLPG=y
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_XADD=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_POPAD_OK=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_X86_L1_CACHE_SHIFT=4
+CONFIG_X86_USE_STRING_486=y
+CONFIG_X86_ALIGNMENT_16=y
+CONFIG_X86_F00F_WORKS_OK=y
+# CONFIG_X86_MCE is not set
+# CONFIG_TOSHIBA is not set
+# CONFIG_I8K is not set
+# CONFIG_MICROCODE is not set
+# CONFIG_X86_MSR is not set
+# CONFIG_X86_CPUID is not set
+# CONFIG_EDD is not set
+CONFIG_NOHIGHMEM=y
+# CONFIG_HIGHMEM4G is not set
+# CONFIG_HIGHMEM64G is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_MATH_EMULATION=y
+CONFIG_MTRR=y
+# CONFIG_SMP is not set
+# CONFIG_X86_UP_APIC is not set
+# CONFIG_X86_UP_IOAPIC is not set
+# CONFIG_X86_TSC_DISABLE is not set
+
+#
+# General setup
+#
+CONFIG_NET=y
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GODIRECT is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_ISA=y
+CONFIG_PCI_NAMES=y
+CONFIG_EISA=y
+CONFIG_MCA=y
+CONFIG_HOTPLUG=y
+
+#
+# PCMCIA/CardBus support
+#
+CONFIG_PCMCIA=m
+CONFIG_CARDBUS=y
+CONFIG_TCIC=y
+CONFIG_I82092=y
+CONFIG_I82365=y
+
+#
+# PCI Hotplug Support
+#
+CONFIG_HOTPLUG_PCI=y
+# CONFIG_HOTPLUG_PCI_COMPAQ is not set
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_SYSVIPC=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+CONFIG_KCORE_ELF=y
+# CONFIG_KCORE_AOUT is not set
+# CONFIG_BINFMT_AOUT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_OOM_KILLER is not set
+CONFIG_PM=y
+CONFIG_APM=y
+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
+CONFIG_APM_DO_ENABLE=y
+# CONFIG_APM_CPU_IDLE is not set
+# CONFIG_APM_DISPLAY_BLANK is not set
+CONFIG_APM_RTC_IS_GMT=y
+CONFIG_APM_ALLOW_INTS=y
+CONFIG_APM_REAL_MODE_POWER_OFF=y
+
+#
+# ACPI Support
+#
+# CONFIG_ACPI is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+# CONFIG_MTD is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play configuration
+#
+# CONFIG_PNP is not set
+# CONFIG_ISAPNP is not set
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_PS2 is not set
+# CONFIG_BLK_DEV_XD is not set
+# CONFIG_PARIDE is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_CISS_SCSI_TAPE is not set
+# CONFIG_CISS_MONITOR_THREAD is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_BLK_STATS is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+# CONFIG_BLK_DEV_MD is not set
+# CONFIG_MD_LINEAR is not set
+# CONFIG_MD_RAID0 is not set
+# CONFIG_MD_RAID1 is not set
+# CONFIG_MD_RAID5 is not set
+# CONFIG_MD_MULTIPATH is not set
+# CONFIG_BLK_DEV_LVM is not set
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_NETLINK_DEV=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_FILTER=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_FWMARK=y
+CONFIG_IP_ROUTE_NAT=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_TOS=y
+# CONFIG_IP_ROUTE_VERBOSE is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_INET_ECN=y
+# CONFIG_SYN_COOKIES is not set
+
+#
+#   IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=y
+CONFIG_IP_NF_FTP=y
+# CONFIG_IP_NF_AMANDA is not set
+CONFIG_IP_NF_TFTP=y
+CONFIG_IP_NF_IRC=y
+CONFIG_IP_NF_QUEUE=y
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_MATCH_LIMIT=y
+CONFIG_IP_NF_MATCH_MAC=y
+CONFIG_IP_NF_MATCH_PKTTYPE=y
+CONFIG_IP_NF_MATCH_MARK=y
+CONFIG_IP_NF_MATCH_MULTIPORT=y
+CONFIG_IP_NF_MATCH_TOS=y
+CONFIG_IP_NF_MATCH_RECENT=y
+CONFIG_IP_NF_MATCH_ECN=y
+CONFIG_IP_NF_MATCH_DSCP=y
+CONFIG_IP_NF_MATCH_AH_ESP=y
+CONFIG_IP_NF_MATCH_LENGTH=y
+CONFIG_IP_NF_MATCH_TTL=y
+CONFIG_IP_NF_MATCH_TCPMSS=y
+CONFIG_IP_NF_MATCH_HELPER=y
+CONFIG_IP_NF_MATCH_STATE=y
+CONFIG_IP_NF_MATCH_CONNTRACK=y
+CONFIG_IP_NF_MATCH_UNCLEAN=y
+CONFIG_IP_NF_MATCH_OWNER=y
+CONFIG_IP_NF_FILTER=y
+CONFIG_IP_NF_TARGET_REJECT=y
+CONFIG_IP_NF_TARGET_MIRROR=y
+CONFIG_IP_NF_NAT=y
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=y
+CONFIG_IP_NF_TARGET_REDIRECT=y
+CONFIG_IP_NF_NAT_LOCAL=y
+CONFIG_IP_NF_NAT_SNMP_BASIC=y
+CONFIG_IP_NF_NAT_IRC=y
+CONFIG_IP_NF_NAT_FTP=y
+CONFIG_IP_NF_NAT_TFTP=y
+CONFIG_IP_NF_MANGLE=y
+CONFIG_IP_NF_TARGET_TOS=y
+CONFIG_IP_NF_TARGET_ECN=y
+CONFIG_IP_NF_TARGET_DSCP=y
+CONFIG_IP_NF_TARGET_MARK=y
+CONFIG_IP_NF_TARGET_LOG=y
+CONFIG_IP_NF_TARGET_ULOG=y
+CONFIG_IP_NF_TARGET_TCPMSS=y
+CONFIG_IP_NF_ARPTABLES=y
+CONFIG_IP_NF_ARPFILTER=y
+CONFIG_IP_NF_ARP_MANGLE=y
+
+#
+#   IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+# CONFIG_IPV6 is not set
+# CONFIG_KHTTPD is not set
+
+#
+#    SCTP Configuration (EXPERIMENTAL)
+#
+CONFIG_IPV6_SCTP__=y
+# CONFIG_IP_SCTP is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+CONFIG_SCTP_HMAC_SHA1=y
+# CONFIG_SCTP_HMAC_MD5 is not set
+# CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
+
+#
+#  
+#
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+
+#
+# Appletalk devices
+#
+# CONFIG_DEV_APPLETALK is not set
+# CONFIG_DECNET is not set
+CONFIG_BRIDGE=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_LLC is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_FASTROUTE is not set
+# CONFIG_NET_HW_FLOWCONTROL is not set
+
+#
+# QoS and/or fair queueing
+#
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CBQ=y
+CONFIG_NET_SCH_HTB=y
+CONFIG_NET_SCH_CSZ=y
+CONFIG_NET_SCH_HFSC=y
+CONFIG_NET_SCH_PRIO=y
+CONFIG_NET_SCH_RED=y
+CONFIG_NET_SCH_SFQ=y
+CONFIG_NET_SCH_TEQL=y
+CONFIG_NET_SCH_TBF=y
+CONFIG_NET_SCH_GRED=y
+CONFIG_NET_SCH_DELAY=y
+CONFIG_NET_SCH_DSMARK=y
+CONFIG_NET_SCH_INGRESS=y
+CONFIG_NET_QOS=y
+CONFIG_NET_ESTIMATOR=y
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_TCINDEX=y
+CONFIG_NET_CLS_ROUTE4=y
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=y
+CONFIG_NET_CLS_U32=y
+CONFIG_NET_CLS_RSVP=y
+CONFIG_NET_CLS_RSVP6=y
+CONFIG_NET_CLS_POLICE=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+# CONFIG_PHONE_IXJ is not set
+# CONFIG_PHONE_IXJ_PCMCIA is not set
+
+#
+# ATA/IDE/MFM/RLL support
+#
+CONFIG_IDE=y
+
+#
+# IDE, ATA and ATAPI Block devices
+#
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_HD_IDE is not set
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_IDEDISK=y
+CONFIG_IDEDISK_MULTI_MODE=y
+CONFIG_IDEDISK_STROKE=y
+CONFIG_BLK_DEV_IDECS=m
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+# CONFIG_BLK_DEV_CMD640 is not set
+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
+# CONFIG_BLK_DEV_ISAPNP is not set
+CONFIG_BLK_DEV_IDEPCI=y
+CONFIG_BLK_DEV_GENERIC=y
+CONFIG_IDEPCI_SHARE_IRQ=y
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+CONFIG_IDEDMA_PCI_AUTO=y
+# CONFIG_IDEDMA_ONLYDISK is not set
+CONFIG_BLK_DEV_IDEDMA=y
+CONFIG_IDEDMA_PCI_WIP=y
+# CONFIG_BLK_DEV_ADMA100 is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_WDC_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_ATIIXP is not set
+# CONFIG_AMD74XX_OVERRIDE is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_HPT34X_AUTODMA is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_PDC202XX_BURST is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+# CONFIG_BLK_DEV_RZ1000 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SIS5513 is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_CHIPSETS is not set
+CONFIG_IDEDMA_AUTO=y
+# CONFIG_IDEDMA_IVB is not set
+# CONFIG_DMA_NONPCI is not set
+# CONFIG_BLK_DEV_ATARAID is not set
+# CONFIG_BLK_DEV_ATARAID_PDC is not set
+# CONFIG_BLK_DEV_ATARAID_HPT is not set
+# CONFIG_BLK_DEV_ATARAID_MEDLEY is not set
+# CONFIG_BLK_DEV_ATARAID_SII is not set
+
+#
+# SCSI support
+#
+# CONFIG_SCSI is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_BOOT is not set
+# CONFIG_FUSION_ISENSE is not set
+# CONFIG_FUSION_CTL is not set
+# CONFIG_FUSION_LAN is not set
+
+#
+# IEEE 1394 (FireWire) support (EXPERIMENTAL)
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+# CONFIG_I2O_PCI is not set
+# CONFIG_I2O_BLOCK is not set
+# CONFIG_I2O_LAN is not set
+# CONFIG_I2O_SCSI is not set
+# CONFIG_I2O_PROC is not set
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+CONFIG_DUMMY=m
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=y
+# CONFIG_ETHERTAP is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+# CONFIG_SUNLANCE is not set
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNBMAC is not set
+# CONFIG_SUNQE is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_LANCE is not set
+# CONFIG_NET_VENDOR_SMC is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_AT1700 is not set
+# CONFIG_DEPCA is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_ISA is not set
+# CONFIG_SKMC is not set
+# CONFIG_NE2_MCA is not set
+# CONFIG_IBMLANA is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_AC3200 is not set
+# CONFIG_APRICOT is not set
+# CONFIG_B44 is not set
+# CONFIG_CS89x0 is not set
+# CONFIG_TULIP is not set
+# CONFIG_DE4X5 is not set
+# CONFIG_DGRS is not set
+# CONFIG_DM9102 is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_EEPRO100_PIO is not set
+# CONFIG_E100 is not set
+# CONFIG_LNE390 is not set
+# CONFIG_FEALNX is not set
+CONFIG_NATSEMI=y
+# CONFIG_NE2K_PCI is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_NE3210 is not set
+# CONFIG_ES3210 is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_8139TOO_PIO is not set
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_SUNDANCE_MMIO is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+# CONFIG_VIA_RHINE_MMIO is not set
+# CONFIG_WINBOND_840 is not set
+# CONFIG_NET_POCKET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_MYRI_SBUS is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PLIP is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_STRIP is not set
+# CONFIG_WAVELAN is not set
+# CONFIG_ARLAN is not set
+# CONFIG_AIRONET4500 is not set
+# CONFIG_AIRONET4500_NONCS is not set
+# CONFIG_AIRONET4500_PROC is not set
+# CONFIG_AIRO is not set
+CONFIG_HERMES=m
+CONFIG_HOSTAP=m
+# CONFIG_PLX_HERMES is not set
+# CONFIG_TMD_HERMES is not set
+# CONFIG_PCI_HERMES is not set
+# CONFIG_HOSTAP_PLX is not set
+# CONFIG_HOSTAP_PCI is not set
+
+#
+# Wireless Pcmcia cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_HOSTAP_CS=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_ATMEL is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+# CONFIG_NET_FC is not set
+# CONFIG_RCPCI is not set
+# CONFIG_SHAPER is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+
+#
+# PCMCIA network device support
+#
+# CONFIG_NET_PCMCIA is not set
+
+#
+# Amateur Radio support
+#
+# CONFIG_HAMRADIO is not set
+
+#
+# IrDA (infrared) support
+#
+# CONFIG_IRDA is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Old CD-ROM drivers (not SCSI, not IDE)
+#
+# CONFIG_CD_NO_IDESCSI is not set
+
+#
+# Input core support
+#
+# CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_UINPUT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_SERIAL=y
+CONFIG_SERIAL_CONSOLE=y
+# CONFIG_SERIAL_EXTENDED is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_UNIX98_PTY_COUNT=256
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# Mice
+#
+# CONFIG_BUSMOUSE is not set
+# CONFIG_MOUSE is not set
+
+#
+# Joysticks
+#
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
+
+#
+# Input core support is needed for joysticks
+#
+# CONFIG_QIC02_TAPE is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_IPMI_PANIC_EVENT is not set
+# CONFIG_IPMI_DEVICE_INTERFACE is not set
+# CONFIG_IPMI_KCS is not set
+# CONFIG_IPMI_WATCHDOG is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_SCx200 is not set
+# CONFIG_SCx200_GPIO is not set
+CONFIG_AMD_RNG=y
+# CONFIG_INTEL_RNG is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_AMD_PM768 is not set
+# CONFIG_NVRAM is not set
+CONFIG_RTC=y
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_SONYPI is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_FTAPE is not set
+# CONFIG_AGP is not set
+
+#
+# Direct Rendering Manager (XFree86 DRI support)
+#
+# CONFIG_DRM is not set
+
+#
+# PCMCIA character devices
+#
+# CONFIG_PCMCIA_SERIAL_CS is not set
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_MWAVE is not set
+# CONFIG_OBMOUSE is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# File systems
+#
+# CONFIG_QUOTA is not set
+# CONFIG_QFMT_V2 is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_ADFS_FS_RW is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+CONFIG_EXT3_FS=y
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+# CONFIG_UMSDOS_FS is not set
+CONFIG_VFAT_FS=y
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_TMPFS=y
+CONFIG_RAMFS=y
+# CONFIG_ISO9660_FS is not set
+# CONFIG_JOLIET is not set
+# CONFIG_ZISOFS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_NTFS_FS is not set
+# CONFIG_NTFS_RW is not set
+# CONFIG_HPFS_FS is not set
+CONFIG_PROC_FS=y
+# CONFIG_DEVFS_FS is not set
+# CONFIG_DEVFS_MOUNT is not set
+# CONFIG_DEVFS_DEBUG is not set
+CONFIG_DEVPTS_FS=y
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX4FS_RW is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_EXT2_FS=y
+# CONFIG_SYSV_FS is not set
+# CONFIG_UDF_FS is not set
+# CONFIG_UDF_RW is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_TRACE is not set
+# CONFIG_XFS_DEBUG is not set
+
+#
+# Network File Systems
+#
+# CONFIG_CODA_FS is not set
+# CONFIG_INTERMEZZO_FS is not set
+# CONFIG_NFS_FS is not set
+# CONFIG_NFS_V3 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_ROOT_NFS is not set
+# CONFIG_NFSD is not set
+# CONFIG_NFSD_V3 is not set
+# CONFIG_NFSD_TCP is not set
+# CONFIG_SUNRPC is not set
+# CONFIG_LOCKD is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+# CONFIG_NCPFS_NFS_NS is not set
+# CONFIG_NCPFS_OS2_NS is not set
+# CONFIG_NCPFS_SMALLDOS is not set
+# CONFIG_NCPFS_NLS is not set
+# CONFIG_NCPFS_EXTRAS is not set
+# CONFIG_ZISOFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_SMB_NLS is not set
+CONFIG_NLS=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS_DEFAULT="iso8859-1"
+# CONFIG_NLS_CODEPAGE_437 is not set
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ISO8859_1 is not set
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Console drivers
+#
+# CONFIG_VGA_CONSOLE is not set
+# CONFIG_VIDEO_SELECT is not set
+# CONFIG_MDA_CONSOLE is not set
+
+#
+# Frame-buffer support
+#
+# CONFIG_FB is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+# CONFIG_USB is not set
+
+#
+# Support for USB gadgets
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# Bluetooth support
+#
+# CONFIG_BLUEZ is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=0
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Library routines
+#
+CONFIG_OPTIMIZE_FOR_SIZE=y
+CONFIG_CRC32=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+# CONFIG_FW_LOADER is not set
index 0d3f8f0f7109a85e2ba211f6455a9ca62aee46ec..78280b96ef0f2a401eb31fb3787b9ad98ee91dc9 100644 (file)
@@ -38,7 +38,7 @@ LINUX_BINLOC=arch/$(LINUX_KARCH)/boot/$(LINUX_FORMAT)
 LINUX_DIR=$(BUILD_DIR)/linux-$(LINUX_VERSION)
 LINUX_SOURCE=linux-$(DOWNLOAD_LINUX_VERSION).tar.bz2
 LINUX_SITE=http://www.kernel.org/pub/linux/kernel/v2.4
-LINUX_KCONFIG=$(SOURCE_DIR)/linux.config
+LINUX_KCONFIG=package/linux/linux.config
 LINUX_KERNEL=$(BUILD_DIR)/buildroot-kernel
 # Used by pcmcia-cs and others
 LINUX_SOURCE_DIR=$(LINUX_DIR)
@@ -57,8 +57,8 @@ ifneq ($(DOWNLOAD_LINUX_VERSION),$(LINUX_VERSION))
        # Rename the dir from the downloaded version to the AFTER patch version 
        mv -f $(BUILD_DIR)/linux-$(DOWNLOAD_LINUX_VERSION) $(BUILD_DIR)/linux-$(LINUX_VERSION)
 endif
-       mkdir -p $(SOURCE_DIR)/kernel-patches
-       $(SOURCE_DIR)/patch-kernel.sh $(LINUX_DIR) $(SOURCE_DIR)/kernel-patches
+       mkdir -p package/linux/kernel-patches
+       toolchain/patch-kernel.sh $(LINUX_DIR) package/linux/kernel-patches
        -(cd $(TOOL_BUILD_DIR); ln -sf $(LINUX_DIR) linux)
        touch $(LINUX_DIR)/.unpacked
 
index 43c897c8a81e97f9f0aaed8ca235ecf5d7813c66..30629619c8cee08dab28ba6b8744868587c9c999 100644 (file)
@@ -7,7 +7,6 @@ LTP_TESTSUITE_SOURCE:=ltp-full-20040506.tgz
 LTP_TESTSUITE_SITE:=http://aleron.dl.sourceforge.net/sourceforge/ltp
 LTP_TESTSUITE_CAT:=zcat
 LTP_TESTSUITE_DIR:=$(BUILD_DIR)/ltp-full-20040506
-LTP_TESTSUITE_PATCH:=$(SOURCE_DIR)/ltp-testsuite.patch
 
 
 $(DL_DIR)/$(LTP_TESTSUITE_SOURCE):
@@ -17,7 +16,7 @@ ltp-testsuite-source: $(DL_DIR)/$(LTP_TESTSUITE_SOURCE)
 
 $(LTP_TESTSUITE_DIR)/.unpacked: $(DL_DIR)/$(LTP_TESTSUITE_SOURCE)
        $(LTP_TESTSUITE_CAT) $(DL_DIR)/$(LTP_TESTSUITE_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       cat $(LTP_TESTSUITE_PATCH) | patch -p1 -d $(LTP_TESTSUITE_DIR)
+       toolchain/patch-kernel.sh $(LTP_TESTSUITE_DIR) package/ltp-testsuite/ ltp-testsuite-\*.patch
        touch $(LTP_TESTSUITE_DIR)/.unpacked
 
 $(LTP_TESTSUITE_DIR)/ltp-testsuite: $(LTP_TESTSUITE_DIR)/.unpacked
diff --git a/package/ltp-testsuite/ltp-testsuite.patch b/package/ltp-testsuite/ltp-testsuite.patch
new file mode 100644 (file)
index 0000000..baad6d6
--- /dev/null
@@ -0,0 +1,49 @@
+diff -urN ltp-full-20040506.orig/testcases/kernel/syscalls/fmtmsg/Makefile ltp-full-20040506/testcases/kernel/syscalls/fmtmsg/Makefile
+--- ltp-full-20040506.orig/testcases/kernel/syscalls/fmtmsg/Makefile   2003-03-04 09:15:27.000000000 -0700
++++ ltp-full-20040506/testcases/kernel/syscalls/fmtmsg/Makefile        2004-05-12 14:03:56.000000000 -0600
+@@ -24,7 +24,7 @@
+ LOADLIBES+=   -L../../../../lib -lltp
+ SRCS=$(wildcard *.c)
+-TARGETS=$(patsubst %.c,%,$(SRCS))
++TARGETS=#$(patsubst %.c,%,$(SRCS))
+ all: $(TARGETS)
+diff -urN ltp-full-20040506.orig/testcases/kernel/syscalls/profil/Makefile ltp-full-20040506/testcases/kernel/syscalls/profil/Makefile
+--- ltp-full-20040506.orig/testcases/kernel/syscalls/profil/Makefile   2003-03-04 09:16:26.000000000 -0700
++++ ltp-full-20040506/testcases/kernel/syscalls/profil/Makefile        2004-05-12 14:03:56.000000000 -0600
+@@ -23,7 +23,7 @@
+ LOADLIBES+=   -L../../../../lib -lltp 
+ SRCS=$(wildcard *.c)
+-TARGETS=$(patsubst %.c,%,$(SRCS))
++TARGETS=#$(patsubst %.c,%,$(SRCS))
+ all: $(TARGETS)
+diff -urN ltp-full-20040506.orig/testcases/kernel/syscalls/swapon/swapon02.c ltp-full-20040506/testcases/kernel/syscalls/swapon/swapon02.c
+--- ltp-full-20040506.orig/testcases/kernel/syscalls/swapon/swapon02.c 2004-04-23 12:13:20.000000000 -0600
++++ ltp-full-20040506/testcases/kernel/syscalls/swapon/swapon02.c      2004-05-12 23:02:50.000000000 -0600
+@@ -85,9 +85,7 @@
+ #include <sys/swap.h>
+ #include <asm/page.h>
+ #include <asm/atomic.h>
+-#ifdef OLDER_DISTRO_RELEASE
+-#include <linux/swap.h>
+-#endif
++#define MAX_SWAPFILES 32
+ #include <fcntl.h>
+ #include <pwd.h>
+ #include <string.h>
+@@ -96,10 +94,6 @@
+ #include "test.h"
+ #include "usctest.h"
+-#ifndef OLDER_DISTRO_RELEASE
+-#define MAX_SWAPFILES 32 
+-#endif
+-
+ static void setup();
+ static void cleanup();
+ static int setup01();
diff --git a/package/lzo/lzo-cross-compile.patch b/package/lzo/lzo-cross-compile.patch
new file mode 100644 (file)
index 0000000..68a3d04
--- /dev/null
@@ -0,0 +1,43 @@
+For some reason the lzo autoconf script uses a local macro that does
+a test for cross-compiles, and assumes that if the build target name
+and the host target name are the same that --host was not specified to
+the configure script. In the uClibc buildroot, this is not the case.
+
+--- lzo-1.08/aclocal.m4        2002-07-12 18:31:52.000000000 -0700
++++ lzo-1.08/aclocal.m4.new    2004-03-10 15:32:42.000000000 -0700
+@@ -205,12 +205,6 @@
+ [
+ AC_REQUIRE([AC_PROG_CC])
+-if test "X$cross_compiling" = Xyes; then
+-  if test "X$build" = "X$host"; then
+-    AC_MSG_ERROR([you are cross compiling - please use the \`--host=' option])
+-  fi
+-fi
+-
+ ])
+--- lzo-1.08/configure-dist    2004-03-11 02:18:28.000000000 -0600
++++ lzo-1.08/configure 2004-03-11 02:19:16.000000000 -0600
+@@ -2282,13 +2282,13 @@
+-if test "X$cross_compiling" = Xyes; then
+-  if test "X$build" = "X$host"; then
+-    { { echo "$as_me:$LINENO: error: you are cross compiling - please use the \`--host=' option" >&5
+-echo "$as_me: error: you are cross compiling - please use the \`--host=' option" >&2;}
+-   { (exit 1); exit 1; }; }
+-  fi
+-fi
++#if test "X$cross_compiling" = Xyes; then
++#  if test "X$build" = "X$host"; then
++#    { { echo "$as_me:$LINENO: error: you are cross compiling - please use the \`--host=' option" >&5
++#echo "$as_me: error: you are cross compiling - please use the \`--host=' option" >&2;}
++#   { (exit 1); exit 1; }; }
++#  fi
++#fi
index 48e9d7b5db45d51ece52729c2299b8800825cd47..1e603635e3c83ea1d4c53431ebd370cc73bae35b 100644 (file)
@@ -12,7 +12,6 @@ LZO_SITE:=http://ftp.debian.org/debian/pool/main/l/lzo
 #LZO_SITE:=http://www.oberhumer.com/opensource/lzo/download
 LZO_DIR:=$(BUILD_DIR)/lzo-1.08
 LZO_CAT:=zcat
-LZO_PATCH:=$(SOURCE_DIR)/lzo-cross-compile.patch
 
 $(DL_DIR)/$(LZO_SOURCE):
         $(WGET) -P $(DL_DIR) $(LZO_SITE)/$(LZO_SOURCE)
@@ -21,7 +20,7 @@ lzo-source: $(DL_DIR)/$(LZO_SOURCE)
 
 $(LZO_DIR)/.unpacked: $(DL_DIR)/$(LZO_SOURCE)
        $(LZO_CAT) $(DL_DIR)/$(LZO_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       cat $(LZO_PATCH) | patch -p1 -d $(LZO_DIR)
+       toolchain/patch-kernel.sh $(LZO_DIR) package/lzo/ lzo-\*.patch
        touch $(LZO_DIR)/.unpacked
 
 LZO_CONFIG_SHARED:=--disable-shared
diff --git a/package/mrouted/mrouted-sys_errlist.patch b/package/mrouted/mrouted-sys_errlist.patch
new file mode 100644 (file)
index 0000000..8498dc7
--- /dev/null
@@ -0,0 +1,44 @@
+Patches from Kevin P. Fleming <kpfleming@backtobasicsmgmt.com>.
+
+--- mrouted-3.9-beta3.orig/main.c~     2004-03-10 19:00:38.000000000 -0700
++++ mrouted-3.9-beta3.orig/main.c      2004-03-10 19:02:33.000000000 -0700
+@@ -1001,10 +1001,8 @@
+                   thyme->tm_min, thyme->tm_sec, now.tv_usec / 1000, msg);
+       if (syserr == 0)
+           fprintf(stderr, "\n");
+-      else if (syserr < sys_nerr)
+-          fprintf(stderr, ": %s\n", sys_errlist[syserr]);
+       else
+-          fprintf(stderr, ": errno %d\n", syserr);
++          fprintf(stderr, ": %s\n", strerror(syserr));
+     }
+     /*
+--- mrouted-3.9-beta3.orig/mrinfo.c~   1998-02-28 20:05:20.000000000 -0700
++++ mrouted-3.9-beta3.orig/mrinfo.c    2004-03-10 19:01:49.000000000 -0700
+@@ -159,10 +159,8 @@
+               vfprintf(stderr, fmt, ap);
+               if (syserr == 0)
+                       fprintf(stderr, "\n");
+-              else if (syserr < sys_nerr)
+-                      fprintf(stderr, ": %s\n", sys_errlist[syserr]);
+               else
+-                      fprintf(stderr, ": errno %d\n", syserr);
++                      fprintf(stderr, ": %s\n", strerror(syserr));
+       }
+       if (severity <= LOG_ERR)
+--- mrouted-3.9-beta3.orig/mapper.c~   1998-01-05 18:57:47.000000000 -0700
++++ mrouted-3.9-beta3.orig/mapper.c    2004-03-10 19:02:04.000000000 -0700
+@@ -197,10 +197,8 @@
+           vfprintf(stderr, fmt, ap);
+           if (syserr == 0)
+               fprintf(stderr, "\n");
+-          else if (syserr < sys_nerr)
+-              fprintf(stderr, ": %s\n", sys_errlist[syserr]);
+           else
+-              fprintf(stderr, ": errno %d\n", syserr);
++              fprintf(stderr, ": %s\n", strerror(syserr));
+     }
+     if (severity <= LOG_ERR)
index c017d910b5fc5d22aeb5fc6f8938045e95b2268a..e307672ac486410c61fd1c9d30fedc045f1fbf52 100644 (file)
@@ -8,7 +8,6 @@ MROUTED_SOURCE:=mrouted_3.9-beta3.orig.tar.gz
 MROUTED_SITE:=http://ftp.debian.org/debian/pool/non-free/m/mrouted
 MROUTED_DIR:=$(BUILD_DIR)/mrouted-3.9-beta3.orig
 MROUTED_CAT:=zcat
-#MROUTED_PATCH:=$(SOURCE_DIR)/mrouted_3.9-beta3-1.1.diff
 MROUTED_PATCH:=mrouted_3.9-beta3-1.1.diff.gz
 MROUTED_BINARY:=mrouted
 MROUTED_TARGET_BINARY:=usr/sbin/mrouted
@@ -24,7 +23,7 @@ mrouted-source: $(DL_DIR)/$(MROUTED_SOURCE) $(DL_DIR)/$(MROUTED_PATCH)
 $(MROUTED_DIR)/.unpacked: mrouted-source
        $(MROUTED_CAT) $(DL_DIR)/$(MROUTED_SOURCE) | tar -C $(BUILD_DIR) -xvf -
        $(MROUTED_CAT) $(DL_DIR)/$(MROUTED_PATCH) | patch -p1 -d $(MROUTED_DIR)
-       $(SOURCE_DIR)/patch-kernel.sh $(MROUTED_DIR) $(SOURCE_DIR) mrouted-\*.patch
+       toolchain/patch-kernel.sh $(MROUTED_DIR) package/mrouted/ mrouted-\*.patch
        touch $(MROUTED_DIR)/.unpacked
 
 $(MROUTED_DIR)/$(MROUTED_BINARY): $(MROUTED_DIR)/.unpacked
diff --git a/package/ncurses/ncurses-100-hostccflags.patch b/package/ncurses/ncurses-100-hostccflags.patch
new file mode 100644 (file)
index 0000000..a3743d8
--- /dev/null
@@ -0,0 +1,11 @@
+--- ncurses-5.2/ncurses/Makefile.in.orig       2000-10-14 17:55:35.000000000 -0500
++++ ncurses-5.2/ncurses/Makefile.in    2004-08-09 11:34:13.000000000 -0500
+@@ -85,7 +85,7 @@
+ CCFLAGS               = $(CPPFLAGS) $(CFLAGS)
+ HOSTCC                = @BUILD_CC@
+-HOSTCCFLAGS   = @CFLAGS@ $(CPPFLAGS)
++HOSTCCFLAGS   = $(CPPFLAGS)
+ HOSTLDFLAGS   = @LDFLAGS@ @LIBS@
+ CFLAGS_LIBTOOL        = $(CCFLAGS)
index e2b464ae2a6eb6bb55969195d35fdac580b7d81a..442542ccde05cdabeabcc4a82c312accac6e5093 100644 (file)
@@ -5,7 +5,7 @@
 #
 #############################################################
 # Copyright (C) 2002 by Ken Restivo <ken@246gt.com>
-# $Id: ncurses.mk,v 1.1 2004/10/09 01:24:04 andersen Exp $
+# $Id: ncurses.mk,v 1.2 2004/10/09 02:48:53 andersen Exp $
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU Library General Public License as
@@ -35,7 +35,7 @@ $(NCURSES_DIR)/.dist: $(DL_DIR)/$(NCURSES_SOURCE)
        #use the local tic and not whatever the build system was going to find.
        $(SED) 's~\$$srcdir/shlib tic\$$suffix~/usr/bin/tic~' \
                $(NCURSES_DIR)/misc/run_tic.in
-       $(SOURCE_DIR)/patch-kernel.sh $(NCURSES_DIR) $(SOURCE_DIR) ncurses-\*.patch
+       toolchain/patch-kernel.sh $(NCURSES_DIR) package/ncurses/ ncurses-\*.patch
        touch  $(NCURSES_DIR)/.dist
 
 $(NCURSES_DIR)/.configured: $(NCURSES_DIR)/.dist
index 401b885cab5aa27b6d99cca86b3175051ebc02ff..9243b4c6ff02b28089f4fde94f416f33090447a8 100644 (file)
@@ -9,7 +9,6 @@ NETKITTELNET_DIR:=$(BUILD_DIR)/netkit-telnet-0.17
 NETKITTELNET_CAT:=zcat
 NETKITTELNET_BINARY:=telnetd/telnetd
 NETKITTELNET_TARGET_BINARY:=usr/sbin/telnetd
-NETKITTELNET_PATCH:=$(SOURCE_DIR)/netkittelnet.patch
 
 $(DL_DIR)/$(NETKITTELNET_SOURCE):
         $(WGET) -P $(DL_DIR) $(NETKITTELNET_SITE)/$(NETKITTELNET_SOURCE)
@@ -23,7 +22,7 @@ $(NETKITTELNET_DIR)/.unpacked: $(DL_DIR)/$(NETKITTELNET_SOURCE)
        # Disable termcap support
        $(SED) "s~\(.*termcap\.h.*\)~/* \1 */~;" $(NETKITTELNET_DIR)/telnetd/telnetd.c
        # don't try to run cross compiled binaries while configuring things
-       cat $(NETKITTELNET_PATCH) | patch -p1 -d $(NETKITTELNET_DIR)
+       toolchain/patch-kernel.sh $(NETKITTELNET_DIR) package/netkittelnet/ netkittelnet\*.patch
        touch $(NETKITTELNET_DIR)/.unpacked
 
 $(NETKITTELNET_DIR)/.configured: $(NETKITTELNET_DIR)/.unpacked
diff --git a/package/netkittelnet/netkittelnet.patch b/package/netkittelnet/netkittelnet.patch
new file mode 100644 (file)
index 0000000..c894c2a
--- /dev/null
@@ -0,0 +1,171 @@
+--- netkit-telnet-0.17/configure       Thu Apr 11 10:40:58 2002
++++ FIXEDnetkittelnet/configure        Thu Apr 11 10:39:59 2002
+@@ -78,7 +78,6 @@
+     for TRY in egcs gcc g++ CC c++ cc; do
+        (
+            $TRY __conftest.c -o __conftest || exit 1;
+-           ./__conftest || exit 1;
+        ) >/dev/null 2>&1 || continue;
+        CC=$TRY
+        break;
+@@ -94,7 +93,6 @@
+     echo -n 'Checking if C compiler works... '
+     if (
+           $CC __conftest.c -o __conftest || exit 1
+-          ./__conftest || exit 1
+        ) >/dev/null 2>&1; then
+          echo 'yes'
+      else
+@@ -125,7 +123,6 @@
+     for TRY in egcs gcc g++ CC c++ cc; do
+        (
+            $TRY __conftest.cc -o __conftest || exit 1;
+-           ./__conftest || exit 1;
+        ) >/dev/null 2>&1 || continue;
+        CXX=$TRY
+        break;
+@@ -141,7 +138,6 @@
+     echo -n 'Checking if C++ compiler works... '
+     if (
+           $CXX __conftest.cc -o __conftest || exit 1
+-          ./__conftest || exit 1
+        ) >/dev/null 2>&1; then
+          echo 'yes'
+      else
+@@ -278,13 +274,11 @@
+ EOF
+ if (
+       $CXX $CXXFLAGS  __conftest.cc  -o __conftest || exit 1
+-      ./__conftest || exit 1
+    ) >/dev/null 2>&1; then
+     echo 'yes'
+ else
+     if (
+           $CXX $CXXFLAGS -D__USE_BSD_SIGNAL __conftest.cc  -o __conftest || exit 1
+-          ./__conftest || exit 1
+        ) >/dev/null 2>&1; then
+         echo '-D__USE_BSD_SIGNAL'
+         CFLAGS="$CFLAGS -D__USE_BSD_SIGNAL"
+@@ -292,6 +286,7 @@
+     else
+         echo 'no'
+         echo 'This package needs BSD signal semantics to run.'
++              echo "$CXX $CXXFLAGS  -D__USE_BSD_SIGNAL __conftest.cc  -o __conftest failed"
+         rm -f __conftest*
+         exit
+     fi
+@@ -330,31 +325,6 @@
+         echo 'no'
+     fi
+ fi
+-
+-if [ x$NCURSES != x ]; then
+-    LIBTERMCAP=-lncurses
+-else
+-    echo -n 'Checking for traditional termcap... '
+-cat <<EOF >__conftest.cc
+-#include <stdio.h>
+-#include <termcap.h>
+-int main(void) {
+-    tgetent(NULL, NULL); return 0;
+-}
+-
+-EOF
+-    if (
+-          $CXX $CXXFLAGS  __conftest.cc -ltermcap -o __conftest || exit 1
+-       ) >/dev/null 2>&1; then
+-        echo '-ltermcap'
+-        LIBTERMCAP=-ltermcap
+-    else
+-        echo 'not found'
+-        echo 'This package needs termcap to run.'
+-        rm -f __conftest*
+-        exit
+-    fi
+-fi
+ rm -f __conftest*
+ ##################################################
+@@ -468,7 +438,6 @@
+ else
+     if (
+           $CXX $CXXFLAGS -D_GNU_SOURCE __conftest.cc  -o __conftest || exit 1
+-          ./__conftest || exit 1
+        ) >/dev/null 2>&1; then
+         echo '-D_GNU_SOURCE'
+         CFLAGS="$CFLAGS -D_GNU_SOURCE"
+@@ -501,20 +470,17 @@
+ EOF
+ if (
+       $CXX $CXXFLAGS  __conftest.cc $LIBBSD -o __conftest || exit 1
+-      ./__conftest || exit 1
+    ) >/dev/null 2>&1; then
+     echo 'ok'
+ else
+     if (
+           $CXX $CXXFLAGS  __conftest.cc -lsnprintf $LIBBSD -o __conftest || exit 1
+-          ./__conftest || exit 1
+        ) >/dev/null 2>&1; then
+         echo '-lsnprintf'
+         LIBS="$LIBS -lsnprintf"
+     else
+         if (
+               $CXX $CXXFLAGS  __conftest.cc -ldb $LIBBSD -o __conftest || exit 1
+-              ./__conftest || exit 1
+            ) >/dev/null 2>&1; then
+             echo '-ldb'
+             LIBS="$LIBS -ldb"
+diff -urN netkit-telnet-0.17/telnetd/state.c netkit-telnet-0.17-dm/telnetd/state.c
+--- netkit-telnet-0.17/telnetd/state.c 1999-12-12 11:41:44.000000000 -0800
++++ netkit-telnet-0.17-dm/telnetd/state.c      2003-07-23 19:20:38.000000000 -0700
+@@ -43,10 +43,10 @@
+ static int envvarok(char *varp);
+-static unsigned char doopt[] = { IAC, DO, '%', 'c', 0 };
+-static unsigned char dont[] = { IAC, DONT, '%', 'c', 0 };
+-unsigned char will[] = { IAC, WILL, '%', 'c', 0 };
+-unsigned char wont[] = { IAC, WONT, '%', 'c', 0 };
++//static unsigned char doopt[] = { IAC, DO, '%', 'c', 0 };
++//static unsigned char dont[] = { IAC, DONT, '%', 'c', 0 };
++//unsigned char       will[] = { IAC, WILL, '%', 'c', 0 };
++//unsigned char       wont[] = { IAC, WONT, '%', 'c', 0 };
+ /*
+  * Buffer for sub-options, and macros
+@@ -422,7 +422,7 @@
+           set_his_want_state_will(option);
+       do_dont_resp[option]++;
+     }
+-    netoprintf((char *)doopt, option);
++    netoprintf( "%c%c%c", IAC, DO, option );
+     
+     DIAG(TD_OPTIONS, printoption("td: send do", option));
+ }
+@@ -632,7 +632,7 @@
+       set_his_want_state_wont(option);
+       do_dont_resp[option]++;
+     }
+-    netoprintf((char *) dont, option);
++    netoprintf ( "%c%c%c", IAC, DONT, option );
+     DIAG(TD_OPTIONS, printoption("td: send dont", option));
+ }
+@@ -769,7 +769,7 @@
+       set_my_want_state_will(option);
+       will_wont_resp[option]++;
+     }
+-    netoprintf((char *) will, option);
++    netoprintf( "%c%c%c", IAC, WILL, option);
+     DIAG(TD_OPTIONS, printoption("td: send will", option));
+ }
+@@ -917,7 +917,7 @@
+       set_my_want_state_wont(option);
+       will_wont_resp[option]++;
+     }
+-    netoprintf((char *)wont, option);
++    netoprintf( "%c%c%c", IAC, WONT, option);
+     
+     DIAG(TD_OPTIONS, printoption("td: send wont", option));
+ }
index eeb244967633710cd3cb694fe9b84934afa17a28..04f0749e01d26777c8ff0bef108d3a60d7216e1e 100644 (file)
@@ -9,7 +9,6 @@ NETSNMP_DIR:=$(BUILD_DIR)/net-snmp-5.1
 NETSNMP_SOURCE:=net-snmp-5.1.tar.gz
 NETSNMP_PATCH1:=net-snmp_5.1-5.diff.gz
 NETSNMP_PATCH1_URL:=http://ftp.debian.org/debian/pool/main/n/net-snmp/
-NETSNMP_PATCH2:=$(SOURCE_DIR)/netsnmp.patch
 
 $(DL_DIR)/$(NETSNMP_SOURCE):
        $(WGET) -P $(DL_DIR) $(NETSNMP_URL)/$(NETSNMP_SOURCE)
@@ -20,7 +19,7 @@ $(DL_DIR)/$(NETSNMP_PATCH1):
 $(NETSNMP_DIR)/.unpacked: $(DL_DIR)/$(NETSNMP_SOURCE) $(DL_DIR)/$(NETSNMP_PATCH1)
        zcat $(DL_DIR)/$(NETSNMP_SOURCE) | tar -C $(BUILD_DIR) -xvf -
        zcat $(DL_DIR)/$(NETSNMP_PATCH1) | patch -p1 -d $(NETSNMP_DIR)
-       cat $(NETSNMP_PATCH2) | patch -p1 -d $(NETSNMP_DIR)
+       toolchain/patch-kernel.sh $(NETSNMP_DIR) package/netsnmp/ netsnmp\*.patch
        touch  $(NETSNMP_DIR)/.unpacked
 
 # We set CAN_USE_SYSCTL to no and use /proc since the
diff --git a/package/netsnmp/netsnmp.patch b/package/netsnmp/netsnmp.patch
new file mode 100644 (file)
index 0000000..076592b
--- /dev/null
@@ -0,0 +1,32 @@
+diff -urN net-snmp-5.1-dist/agent/mibgroup/host/hr_system.c net-snmp-5.1/agent/mibgroup/host/hr_system.c
+--- net-snmp-5.1-dist/agent/mibgroup/host/hr_system.c  2003-02-28 22:35:13.000000000 -0600
++++ net-snmp-5.1/agent/mibgroup/host/hr_system.c       2004-03-31 22:06:05.000000000 -0600
+@@ -286,7 +286,11 @@
+                current user */
+             if (kill(utmp_p->ut_pid, 0) == -1 && errno == ESRCH) {
+                 utmp_p->ut_type = DEAD_PROCESS;
++#if HAVE_UTMPX_H
+                 pututxline(utmp_p);
++#else
++                pututline(utmp_p);
++#endif
+                 continue;
+             }
+             ++total;
+diff -urN net-snmp-5.1-dist/configure.in net-snmp-5.1/configure.in
+--- net-snmp-5.1-dist/configure.in     2004-03-31 21:59:14.000000000 -0600
++++ net-snmp-5.1/configure.in  2004-03-31 22:06:05.000000000 -0600
+@@ -1865,13 +1865,8 @@
+ if test $cross_compiling = yes; then
+   if test $with_endianness = "big"; then
+     AC_DEFINE(WORDS_BIGENDIAN)
+-  elif test -z $with_endianness; then
+-    AC_MSG_ERROR([You are cross-compiling, but you have not specified the target's endianness])
+   fi
+ else
+-  if test $with_endianness; then
+-    AC_MSG_ERROR([Endianness has been specified, but you are not cross-compiling.])
+-  fi
+   AC_C_BIGENDIAN
+ fi
index c7feba20c607a3f5985ea2720e26a304954991ca..7d7fe31927252d51b85b1ad5b95e9b442e6b0ec6 100644 (file)
@@ -7,14 +7,13 @@
 OPENSSH_SITE:=ftp://ftp.tux.org/bsd/openbsd/OpenSSH/portable/
 OPENSSH_DIR:=$(BUILD_DIR)/openssh-3.8p1
 OPENSSH_SOURCE:=openssh-3.8p1.tar.gz
-OPENSSH_PATCH:=$(SOURCE_DIR)/openssh.patch
 
 $(DL_DIR)/$(OPENSSH_SOURCE):
        $(WGET) -P $(DL_DIR) $(OPENSSH_SITE)/$(OPENSSH_SOURCE)
 
-$(OPENSSH_DIR)/.unpacked: $(DL_DIR)/$(OPENSSH_SOURCE) $(OPENSSH_PATCH)
+$(OPENSSH_DIR)/.unpacked: $(DL_DIR)/$(OPENSSH_SOURCE)
        zcat $(DL_DIR)/$(OPENSSH_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       cat $(OPENSSH_PATCH) | patch -p1 -d $(OPENSSH_DIR)
+       toolchain/patch-kernel.sh $(OPENSSH_DIR) package/openssh/ openssh\*.patch
        touch  $(OPENSSH_DIR)/.unpacked
 
 $(OPENSSH_DIR)/.configured: $(OPENSSH_DIR)/.unpacked
diff --git a/package/openssh/openssh.patch b/package/openssh/openssh.patch
new file mode 100644 (file)
index 0000000..7d85a04
--- /dev/null
@@ -0,0 +1,289 @@
+--- openssh-3.6.1p1/Makefile.in.orig   2003-03-20 17:34:34.000000000 -0700
++++ openssh-3.6.1p1/Makefile.in        2003-04-25 17:09:00.000000000 -0600
+@@ -27,7 +27,7 @@
+ RAND_HELPER=$(libexecdir)/ssh-rand-helper
+ PRIVSEP_PATH=@PRIVSEP_PATH@
+ SSH_PRIVSEP_USER=@SSH_PRIVSEP_USER@
+-STRIP_OPT=@STRIP_OPT@
++STRIP_OPT=
+ PATHS= -DSSHDIR=\"$(sysconfdir)\" \
+       -D_PATH_SSH_PROGRAM=\"$(SSH_PROGRAM)\" \
+--- openssh-3.8p1/configure.ac.orig    2004-02-23 22:47:04.000000000 -0700
++++ openssh-3.8p1/configure.ac 2004-03-19 01:41:47.000000000 -0700
+@@ -481,6 +481,9 @@
+       [
+               AC_MSG_RESULT(no)
+               AC_MSG_ERROR([*** compiler cannot create working executables, check config.log ***])
++      ],
++      [AC_MSG_RESULT(yes)
++      AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
+       ]
+ )
+@@ -632,6 +635,9 @@
+         else
+               AC_MSG_WARN([zlib version may have security problems])
+         fi
++      ],
++      [AC_MSG_RESULT(yes)
++      AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
+       ]
+ )
+@@ -696,6 +702,9 @@
+       [
+               AC_MSG_RESULT(no)
+               AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME)
++      ],
++      [AC_MSG_RESULT(yes)
++      AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
+       ]
+ )
+@@ -727,6 +736,9 @@
+                               [
+                                       AC_MSG_RESULT(no)
+                                       AC_MSG_ERROR([** Incomplete or missing s/key libraries.])
++                              ],
++                              [AC_MSG_RESULT(yes)
++                              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
+                               ])
+               fi
+       ]
+@@ -840,7 +852,11 @@
+               ],
+               [AC_MSG_RESULT(yes)],
+               [AC_DEFINE(BROKEN_SETRESUID)
+-               AC_MSG_RESULT(not implemented)]
++               AC_MSG_RESULT(not implemented)
++               ],
++               [AC_MSG_RESULT(yes)
++               AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
++               ]
+       )
+ ])
+@@ -854,7 +870,11 @@
+               ],
+               [AC_MSG_RESULT(yes)],
+               [AC_DEFINE(BROKEN_SETRESGID)
+-               AC_MSG_RESULT(not implemented)]
++               AC_MSG_RESULT(not implemented)
++               ],
++               [AC_MSG_RESULT(yes)
++               AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
++               ]
+       )
+ ])
+@@ -890,6 +910,9 @@
+                       AC_MSG_RESULT(no)
+                       AC_DEFINE(BROKEN_SNPRINTF)
+                       AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor])
++              ],
++              [AC_MSG_RESULT(yes)
++              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
+               ]
+       )
+ fi
+@@ -963,7 +986,10 @@
+               [
+                       AC_MSG_RESULT(no)
+                       AC_DEFINE(SSHD_ACQUIRES_CTTY)
+-              ]
++              ],
++               [AC_MSG_RESULT(yes)
++               AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
++               ]
+       )
+ fi
+@@ -1096,6 +1122,10 @@
+       [
+               AC_MSG_RESULT(not found)
+               AC_MSG_ERROR(OpenSSL version header not found.)
++      ],
++      [
++              ssl_header_ver="0x0090704fL (OpenSSL 0.9.7d 17 Mar 2004)"
++              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to $ssl_header_ver])
+       ]
+ )
+@@ -1129,6 +1159,10 @@
+       [
+               AC_MSG_RESULT(not found)
+               AC_MSG_ERROR(OpenSSL library not found.)
++      ],
++      [
++              ssl_header_ver="0x0090704fL (OpenSSL 0.9.7d 17 Mar 2004)"
++              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to $ssl_library_ver])
+       ]
+ )
+@@ -1148,7 +1182,11 @@
+               AC_MSG_ERROR([Your OpenSSL headers do not match your library.
+ Check config.log for details.
+ Also see contrib/findssl.sh for help identifying header/library mismatches.])
+-      ]
++      ],
++      [
++              AC_MSG_RESULT(yes)
++              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
++      ]
+ )
+ # Some systems want crypt() from libcrypt, *not* the version in OpenSSL,
+@@ -1183,6 +1221,11 @@
+               # Default to use of the rand helper if OpenSSL doesn't
+               # seed itself
+               USE_RAND_HELPER=yes
++      ],
++      [
++              OPENSSL_SEEDS_ITSELF=yes
++              AC_MSG_RESULT(yes)
++              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
+       ]
+ )
+@@ -1773,7 +1816,8 @@
+ #else
+ main() { exit(0); }
+ #endif
+-              ], [ true ], [ AC_DEFINE(BROKEN_SNPRINTF) ]
++              ], [ true ], [ AC_DEFINE(BROKEN_SNPRINTF) ],
++              [ true ]
+       )
+ fi
+@@ -1893,6 +1937,7 @@
+ }
+               ],
+               [ ac_cv_have_accrights_in_msghdr="yes" ],
++              [ ac_cv_have_accrights_in_msghdr="no" ],
+               [ ac_cv_have_accrights_in_msghdr="no" ]
+       )
+ ])
+@@ -1917,7 +1962,8 @@
+ }
+               ],
+               [ ac_cv_have_control_in_msghdr="yes" ],
+-              [ ac_cv_have_control_in_msghdr="no" ]
++              [ ac_cv_have_control_in_msghdr="no" ],
++              [ ac_cv_have_control_in_msghdr="yes" ]
+       )
+ ])
+ if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then
+@@ -2229,12 +2275,9 @@
+               )
+       fi
+ fi
+-AC_CHECK_FILE("/dev/ptc",
+-      [
+-              AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC)
+-              have_dev_ptc=1
+-      ]
+-)
++AC_MSG_CHECKING([for "/dev/ptc"])
++AC_MSG_RESULT(no)
++have_dev_ptc=0
+ # Options from here on. Some of these are preset by platform above
+ AC_ARG_WITH(mantype,
+@@ -2329,15 +2372,8 @@
+ fi
+ # check for /etc/default/login and use it if present.
+-AC_ARG_ENABLE(etc-default-login,
+-      [  --disable-etc-default-login       Disable using PATH from /etc/default/login [no]],,
+-[
+-AC_CHECK_FILE("/etc/default/login", [ external_path_file=/etc/default/login ])
+-
+-if test "x$external_path_file" = "x/etc/default/login"; then
+-      AC_DEFINE(HAVE_ETC_DEFAULT_LOGIN)
+-fi
+-])
++AC_MSG_CHECKING([for "/etc/default/login"])
++AC_MSG_RESULT(no)
+ dnl BSD systems use /etc/login.conf so --with-default-path= has no effect
+ if test $ac_cv_func_login_getcapbool = "yes" -a \
+--- openssh-3.8p1.orig/sshd_config     Fri Sep 27 05:21:58 2002
++++ openssh-3.8p1/sshd_config  Mon Mar 17 14:55:00 2003
+@@ -89,5 +89,8 @@
+ #Banner /some/path
+ #VerifyReverseMapping no
++ClientAliveInterval 15
++ClientAliveCountMax 4
++
+ # override default of no subsystems
+-Subsystem     sftp    /usr/libexec/sftp-server
++Subsystem     sftp    /usr/sbin/sftp-server
+--- openssh-3.6.1p1/S50sshd    Fri Sep 27 05:21:58 2002
++++ openssh-3.6.1p1/S50sshd    Mon Mar 17 14:55:00 2003
+@@ -0,0 +1,64 @@
++#!/bin/sh
++#
++# sshd        Starts sshd.
++#
++
++# Make sure the ssh-keygen progam exists
++[ -f /usr/bin/ssh-keygen ] || exit 0
++
++# Check for the SSH1 RSA key
++if [ ! -f /etc/ssh_host_key ] ; then
++      echo Generating RSA Key...
++      /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh_host_key -C '' -N ''
++fi
++
++# Check for the SSH2 RSA key
++if [ ! -f /etc/ssh_host_rsa_key ] ; then
++      echo Generating RSA Key...
++      /usr/bin/ssh-keygen -t rsa -f /etc/ssh_host_rsa_key -C '' -N ''
++fi
++
++# Check for the SSH2 DSA key
++if [ ! -f /etc/ssh_host_dsa_key ] ; then
++      echo Generating DSA Key...
++      echo THIS CAN TAKE A MINUTE OR TWO DEPENDING ON YOUR PROCESSOR!
++      echo
++        /usr/bin/ssh-keygen -t dsa -f /etc/ssh_host_dsa_key -C '' -N ''
++fi
++                
++umask 077
++
++start() {
++      echo -n "Starting sshd: "
++      /usr/sbin/sshd
++      touch /var/lock/sshd
++      echo "OK"
++}     
++stop() {
++      echo -n "Stopping sshd: "
++        killall       sshd 
++      rm -f /var/lock/sshd
++      echo "OK" 
++}
++restart() {
++      stop
++      start
++}     
++
++case "$1" in
++  start)
++      start
++      ;;
++  stop)
++      stop
++      ;;
++  restart|reload)
++      restart
++      ;;
++  *)
++      echo $"Usage: $0 {start|stop|restart}"
++      exit 1
++esac
++
++exit $?
++
index a4003553b1d5779ed56a593b3dcb2ee9c980576f..64d77940a594771fa5c90892a354c80365f7c1b4 100644 (file)
@@ -8,14 +8,13 @@
 OPENSSL_SITE:=http://www.openssl.org/source
 OPENSSL_SOURCE:=openssl-0.9.7d.tar.gz
 OPENSSL_DIR:=$(BUILD_DIR)/openssl-0.9.7d
-OPENSSL_PATCH=$(SOURCE_DIR)/openssl.patch
 
 $(DL_DIR)/$(OPENSSL_SOURCE):
        $(WGET) -P $(DL_DIR) $(OPENSSL_SITE)/$(OPENSSL_SOURCE)
 
-$(OPENSSL_DIR)/.unpacked: $(DL_DIR)/$(OPENSSL_SOURCE) $(OPENSSL_PATCH)
+$(OPENSSL_DIR)/.unpacked: $(DL_DIR)/$(OPENSSL_SOURCE)
        gunzip -c $(DL_DIR)/$(OPENSSL_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       cat $(OPENSSL_PATCH) | patch -p1 -d $(OPENSSL_DIR)
+       toolchain/patch-kernel.sh $(OPENSSL_DIR) package/openssl/ openssl\*.patch
        # sigh... we have to resort to this just to set a gcc flag.
        $(SED) 's,/CFLAG=,/CFLAG= $(TARGET_SOFT_FLOAT) ,g' \
                $(OPENSSL_DIR)/Configure
diff --git a/package/openssl/openssl.patch b/package/openssl/openssl.patch
new file mode 100644 (file)
index 0000000..1ed2326
--- /dev/null
@@ -0,0 +1,247 @@
+--- openssl-0.9.7.orig/Configure
++++ openssl-0.9.7/Configure
+@@ -1,4 +1,4 @@
+-:
++#!/usr/bin/perl
+ eval 'exec perl -S $0 ${1+"$@"}'
+     if $running_under_some_shell;
+ ##
+@@ -373,6 +373,41 @@
+ # assembler versions -- currently defunct:
+ ##"OpenBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer:::(unknown):SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:${alpha_asm}",
++# Sane Linux configuration values, stolen from the Debian package....
++"linux-alpha","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-alpha-ev4","gcc:-DTERMIO -O3 -mcpu=ev4 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-alpha-ev5","gcc:-DTERMIO -O3 -mcpu=ev5 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-arm","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-armeb","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-freebsd-alpha","gcc:-DTERMIOS -O -fomit-frame-pointer::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-freebsd-i386",  "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::-pthread -D_REENTRANT -D_THREAD_SAFE -D_THREADSAFE:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-hppa","gcc:-DB_ENDIAN -DTERMIO -O2 -Wall::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-hurd-i386","gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-ia64","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:asm/ia64.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++#"linux-i386","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:linux-shared:-fPIC",
++"linux-i386","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-i386-i486","gcc:-DL_ENDIAN -DTERMIO -O3 -march=i486 -mcpu=i486 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-i386-i586","gcc:-DL_ENDIAN -DTERMIO -O3 -march=i586 -mcpu=i586 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-i386-i686/cmov","gcc:-DL_ENDIAN -DTERMIO -O3 -march=i686 -mcpu=i686 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-m68k","gcc:-DB_ENDIAN -DTERMIO -O2 -Wall::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mips",   "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mipsel",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-netbsd-i386",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-netbsd-m68k",  "gcc:-DB_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-netbsd-sparc", "gcc:-DB_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-openbsd-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown):::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-openbsd-i386",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-openbsd-mips","gcc:-O2 -DL_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-powerpc","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_UNROLL DES_RISC2 DES_PTR MD2_CHAR RC4_INDEX::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-s390","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 
++"linux-sh3",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-sh4",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-sh3eb",   "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-sh4eb",   "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-sparc","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-sparc-v8","gcc:-DB_ENDIAN -DTERMIO -O3 -mcpu=v8 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-sparc-v9","gcc:-DB_ENDIAN -DTERMIO -O3 -mcpu=v9 -Wa,-Av8plus -fomit-frame-pointer -Wall -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-cris", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ # The intel boxes :-), It would be worth seeing if bsdi-gcc can use the
+ # bn86-elf.o file file since it is hand tweaked assembler.
+ "linux-elf",  "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+@@ -416,6 +451,7 @@
+ # Linux on ARM
+ "linux-elf-arm","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:::BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-elf-armeb","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:::BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ # SCO/Caldera targets.
+ #
+--- openssl-0.9.7.orig/crypto/md5/asm/md5-sparcv9.S
++++ openssl-0.9.7/crypto/md5/asm/md5-sparcv9.S
+@@ -72,14 +72,14 @@
+ #define Dval  R8
+ #if defined(MD5_BLOCK_DATA_ORDER)
+-# if defined(OPENSSL_SYSNAME_ULTRASPARC)
++/*# if defined(OPENSSL_SYSNAME_ULTRASPARC)*/
+ #  define     LOAD                    lda
+ #  define     X(i)                    [%i1+i*4]%asi
+ #  define     md5_block               md5_block_asm_data_order_aligned
+ #  define     ASI_PRIMARY_LITTLE      0x88
+-# else
++/*# else
+ #  error "MD5_BLOCK_DATA_ORDER is supported only on UltraSPARC!"
+-# endif
++# endif*/
+ #else
+ # define      LOAD                    ld
+ # define      X(i)                    [%i1+i*4]
+--- openssl-0.9.7.orig/crypto/opensslconf.h
++++ openssl-0.9.7/crypto/opensslconf.h
+@@ -4,17 +4,38 @@
+ /* OpenSSL was configured with the following options: */
+ #ifndef OPENSSL_DOING_MAKEDEPEND
++#ifndef OPENSSL_NO_IDEA
++# define OPENSSL_NO_IDEA
++#endif
++#ifndef OPENSSL_NO_MDC2
++# define OPENSSL_NO_MDC2
++#endif
++#ifndef OPENSSL_NO_RC5
++# define OPENSSL_NO_RC5
++#endif
+ #ifndef OPENSSL_NO_KRB5
+ # define OPENSSL_NO_KRB5
+ #endif
+ #endif /* OPENSSL_DOING_MAKEDEPEND */
++#ifndef OPENSSL_THREADS
++# define OPENSSL_THREADS
++#endif
+ /* The OPENSSL_NO_* macros are also defined as NO_* if the application
+    asks for it.  This is a transient feature that is provided for those
+    who haven't had the time to do the appropriate changes in their
+    applications.  */
+ #ifdef OPENSSL_ALGORITHM_DEFINES
++# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
++#  define NO_IDEA
++# endif
++# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
++#  define NO_MDC2
++# endif
++# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
++#  define NO_RC5
++# endif
+ # if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
+ #  define NO_KRB5
+ # endif
+@@ -27,7 +48,7 @@
+ #if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
+ #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
+-#define OPENSSLDIR "/usr/local/ssl"
++#define OPENSSLDIR "/usr/lib/ssl"
+ #endif
+ #endif
+@@ -79,7 +100,7 @@
+ #if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
+ #define CONFIG_HEADER_BN_H
+-#undef BN_LLONG
++#define BN_LLONG
+ /* Should we define BN_DIV2W here? */
+@@ -98,7 +119,7 @@
+ #define CONFIG_HEADER_RC4_LOCL_H
+ /* if this is defined data[i] is used instead of *data, this is a %20
+  * speedup on x86 */
+-#undef RC4_INDEX
++#define RC4_INDEX
+ #endif
+ #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
+@@ -112,14 +133,14 @@
+ /* the following is tweaked from a config script, that is why it is a
+  * protected undef/define */
+ #ifndef DES_PTR
+-#undef DES_PTR
++#define DES_PTR
+ #endif
+ /* This helps C compiler generate the correct code for multiple functional
+  * units.  It reduces register dependancies at the expense of 2 more
+  * registers */
+ #ifndef DES_RISC1
+-#undef DES_RISC1
++#define DES_RISC1
+ #endif
+ #ifndef DES_RISC2
+@@ -133,7 +154,7 @@
+ /* Unroll the inner loop, this sometimes helps, sometimes hinders.
+  * Very mucy CPU dependant */
+ #ifndef DES_UNROLL
+-#undef DES_UNROLL
++#define DES_UNROLL
+ #endif
+ /* These default values were supplied by
+--- openssl-0.9.7.orig/ssl/ssl_algs.c
++++ openssl-0.9.7/ssl/ssl_algs.c
+@@ -109,3 +109,8 @@
+       return(1);
+       }
++#undef SSLeay_add_ssl_algorithms
++int SSLeay_add_ssl_algorithms(void)
++    {
++         return SSL_library_init();
++    }
+--- openssl-0.9.7.orig/tools/c_rehash.in
++++ openssl-0.9.7/tools/c_rehash.in
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/perl
+ # Perl c_rehash script, scan all files in a directory
+--- openssl-0.9.7.orig/util/clean-depend.pl
++++ openssl-0.9.7/util/clean-depend.pl
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl -w
++#!/usr/bin/perl
+ # Clean the dependency list in a makefile of standard includes...
+ # Written by Ben Laurie <ben@algroup.co.uk> 19 Jan 1999
+--- openssl-0.9.7.orig/util/extract-names.pl
++++ openssl-0.9.7/util/extract-names.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/perl
+ $/ = "";                      # Eat a paragraph at once.
+ while(<STDIN>) {
+--- openssl-0.9.7.orig/util/mkdef.pl
++++ openssl-0.9.7/util/mkdef.pl
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl -w
++#!/usr/bin/perl
+ #
+ # generate a .def file
+ #
+--- openssl-0.9.7.orig/util/mkerr.pl
++++ openssl-0.9.7/util/mkerr.pl
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl -w
++#!/usr/bin/perl
+ my $config = "crypto/err/openssl.ec";
+ my $debug = 0;
+--- openssl-0.9.7.orig/util/mkstack.pl
++++ openssl-0.9.7/util/mkstack.pl
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl -w
++#!/usr/bin/perl
+ # This is a utility that searches out "DECLARE_STACK_OF()"
+ # declarations in .h and .c files, and updates/creates/replaces
+--- openssl-0.9.7.orig/util/pod2man.pl
++++ openssl-0.9.7/util/pod2man.pl
+@@ -1,4 +1,4 @@
+-: #!/usr/bin/perl-5.005
++#!/usr/bin/perl
+     eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
+       if $running_under_some_shell;
+--- openssl-0.9.7.orig/util/selftest.pl
++++ openssl-0.9.7/util/selftest.pl
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl -w
++#!/usr/bin/perl
+ #
+ # Run the test suite and generate a report
+ #
diff --git a/package/openvpn/openvpn.init b/package/openvpn/openvpn.init
new file mode 100755 (executable)
index 0000000..94bdc60
--- /dev/null
@@ -0,0 +1,103 @@
+#!/bin/sh -e
+#
+# Original version by Robert Leslie
+# <rob@mars.org>, edited by iwj and cs
+# Modified for openvpn by Alberto Gonzalez Iniesta <agi@agi.as>
+# Modified for restarting / starting / stopping single tunnels by Richard Mueller <mueller@teamix.net>
+
+test $DEBIAN_SCRIPT_DEBUG && set -v -x
+
+DAEMON=/usr/sbin/openvpn
+CONFIG_DIR=/etc/openvpn
+test -x $DAEMON || exit 0
+test -d $CONFIG_DIR || exit 0
+
+start_vpn () {
+    $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \
+            --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->"
+    echo -n " $NAME"
+}
+stop_vpn () {
+   kill `cat $PIDFILE` || true
+  rm $PIDFILE
+}
+
+case "$1" in
+start)
+  echo -n "Starting openvpn:"
+
+  if test -z $2 ; then
+    for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do
+      NAME=${CONFIG%%.conf}
+      start_vpn
+    done
+  else
+    if test -e $CONFIG_DIR/$2.conf ; then
+      NAME=$2
+      start_vpn
+    else
+      echo -n " No such VPN: $2"
+    fi
+  fi
+  echo "."
+
+  ;;
+stop)
+  echo -n "Stopping openvpn:"
+
+  if test -z $2 ; then
+    for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
+      NAME=`echo $PIDFILE | cut -c18-`
+      NAME=${NAME%%.pid}
+      stop_vpn
+      echo -n " $NAME"
+    done
+  else
+    if test -e /var/run/openvpn.$2.pid ; then
+      PIDFILE=`ls /var/run/openvpn.$2.pid 2> /dev/null`
+      NAME=`echo $PIDFILE | cut -c18-`
+      NAME=${NAME%%.pid}
+      stop_vpn
+      echo -n " $NAME"
+    else
+      echo -n " No such VPN: $2"
+    fi
+  fi
+  echo "."
+  ;;
+# We only 'reload' for running VPNs. New ones will only start with 'start' or 'restart'.
+reload|force-reload)
+  echo -n "Reloading openvpn:"
+  for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
+    NAME=`echo $PIDFILE | cut -c18-`
+    NAME=${NAME%%.pid}
+# If openvpn if running under a different user than root we'll need to restart
+    if egrep '^( |\t)*user' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then
+      stop_vpn
+      sleep 1
+      start_vpn
+      echo -n "(restarted)"
+    else
+      kill -HUP `cat $PIDFILE` || true
+#    start-stop-daemon --stop --signal HUP --quiet --oknodo \
+#      --exec $DAEMON --pidfile $PIDFILE
+    echo -n " $NAME"
+    fi
+  done
+  echo "."
+  ;;
+
+restart)
+  $0 stop $2
+  sleep 1
+  $0 start $2
+  ;;
+*)
+  echo "Usage: $0 {start|stop|reload|restart|force-reload}" >&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# vim:set ai et sts=2 sw=2 tw=0:
index 0ac6279328f32b53dc38d6be580e7ad2ccb670a6..b0a60c803845ceb5866af1877377e4a5da8821f0 100644 (file)
@@ -12,7 +12,6 @@ OPENVPN_DIR:=$(BUILD_DIR)/openvpn-1.5.0
 OPENVPN_CAT:=zcat
 OPENVPN_BINARY:=openvpn
 OPENVPN_TARGET_BINARY:=usr/sbin/openvpn
-#OPENVPN_PATCH:=$(SOURCE_DIR)/openvpn.patch
 
 $(DL_DIR)/$(OPENVPN_SOURCE):
         $(WGET) -P $(DL_DIR) $(OPENVPN_SITE)/$(OPENVPN_SOURCE)
@@ -21,7 +20,6 @@ openvpn-source: $(DL_DIR)/$(OPENVPN_SOURCE)
 
 $(OPENVPN_DIR)/.unpacked: $(DL_DIR)/$(OPENVPN_SOURCE)
        $(OPENVPN_CAT) $(DL_DIR)/$(OPENVPN_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       #cat $(OPENVPN_PATCH) | patch -p1 -d $(OPENVPN_DIR)
        touch $(OPENVPN_DIR)/.unpacked
 
 $(OPENVPN_DIR)/.configured: $(OPENVPN_DIR)/.unpacked
@@ -53,7 +51,7 @@ $(OPENVPN_DIR)/$(OPENVPN_BINARY): $(OPENVPN_DIR)/.configured
 $(TARGET_DIR)/$(OPENVPN_TARGET_BINARY): $(OPENVPN_DIR)/$(OPENVPN_BINARY)
        $(MAKE) DESTDIR=$(TARGET_DIR) -C $(OPENVPN_DIR) install
        mkdir -p $(TARGET_DIR)/etc/openvpn
-       cp $(SOURCE_DIR)/openvpn $(TARGET_DIR)/etc/init.d/openvpn
+       cp package/openvpn/openvpn.init $(TARGET_DIR)/etc/init.d/openvpn
        rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
                $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
 
index 219864f7470b4751b1de5c0ef167f9e8e6bd2422..296e96822fcc5706d9e5b6585a50c210e28ed646 100644 (file)
@@ -25,7 +25,7 @@ pciutils-source: $(DL_DIR)/$(PCIUTILS_SOURCE) $(DL_DIR)/$(PCIIDS_SOURCE)
 $(PCIUTILS_DIR)/.unpacked: $(DL_DIR)/$(PCIUTILS_SOURCE) $(DL_DIR)/$(PCIIDS_SOURCE)
        $(PCIUTILS_CAT) $(DL_DIR)/$(PCIUTILS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
        $(PCIIDS_CAT) $(DL_DIR)/$(PCIIDS_SOURCE) > $(PCIUTILS_DIR)/pci.id
-       $(SOURCE_DIR)/patch-kernel.sh $(PCIUTILS_DIR) $(SOURCE_DIR) pciutils*.patch
+       toolchain/patch-kernel.sh $(PCIUTILS_DIR) package/pciutils pciutils*.patch
        touch $(PCIUTILS_DIR)/.unpacked
 
 $(PCIUTILS_DIR)/.compiled: $(PCIUTILS_DIR)/.unpacked
diff --git a/package/pciutils/pciutils.patch b/package/pciutils/pciutils.patch
new file mode 100644 (file)
index 0000000..7718b25
--- /dev/null
@@ -0,0 +1,29 @@
+diff -ur pciutils-2.1.11.orig/lib/configure pciutils-2.1.11/lib/configure
+--- pciutils-2.1.11.orig/lib/configure 2004-10-08 11:56:42.876316816 -0400
++++ pciutils-2.1.11/lib/configure      2004-10-08 11:57:04.965958680 -0400
+@@ -25,7 +25,6 @@
+ echo " $sys/$cpu $rel"
+ c=config.h
+-echo >$c "#define ARCH_`echo $cpu | tr 'a-z' 'A-Z'`"
+ echo >>$c "#define OS_`echo $sys | tr 'a-z' 'A-Z'`"
+ echo_n "Looking for access methods..."
+@@ -40,17 +39,6 @@
+                                               ok=1
+                                               ;;
+               esac
+-              case $cpu in
+-                              i386)           echo_n " i386-ports"
+-                                              echo >>$c '#define HAVE_PM_INTEL_CONF'
+-                                              ok=1
+-                                              ;;
+-                              alpha|ia64)     echo >>$c '#define HAVE_64BIT_ADDRESS'
+-                                              ;;
+-                              sparc|sparc64)  echo >>$c '#define HAVE_64BIT_ADDRESS'
+-                                              echo >>$c '#define HAVE_LONG_ADDRESS'
+-                                              ;;
+-              esac
+               ;;
+       FreeBSD)
+               echo_n " fbsd-device"
index eded294b8987ee4137a0799226e4a500f8f3ddf6..efd646dd216304560227584c9100da5e87d9ab0f 100644 (file)
@@ -24,7 +24,6 @@
 PCMCIA_SOURCE:=pcmcia-cs-3.2.7.tar.gz
 PCMCIA_SITE:=http://aleron.dl.sourceforge.net/sourceforge/pcmcia-cs
 PCMCIA_DIR:=$(BUILD_DIR)/pcmcia-cs-3.2.7
-PCMCIA_PATCH:=$(SOURCE_DIR)/pcmcia.patch
 PCMCIA_CAT:=zcat
 
 $(DL_DIR)/$(PCMCIA_SOURCE):
@@ -37,7 +36,7 @@ $(PCMCIA_DIR)/.unpacked: $(DL_DIR)/$(PCMCIA_SOURCE)
        touch $(PCMCIA_DIR)/.unpacked
 
 $(PCMCIA_DIR)/.patched: $(PCMCIA_DIR)/.unpacked
-       cat $(PCMCIA_PATCH) | patch -d $(PCMCIA_DIR) -p1
+       toolchain/patch-kernel.sh $(PCMCIA_DIR) package/pcmcia/ pcmcia\*.patch
        touch $(PCMCIA_DIR)/.patched
 
 $(PCMCIA_DIR)/.configured: $(PCMCIA_DIR)/.patched
diff --git a/package/pcmcia/pcmcia.patch b/package/pcmcia/pcmcia.patch
new file mode 100644 (file)
index 0000000..121435f
--- /dev/null
@@ -0,0 +1,123 @@
+--- pcmcia-cs-3.1.34/etc/config.opts.orig      Tue Jul  9 09:36:23 2002
++++ pcmcia-cs-3.1.34/etc/config.opts   Tue Jul  9 09:37:47 2002
+@@ -5,7 +5,7 @@
+ # System resources available for PCMCIA devices
+-include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff
++include port 0x100-0x4ff, port 0xc00-0xcff
+ include memory 0xc0000-0xfffff
+ include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff
+diff -urN pcmcia-cs-3.2.3.orig/etc/shared pcmcia-cs-3.2.3/etc/shared
+--- pcmcia-cs-3.2.3.orig/etc/shared    2002-08-18 21:21:11.000000000 -0600
++++ pcmcia-cs-3.2.3/etc/shared 2003-02-14 05:05:07.000000000 -0700
+@@ -2,6 +2,8 @@
+ # shared 1.31 2002/08/19 03:21:11 (David Hinds)
+ #
++umask 022
++
+ usage ()
+ {
+     echo "usage: $0 [action] [device name]"
+--- /dev/null  2003-01-21 22:14:35.000000000 -0700
++++ pcmcia-cs-3.2.4/etc/pcmcia 2003-06-09 12:04:02.000000000 -0600
+@@ -0,0 +1,6 @@
++# Defaults for pcmcia (sourced by /etc/init.d/S30pcmcia)
++PCMCIA=yes
++PCIC=yenta_socket
++PCIC_OPTS=
++CORE_OPTS=
++CARDMGR_OPTS=
+--- pcmcia-cs-3.2.4/etc/rc.pcmcia.orig 2002-08-08 00:43:43.000000000 -0600
++++ pcmcia-cs-3.2.4/etc/rc.pcmcia      2003-06-09 15:17:28.000000000 -0600
+@@ -4,6 +4,8 @@
+ #
+ # This is designed to work in BSD as well as SysV init setups.  See
+ # the HOWTO for customization instructions.
++# Modified to comply with Debian's standards by Brian Mays
++# <brian@debian.org>.
+ # Tags for Red Hat init configuration tools
+ #
+@@ -26,9 +28,9 @@
+ done
+ # Source PCMCIA configuration, if available
+-if [ -f /etc/pcmcia.conf ] ; then
++if [ -f /etc/default/pcmcia ] ; then
+     # Debian startup option file
+-    . /etc/pcmcia.conf
++    . /etc/default/pcmcia
+ elif [ -f /etc/sysconfig/pcmcia ] ; then
+     # Red Hat startup option file
+     . /etc/sysconfig/pcmcia
+@@ -50,9 +52,22 @@
+ done
+ if [ "$PCMCIA" -a "$PCMCIA" != "yes" ] ; then exit 0 ; fi
++# Debian modification: Fix PCIC for stand-alone modules.
++# yenta_socket -> i82365 on these systems.
++# Existence of a standalone module implies that it is preferred.
++if [ -d /lib/modules/preferred ] ; then
++    PC=/lib/modules/preferred/pcmcia
++else
++    PC=/lib/modules/`uname -r`/pcmcia
++fi
++if [ "$PCIC" = yenta_socket -a -e $PC/i82365.o \
++    -a ! -L $PC/i82365.o ]; then
++    PCIC=i82365
++fi
++
+ usage()
+ {
+-    echo "Usage: $0 {start|stop|status|restart|reload}"
++    echo "Usage: $0 {start|stop|status|restart|reload|force-reload}"
+ }
+ cleanup()
+@@ -84,7 +99,7 @@
+           SC=/var/lib/pcmcia/scheme
+           RUN=/var/lib/pcmcia
+       else
+-          SC=/var/run/pcmcia-scheme
++          SC=/var/lib/misc/pcmcia-scheme
+           RUN=/var/run
+       fi
+       if [ -L $SC -o ! -O $SC ] ; then rm -f $SC ; fi
+@@ -154,7 +172,7 @@
+       ;;
+     status)
+-      pid=`/sbin/pidof cardmgr`
++      pid=`/bin/pidof cardmgr`
+       if [ "$pid" != "" ] ; then
+           echo "cardmgr (pid $pid) is running..."
+           EXITCODE=0
+@@ -164,12 +182,18 @@
+       fi
+       ;;
+-    restart|reload)
++    restart)
+       $0 stop
+       $0 start
+       EXITCODE=$?
+       ;;
++    reload|force-reload)
++      echo "Reloading $DESC configuration files."
++      kill -1 `cat /var/run/cardmgr.pid` 2>/dev/null
++      EXITCODE=0
++      ;;
++
+     *)
+       usage
+       ;;
+@@ -179,4 +203,4 @@
+ done
+ # Only exit if we're in our own subshell
+-case $0 in *rc.pcmcia) exit $EXITCODE ;; esac
++case $0 in *pcmcia) exit $EXITCODE ;; esac
diff --git a/package/python/python-cross-compile.patch b/package/python/python-cross-compile.patch
new file mode 100644 (file)
index 0000000..f7465cc
--- /dev/null
@@ -0,0 +1,117 @@
+--- Python-2.3.4/Makefile.pre.in.orig  2003-11-18 14:54:00.000000000 -0500
++++ Python-2.3.4/Makefile.pre.in       2004-07-29 21:44:47.075924464 -0400
+@@ -159,6 +159,7 @@
+ PYTHON=               python$(EXE)
+ BUILDPYTHON=  python$(BUILDEXE)
++HOSTPYTHON=   ./$(BUILDPYTHON)
+ # === Definitions added by makesetup ===
+@@ -186,6 +187,8 @@
+ # Parser
+ PGEN=         Parser/pgen$(EXE)
++HOSTPGEN=     $(PGEN)
++
+ POBJS=                \
+               Parser/acceler.o \
+               Parser/grammar1.o \
+@@ -314,8 +317,8 @@
+ # Build the shared modules
+ sharedmods: $(BUILDPYTHON)
+       case $$MAKEFLAGS in \
+-      *-s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
+-      *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
++      *-s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' CROSS_COMPILE='yes' OPT='$(OPT)' DESTDIR='$(DESTDIR)'  $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
++      *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' CROSS_COMPILE='yes' OPT='$(OPT)' DESTDIR='$(DESTDIR)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
+       esac
+ # buildno should really depend on something like LIBRARY_SRC
+@@ -432,7 +435,7 @@
+ $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
+-              -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
++              -$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+ $(PGEN):      $(PGENOBJS)
+               $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
+@@ -705,19 +708,19 @@
+       done
+       $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
+       PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
+-              ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
++              $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
+               -d $(LIBDEST) -f \
+               -x 'badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
+       PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+-              ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
++              $(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
+               -d $(LIBDEST) -f \
+               -x 'badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
+       PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
+-              ./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
++              $(HOSTPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
+               -d $(LIBDEST)/site-packages -f \
+               -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+       PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+-              ./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
++              $(HOSTPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
+               -d $(LIBDEST)/site-packages -f \
+               -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+@@ -812,7 +815,8 @@
+ # Install the dynamically loadable modules
+ # This goes into $(exec_prefix)
+ sharedinstall:
+-      $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
++      CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILE='$(CROSS_COMPILE)' \
++              $(HOSTPYTHON) -E $(srcdir)/setup.py install \
+               --prefix=$(prefix) \
+               --install-scripts=$(BINDIR) \
+               --install-platlib=$(DESTSHARED) \
+--- Python-2.3.4/setup.py.orig 2004-07-29 21:32:12.993562408 -0400
++++ Python-2.3.4/setup.py      2004-07-29 21:47:12.174866072 -0400
+@@ -213,6 +213,7 @@
+         try:
+             imp.load_dynamic(ext.name, ext_filename)
+         except ImportError, why:
++          if os.environ.get('CROSS_COMPILE') != "yes":
+             self.announce('*** WARNING: renaming "%s" since importing it'
+                           ' failed: %s' % (ext.name, why), level=3)
+             assert not self.inplace
+@@ -233,6 +234,9 @@
+                     os.remove(filename)
+             except AttributeError:
+                 self.announce('unable to remove files (ignored)')
++          else:
++            self.announce('WARNING: "%s" failed importing, but we leave it because we are cross-compiling' %
++                          ext.name)
+         except:
+             exc_type, why, tb = sys.exc_info()
+             self.announce('*** WARNING: importing extension "%s" '
+@@ -245,8 +245,9 @@
+     def detect_modules(self):
+         # Ensure that /usr/local is always used
+-        add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+-        add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
++        add_dir_to_list(self.compiler.library_dirs, os.getenv('DESTDIR') + '/lib')
++        add_dir_to_list(self.compiler.library_dirs, os.getenv('DESTDIR') + '/usr/lib')
++        add_dir_to_list(self.compiler.include_dirs, os.getenv('DESTDIR') + '/usr/include')
+         # fink installs lots of goodies in /sw/... - make sure we
+         # check there
+@@ -254,11 +255,6 @@
+             add_dir_to_list(self.compiler.library_dirs, '/sw/lib')
+             add_dir_to_list(self.compiler.include_dirs, '/sw/include')
+-        if os.path.normpath(sys.prefix) != '/usr':
+-            add_dir_to_list(self.compiler.library_dirs,
+-                            sysconfig.get_config_var("LIBDIR"))
+-            add_dir_to_list(self.compiler.include_dirs,
+-                            sysconfig.get_config_var("INCLUDEDIR"))
+         try:
+             have_unicode = unicode
index e49cc12aa6f6faf83953f3986103d740fef06cbf..f12e1f15516b466557f9749da454d2fb2ce0b3fa 100644 (file)
@@ -21,7 +21,7 @@ $(PYTHON_DIR)/.unpacked: $(DL_DIR)/$(PYTHON_SOURCE)
        touch $(PYTHON_DIR)/.unpacked
 
 $(PYTHON_DIR)/.patched: $(PYTHON_DIR)/.unpacked
-       $(SOURCE_DIR)/patch-kernel.sh $(PYTHON_DIR) $(SOURCE_DIR) python*.patch
+       toolchain/patch-kernel.sh $(PYTHON_DIR) package/python/ python*.patch
        touch $(PYTHON_DIR)/.patched
 
 $(PYTHON_DIR)/.hostpython: $(PYTHON_DIR)/.patched
index a63354703853f6d84ef5848f8408ae26cc3a6e8b..e43b272028a3007af3649ef01dd076e6f595dd83 100644 (file)
@@ -21,7 +21,6 @@
 # USA
 
 RXVT_SOURCE:=rxvt-2.6.4.tar.bz2
-RXVT_PATCH:=$(SOURCE_DIR)/rxvt-2.6.4.patch
 RXVT_SITE:=ftp://ftp.rxvt.org/pub/rxvt/
 RXVT_CAT:=bzcat
 RXVT_DIR:=$(BUILD_DIR)/rxvt-2.6.4
@@ -49,7 +48,7 @@ $(RXVT_DIR)/.configured: $(RXVT_DIR)/.unpacked
                --x-includes=$(TINYX_DIR)/exports/include \
                --x-libraries=$(TINYX_DIR)/exports/lib \
        );
-       cat $(RXVT_PATCH) | patch -d $(RXVT_DIR) -p1
+       toolchain/patch-kernel.sh $(RXVT_DIR) package/rxvt/ rxvt*.patch
        touch  $(RXVT_DIR)/.configured
 
 $(RXVT_BINARY): $(RXVT_DIR)/.configured
index e197bca3ec62533c7569438bca9a387e296e1160..108d4fe3a9a1f44bb571488c3f91a5c88c1d23cb 100644 (file)
@@ -7,14 +7,15 @@ SED_VER:=4.1.2
 SED_SOURCE:=sed-$(SED_VER).tar.gz
 SED_SITE:=ftp://ftp.gnu.org/gnu/sed
 SED_CAT:=zcat
-SED_DIR:=$(BUILD_DIR)/sed-$(SED_VER)
+SED_DIR1:=$(TOOL_BUILD_DIR)/sed-$(SED_VER)
+SED_DIR2:=$(BUILD_DIR)/sed-$(SED_VER)
 SED_BINARY:=sed/sed
 SED_TARGET_BINARY:=bin/sed
-ifeq ($(BR2_LARGEFILE),y)
+ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true)
 SED_CPPFLAGS=-D_FILE_OFFSET_BITS=64
 endif
 SED:=$(STAGING_DIR)/bin/sed -i -e
-
+HOST_SED_TARGET=$(shell package/sed/sedcheck.sh)
 
 $(DL_DIR)/$(SED_SOURCE):
        mkdir -p $(DL_DIR)
@@ -23,17 +24,69 @@ $(DL_DIR)/$(SED_SOURCE):
 sed-source: $(DL_DIR)/$(SED_SOURCE)
 
 
+#############################################################
+#
+# build sed for use on the host system
+#
+#############################################################
+$(SED_DIR1)/.unpacked: $(DL_DIR)/$(SED_SOURCE)
+       mkdir -p $(TOOL_BUILD_DIR)
+       mkdir -p $(STAGING_DIR)/bin;
+       $(SED_CAT) $(DL_DIR)/$(SED_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -
+       touch $(SED_DIR1)/.unpacked
+
+$(SED_DIR1)/.configured: $(SED_DIR1)/.unpacked
+       (cd $(SED_DIR1); rm -rf config.cache; \
+               ./configure \
+               --prefix=$(STAGING_DIR) \
+               --prefix=/usr \
+       );
+       touch  $(SED_DIR1)/.configured
+
+$(SED_DIR1)/$(SED_BINARY): $(SED_DIR1)/.configured
+       $(MAKE) -C $(SED_DIR1)
+
+# This stuff is needed to work around GNU make deficiencies
+build-sed-host-binary: $(SED_DIR1)/$(SED_BINARY)
+       @if [ -L $(STAGING_DIR)/$(SED_TARGET_BINARY) ] ; then \
+               rm -f $(STAGING_DIR)/$(SED_TARGET_BINARY); fi;
+       @if [ ! -f $(STAGING_DIR)/$(SED_TARGET_BINARY) -o $(STAGING_DIR)/$(SED_TARGET_BINARY) \
+       -ot $(SED_DIR1)/$(SED_BINARY) ] ; then \
+           set -x; \
+           mkdir -p $(STAGING_DIR)/bin; \
+           $(MAKE) DESTDIR=$(STAGING_DIR) -C $(SED_DIR1) install; \
+           mv $(STAGING_DIR)/usr/bin/sed $(STAGING_DIR)/bin/; \
+           rm -rf $(STAGING_DIR)/share/locale $(STAGING_DIR)/usr/info \
+                   $(STAGING_DIR)/usr/man $(STAGING_DIR)/usr/share/doc; fi
+
+use-sed-host-binary:
+       @if [ -x /usr/bin/sed ]; then SED="/usr/bin/sed"; else \
+           if [ -x /bin/sed ]; then SED="/bin/sed"; fi; fi; \
+           mkdir -p $(STAGING_DIR)/bin; \
+           rm -f $(STAGING_DIR)/$(SED_TARGET_BINARY); \
+           ln -s $$SED $(STAGING_DIR)/$(SED_TARGET_BINARY)
+
+host-sed: $(HOST_SED_TARGET)
+
+host-sed-clean:
+       $(MAKE) DESTDIR=$(STAGING_DIR) -C $(SED_DIR1) uninstall
+       -$(MAKE) -C $(SED_DIR1) clean
+
+host-sed-dirclean:
+       rm -rf $(SED_DIR1)
+
+
 #############################################################
 #
 # build sed for use on the target system
 #
 #############################################################
-$(SED_DIR)/.unpacked: $(DL_DIR)/$(SED_SOURCE)
+$(SED_DIR2)/.unpacked: $(DL_DIR)/$(SED_SOURCE)
        $(SED_CAT) $(DL_DIR)/$(SED_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       touch $(SED_DIR)/.unpacked
+       touch $(SED_DIR2)/.unpacked
 
-$(SED_DIR)/.configured: $(SED_DIR)/.unpacked
-       (cd $(SED_DIR); rm -rf config.cache; \
+$(SED_DIR2)/.configured: $(SED_DIR2)/.unpacked
+       (cd $(SED_DIR2); rm -rf config.cache; \
                $(TARGET_CONFIGURE_OPTS) \
                CFLAGS="$(TARGET_CFLAGS)" \
                CPPFLAGS="$(SED_CFLAGS)" \
@@ -53,20 +106,20 @@ $(SED_DIR)/.configured: $(SED_DIR)/.unpacked
                --infodir=/usr/info \
                $(DISABLE_NLS) \
        );
-       touch  $(SED_DIR)/.configured
+       touch  $(SED_DIR2)/.configured
 
-$(SED_DIR)/$(SED_BINARY): $(SED_DIR)/.configured
-       $(MAKE) CC=$(TARGET_CC) -C $(SED_DIR)
+$(SED_DIR2)/$(SED_BINARY): $(SED_DIR2)/.configured
+       $(MAKE) CC=$(TARGET_CC) -C $(SED_DIR2)
 
 # This stuff is needed to work around GNU make deficiencies
-sed-target_binary: $(SED_DIR)/$(SED_BINARY)
+sed-target_binary: $(SED_DIR2)/$(SED_BINARY)
        @if [ -L $(TARGET_DIR)/$(SED_TARGET_BINARY) ] ; then \
                rm -f $(TARGET_DIR)/$(SED_TARGET_BINARY); fi;
 
-       @if [ ! -f $(SED_DIR)/$(SED_BINARY) -o $(TARGET_DIR)/$(SED_TARGET_BINARY) \
-       -ot $(SED_DIR)/$(SED_BINARY) ] ; then \
+       @if [ ! -f $(SED_DIR2)/$(SED_BINARY) -o $(TARGET_DIR)/$(SED_TARGET_BINARY) \
+       -ot $(SED_DIR2)/$(SED_BINARY) ] ; then \
            set -x; \
-           $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(SED_DIR) install; \
+           $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(SED_DIR2) install; \
            mv $(TARGET_DIR)/usr/bin/sed $(TARGET_DIR)/bin/; \
            rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
                    $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc; fi
@@ -74,10 +127,10 @@ sed-target_binary: $(SED_DIR)/$(SED_BINARY)
 sed: uclibc sed-target_binary
 
 sed-clean:
-       $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(SED_DIR) uninstall
-       -$(MAKE) -C $(SED_DIR) clean
+       $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(SED_DIR2) uninstall
+       -$(MAKE) -C $(SED_DIR2) clean
 
 sed-dirclean:
-       rm -rf $(SED_DIR)
+       rm -rf $(SED_DIR2)
 
 
diff --git a/package/sed/sedcheck.sh b/package/sed/sedcheck.sh
new file mode 100755 (executable)
index 0000000..4d645b6
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+if [ -x /usr/bin/sed ]; then 
+    SED="/usr/bin/sed";
+else
+    if [ -x /bin/sed ]; then 
+       SED="/bin/sed";
+    fi;
+fi;
+
+echo "HELLO" > .sedtest
+$SED -i -e "s/HELLO/GOODBYE/" .sedtest >/dev/null 2>&1
+
+if [ $? != 0 ] ; then
+       echo build-sed-host-binary
+else
+       echo use-sed-host-binary
+fi;
+rm -f .sedtest
+
+
diff --git a/package/squashfsroot/squashfsroot.mk b/package/squashfsroot/squashfsroot.mk
deleted file mode 100644 (file)
index 523d5e2..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#############################################################
-#
-# mksquashfs to build to target squashfs filesystems
-#
-#############################################################
-SQUASHFS_DIR=$(BUILD_DIR)/squashfs1.3r3
-SQUASHFS_SOURCE=squashfs1.3r3.tar.gz
-SQUASHFS_SITE=http://aleron.dl.sourceforge.net/sourceforge/squashfs
-
-$(DL_DIR)/$(SQUASHFS_SOURCE):
-        $(WGET) -P $(DL_DIR) $(SQUASHFS_SITE)/$(SQUASHFS_SOURCE)
-
-$(SQUASHFS_DIR): $(DL_DIR)/$(SQUASHFS_SOURCE) #$(SQUASHFS_PATCH)
-       zcat $(DL_DIR)/$(SQUASHFS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       $(SOURCE_DIR)/patch-kernel.sh $(SQUASHFS_DIR) $(SOURCE_DIR) squashfs.patch
-
-$(SQUASHFS_DIR)/squashfs-tools/mksquashfs: $(SQUASHFS_DIR)
-       $(MAKE) -C $(SQUASHFS_DIR)/squashfs-tools;
-
-squashfs: $(SQUASHFS_DIR)/squashfs-tools/mksquashfs
-
-squashfs-source: $(DL_DIR)/$(SQUASHFS_SOURCE)
-
-squashfs-clean:
-       -$(MAKE) -C $(SQUASHFS_DIR)/squashfs-tools clean
-
-squashfs-dirclean:
-       rm -rf $(SQUASHFS_DIR)
-
-#############################################################
-#
-# Build the squashfs root filesystem image
-#
-#############################################################
-
-squashfsroot: squashfs
-       #-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true;
-       -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
-       @rm -rf $(TARGET_DIR)/usr/man
-       @rm -rf $(TARGET_DIR)/usr/info
-       #$(SQUASHFS_DIR)/squashfs-tools/mksquashfs -q -D $(SOURCE_DIR)/device_table.txt $(TARGET_DIR) $(IMAGE)
-       $(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) $(IMAGE) -noappend -root-owned
-
-squashfsroot-source: squashfs-source
-
-squashfsroot-clean:
-       -$(MAKE) -C $(SQUASHFS_DIR) clean
-
-squashfsroot-dirclean:
-       rm -rf $(SQUASHFS_DIR)
-
diff --git a/package/tinyx/tinyx-011010.patch b/package/tinyx/tinyx-011010.patch
new file mode 100644 (file)
index 0000000..3040b3d
--- /dev/null
@@ -0,0 +1,173 @@
+diff -Nur --exclude=CVS xc-011010.src/include/extensions/lbxstr.h xc-011010/include/extensions/lbxstr.h
+--- xc-011010.src/include/extensions/lbxstr.h  Tue Jul 31 20:44:35 2001
++++ xc-011010/include/extensions/lbxstr.h      Sun Apr 21 12:35:05 2002
+@@ -25,7 +25,7 @@
+ #ifndef _LBXSTR_H_
+ #define _LBXSTR_H_
+-#include <X11/extensions/XLbx.h>
++#include "XLbx.h"
+ #define LBXNAME "LBX"
+diff -Nur --exclude=CVS xc-011010.src/programs/Xserver/hw/kdrive/fbdev/fbdev.h xc-011010/programs/Xserver/hw/kdrive/fbdev/fbdev.h
+--- xc-011010.src/programs/Xserver/hw/kdrive/fbdev/fbdev.h     Sun Jun  3 17:52:45 2001
++++ xc-011010/programs/Xserver/hw/kdrive/fbdev/fbdev.h Sun Apr 21 12:36:25 2002
+@@ -29,6 +29,7 @@
+ #include <linux/fb.h>
+ #include <unistd.h>
+ #include <sys/mman.h>
++#include <sys/types.h>
+ #include "kdrive.h"
+ #include "layer.h"
+
+diff -Nur xc-011010.src2/lib/X11/Xlib.h xc-011010/lib/X11/Xlib.h
+--- xc-011010.src/programs/Xserver/hw/kdrive/linux/ts.c        Tue Jul 10 22:58:19 2001
++++ xc-011010/programs/Xserver/hw/kdrive/linux/ts.c    Tue Apr 23 20:16:23 2002
+@@ -33,65 +33,48 @@
+ #include "kdrive.h"
+ #include "Xpoll.h"
+ #include <sys/ioctl.h>
+-#include <linux/h3600_ts.h>   /* touch screen events */
++
++typedef struct {
++  unsigned short          pressure;
++  unsigned short          x;
++  unsigned short          y;
++  unsigned short          pad;
++  struct timeval  stamp;
++} TS_EVENT;
+ static long lastx = 0, lasty = 0;
+ int TsScreen;
+ extern int TsFbdev;
+-void
+-TsRead (int tsPort, void *closure)
+-{
+-    TS_EVENT      event;
+-    long          buf[3];
+-    int                   n;
+-    long          pressure;
+-    long          x, y;
+-    unsigned long   flags;
+-    unsigned long   buttons;
+-
+-    n = Ps2ReadBytes (tsPort, (char *) &event, 
+-                       sizeof (event), sizeof (event));
+-    if (n == sizeof (event))  
+-    {
+-      if (event.pressure) 
+-      {
+-          /* 
+-           * HACK ATTACK.  (static global variables used !)
+-           * Here we test for the touch screen driver actually being on the
+-           * touch screen, if it is we send absolute coordinates. If not,
+-           * then we send delta's so that we can track the entire vga screen.
+-           */
+-          if (TsScreen == TsFbdev) {
+-              flags = KD_BUTTON_1;
+-              x = event.x;
+-              y = event.y;
+-          } else {
+-              flags = /* KD_BUTTON_1 |*/ KD_MOUSE_DELTA;
+-              if ((lastx == 0) || (lasty == 0)) {
+-                  x = 0;
+-                  y = 0;
+-              } else {
+-                  x = event.x - lastx;
+-                  y = event.y - lasty;
+-              }
+-              lastx = event.x;
+-              lasty = event.y;
+-          }
+-      } else {
+-          flags = KD_MOUSE_DELTA;
+-          x = 0;
+-          y = 0;
+-          lastx = 0;
+-          lasty = 0;
+-      }
+-      KdEnqueueMouseEvent (flags, x, y);
++void TsRead (int tsPort, void *closure) {
++  TS_EVENT        event;
++  long            buf[3];
++  int             n;
++  long            pressure;
++  long            x, y;
++  unsigned long   flags;
++  unsigned long   buttons;
++
++  n = Ps2ReadBytes(tsPort, (char *) &event, sizeof (event), sizeof (event));
++  if (n >= sizeof (event)) {
++    if (event.pressure >= 100) {
++      flags = KD_BUTTON_1;
++      x = (960 - event.x) * 640 / (920);
++      y = (960 - event.y) * 480 / (920);
++      //ErrorF("flags %d x %d y %dn",flags,event.x,event.y);
++    }
++    else {
++      flags = KD_MOUSE_DELTA;
++      x = lastx;
++      y = lasty;
+     }
++    KdEnqueueMouseEvent(flags, x, y);
++  }
+ }
+ char  *TsNames[] = {
+-  "/dev/ts",  
+-  "/dev/h3600_ts" /* temporary name; note this code can try
++  "/dev/ucb1x00-ts",
++  "/dev/ts" /* temporary name; note this code can try
+                          to open more than one device */
+ };
+@@ -99,9 +82,7 @@
+ int TsInputType;
+-int
+-TsInit (void)
+-{
++int TsInit (void) {
+     int           i;
+     int           TsPort;
+diff -Nur xc-011010.src/startx xc-011010/startx
+--- ../../buildroot-tux.Apr25-1/build/xc-011010.src/startx     Thu Apr 25 05:20:35 2002
++++ xc-011010/startx   Sun Apr 28 05:35:35 2002
+@@ -0,0 +1,11 @@
++#!/bin/sh
++killall Xfbdev
++sleep 1
++export DISPLAY=":0"
++/usr/X11R6/bin/Xfbdev -ac &
++sleep 4
++/usr/X11R6/bin/matchbox &
++sleep 1
++/usr/X11R6/bin/minisys &
++/usr/X11R6/bin/minitime &
++/usr/X11R6/bin/rxvt &
+diff -Nur xc-011010.src/lib/Xft/xftgram.y xc-011010/lib/Xft/xftgram.y
+--- ../../buildroot-tux.Apr25-1/build/xc-011010/lib/Xft/xftgram.y      Thu Apr 25 05:20:35 2002
++++ xc-011010/lib/Xft/xftgram.y        Sun Apr 28 05:35:35 2002
+@@ -165,6 +165,7 @@
+                   matrix.yx = $4;
+                   matrix.__REALLY_YY__ = $5;
+               }
++      ;
+ number        :   INTEGER
+               { $$ = (double) $1; }
+       |   DOUBLE
+diff -Nur xc-011010.src/programs/twm/gram.y xc-011010/programs/twm/gram.y
+--- ../../buildroot-tux.Apr25-1/build/xc-011010/programs/twm/gram.y    Thu Apr 25 05:20:35 2002
++++ xc-011010/programs/twm/gram.y      Sun Apr 28 05:35:35 2002
+@@ -650,6 +650,7 @@
+                                         RemoveDQuote(ptr);
+                                         $$ = ptr;
+                                       }
++              ;
+ number                : NUMBER                { $$ = $1; }
+               ;
index 1455ae6d8b1cb670ca1b35cfdad338101aa5a2d8..a891b8a411fe2985753d76caf8539ce277d6c3f6 100644 (file)
@@ -43,7 +43,6 @@ TINYX_LIBS:=ICE X11 Xext Xpm
 TINYX_DIR:=$(BUILD_DIR)/xc-011010
 TINYX_LDIR:=$(TINYX_DIR)/lib
 TINYX_PROGS:=$(TINYX_DIR)/programs
-TINYX_PATCH:=$(SOURCE_DIR)/tinyx-011010.patch
 TINYX_SOURCE:=xc-011010.tar.bz2
 TINYX_SITE:= http://intimate.handhelds.org/jacques/
 TINYX_CF:=$(TINYX_DIR)/config/cf
@@ -72,7 +71,7 @@ $(DL_DIR)/host.def:
 #
 $(TINYX_DIR)/.configure: $(DL_DIR)/$(TINYX_SOURCE) $(DL_DIR)/cross.def $(DL_DIR)/host.def
        $(TINYX_CAT) $(DL_DIR)/$(TINYX_SOURCE) | tar -C $(BUILD_DIR) -xvf -
-       cat $(TINYX_PATCH) | patch -d $(TINYX_DIR) -p1
+       toolchain/patch-kernel.sh $(TINYX_DIR) package/tinyx/ tinyx*.patch
        cp $(DL_DIR)/host.def $(TINYX_CF)/host.def
        cp $(DL_DIR)/cross.def $(TINYX_CF)/cross.def
        $(SED) 's,arm-uclibc-,$(ARCH)-linux-uclibc-,g' $(TINYX_CF)/cross.def
index 1cc828bcdc734c96757897dad63dd257fee1029e..82c0309d5c0560ffc3df3ee28ee8abf6136f2bc9 100644 (file)
@@ -20,7 +20,7 @@ $(DL_DIR)/$(UTIL-LINUX_PATCH):
 $(UTIL-LINUX_DIR)/.unpacked: $(DL_DIR)/$(UTIL-LINUX_SOURCE) $(DL_DIR)/$(UTIL-LINUX_PATCH)
        $(UTIL-LINUX_CAT) $(DL_DIR)/$(UTIL-LINUX_SOURCE) | tar -C $(BUILD_DIR) -xvf -
        $(UTIL-LINUX_CAT) $(DL_DIR)/$(UTIL-LINUX_PATCH) | patch -p1 -d $(UTIL-LINUX_DIR)
-       cat $(SOURCE_DIR)/util-linux.patch | patch -p1 -d $(UTIL-LINUX_DIR)
+       toolchain/patch-kernel.sh $(UTIL-LINUX_DIR) package/util-linux/ util-linux*.patch
        touch $(UTIL-LINUX_DIR)/.unpacked
 
 $(UTIL-LINUX_DIR)/.configured: $(UTIL-LINUX_DIR)/.unpacked
diff --git a/package/util-linux/util-linux.patch b/package/util-linux/util-linux.patch
new file mode 100644 (file)
index 0000000..601e7dc
--- /dev/null
@@ -0,0 +1,28 @@
+--- util-linux-2.11z/mount/fstab.c.orig        2003-12-03 15:28:22.000000000 -0700
++++ util-linux-2.11z/mount/fstab.c     2003-12-03 15:28:41.000000000 -0700
+@@ -342,7 +342,7 @@
+ /* Ensure that the lock is released if we are interrupted.  */
+ static void
+ handler (int sig) {
+-     die (EX_USER, "%s", sys_siglist[sig]);
++     die (EX_USER, "%s", strsignal(sig));
+ }
+ static void
+--- /dev/null  2003-09-07 01:55:59.000000000 -0600
++++ util-linux-2.11z/mount/swapargs.h  2003-12-03 15:44:50.000000000 -0700
+@@ -0,0 +1,3 @@
++#define SWAPON_HAS_TWO_ARGS
++#include <asm/page.h>
++#include <sys/swap.h>
+--- util-linux-2.11z/mount/swap.configure.orig 2003-12-03 15:43:24.000000000 -0700
++++ util-linux-2.11z/mount/swap.configure      2003-12-03 15:45:33.000000000 -0700
+@@ -1,6 +1,8 @@
+ # Find out whether we can include <sys/swap.h>
+ # and whether libc thinks that swapon() has two arguments.
++exit 0
++
+ # Prepare test
+ CC=${CC-cc}
+ compile="$CC -o conftest conftest.c >/dev/null 2>&1"
index ed295a3cfbcd0be4e4114b19dca790f1f618abe0..698c03437b7d47ab0ac6c9b772015154199d0001 100644 (file)
@@ -7,7 +7,6 @@
 VALGRIND_SITE:=http://developer.kde.org/~sewardj/
 VALGRIND_DIR:=$(BUILD_DIR)/valgrind-2.1.1
 VALGRIND_SOURCE:=valgrind-2.1.1.tar.bz2
-VALGRIND_PATCH:=$(SOURCE_DIR)/valgrind.patch
 
 $(DL_DIR)/$(VALGRIND_SOURCE):
        $(WGET) -P $(DL_DIR) $(VALGRIND_SITE)/$(VALGRIND_SOURCE)
@@ -17,7 +16,7 @@ $(VALGRIND_DIR)/.unpacked: $(DL_DIR)/$(VALGRIND_SOURCE)
        touch  $(VALGRIND_DIR)/.unpacked
 
 $(VALGRIND_DIR)/.patched: $(VALGRIND_DIR)/.unpacked
-       cat $(VALGRIND_PATCH) | patch -d $(VALGRIND_DIR) -p1
+       toolchain/patch-kernel.sh $(VALGRIND_DIR) package/valgrind/ valgrind*.patch
        touch $(VALGRIND_DIR)/.patched
 
 $(VALGRIND_DIR)/.configured: $(VALGRIND_DIR)/.patched
diff --git a/package/valgrind/valgrind.patch b/package/valgrind/valgrind.patch
new file mode 100644 (file)
index 0000000..d0946bd
--- /dev/null
@@ -0,0 +1,115 @@
+--- valgrind-2.1.1.orig/coregrind/vg_syscalls.c        2004-02-24 17:07:10.000000000 -0700
++++ valgrind-2.1.1/coregrind/vg_syscalls.c     2004-04-16 18:13:11.000000000 -0600
+@@ -3231,6 +3245,93 @@
+    case CDROM_CLEAR_OPTIONS: /* 0x5321 */
+       break;
++      /* Stuff added by Erik Andersen for general device probing/handling */
++#define BLKSSZGET  _IO(0x12,104)
++   case BLKSSZGET:
++      SYSCALL_TRACK( pre_mem_write, tid, "ioctl(BLKSSZGET)", arg3,
++            sizeof(int));
++      break;
++#undef _IOR
++#define _IOR(type,nr,size)      _IOC(_IOC_READ,(type),(nr),sizeof(size))
++#define BLKGETSIZE64 _IOR(0x12,114,sizeof(uint64_t))
++   case BLKGETSIZE64:
++      SYSCALL_TRACK( pre_mem_write, tid, "ioctl(BLKGETSIZE64)", arg3,
++            sizeof(uint64_t));
++      break;
++#define HDIO_GETGEO             0x0301  /* get device geometry */
++   case HDIO_GETGEO:
++      {
++        struct hd_geometry {
++            unsigned char heads;
++            unsigned char sectors;
++            unsigned short cylinders;
++            unsigned long start;
++        };
++
++        SYSCALL_TRACK( pre_mem_write, tid, "ioctl(HDIO_GETGEO)", arg3,
++                sizeof(struct hd_geometry));
++      }
++      break;
++#define HDIO_GET_IDENTITY     0x030d  /* get IDE identification info */
++#define struct_hd_driveid_size        256     /* ATA6 specifies words 0-255 */
++   case HDIO_GET_IDENTITY:
++      SYSCALL_TRACK( pre_mem_write, tid, "ioctl(HDIO_GET_IDENTITY)", arg3,
++            struct_hd_driveid_size);
++      break;
++#define SCSI_IOCTL_GET_IDLUN 0x5382
++   case SCSI_IOCTL_GET_IDLUN:
++      {
++        struct scsi_idlun
++        {
++            int mux4;
++            int host_unique_id;
++
++        };
++
++        SYSCALL_TRACK( pre_mem_write, tid, "ioctl(SCSI_IOCTL_GET_IDLUN)", arg3,
++                sizeof(struct scsi_idlun));
++      }
++      break;
++#define SCSI_IOCTL_SEND_COMMAND 1
++   case SCSI_IOCTL_SEND_COMMAND:
++      SYSCALL_TRACK( pre_mem_write, tid, "ioctl(SCSI_IOCTL_SEND_COMMAND)", arg3,
++            ((2 * sizeof(unsigned int)) + 6 + 512));
++      break;
++#define SCSI_IOCTL_GET_BUS_NUMBER 0x5386
++   case SCSI_IOCTL_GET_BUS_NUMBER:
++      SYSCALL_TRACK( pre_mem_write, tid, "ioctl(SCSI_IOCTL_GET_BUS_NUMBER)", arg3,
++            sizeof(int));
++      break;
++#define SCSI_IOCTL_PROBE_HOST 0x5385
++   case SCSI_IOCTL_PROBE_HOST:
++      {
++        int xxxx;
++        char *array = (char*)arg3;
++        xxxx = array[0] + (array[1]<<8) + (array[2]<<16) + (array[3]<<24);
++        SYSCALL_TRACK( pre_mem_write, tid, "ioctl(SCSI_IOCTL_PROBE_HOST)", arg3,
++                sizeof(int));
++      }
++      break;
++#define BLKFLSBUF  _IO(0x12,97)
++   case BLKFLSBUF:
++      break;
++#define BLKRRPART  _IO(0x12,95)
++   case BLKRRPART:
++      break;
++#define MTIOCTOP  _IO(0x6d,0x1)
++   case MTIOCTOP:
++      {
++        struct mtop
++        {
++            short int mt_op;          /* Operations defined below.  */
++            int mt_count;             /* How many of them.  */
++        };
++        SYSCALL_TRACK( pre_mem_write, tid, "ioctl(MTIOCTOP)", arg3, 
++                sizeof(struct mtop));
++      }
++      break;
++
++
+       /* We don't have any specific information on it, so
+        try to do something reasonable based on direction and
+        size bits.  The encoding scheme is described in
+--- valgrind-2.1.1.orig/coregrind/vg_libpthread.c      2004-03-08 08:57:17.000000000 -0700
++++ valgrind-2.1.1/coregrind/vg_libpthread.c   2004-04-16 17:58:31.000000000 -0600
+@@ -3175,6 +3175,8 @@
+    pthread_mutex).  So basically, this is completely broken on recent
+    glibcs. */
++#ifndef __UCLIBC__
++
+ #undef _IO_flockfile
+ void _IO_flockfile ( _IO_FILE * file )
+ {
+@@ -3192,6 +3194,7 @@
+ weak_alias(_IO_funlockfile, funlockfile);
+ #endif
++#endif
+ /* This doesn't seem to be needed to simulate libpthread.so's external
+    interface, but many people complain about its absence. */
index 595a6f82b29502b47d836f5815e5c33b8cfdf3a2..864214783cc958f02d0b80a5bd6f277997238d78 100644 (file)
@@ -12,7 +12,6 @@ VTUN_DIR:=$(BUILD_DIR)/vtun-2.6
 VTUN_CAT:=zcat
 VTUN_BINARY:=vtund
 VTUN_TARGET_BINARY:=usr/sbin/vtund
-VTUN_PATCH:=$(SOURCE_DIR)/vtun.patch
 
 $(DL_DIR)/$(VTUN_SOURCE):
         $(WGET) -P $(DL_DIR) $(VTUN_SITE)/$(VTUN_SOURCE)
@@ -22,7 +21,7 @@ vtun-source: $(DL_DIR)/$(VTUN_SOURCE)
 $(VTUN_DIR)/.unpacked: $(DL_DIR)/$(VTUN_SOURCE)
        $(VTUN_CAT) $(DL_DIR)/$(VTUN_SOURCE) | tar -C $(BUILD_DIR) -xvf -
        mv $(BUILD_DIR)/vtun $(VTUN_DIR)
-       cat $(VTUN_PATCH) | patch -p1 -d $(VTUN_DIR)
+       toolchain/patch-kernel.sh $(VTUN_DIR) package/vtun/ vtun*.patch
        touch $(VTUN_DIR)/.unpacked
 
 $(VTUN_DIR)/.configured: $(VTUN_DIR)/.unpacked zlib lzo openssl
diff --git a/package/vtun/vtun.patch b/package/vtun/vtun.patch
new file mode 100644 (file)
index 0000000..00a1245
--- /dev/null
@@ -0,0 +1,186 @@
+diff -urN vtun/Makefile.in vtun-2.6/Makefile.in
+--- vtun/Makefile.in   2002-12-20 09:55:47.000000000 -0700
++++ vtun-2.6/Makefile.in       2003-06-05 12:38:31.000000000 -0600
+@@ -28,7 +28,7 @@
+ LEXFLAGS = -t 
+ INSTALL = @INSTALL@
+-INSTALL_OWNER = -o root -g 0
++INSTALL_OWNER =
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+@@ -86,15 +86,15 @@
+ install_config: 
+       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(ETC_DIR)
+-      if [ ! -f $(ETC_DIR)/vtund.conf ]; then \
+-        $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR); \
+-      fi
++      $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR);
++      $(INSTALL) -m 600 $(INSTALL_OWNER) scripts/vtund-start.conf $(DESTDIR)$(ETC_DIR);
+ install: vtund install_config install_man
+-      $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(VAR_DIR)/run
+       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(STAT_DIR)
+       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(LOCK_DIR)
+       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(SBIN_DIR)
+       $(INSTALL) -m 755 $(INSTALL_OWNER) vtund $(DESTDIR)$(SBIN_DIR)
++      $(INSTALL) -m 755 $(INSTALL_OWNER) scripts/vtund.rc.debian \
++              $(DESTDIR)$(ETC_DIR)/init.d/S90vtun
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
+diff -urN vtun/scripts/vtund.rc.debian vtun-2.6/scripts/vtund.rc.debian
+--- vtun/scripts/vtund.rc.debian       2000-03-26 10:06:37.000000000 -0700
++++ vtun-2.6/scripts/vtund.rc.debian   2003-06-05 12:38:46.000000000 -0600
+@@ -1,92 +1,48 @@
+-#! /usr/bin/perl -w
++#! /bin/sh
++#
+-### vtund-start
+-###
+-### script to start vtund as either a server or a client, according to
+-### the config file /etc/vtund-start.conf
+-###
+-### Copyright 1999 Craig Sanders <cas@taz.net.au>
+-###
+-### Written for the Debian GNU/Linux distribution.  This script is free
+-### software licensed under the terms of the GNU General Public License.
+-
+-$DAEMON="/usr/sbin/vtund" ;
+-
+-$do_what = shift ;
+-$args="start|stop|reload|force-reload|restart" ;
+-if ( $do_what !~ /^($args)$/i ) {
+-    print "Usage: /etc/init.d/vtun {$args}\n" ;
+-        exit 0 ;
+-}
+-
+-$SSD="/sbin/start-stop-daemon" ;
+-$SSDARGS="--verbose --exec $DAEMON" ;
+-
+-$sconf="/etc/vtund-start.conf" ;
+-open(SCONF,"<$sconf") || die "couldn't open $sconf: $!\n" ;
+-while (<SCONF>) {
+-        chomp ;
+-        s/#.*//;
+-        s/^ +| +$//;
+-        next if (/^$/) ;
+-
+-        @line = split ;
+-        $host = shift(@line) ;
+-        $server = shift(@line) ;
+-        $args = "" ;
+-        foreach (@line) { $args .= " $_" } ;
+-
+-        $host='' if ($host =~ /--server--/i ) ;
+-
+-        if ( $do_what eq 'start' ) {
+-                &start($host,$server,$args) ;
+-        } elsif ( $do_what eq 'stop' ) {
+-                &stop($host,$server,$args) ;
+-        } elsif ( $do_what eq 'restart' ) {
+-                &stop($pidfile) ;
+-                &start($host,$server,$args) ;
+-        } elsif ( $do_what =~ /^(reload|force-reload)$/ ) {
+-                &reload($host,$server) ;
+-        }
+-}
+-close (SCONF);
+-
+-
+-sub start {
+-        my($host,$server,$args) = @_ ;
+-    print "  Starting vtun " ;
+-        if ($host eq '') {
+-                print "server\n" ;
+-        system "$SSD --start $SSDARGS -- $args -s -P $server" ;
+-        } else {
+-                print "client $host to $server\n" ;
+-                $pidfile="/var/run/vtun.$host.$server" ;
+-        system "$SSD --start $SSDARGS --pidfile $pidfile -- $args $host $server" ;
+-        }
+-} ;
+-
+-sub stop {
+-        my($host,$server,$args) = @_ ;
+-    print "  Stopping vtun " ;
+-        if ($host eq '') {
+-                print "server\n" ;
+-        system "$SSD --stop $SSDARGS" ;
+-        } else {
+-                print "client $host to $server\n" ;
+-                $pidfile="/var/run/vtun.$host.$server" ;
+-        system "$SSD --stop $SSDARGS --pidfile $pidfile" ;
+-        }
+-} ;
+-
+-sub reload {
+-        my($host,$server) = @_ ;
+-    print "  Reloading vtun " ;
+-        if ($host eq '') {
+-                print "server\n" ;
+-        system "$SSD --stop $SSDARGS --signal 1" ;
+-        } else {
+-                print "client $host to $server\n" ;
+-                $pidfile="/var/run/vtun.$host.$server" ;
+-        system "$SSD --stop $SSDARGS --signal 1 --pidfile $pidfile" ;
+-        }
+-}
++PATH=/bin:/usr/bin:/sbin:/usr/sbin
++DAEMON=/usr/sbin/vtund
++CONFFILE=/etc/vtund-start.conf
++PIDPREFIX=/var/run/vtund
++  
++test -f $DAEMON || exit 0
++  
++case "$1" in 
++       start)
++      # find all the defined tunnels
++      egrep -v '^[:space:]*(#.*)?$' $CONFFILE | while true;
++      do
++          read i
++          # no more lines available? done, then.
++          if [ $? != 0 ] ; then break; fi
++              SARGS=`echo $i|sed -ne 's/--server--\s*/-s -P /p'`;
++              if [ -n "$SARGS" ];
++              then
++                 echo "Starting vtund server."
++                  start-stop-daemon -S -x $DAEMON -- $SARGS;
++              else
++                  # split args into host and rest
++                  HOST=`echo $i|cut -f 1 -d " "`;
++                  TARGET=`echo $i|cut -f 2 -d " "`;
++                  echo  "Starting vtund client $HOST to $TARGET.";
++                  start-stop-daemon -S -x $DAEMON -- $i;
++              fi
++          done
++              ;;
++       stop) 
++         echo "Stopping vtund.";
++         start-stop-daemon -K -x vtund;
++         ;;
++
++       restart|reload|force-reload) 
++         $0 stop
++         sleep 1;
++         $0 start
++         ;;
++   *)
++      echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
++       exit 1
++               ;;
++esac
++exit 0
+--- vtun-2.6/configure.dist    2004-03-11 10:39:10.000000000 -0600
++++ vtun-2.6/configure 2004-03-11 10:45:52.000000000 -0600
+@@ -2112,7 +2112,7 @@
+     echo $ac_n "checking "for blowfish.h"""... $ac_c" 1>&6
+ echo "configure:2114: checking "for blowfish.h"" >&5 
+     ac_hdr_found=no
+-    for p in $BLOWFISH_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include  /usr/include/crypto; do
++    for p in $BLOWFISH_HDR_DIR $SSL_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include  /usr/include/crypto; do
+       if test -n "$p"; then
+         dir="$p"
+       else
diff --git a/sources/boa-config.site-i386 b/sources/boa-config.site-i386
deleted file mode 100644 (file)
index 425d948..0000000
+++ /dev/null
@@ -1 +0,0 @@
-ac_cv_func_setvbuf_reversed=no
diff --git a/sources/boa.conf b/sources/boa.conf
deleted file mode 100644 (file)
index ccb9563..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-# Boa v0.94 configuration file
-# File format has not changed from 0.93
-# File format has changed little from 0.92
-# version changes are noted in the comments
-#
-# The Boa configuration file is parsed with a lex/yacc or flex/bison
-# generated parser.  If it reports an error, the line number will be
-# provided; it should be easy to spot.  The syntax of each of these
-# rules is very simple, and they can occur in any order.  Where possible
-# these directives mimic those of NCSA httpd 1.3; I saw no reason to 
-# introduce gratuitous differences.
-
-# $Id: boa.conf,v 1.1 2001/12/22 00:56:12 andersen Exp $
-
-# The "ServerRoot" is not in this configuration file.  It can be compiled
-# into the server (see defines.h) or specified on the command line with
-# the -c option, for example:
-#
-# boa -c /usr/local/boa
-
-
-# Port: The port Boa runs on.  The default port for http servers is 80.
-# If it is less than 1024, the server must be started as root.
-
-Port 80
-
-# Listen: the Internet address to bind(2) to.  If you leave it out,
-# it takes the behavior before 0.93.17.2, which is to bind to all
-# addresses (INADDR_ANY).  You only get one "Listen" directive,
-# if you want service on multiple IP addresses, you have three choices:
-#    1. Run boa without a "Listen" directive
-#       a. All addresses are treated the same; makes sense if the addresses
-#          are localhost, ppp, and eth0.
-#       b. Use the VirtualHost directive below to point requests to different
-#          files.  Should be good for a very large number of addresses (web
-#          hosting clients).
-#    2. Run one copy of boa per IP address, each has its own configuration
-#       with a "Listen" directive.  No big deal up to a few tens of addresses.
-#       Nice separation between clients.
-# The name you provide gets run through inet_aton(3), so you have to use dotted
-# quad notation.  This configuration is too important to trust some DNS.
-
-#Listen 192.68.0.5
-
-#  User: The name or UID the server should run as.
-# Group: The group name or GID the server should run as.
-
-User nobody
-Group nobody
-
-# ServerAdmin: The email address where server problems should be sent.
-# Note: this is not currently used, except as an environment variable
-# for CGIs.
-
-#ServerAdmin root@localhost
-
-# ErrorLog: The location of the error log file. If this does not start
-# with /, it is considered relative to the server root.
-# Set to /dev/null if you don't want errors logged.
-# If unset, defaults to /dev/stderr
-
-ErrorLog /var/log/boa/error_log
-# Please NOTE: Sending the logs to a pipe ('|'), as shown below,
-#  is somewhat experimental and might fail under heavy load.
-# "Usual libc implementations of printf will stall the whole
-#  process if the receiving end of a pipe stops reading."
-#ErrorLog "|/usr/sbin/cronolog --symlink=/var/log/boa/error_log /var/log/boa/error-%Y%m%d.log"
-
-# AccessLog: The location of the access log file. If this does not
-# start with /, it is considered relative to the server root.
-# Comment out or set to /dev/null (less effective) to disable 
-# Access logging.
-
-AccessLog /var/log/boa/access_log
-# Please NOTE: Sending the logs to a pipe ('|'), as shown below,
-#  is somewhat experimental and might fail under heavy load.
-# "Usual libc implementations of printf will stall the whole
-#  process if the receiving end of a pipe stops reading."
-#AccessLog  "|/usr/sbin/cronolog --symlink=/var/log/boa/access_log /var/log/boa/access-%Y%m%d.log"
-
-# UseLocaltime: Logical switch.  Uncomment to use localtime 
-# instead of UTC time
-#UseLocaltime
-
-# VerboseCGILogs: this is just a logical switch.
-#  It simply notes the start and stop times of cgis in the error log
-# Comment out to disable.
-
-#VerboseCGILogs
-
-# ServerName: the name of this server that should be sent back to 
-# clients if different than that returned by gethostname + gethostbyname 
-
-#ServerName www.your.org.here
-
-# VirtualHost: a logical switch.
-# Comment out to disable.
-# Given DocumentRoot /var/www, requests on interface 'A' or IP 'IP-A'
-# become /var/www/IP-A.
-# Example: http://localhost/ becomes /var/www/127.0.0.1
-#
-# Not used until version 0.93.17.2.  This "feature" also breaks commonlog
-# output rules, it prepends the interface number to each access_log line.
-# You are expected to fix that problem with a postprocessing script.
-
-#VirtualHost 
-
-# DocumentRoot: The root directory of the HTML documents.
-# Comment out to disable server non user files.
-
-DocumentRoot /var/www
-
-# UserDir: The name of the directory which is appended onto a user's home
-# directory if a ~user request is recieved.
-
-UserDir public_html
-
-# DirectoryIndex: Name of the file to use as a pre-written HTML
-# directory index.  Please MAKE AND USE THESE FILES.  On the
-# fly creation of directory indexes can be _slow_.
-# Comment out to always use DirectoryMaker
-
-DirectoryIndex index.html
-
-# DirectoryMaker: Name of program used to create a directory listing.
-# Comment out to disable directory listings.  If both this and
-# DirectoryIndex are commented out, accessing a directory will give
-# an error (though accessing files in the directory are still ok).
-
-DirectoryMaker /usr/lib/boa/boa_indexer
-
-# DirectoryCache: If DirectoryIndex doesn't exist, and DirectoryMaker
-# has been commented out, the the on-the-fly indexing of Boa can be used
-# to generate indexes of directories. Be warned that the output is 
-# extremely minimal and can cause delays when slow disks are used.
-# Note: The DirectoryCache must be writable by the same user/group that 
-# Boa runs as.
-
-# DirectoryCache /var/spool/boa/dircache
-
-# KeepAliveMax: Number of KeepAlive requests to allow per connection
-# Comment out, or set to 0 to disable keepalive processing
-
-KeepAliveMax 1000
-
-# KeepAliveTimeout: seconds to wait before keepalive connection times out
-
-KeepAliveTimeout 10
-
-# MimeTypes: This is the file that is used to generate mime type pairs
-# and Content-Type fields for boa.
-# Set to /dev/null if you do not want to load a mime types file.
-# Do *not* comment out (better use AddType!)
-
-MimeTypes /etc/mime.types
-
-# DefaultType: MIME type used if the file extension is unknown, or there
-# is no file extension.
-
-DefaultType text/plain
-
-# AddType: adds types without editing mime.types
-# Example: AddType type extension [extension ...]
-
-# Uncomment the next line if you want .cgi files to execute from anywhere
-#AddType application/x-httpd-cgi cgi
-
-# Redirect, Alias, and ScriptAlias all have the same semantics -- they
-# match the beginning of a request and take appropriate action.  Use
-# Redirect for other servers, Alias for the same server, and ScriptAlias
-# to enable directories for script execution.
-
-# Redirect allows you to tell clients about documents which used to exist in
-# your server's namespace, but do not anymore. This allows you to tell the
-# clients where to look for the relocated document.
-# Example: Redirect /bar http://elsewhere/feh/bar
-
-# Aliases: Aliases one path to another.
-# Example: Alias /path1/bar /path2/foo
-
-# Alias /doc /usr/doc
-
-# ScriptAlias: Maps a virtual path to a directory for serving scripts
-# Example: ScriptAlias /htbin/ /www/htbin/
-
-ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
-
diff --git a/sources/bridge.patch b/sources/bridge.patch
deleted file mode 100644 (file)
index f447377..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- bridge-utils-0.9.6/libbridge/Makefile.in.dist      2004-03-01 20:55:52.000000000 -0600
-+++ bridge-utils-0.9.6/libbridge/Makefile.in   2004-03-01 20:56:23.000000000 -0600
-@@ -5,7 +5,7 @@
- RANLIB=@RANLIB@
- CC=@CC@
--CFLAGS = -Wall -g $(KERNEL_HEADERS)
-+CFLAGS = -Wall -g @CFLAGS@ $(KERNEL_HEADERS)
- prefix=@prefix@
- exec_prefix=@exec_prefix@
diff --git a/sources/cramfs.patch b/sources/cramfs.patch
deleted file mode 100644 (file)
index 884eb8c..0000000
+++ /dev/null
@@ -1,1269 +0,0 @@
---- cramfs-1.1.orig/cramfsck.c 2002-02-22 17:00:42.000000000 -0700
-+++ cramfs-1.1/cramfsck.c      2002-12-21 01:25:17.000000000 -0700
-@@ -51,10 +51,11 @@
- #include <utime.h>
- #include <sys/ioctl.h>
- #define _LINUX_STRING_H_
--#include <linux/fs.h>
--#include <linux/cramfs_fs.h>
-+#include "linux/cramfs_fs.h"
- #include <zlib.h>
-+#define BLKGETSIZE    _IO(0x12,96) /* return device size /512 (long *arg) */
-+
- /* Exit codes used by fsck-type programs */
- #define FSCK_OK          0    /* No errors */
- #define FSCK_NONDESTRUCT 1    /* File system errors corrected */
-@@ -75,7 +76,7 @@
- static int opt_verbose = 0;   /* 1 = verbose (-v), 2+ = very verbose (-vv) */
- #ifdef INCLUDE_FS_TESTS
- static int opt_extract = 0;           /* extract cramfs (-x) */
--static char *extract_dir = "root";    /* extraction directory (-x) */
-+static char *extract_dir = "/";       /* extraction directory (-x) */
- static uid_t euid;                    /* effective UID */
- /* (cramfs_super + start) <= start_dir < end_dir <= start_data <= end_data */
-@@ -155,7 +156,7 @@
-       }
-       if (*length < sizeof(struct cramfs_super)) {
--              die(FSCK_UNCORRECTED, 0, "file length too short");
-+              die(FSCK_UNCORRECTED, 0, "filesystem smaller than a cramfs superblock!");
-       }
-       /* find superblock */
-@@ -190,7 +191,8 @@
-                       die(FSCK_UNCORRECTED, 0, "zero file count");
-               }
-               if (*length < super.size) {
--                      die(FSCK_UNCORRECTED, 0, "file length too short");
-+                      die(FSCK_UNCORRECTED, 0, "file length too short, %lu is smaller than %lu",
-+                              *length, super.size);
-               }
-               else if (*length > super.size) {
-                       fprintf(stderr, "warning: file extends past end of filesystem\n");
-@@ -267,11 +269,11 @@
- #ifdef INCLUDE_FS_TESTS
- static void print_node(char type, struct cramfs_inode *i, char *name)
- {
--      char info[10];
-+      char info[11];
-       if (S_ISCHR(i->mode) || (S_ISBLK(i->mode))) {
-               /* major/minor numbers can be as high as 2^12 or 4096 */
--              snprintf(info, 10, "%4d,%4d", major(i->size), minor(i->size));
-+              snprintf(info, 11, "%4d,%4d", major(i->size), minor(i->size));
-       }
-       else {
-               /* size be as high as 2^24 or 16777216 */
-@@ -445,8 +447,10 @@
-       }
-       /* TODO: Do we need to check end_dir for empty case? */
-       memcpy(newpath, path, pathlen);
--      newpath[pathlen] = '/';
--      pathlen++;
-+      if (pathlen > 1) {
-+          newpath[pathlen] = '/';
-+          pathlen++;
-+      }
-       if (opt_verbose) {
-               print_node('d', i, path);
-       }
---- cramfs-1.1.orig/device_table.txt   1969-12-31 17:00:00.000000000 -0700
-+++ cramfs-1.1/device_table.txt        2003-01-01 05:13:44.000000000 -0700
-@@ -0,0 +1,129 @@
-+# When building a target filesystem, it is desirable to not have to
-+# become root and then run 'mknod' a thousand times.  Using a device 
-+# table you can create device nodes and directories "on the fly".
-+#
-+# This is a sample device table file for use with mkcramfs.  You can
-+# do all sorts of interesting things with a device table file.  For
-+# example, if you want to adjust the permissions on a particular file
-+# you can just add an entry like:
-+#   /sbin/foobar      f       2755    0       0       -       -       -       -       -
-+# and (assuming the file /sbin/foobar exists) it will be made setuid
-+# root (regardless of what its permissions are on the host filesystem.
-+# Furthermore, you can use a single table entry to create a many device
-+# minors.  For example, if I wanted to create /dev/hda and /dev/hda[0-15]
-+# I could just use the following two table entries:
-+#   /dev/hda  b       640     0       0       3       0       0       0       -
-+#   /dev/hda  b       640     0       0       3       1       1       1       15
-+# 
-+# Device table entries take the form of:
-+# <name>    <type>    <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-+# where name is the file name,  type can be one of: 
-+#     f       A regular file
-+#     d       Directory
-+#     c       Character special device file
-+#     b       Block special device file
-+#     p       Fifo (named pipe)
-+# uid is the user id for the target file, gid is the group id for the
-+# target file.  The rest of the entries (major, minor, etc) apply only 
-+# to device special files.
-+
-+# Have fun
-+# -Erik Andersen <andersen@codepoet.org>
-+#
-+
-+#<name>               <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-+/dev          d       755     0       0       -       -       -       -       -
-+/dev/mem      c       640     0       0       1       1       0       0       -
-+/dev/kmem     c       640     0       0       1       2       0       0       -
-+/dev/null     c       640     0       0       1       3       0       0       -
-+/dev/zero     c       640     0       0       1       5       0       0       -
-+/dev/random   c       640     0       0       1       8       0       0       -
-+/dev/urandom  c       640     0       0       1       9       0       0       -
-+/dev/tty      c       666     0       0       5       0       0       0       -
-+/dev/tty      c       666     0       0       4       0       0       1       6
-+/dev/console  c       640     0       0       5       1       0       0       -
-+/dev/ram      b       640     0       0       1       1       0       0       -
-+/dev/ram      b       640     0       0       1       0       0       1       4
-+/dev/loop     b       640     0       0       7       0       0       1       2
-+/dev/ptmx     c       666     0       0       5       2       0       0       -
-+#/dev/ttyS    c       640     0       0       4       64      0       1       4
-+#/dev/psaux   c       640     0       0       10      1       0       0       -
-+#/dev/rtc     c       640     0       0       10      135     0       0       -
-+
-+# Adjust permissions on some normal files
-+#/etc/shadow  f       600     0       0       -       -       -       -       -
-+#/bin/tinylogin       f       4755    0       0       -       -       -       -       -
-+
-+# User-mode Linux stuff
-+/dev/ubda     b       640     0       0       98      0       0       0       -
-+/dev/ubda     b       640     0       0       98      1       1       1       15
-+
-+# IDE Devices
-+/dev/hda      b       640     0       0       3       0       0       0       -
-+/dev/hda      b       640     0       0       3       1       1       1       15
-+/dev/hdb      b       640     0       0       3       64      0       0       -
-+/dev/hdb      b       640     0       0       3       65      1       1       15
-+#/dev/hdc     b       640     0       0       22      0       0       0       -
-+#/dev/hdc     b       640     0       0       22      1       1       1       15
-+#/dev/hdd     b       640     0       0       22      64      0       0       -
-+#/dev/hdd     b       640     0       0       22      65      1       1       15
-+#/dev/hde     b       640     0       0       33      0       0       0       -
-+#/dev/hde     b       640     0       0       33      1       1       1       15
-+#/dev/hdf     b       640     0       0       33      64      0       0       -
-+#/dev/hdf     b       640     0       0       33      65      1       1       15
-+#/dev/hdg     b       640     0       0       34      0       0       0       -
-+#/dev/hdg     b       640     0       0       34      1       1       1       15
-+#/dev/hdh     b       640     0       0       34      64      0       0       -
-+#/dev/hdh     b       640     0       0       34      65      1       1       15
-+
-+# SCSI Devices
-+#/dev/sda     b       640     0       0       8       0       0       0       -
-+#/dev/sda     b       640     0       0       8       1       1       1       15
-+#/dev/sdb     b       640     0       0       8       16      0       0       -
-+#/dev/sdb     b       640     0       0       8       17      1       1       15
-+#/dev/sdc     b       640     0       0       8       32      0       0       -
-+#/dev/sdc     b       640     0       0       8       33      1       1       15
-+#/dev/sdd     b       640     0       0       8       48      0       0       -
-+#/dev/sdd     b       640     0       0       8       49      1       1       15
-+#/dev/sde     b       640     0       0       8       64      0       0       -
-+#/dev/sde     b       640     0       0       8       65      1       1       15
-+#/dev/sdf     b       640     0       0       8       80      0       0       -
-+#/dev/sdf     b       640     0       0       8       81      1       1       15
-+#/dev/sdg     b       640     0       0       8       96      0       0       -
-+#/dev/sdg     b       640     0       0       8       97      1       1       15
-+#/dev/sdh     b       640     0       0       8       112     0       0       -
-+#/dev/sdh     b       640     0       0       8       113     1       1       15
-+#/dev/sg              c       640     0       0       21      0       0       1       15
-+#/dev/scd     b       640     0       0       11      0       0       1       15
-+#/dev/st              c       640     0       0       9       0       0       1       8
-+#/dev/nst     c       640     0       0       9       128     0       1       8
-+#/dev/st      c       640     0       0       9       32      1       1       4
-+#/dev/st      c       640     0       0       9       64      1       1       4
-+#/dev/st      c       640     0       0       9       96      1       1       4
-+
-+# Floppy disk devices
-+#/dev/fd              b       640     0       0       2       0       0       1       2
-+#/dev/fd0d360 b       640     0       0       2       4       0       0       -
-+#/dev/fd1d360 b       640     0       0       2       5       0       0       -
-+#/dev/fd0h1200        b       640     0       0       2       8       0       0       -
-+#/dev/fd1h1200        b       640     0       0       2       9       0       0       -
-+#/dev/fd0u1440        b       640     0       0       2       28      0       0       -
-+#/dev/fd1u1440        b       640     0       0       2       29      0       0       -
-+#/dev/fd0u2880        b       640     0       0       2       32      0       0       -
-+#/dev/fd1u2880        b       640     0       0       2       33      0       0       -
-+
-+# All the proprietary cdrom devices in the world
-+#/dev/aztcd   b       640     0       0       29      0       0       0       -
-+#/dev/bpcd    b       640     0       0       41      0       0       0       -
-+#/dev/capi20  c       640     0       0       68      0       0       1       2
-+#/dev/cdu31a  b       640     0       0       15      0       0       0       -
-+#/dev/cdu535  b       640     0       0       24      0       0       0       -
-+#/dev/cm206cd b       640     0       0       32      0       0       0       -
-+#/dev/sjcd    b       640     0       0       18      0       0       0       -
-+#/dev/sonycd  b       640     0       0       15      0       0       0       -
-+#/dev/gscd    b       640     0       0       16      0       0       0       -
-+#/dev/sbpcd   b       640     0       0       25      0       0       0       -
-+#/dev/sbpcd   b       640     0       0       25      0       0       1       4
-+#/dev/mcd     b       640     0       0       23      0       0       0       -
-+#/dev/optcd   b       640     0       0       17      0       0       0       -
-+
---- cramfs-1.1.orig/mkcramfs.c 2002-02-20 01:03:32.000000000 -0700
-+++ cramfs-1.1/mkcramfs.c      2002-12-21 01:25:17.000000000 -0700
-@@ -1,3 +1,4 @@
-+/* vi: set sw=8 ts=8: */
- /*
-  * mkcramfs - make a cramfs file system
-  *
-@@ -16,12 +17,21 @@
-  * You should have received a copy of the GNU General Public License
-  * along with this program; if not, write to the Free Software
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-+ *
-+ * Added device table support (code taken from mkfs.jffs2.c, credit to
-+ * Erik Andersen <andersen@codepoet.org>) as well as an option to squash
-+ * permissions. - Russ Dill <Russ.Dill@asu.edu> September 2002
-+ *
-+ * Reworked, cleaned up, and updated for cramfs-1.1, December 2002
-+ *  - Erik Andersen <andersen@codepoet.org>
-+ *
-  */
- /*
-  * If you change the disk format of cramfs, please update fs/cramfs/README.
-  */
-+#define _GNU_SOURCE
- #include <sys/types.h>
- #include <stdio.h>
- #include <sys/stat.h>
-@@ -33,8 +43,15 @@
- #include <errno.h>
- #include <string.h>
- #include <stdarg.h>
-+#include <libgen.h>
-+#include <ctype.h>
-+#include <assert.h>
-+#include <getopt.h>
- #include <linux/cramfs_fs.h>
- #include <zlib.h>
-+#ifdef DMALLOC
-+#include <dmalloc.h>
-+#endif
- /* Exit codes used by mkfs-type programs */
- #define MKFS_OK          0    /* No errors */
-@@ -71,11 +88,17 @@
-                 + (1 << CRAMFS_SIZE_WIDTH) - 1 /* filesize */ \
-                 + (1 << CRAMFS_SIZE_WIDTH) * 4 / PAGE_CACHE_SIZE /* block pointers */ )
-+
-+/* The kernel assumes PAGE_CACHE_SIZE as block size. */
-+#define PAGE_CACHE_SIZE (4096)
-+
-+
- static const char *progname = "mkcramfs";
- static unsigned int blksize = PAGE_CACHE_SIZE;
- static long total_blocks = 0, total_nodes = 1; /* pre-count the root node */
- static int image_length = 0;
-+
- /*
-  * If opt_holes is set, then mkcramfs can create explicit holes in the
-  * data, which saves 26 bytes per hole (which is a lot smaller a
-@@ -91,10 +114,12 @@
- static int opt_holes = 0;
- static int opt_pad = 0;
- static int opt_verbose = 0;
-+static int opt_squash = 0;
- static char *opt_image = NULL;
- static char *opt_name = NULL;
- static int warn_dev, warn_gid, warn_namelen, warn_skip, warn_size, warn_uid;
-+static const char *const memory_exhausted = "memory exhausted";
- /* In-core version of inode / directory entry. */
- struct entry {
-@@ -123,7 +148,7 @@
- {
-       FILE *stream = status ? stderr : stdout;
--      fprintf(stream, "usage: %s [-h] [-e edition] [-i file] [-n name] dirname outfile\n"
-+      fprintf(stream, "usage: %s [-h] [-e edition] [-i file] [-n name] [-D file] dirname outfile\n"
-               " -h         print this help\n"
-               " -E         make all warnings errors (non-zero exit status)\n"
-               " -e edition set edition number (part of fsid)\n"
-@@ -133,39 +158,157 @@
-               " -s         sort directory entries (old option, ignored)\n"
-               " -v         be more verbose\n"
-               " -z         make explicit holes (requires >= 2.3.39)\n"
--              " dirname    root of the directory tree to be compressed\n"
-+              " -D         Use the named FILE as a device table file\n"
-+              " -q         squash permissions (make everything owned by root)\n"
-+              " dirname    root of the filesystem to be compressed\n"
-               " outfile    output file\n", progname, PAD_SIZE);
-       exit(status);
- }
--static void die(int status, int syserr, const char *fmt, ...)
-+static void verror_msg(const char *s, va_list p)
-+{
-+      fflush(stdout);
-+      fprintf(stderr, "mkcramfs: ");
-+      vfprintf(stderr, s, p);
-+}
-+
-+static void vperror_msg(const char *s, va_list p)
-+{
-+      int err = errno;
-+
-+      if (s == 0)
-+              s = "";
-+      verror_msg(s, p);
-+      if (*s)
-+              s = ": ";
-+      fprintf(stderr, "%s%s\n", s, strerror(err));
-+}
-+
-+static void perror_msg(const char *s, ...)
-+{
-+      va_list p;
-+
-+      va_start(p, s);
-+      vperror_msg(s, p);
-+      va_end(p);
-+}
-+
-+static void error_msg_and_die(const char *s, ...)
-+{
-+      va_list p;
-+
-+      va_start(p, s);
-+      verror_msg(s, p);
-+      va_end(p);
-+      putc('\n', stderr);
-+      exit(MKFS_ERROR);
-+}
-+
-+static void perror_msg_and_die(const char *s, ...)
-+{
-+      va_list p;
-+
-+      va_start(p, s);
-+      vperror_msg(s, p);
-+      va_end(p);
-+      exit(MKFS_ERROR);
-+}
-+#ifndef DMALLOC
-+extern char *xstrdup(const char *s)
-+{
-+      char *t;
-+
-+      if (s == NULL)
-+              return NULL;
-+      t = strdup(s);
-+      if (t == NULL)
-+              error_msg_and_die(memory_exhausted);
-+      return t;
-+}
-+
-+extern void *xmalloc(size_t size)
-+{
-+      void *ptr = malloc(size);
-+
-+      if (ptr == NULL && size != 0)
-+              error_msg_and_die(memory_exhausted);
-+      return ptr;
-+}
-+
-+extern void *xcalloc(size_t nmemb, size_t size)
-+{
-+      void *ptr = calloc(nmemb, size);
-+
-+      if (ptr == NULL && nmemb != 0 && size != 0)
-+              error_msg_and_die(memory_exhausted);
-+      return ptr;
-+}
-+
-+extern void *xrealloc(void *ptr, size_t size)
-+{
-+      ptr = realloc(ptr, size);
-+      if (ptr == NULL && size != 0)
-+              error_msg_and_die(memory_exhausted);
-+      return ptr;
-+}
-+#endif
-+
-+static FILE *xfopen(const char *path, const char *mode)
- {
--      va_list arg_ptr;
--      int save = errno;
-+      FILE *fp;
-+
-+      if ((fp = fopen(path, mode)) == NULL)
-+              perror_msg_and_die("%s", path);
-+      return fp;
-+}
--      fflush(0);
--      va_start(arg_ptr, fmt);
--      fprintf(stderr, "%s: ", progname);
--      vfprintf(stderr, fmt, arg_ptr);
--      if (syserr) {
--              fprintf(stderr, ": %s", strerror(save));
-+extern int xopen(const char *pathname, int flags, mode_t mode)
-+{
-+      int ret;
-+      
-+      if (flags & O_CREAT)
-+              ret = open(pathname, flags, mode);
-+      else
-+              ret = open(pathname, flags);
-+      if (ret == -1) {
-+              perror_msg_and_die("%s", pathname);
-       }
--      fprintf(stderr, "\n");
--      va_end(arg_ptr);
--      exit(status);
-+      return ret;
- }
-+extern char *xreadlink(const char *path)
-+{                       
-+      static const int GROWBY = 80; /* how large we will grow strings by */
-+
-+      char *buf = NULL;   
-+      int bufsize = 0, readsize = 0;
-+
-+      do {
-+              buf = xrealloc(buf, bufsize += GROWBY);
-+              readsize = readlink(path, buf, bufsize); /* 1st try */
-+              if (readsize == -1) {
-+                  perror_msg("%s:%s", progname, path);
-+                  return NULL;
-+              }
-+      }           
-+      while (bufsize < readsize + 1);
-+
-+      buf[readsize] = '\0';
-+
-+      return buf;
-+}       
-+
- static void map_entry(struct entry *entry)
- {
-       if (entry->path) {
-               entry->fd = open(entry->path, O_RDONLY);
-               if (entry->fd < 0) {
--                      die(MKFS_ERROR, 1, "open failed: %s", entry->path);
-+                      error_msg_and_die("open failed: %s", entry->path);
-               }
-               entry->uncompressed = mmap(NULL, entry->size, PROT_READ, MAP_PRIVATE, entry->fd, 0);
-               if (entry->uncompressed == MAP_FAILED) {
--                      die(MKFS_ERROR, 1, "mmap failed: %s", entry->path);
-+                      error_msg_and_die("mmap failed: %s", entry->path);
-               }
-       }
- }
-@@ -174,8 +317,9 @@
- {
-       if (entry->path) {
-               if (munmap(entry->uncompressed, entry->size) < 0) {
--                      die(MKFS_ERROR, 1, "munmap failed: %s", entry->path);
-+                      error_msg_and_die("munmap failed: %s", entry->path);
-               }
-+              entry->uncompressed=NULL;
-               close(entry->fd);
-       }
- }
-@@ -204,7 +348,8 @@
-               find_identical_file(orig->next, newfile));
- }
--static void eliminate_doubles(struct entry *root, struct entry *orig) {
-+static void eliminate_doubles(struct entry *root, struct entry *orig) 
-+{
-       if (orig) {
-               if (orig->size && (orig->path || orig->uncompressed))
-                       find_identical_file(root, orig);
-@@ -232,10 +377,7 @@
-       /* Set up the path. */
-       /* TODO: Reuse the parent's buffer to save memcpy'ing and duplication. */
--      path = malloc(len + 1 + MAX_INPUT_NAMELEN + 1);
--      if (!path) {
--              die(MKFS_ERROR, 1, "malloc failed");
--      }
-+      path = xmalloc(len + 1 + MAX_INPUT_NAMELEN + 1);
-       memcpy(path, name, len);
-       endpath = path + len;
-       *endpath = '/';
-@@ -245,7 +387,7 @@
-       dircount = scandir(name, &dirlist, 0, cramsort);
-       if (dircount < 0) {
--              die(MKFS_ERROR, 1, "scandir failed: %s", name);
-+              error_msg_and_die("scandir failed: %s", name);
-       }
-       /* process directory */
-@@ -269,25 +411,20 @@
-               }
-               namelen = strlen(dirent->d_name);
-               if (namelen > MAX_INPUT_NAMELEN) {
--                      die(MKFS_ERROR, 0,
--                              "very long (%u bytes) filename found: %s\n"
--                              "please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile",
-+                      error_msg_and_die(
-+                              "Very long (%u bytes) filename `%s' found.\n"
-+                              " Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n",
-                               namelen, dirent->d_name);
-               }
-               memcpy(endpath, dirent->d_name, namelen + 1);
-               if (lstat(path, &st) < 0) {
-+                      perror(endpath);
-                       warn_skip = 1;
-                       continue;
-               }
--              entry = calloc(1, sizeof(struct entry));
--              if (!entry) {
--                      die(MKFS_ERROR, 1, "calloc failed");
--              }
--              entry->name = strdup(dirent->d_name);
--              if (!entry->name) {
--                      die(MKFS_ERROR, 1, "strdup failed");
--              }
-+              entry = xcalloc(1, sizeof(struct entry));
-+              entry->name = xstrdup(dirent->d_name);
-               /* truncate multi-byte UTF-8 filenames on character boundary */
-               if (namelen > CRAMFS_MAXPATHLEN) {
-                       namelen = CRAMFS_MAXPATHLEN;
-@@ -297,24 +434,25 @@
-                               namelen--;
-                               /* are we reasonably certain it was UTF-8 ? */
-                               if (entry->name[namelen] < 0x80 || !namelen) {
--                                      die(MKFS_ERROR, 0, "cannot truncate filenames not encoded in UTF-8");
-+                                      error_msg_and_die("cannot truncate filenames not encoded in UTF-8");
-                               }
-                       }
-                       entry->name[namelen] = '\0';
-               }
-               entry->mode = st.st_mode;
-               entry->size = st.st_size;
--              entry->uid = st.st_uid;
-+              entry->uid = opt_squash ? 0 : st.st_uid;
-               if (entry->uid >= 1 << CRAMFS_UID_WIDTH)
-                       warn_uid = 1;
--              entry->gid = st.st_gid;
--              if (entry->gid >= 1 << CRAMFS_GID_WIDTH)
-+              entry->gid = opt_squash ? 0 : st.st_gid;
-+              if (entry->gid >= 1 << CRAMFS_GID_WIDTH) {
-                       /* TODO: We ought to replace with a default
-                          gid instead of truncating; otherwise there
-                          are security problems.  Maybe mode should
-                          be &= ~070.  Same goes for uid once Linux
-                          supports >16-bit uids. */
-                       warn_gid = 1;
-+              }
-               size = sizeof(struct cramfs_inode) + ((namelen + 3) & ~3);
-               *fslen_ub += size;
-               if (S_ISDIR(st.st_mode)) {
-@@ -325,21 +463,15 @@
-                                       warn_skip = 1;
-                                       continue;
-                               }
--                              entry->path = strdup(path);
--                              if (!entry->path) {
--                                      die(MKFS_ERROR, 1, "strdup failed");
--                              }
-+                              entry->path = xstrdup(path);
-                               if ((entry->size >= 1 << CRAMFS_SIZE_WIDTH)) {
-                                       warn_size = 1;
-                                       entry->size = (1 << CRAMFS_SIZE_WIDTH) - 1;
-                               }
-                       }
-               } else if (S_ISLNK(st.st_mode)) {
--                      entry->uncompressed = malloc(entry->size);
-+                      entry->uncompressed = xreadlink(path);
-                       if (!entry->uncompressed) {
--                              die(MKFS_ERROR, 1, "malloc failed");
--                      }
--                      if (readlink(path, entry->uncompressed, entry->size) < 0) {
-                               warn_skip = 1;
-                               continue;
-                       }
-@@ -351,7 +483,7 @@
-                       if (entry->size & -(1<<CRAMFS_SIZE_WIDTH))
-                               warn_dev = 1;
-               } else {
--                      die(MKFS_ERROR, 0, "bogus file type: %s", entry->name);
-+                      error_msg_and_die("bogus file type: %s", entry->name);
-               }
-               if (S_ISREG(st.st_mode) || S_ISLNK(st.st_mode)) {
-@@ -378,7 +510,9 @@
-       struct cramfs_super *super = (struct cramfs_super *) base;
-       unsigned int offset = sizeof(struct cramfs_super) + image_length;
--      offset += opt_pad;      /* 0 if no padding */
-+      if (opt_pad) {
-+              offset += opt_pad;      /* 0 if no padding */
-+      }
-       super->magic = CRAMFS_MAGIC;
-       super->flags = CRAMFS_FLAG_FSID_VERSION_2 | CRAMFS_FLAG_SORTED_DIRS;
-@@ -414,10 +548,10 @@
-       struct cramfs_inode *inode = (struct cramfs_inode *) (base + entry->dir_offset);
-       if ((offset & 3) != 0) {
--              die(MKFS_ERROR, 0, "illegal offset of %lu bytes", offset);
-+              error_msg_and_die("illegal offset of %lu bytes", offset);
-       }
-       if (offset >= (1 << (2 + CRAMFS_OFFSET_WIDTH))) {
--              die(MKFS_ERROR, 0, "filesystem too big");
-+              error_msg_and_die("filesystem too big");
-       }
-       inode->offset = (offset >> 2);
- }
-@@ -429,7 +563,7 @@
-  */
- static void print_node(struct entry *e)
- {
--      char info[10];
-+      char info[12];
-       char type = '?';
-       if (S_ISREG(e->mode)) type = 'f';
-@@ -442,11 +576,11 @@
-       if (S_ISCHR(e->mode) || (S_ISBLK(e->mode))) {
-               /* major/minor numbers can be as high as 2^12 or 4096 */
--              snprintf(info, 10, "%4d,%4d", major(e->size), minor(e->size));
-+              snprintf(info, 11, "%4d,%4d", major(e->size), minor(e->size));
-       }
-       else {
-               /* size be as high as 2^24 or 16777216 */
--              snprintf(info, 10, "%9d", e->size);
-+              snprintf(info, 11, "%9d", e->size);
-       }
-       printf("%c %04o %s %5d:%-3d %s\n",
-@@ -462,17 +596,9 @@
- {
-       int stack_entries = 0;
-       int stack_size = 64;
--      struct entry **entry_stack;
--
--      entry_stack = malloc(stack_size * sizeof(struct entry *));
--      if (!entry_stack) {
--              die(MKFS_ERROR, 1, "malloc failed");
--      }
--
--      if (opt_verbose) {
--              printf("root:\n");
--      }
-+      struct entry **entry_stack = NULL;
-+      entry_stack = xmalloc(stack_size * sizeof(struct entry *));
-       for (;;) {
-               int dir_start = stack_entries;
-               while (entry) {
-@@ -506,10 +632,7 @@
-                       if (entry->child) {
-                               if (stack_entries >= stack_size) {
-                                       stack_size *= 2;
--                                      entry_stack = realloc(entry_stack, stack_size * sizeof(struct entry *));
--                                      if (!entry_stack) {
--                                              die(MKFS_ERROR, 1, "realloc failed");
--                                      }
-+                                      entry_stack = xrealloc(entry_stack, stack_size * sizeof(struct entry *));
-                               }
-                               entry_stack[stack_entries] = entry;
-                               stack_entries++;
-@@ -543,7 +666,7 @@
-               set_data_offset(entry, base, offset);
-               if (opt_verbose) {
--                      printf("%s:\n", entry->name);
-+                  printf("'%s':\n", entry->name);
-               }
-               entry = entry->child;
-       }
-@@ -553,16 +676,21 @@
- static int is_zero(char const *begin, unsigned len)
- {
--      /* Returns non-zero iff the first LEN bytes from BEGIN are all NULs. */
--      return (len-- == 0 ||
--              (begin[0] == '\0' &&
--               (len-- == 0 ||
--                (begin[1] == '\0' &&
--                 (len-- == 0 ||
--                  (begin[2] == '\0' &&
--                   (len-- == 0 ||
--                    (begin[3] == '\0' &&
--                     memcmp(begin, begin + 4, len) == 0))))))));
-+      if (opt_holes)
-+              /* Returns non-zero iff the first LEN bytes from BEGIN are
-+                 all NULs. */
-+              return (len-- == 0 ||
-+                      (begin[0] == '\0' &&
-+                       (len-- == 0 ||
-+                        (begin[1] == '\0' &&
-+                         (len-- == 0 ||
-+                          (begin[2] == '\0' &&
-+                           (len-- == 0 ||
-+                            (begin[3] == '\0' &&
-+                             memcmp(begin, begin + 4, len) == 0))))))));
-+      else
-+              /* Never create holes. */
-+              return 0;
- }
- /*
-@@ -575,37 +703,34 @@
-  * Note that size > 0, as a zero-sized file wouldn't ever
-  * have gotten here in the first place.
-  */
--static unsigned int do_compress(char *base, unsigned int offset, char const *name, char *uncompressed, unsigned int size)
-+static unsigned int do_compress(char *base, unsigned int offset, struct entry *entry)
- {
-+      unsigned int size = entry->size;
-       unsigned long original_size = size;
-       unsigned long original_offset = offset;
-       unsigned long new_size;
-       unsigned long blocks = (size - 1) / blksize + 1;
-       unsigned long curr = offset + 4 * blocks;
-       int change;
-+      char *uncompressed = entry->uncompressed;
--      total_blocks += blocks;
-+      total_blocks += blocks; 
-       do {
-               unsigned long len = 2 * blksize;
-               unsigned int input = size;
--              int err;
--
-               if (input > blksize)
-                       input = blksize;
-               size -= input;
--              if (!(opt_holes && is_zero (uncompressed, input))) {
--                      err = compress2(base + curr, &len, uncompressed, input, Z_BEST_COMPRESSION);
--                      if (err != Z_OK) {
--                              die(MKFS_ERROR, 0, "compression error: %s", zError(err));
--                      }
-+              if (!is_zero (uncompressed, input)) {
-+                      compress(base + curr, &len, uncompressed, input);
-                       curr += len;
-               }
-               uncompressed += input;
-               if (len > blksize*2) {
-                       /* (I don't think this can happen with zlib.) */
--                      die(MKFS_ERROR, 0, "AIEEE: block \"compressed\" to > 2*blocklength (%ld)", len);
-+                      error_msg_and_die("AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n", len);
-               }
-               *(u32 *) (base + offset) = curr;
-@@ -618,10 +743,12 @@
-          st_blocks * 512.  But if you say that then perhaps
-          administrative data should also be included in both. */
-       change = new_size - original_size;
--      if (opt_verbose > 1) {
--              printf("%6.2f%% (%+d bytes)\t%s\n",
--                     (change * 100) / (double) original_size, change, name);
-+#if 0
-+      if (opt_verbose) {
-+          printf("%6.2f%% (%+d bytes)\t%s\n",
-+                  (change * 100) / (double) original_size, change, entry->name);
-       }
-+#endif
-       return curr;
- }
-@@ -644,7 +771,7 @@
-                               set_data_offset(entry, base, offset);
-                               entry->offset = offset;
-                               map_entry(entry);
--                              offset = do_compress(base, offset, entry->name, entry->uncompressed, entry->size);
-+                              offset = do_compress(base, offset, entry);
-                               unmap_entry(entry);
-                       }
-               }
-@@ -660,13 +787,10 @@
-       int fd;
-       char *buf;
--      fd = open(file, O_RDONLY);
--      if (fd < 0) {
--              die(MKFS_ERROR, 1, "open failed: %s", file);
--      }
-+      fd = xopen(file, O_RDONLY, 0);
-       buf = mmap(NULL, image_length, PROT_READ, MAP_PRIVATE, fd, 0);
-       if (buf == MAP_FAILED) {
--              die(MKFS_ERROR, 1, "mmap failed");
-+              error_msg_and_die("mmap failed");
-       }
-       memcpy(base + offset, buf, image_length);
-       munmap(buf, image_length);
-@@ -679,6 +803,328 @@
-       return (offset + image_length);
- }
-+static struct entry *find_filesystem_entry(struct entry *dir, char *name, mode_t type)
-+{
-+      struct entry *e = dir;
-+
-+      if (S_ISDIR(dir->mode)) {
-+              e = dir->child;
-+      }
-+      while (e) {
-+              /* Only bother to do the expensive strcmp on matching file types */
-+              if (type == (e->mode & S_IFMT) && e->name) {
-+                      if (S_ISDIR(e->mode)) {
-+                              int len = strlen(e->name);
-+
-+                              /* Check if we are a parent of the correct path */
-+                              if (strncmp(e->name, name, len) == 0) {
-+                                      /* Is this an _exact_ match? */
-+                                      if (strcmp(name, e->name) == 0) {
-+                                              return (e);
-+                                      }
-+                                      /* Looks like we found a parent of the correct path */
-+                                      if (name[len] == '/') {
-+                                              if (e->child) {
-+                                                      return (find_filesystem_entry (e, name + len + 1, type));
-+                                              } else {
-+                                                      return NULL;
-+                                              }
-+                                      }
-+                              }
-+                      } else {
-+                              if (strcmp(name, e->name) == 0) {
-+                                      return (e);
-+                              }
-+                      }
-+              }
-+              e = e->next;
-+      }
-+      return (NULL);
-+}
-+
-+void modify_entry(char *full_path, unsigned long uid, unsigned long gid, 
-+      unsigned long mode, unsigned long rdev, struct entry *root, loff_t *fslen_ub)
-+{
-+      char *name, *path, *full;
-+      struct entry *curr, *parent, *entry, *prev;
-+      
-+      full = xstrdup(full_path);
-+      path = xstrdup(dirname(full));
-+      name = full_path + strlen(path) + 1;
-+      free(full);
-+      if (strcmp(path, "/") == 0) {
-+              parent = root;
-+              name = full_path + 1;
-+      } else {
-+              if (!(parent = find_filesystem_entry(root, path+1, S_IFDIR)))
-+                      error_msg_and_die("%s/%s: could not find parent\n", path, name);
-+      }
-+      if ((entry = find_filesystem_entry(parent, name, (mode & S_IFMT)))) {
-+              /* its there, just modify permissions */
-+              entry->mode = mode;
-+              entry->uid = uid;
-+              entry->gid = gid;
-+      } else { /* make a new entry */
-+      
-+              /* code partially replicated from parse_directory() */
-+              size_t namelen;
-+              if (S_ISREG(mode)) {
-+                      error_msg_and_die("%s: regular file from device_table file must exist on disk!", full_path);
-+              }
-+
-+              namelen = strlen(name);
-+              if (namelen > MAX_INPUT_NAMELEN) {
-+                      error_msg_and_die(
-+                              "Very long (%u bytes) filename `%s' found.\n"
-+                              " Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n",
-+                              namelen, name);
-+              }
-+              entry = xcalloc(1, sizeof(struct entry));
-+              entry->name = xstrdup(name);
-+              /* truncate multi-byte UTF-8 filenames on character boundary */
-+              if (namelen > CRAMFS_MAXPATHLEN) {
-+                      namelen = CRAMFS_MAXPATHLEN;
-+                      warn_namelen = 1;
-+                      /* the first lost byte must not be a trail byte */
-+                      while ((entry->name[namelen] & 0xc0) == 0x80) {
-+                              namelen--;
-+                              /* are we reasonably certain it was UTF-8 ? */
-+                              if (entry->name[namelen] < 0x80 || !namelen) {
-+                                      error_msg_and_die("cannot truncate filenames not encoded in UTF-8");
-+                              }
-+                      }
-+                      entry->name[namelen] = '\0';
-+              }
-+              entry->mode = mode;
-+              entry->uid = uid;
-+              entry->gid = gid;
-+              entry->size = 0;
-+              if (S_ISBLK(mode) || S_ISCHR(mode)) {
-+                      entry->size = rdev;
-+                      if (entry->size & -(1<<CRAMFS_SIZE_WIDTH))
-+                              warn_dev = 1;
-+              }
-+              
-+              /* ok, now we have to backup and correct the size of all the entries above us */
-+              *fslen_ub += sizeof(struct cramfs_inode) + ((namelen + 3) & ~3);
-+              parent->size += sizeof(struct cramfs_inode) + ((namelen + 3) & ~3);
-+
-+              /* alright, time to link us in */
-+              curr = parent->child;
-+              prev = NULL;
-+              while (curr && strcmp(name, curr->name) > 0) {
-+                      prev = curr;
-+                      curr = curr->next;
-+              }
-+              if (!prev) parent->child = entry;
-+              else prev->next = entry;
-+              entry->next = curr;
-+              entry->child = NULL;
-+      }
-+      if (entry->uid >= 1 << CRAMFS_UID_WIDTH)
-+              warn_uid = 1;
-+      if (entry->gid >= 1 << CRAMFS_GID_WIDTH) {
-+              /* TODO: We ought to replace with a default
-+                 gid instead of truncating; otherwise there
-+                 are security problems.  Maybe mode should
-+                 be &= ~070.  Same goes for uid once Linux
-+                 supports >16-bit uids. */
-+              warn_gid = 1;
-+      }
-+      free(path);
-+}
-+
-+/* the GNU C library has a wonderful scanf("%as", string) which will
-+ allocate the string with the right size, good to avoid buffer overruns. 
-+ the following macros use it if available or use a hacky workaround...
-+ */
-+
-+#ifdef __GNUC__
-+#define SCANF_PREFIX "a"
-+#define SCANF_STRING(s) (&s)
-+#define GETCWD_SIZE 0
-+#else
-+#define SCANF_PREFIX "511"
-+#define SCANF_STRING(s) (s = xmalloc(512))
-+#define GETCWD_SIZE -1
-+inline int snprintf(char *str, size_t n, const char *fmt, ...)
-+{
-+      int ret;
-+      va_list ap;
-+
-+      va_start(ap, fmt);
-+      ret = vsprintf(str, fmt, ap);
-+      va_end(ap);
-+      return ret;
-+}
-+#endif
-+
-+/*  device table entries take the form of:
-+    <path>    <type> <mode>   <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-+    /dev/mem     c    640       0       0         1       1       0     0         -
-+
-+    type can be one of: 
-+      f       A regular file
-+      d       Directory
-+      c       Character special device file
-+      b       Block special device file
-+      p       Fifo (named pipe)
-+
-+    I don't bother with symlinks (permissions are irrelevant), hard
-+    links (special cases of regular files), or sockets (why bother).
-+
-+    Regular files must exist in the target root directory.  If a char,
-+    block, fifo, or directory does not exist, it will be created.
-+*/
-+
-+static int interpret_table_entry(char *line, struct entry *root, loff_t *fslen_ub)
-+{
-+      char type, *name = NULL;
-+      unsigned long mode = 0755, uid = 0, gid = 0, major = 0, minor = 0;
-+      unsigned long start = 0, increment = 1, count = 0;
-+
-+      if (sscanf (line, "%" SCANF_PREFIX "s %c %lo %lu %lu %lu %lu %lu %lu %lu",
-+               SCANF_STRING(name), &type, &mode, &uid, &gid, &major, &minor,
-+               &start, &increment, &count) < 0) 
-+      {
-+              return 1;
-+      }
-+
-+      if (!strcmp(name, "/")) {
-+              error_msg_and_die("Device table entries require absolute paths");
-+      }
-+
-+      switch (type) {
-+      case 'd':
-+              mode |= S_IFDIR;
-+              modify_entry(name, uid, gid, mode, 0, root, fslen_ub);
-+              break;
-+      case 'f':
-+              mode |= S_IFREG;
-+              modify_entry(name, uid, gid, mode, 0, root, fslen_ub);
-+              break;
-+      case 'p':
-+              mode |= S_IFIFO;
-+              modify_entry(name, uid, gid, mode, 0, root, fslen_ub);
-+              break;
-+      case 'c':
-+      case 'b':
-+              mode |= (type == 'c') ? S_IFCHR : S_IFBLK;
-+              if (count > 0) {
-+                      char *buf;
-+                      unsigned long i;
-+                      dev_t rdev;
-+
-+                      for (i = start; i < count; i++) {
-+                              asprintf(&buf, "%s%lu", name, i);
-+                              rdev = makedev(major, minor + (i * increment - start));
-+                              modify_entry(buf, uid, gid, mode, rdev, root, fslen_ub);
-+                              free(buf);
-+                      }
-+              } else {
-+                      dev_t rdev = makedev(major, minor);
-+                      modify_entry(name, uid, gid, mode, rdev, root, fslen_ub);
-+              }
-+              break;
-+      default:
-+              error_msg_and_die("Unsupported file type");
-+      }
-+      free(name);
-+      return 0;
-+}
-+
-+static int parse_device_table(FILE *file, struct entry *root, loff_t *fslen_ub)
-+{
-+      char *line;
-+      int status = 0;
-+      size_t length = 0;
-+
-+      /* Turn off squash, since we must ensure that values
-+       * entered via the device table are not squashed */
-+      opt_squash = 0;
-+
-+      /* Looks ok so far.  The general plan now is to read in one
-+       * line at a time, check for leading comment delimiters ('#'),
-+       * then try and parse the line as a device table.  If we fail
-+       * to parse things, try and help the poor fool to fix their
-+       * device table with a useful error msg... */
-+      line = NULL;
-+      while (getline(&line, &length, file) != -1) {
-+              /* First trim off any whitespace */
-+              int len = strlen(line);
-+
-+              /* trim trailing whitespace */
-+              while (len > 0 && isspace(line[len - 1]))
-+                      line[--len] = '\0';
-+              /* trim leading whitespace */
-+              memmove(line, &line[strspn(line, " \n\r\t\v")], len);
-+
-+              /* How long are we after trimming? */
-+              len = strlen(line);
-+
-+              /* If this is NOT a comment line, try to interpret it */
-+              if (len && *line != '#') {
-+                      if (interpret_table_entry(line, root, fslen_ub))
-+                              status = 1;
-+              }
-+
-+              free(line);
-+              line = NULL;
-+      }
-+      free(line);
-+      fclose(file);
-+
-+      return status;
-+}
-+
-+void traverse(struct entry *entry, int depth)
-+{
-+      struct entry *curr = entry;
-+      int i;
-+
-+      while (curr) {
-+              for (i = 0; i < depth; i++) putchar(' ');
-+              printf("%s: size=%d mode=%d same=%p\n",
-+                      (curr->name)? (char*)curr->name : "/", 
-+                      curr->size, curr->mode, curr->same);
-+              if (curr->child) traverse(curr->child, depth + 4);
-+              curr = curr->next;
-+      }
-+}
-+
-+static void free_filesystem_entry(struct entry *dir)
-+{
-+      struct entry *e = dir, *last;
-+
-+      if (S_ISDIR(dir->mode)) {
-+              e = dir->child;
-+      }
-+      while (e) {
-+              if (e->name)
-+                      free(e->name);
-+              if (e->path)
-+                      free(e->path);
-+              if (e->uncompressed)
-+                      free(e->uncompressed);
-+              last = e;
-+              if (e->child) {
-+                      free_filesystem_entry(e);
-+              }
-+              e = e->next;
-+              free(last);
-+      }
-+}
-+
-+
-+/*
-+ * Usage:
-+ *
-+ *      mkcramfs directory-name outfile
-+ *
-+ * where "directory-name" is simply the root of the directory
-+ * tree that we want to generate a compressed filesystem out
-+ * of.
-+ */
- int main(int argc, char **argv)
- {
-       struct stat st;         /* used twice... */
-@@ -692,6 +1138,7 @@
-       u32 crc;
-       int c;                  /* for getopt */
-       char *ep;               /* for strtoul */
-+      FILE *devtable = NULL;
-       total_blocks = 0;
-@@ -699,7 +1146,7 @@
-               progname = argv[0];
-       /* command line options */
--      while ((c = getopt(argc, argv, "hEe:i:n:psvz")) != EOF) {
-+      while ((c = getopt(argc, argv, "hEe:i:n:psvzD:q")) != EOF) {
-               switch (c) {
-               case 'h':
-                       usage(MKFS_OK);
-@@ -715,7 +1162,7 @@
-               case 'i':
-                       opt_image = optarg;
-                       if (lstat(opt_image, &st) < 0) {
--                              die(MKFS_ERROR, 1, "lstat failed: %s", opt_image);
-+                              error_msg_and_die("lstat failed: %s", opt_image);
-                       }
-                       image_length = st.st_size; /* may be padded later */
-                       fslen_ub += (image_length + 3); /* 3 is for padding */
-@@ -736,6 +1183,16 @@
-               case 'z':
-                       opt_holes = 1;
-                       break;
-+              case 'q':
-+                      opt_squash = 1;
-+                      break;
-+              case 'D':
-+                      devtable = xfopen(optarg, "r");
-+                      if (fstat(fileno(devtable), &st) < 0)
-+                              perror_msg_and_die(optarg);
-+                      if (st.st_size < 10)
-+                              error_msg_and_die("%s: not a proper device table file\n", optarg);
-+                      break;
-               }
-       }
-@@ -745,25 +1202,23 @@
-       outfile = argv[optind + 1];
-       if (stat(dirname, &st) < 0) {
--              die(MKFS_USAGE, 1, "stat failed: %s", dirname);
--      }
--      fd = open(outfile, O_WRONLY | O_CREAT | O_TRUNC, 0666);
--      if (fd < 0) {
--              die(MKFS_USAGE, 1, "open failed: %s", outfile);
-+              error_msg_and_die("stat failed: %s", dirname);
-       }
-+      fd = xopen(outfile, O_WRONLY | O_CREAT | O_TRUNC, 0666);
--      root_entry = calloc(1, sizeof(struct entry));
--      if (!root_entry) {
--              die(MKFS_ERROR, 1, "calloc failed");
--      }
-+      root_entry = xcalloc(1, sizeof(struct entry));
-       root_entry->mode = st.st_mode;
-       root_entry->uid = st.st_uid;
-       root_entry->gid = st.st_gid;
-       root_entry->size = parse_directory(root_entry, dirname, &root_entry->child, &fslen_ub);
-+      if (devtable) {
-+              parse_device_table(devtable, root_entry, &fslen_ub);
-+      }
-+
-       /* always allocate a multiple of blksize bytes because that's
--         what we're going to write later on */
-+           what we're going to write later on */
-       fslen_ub = ((fslen_ub - 1) | (blksize - 1)) + 1;
-       if (fslen_ub > MAXFSLEN) {
-@@ -790,7 +1245,7 @@
-       rom_image = mmap(NULL, fslen_ub?fslen_ub:1, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-       if (rom_image == MAP_FAILED) {
--              die(MKFS_ERROR, 1, "mmap failed");
-+              error_msg_and_die("mmap failed");
-       }
-       /* Skip the first opt_pad bytes for boot loader code */
-@@ -807,6 +1262,7 @@
-       }
-       offset = write_directory_structure(root_entry->child, rom_image, offset);
-+      if (opt_verbose)
-       printf("Directory data: %d bytes\n", offset);
-       offset = write_data(root_entry, rom_image, offset);
-@@ -814,30 +1270,38 @@
-       /* We always write a multiple of blksize bytes, so that
-          losetup works. */
-       offset = ((offset - 1) | (blksize - 1)) + 1;
-+      if (opt_verbose)
-       printf("Everything: %d kilobytes\n", offset >> 10);
-       /* Write the superblock now that we can fill in all of the fields. */
-       write_superblock(root_entry, rom_image+opt_pad, offset);
-+      if (opt_verbose)
-       printf("Super block: %d bytes\n", sizeof(struct cramfs_super));
-       /* Put the checksum in. */
-       crc = crc32(0L, Z_NULL, 0);
-       crc = crc32(crc, (rom_image+opt_pad), (offset-opt_pad));
-       ((struct cramfs_super *) (rom_image+opt_pad))->fsid.crc = crc;
-+      if (opt_verbose)
-       printf("CRC: %x\n", crc);
-       /* Check to make sure we allocated enough space. */
-       if (fslen_ub < offset) {
--              die(MKFS_ERROR, 0, "not enough space allocated for ROM image (%Ld allocated, %d used)", fslen_ub, offset);
-+              error_msg_and_die("not enough space allocated for ROM "
-+                      "image (%Ld allocated, %d used)", fslen_ub, offset);
-       }
-       written = write(fd, rom_image, offset);
-       if (written < 0) {
--              die(MKFS_ERROR, 1, "write failed");
-+              error_msg_and_die("write failed");
-       }
-       if (offset != written) {
--              die(MKFS_ERROR, 0, "ROM image write failed (wrote %d of %d bytes)", written, offset);
-+              error_msg_and_die("ROM image write failed (wrote %d of %d bytes)", written, offset);
-       }
-+      
-+      /* Free up memory */
-+      free_filesystem_entry(root_entry);
-+      free(root_entry);
-       /* (These warnings used to come at the start, but they scroll off the
-          screen too quickly.) */
diff --git a/sources/device_table.txt b/sources/device_table.txt
deleted file mode 100644 (file)
index 8b46ca0..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-# When building a target filesystem, it is desirable to not have to
-# become root and then run 'mknod' a thousand times.  Using a device 
-# table you can create device nodes and directories "on the fly".
-#
-# This is a sample device table file for use with genext2fs.  You can
-# do all sorts of interesting things with a device table file.  For
-# example, if you want to adjust the permissions on a particular file
-# you can just add an entry like:
-#   /sbin/foobar        f       2755    0       0       -       -       -       -       -
-# and (assuming the file /sbin/foobar exists) it will be made setuid
-# root (regardless of what its permissions are on the host filesystem.
-# Furthermore, you can use a single table entry to create a many device
-# minors.  For example, if I wanted to create /dev/hda and /dev/hda[0-15]
-# I could just use the following two table entries:
-#   /dev/hda    b       640     0       0       3       0       0       0       -
-#   /dev/hda    b       640     0       0       3       1       1       1       15
-# 
-# Device table entries take the form of:
-# <name>    <type>      <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-# where name is the file name,  type can be one of: 
-#       f       A regular file
-#       d       Directory
-#       c       Character special device file
-#       b       Block special device file
-#       p       Fifo (named pipe)
-# uid is the user id for the target file, gid is the group id for the
-# target file.  The rest of the entries (major, minor, etc) apply only 
-# to device special files.
-
-# Have fun
-# -Erik Andersen <andersen@codepoet.org>
-#
-
-#<name>                <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-/dev           d       755     0       0       -       -       -       -       -
-/dev/pts       d       755     0       0       -       -       -       -       -
-/tmp           d       1777    0       0       -       -       -       -       -
-/etc           d       755     0       0       -       -       -       -       -
-/home/default  d       2755    1000    1000    -       -       -       -       -
-#<name>                                        <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-/bin/busybox                           f       4755    0       0       -       -       -       -       -
-/etc/shadow                            f       600     0       0       -       -       -       -       -
-/etc/passwd                            f       644     0       0       -       -       -       -       -
-/etc/network/if-up.d                   d       755     0       0       -       -       -       -       -
-/etc/network/if-pre-up.d               d       755     0       0       -       -       -       -       -
-/etc/network/if-down.d                 d       755     0       0       -       -       -       -       -
-/etc/network/if-post-down.d            d       755     0       0       -       -       -       -       -
-/usr/share/udhcpc/default.script       f       755     0       0       -       -       -       -       -
-# uncomment this to allow starting x as non-root
-#/usr/X11R6/bin/Xfbdev         f       4755    0       0       -       -       -       -       -
-# Normal system devices
-/dev/mem       c       640     0       0       1       1       0       0       -
-/dev/kmem      c       640     0       0       1       2       0       0       -
-/dev/null      c       666     0       0       1       3       0       0       -
-/dev/zero      c       666     0       0       1       5       0       0       -
-/dev/random    c       666     0       0       1       8       0       0       -
-/dev/urandom   c       666     0       0       1       9       0       0       -
-/dev/ram       b       640     0       0       1       1       0       0       -
-/dev/ram       b       640     0       0       1       0       0       1       4
-/dev/loop      b       640     0       0       7       0       0       1       2
-/dev/rtc       c       640     0       0       10      135     -       -       -
-/dev/console   c       666     0       0       5       1       -       -       -
-/dev/tty       c       666     0       0       5       0       -       -       -
-/dev/tty       c       666     0       0       4       0       0       1       8
-/dev/ttyp      c       666     0       0       3       0       0       1       10
-/dev/ptyp      c       666     0       0       2       0       0       1       10
-/dev/ptmx      c       666     0       0       5       2       -       -       -
-/dev/ttyP      c       666     0       0       57      0       0       1       4
-/dev/ttyS      c       666     0       0       4       64      0       1       4
-/dev/fb                c       640     0       5       29      0       0       32      4
-#/dev/ttySA    c       666     0       0       204     5       0       1       3
-/dev/psaux     c       666     0       0       10      1       0       0       -
-#/dev/ppp      c       666     0       0       108     0       -       -       -
-
-# MTD stuff
-/dev/mtd       c       640     0       0       90      0       0       2       4
-/dev/mtdblock  b       640     0       0       31      0       0       1       4
-
-#Tun/tap driver
-/dev/net       d       755     0       0       -       -       -       -       -
-/dev/net/tun   c       660     0       0       10      200     -       -       -
-
-# Audio stuff
-#/dev/audio    c       666     0       29      14      4       -       -       -
-#/dev/audio1   c       666     0       29      14      20      -       -       -
-#/dev/dsp      c       666     0       29      14      3       -       -       -
-#/dev/dsp1     c       666     0       29      14      19      -       -       -
-#/dev/sndstat  c       666     0       29      14      6       -       -       -
-
-# User-mode Linux stuff
-/dev/ubda      b       640     0       0       98      0       0       0       -
-/dev/ubda      b       640     0       0       98      1       1       1       15
-
-# IDE Devices
-/dev/hda       b       640     0       0       3       0       0       0       -
-/dev/hda       b       640     0       0       3       1       1       1       15
-/dev/hdb       b       640     0       0       3       64      0       0       -
-/dev/hdb       b       640     0       0       3       65      1       1       15
-#/dev/hdc      b       640     0       0       22      0       0       0       -
-#/dev/hdc      b       640     0       0       22      1       1       1       15
-#/dev/hdd      b       640     0       0       22      64      0       0       -
-#/dev/hdd      b       640     0       0       22      65      1       1       15
-#/dev/hde      b       640     0       0       33      0       0       0       -
-#/dev/hde      b       640     0       0       33      1       1       1       15
-#/dev/hdf      b       640     0       0       33      64      0       0       -
-#/dev/hdf      b       640     0       0       33      65      1       1       15
-#/dev/hdg      b       640     0       0       34      0       0       0       -
-#/dev/hdg      b       640     0       0       34      1       1       1       15
-#/dev/hdh      b       640     0       0       34      64      0       0       -
-#/dev/hdh      b       640     0       0       34      65      1       1       15
-
-# SCSI Devices
-#/dev/sda      b       640     0       0       8       0       0       0       -
-#/dev/sda      b       640     0       0       8       1       1       1       15
-#/dev/sdb      b       640     0       0       8       16      0       0       -
-#/dev/sdb      b       640     0       0       8       17      1       1       15
-#/dev/sdc      b       640     0       0       8       32      0       0       -
-#/dev/sdc      b       640     0       0       8       33      1       1       15
-#/dev/sdd      b       640     0       0       8       48      0       0       -
-#/dev/sdd      b       640     0       0       8       49      1       1       15
-#/dev/sde      b       640     0       0       8       64      0       0       -
-#/dev/sde      b       640     0       0       8       65      1       1       15
-#/dev/sdf      b       640     0       0       8       80      0       0       -
-#/dev/sdf      b       640     0       0       8       81      1       1       15
-#/dev/sdg      b       640     0       0       8       96      0       0       -
-#/dev/sdg      b       640     0       0       8       97      1       1       15
-#/dev/sdh      b       640     0       0       8       112     0       0       -
-#/dev/sdh      b       640     0       0       8       113     1       1       15
-#/dev/sg       c       640     0       0       21      0       0       1       15
-#/dev/scd      b       640     0       0       11      0       0       1       15
-#/dev/st       c       640     0       0       9       0       0       1       8
-#/dev/nst      c       640     0       0       9       128     0       1       8
-#/dev/st       c       640     0       0       9       32      1       1       4
-#/dev/st       c       640     0       0       9       64      1       1       4
-#/dev/st       c       640     0       0       9       96      1       1       4
-
-# Floppy disk devices
-#/dev/fd       b       640     0       0       2       0       0       1       2
-#/dev/fd0d360  b       640     0       0       2       4       0       0       -
-#/dev/fd1d360  b       640     0       0       2       5       0       0       -
-#/dev/fd0h1200 b       640     0       0       2       8       0       0       -
-#/dev/fd1h1200 b       640     0       0       2       9       0       0       -
-#/dev/fd0u1440 b       640     0       0       2       28      0       0       -
-#/dev/fd1u1440 b       640     0       0       2       29      0       0       -
-#/dev/fd0u2880 b       640     0       0       2       32      0       0       -
-#/dev/fd1u2880 b       640     0       0       2       33      0       0       -
-
-# All the proprietary cdrom devices in the world
-#/dev/aztcd    b       640     0       0       29      0       0       0       -
-#/dev/bpcd     b       640     0       0       41      0       0       0       -
-#/dev/capi20   c       640     0       0       68      0       0       1       2
-#/dev/cdu31a   b       640     0       0       15      0       0       0       -
-#/dev/cdu535   b       640     0       0       24      0       0       0       -
-#/dev/cm206cd  b       640     0       0       32      0       0       0       -
-#/dev/sjcd     b       640     0       0       18      0       0       0       -
-#/dev/sonycd   b       640     0       0       15      0       0       0       -
-#/dev/gscd     b       640     0       0       16      0       0       0       -
-#/dev/sbpcd    b       640     0       0       25      0       0       0       -
-#/dev/sbpcd    b       640     0       0       25      0       0       1       4
-#/dev/mcd      b       640     0       0       23      0       0       0       -
-#/dev/optcd    b       640     0       0       17      0       0       0       -
-
diff --git a/sources/dnsmasq1-100-bugfix.patch b/sources/dnsmasq1-100-bugfix.patch
deleted file mode 100644 (file)
index c676a1a..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
---- dnsmasq-1.18/config.h.dist 2004-03-01 22:25:12.000000000 -0600
-+++ dnsmasq-1.18/config.h      2004-03-01 22:26:50.000000000 -0600
-@@ -126,7 +126,9 @@
- /* Must preceed __linux__ since uClinux defines __linux__ too. */
- #if defined(__uClinux__) || defined(__UCLIBC__)
-+#ifndef __UCLIBC_HAS_IPV6__
- #undef HAVE_LINUX_IPV6_PROC
-+#endif
- #define HAVE_GETOPT_LONG
- #undef HAVE_ARC4RANDOM
- #define HAVE_RANDOM
-diff -x CVS -urN dnsmasq-1.18/option.c dnsmasq.old/option.c
---- dnsmasq-1.18/option.c      2003-11-05 08:22:18.000000000 -0600
-+++ dnsmasq.old/option.c       2004-01-05 23:40:11.000000000 -0600
-@@ -578,8 +578,8 @@
- #ifdef HAVE_IPV6
-           else if (tmp->source_addr.sa.sa_family == AF_INET6)
-             tmp->source_addr.in6.sin6_port = htons(*query_port);
--        }
- #endif  
-+        }
-     }
-   
-   if (*if_addrs)
diff --git a/sources/dnsmasq2-100-config.patch b/sources/dnsmasq2-100-config.patch
deleted file mode 100644 (file)
index 270c227..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -ur dnsmasq-2.15.orig/src/config.h dnsmasq-2.15/src/config.h
---- dnsmasq-2.15.orig/src/config.h     2004-10-08 11:41:34.757371880 -0400
-+++ dnsmasq-2.15/src/config.h  2004-10-08 11:43:49.074952504 -0400
-@@ -78,6 +78,11 @@
- /* We assume that systems which don't have IPv6
-    headers don't have ntop and pton either */
-+#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)
-+#  undef NO_IPV6
-+#  define NO_IPV6
-+#endif
-+
- #if defined(INET6_ADDRSTRLEN) && defined(IPV6_V6ONLY) && !defined(NO_IPV6)
- #  define HAVE_IPV6
- #  define ADDRSTRLEN INET6_ADDRSTRLEN
-@@ -194,7 +199,7 @@
- /* platform dependent options. */
- /* Must preceed __linux__ since uClinux defines __linux__ too. */
--#if defined(__uClinux__) || defined(__UCLIBC__)
-+#if defined(__uClinux__)
- #undef HAVE_LINUX_IPV6_PROC
- #define HAVE_GETOPT_LONG
- #undef HAVE_ARC4RANDOM
-@@ -208,6 +213,24 @@
- #  define NO_FORK
- #endif
-+#elif defined(__linux__) && defined(__UCLIBC__)
-+#  define HAVE_LINUX_IPV6_PROC
-+#  if defined(__UCLIBC_HAS_GNU_GETOPT__) || \
-+   ((__UCLIBC_MAJOR__==0) && (__UCLIBC_MINOR__==9) && (__UCLIBC_SUBLEVEL__<21))
-+#    define HAVE_GETOPT_LONG
-+#  else
-+#    undef HAVE_GETOPT_LONG
-+#  endif
-+#undef HAVE_ARC4RANDOM
-+#define HAVE_RANDOM
-+#define HAVE_DEV_URANDOM
-+#define HAVE_DEV_RANDOM
-+#undef HAVE_SOCKADDR_SA_LEN
-+#undef HAVE_PSELECT
-+#if !defined(__ARCH_HAS_MMU__)
-+#  define NO_FORK
-+#endif
-+
- /* libc5 - must precede __linux__ too */
- /* Note to build a libc5 binary on a modern Debian system:
-    install the packages altgcc libc5 and libc5-altdev 
diff --git a/sources/dropbear-init.patch b/sources/dropbear-init.patch
deleted file mode 100644 (file)
index d6bf174..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
---- dropbear-0.42/S50dropbear
-+++ dropbear-0.42/S50dropbear
-@@ -0,0 +1,56 @@
-+#!/bin/sh
-+#
-+# Starts dropbear sshd.
-+#
-+
-+# Make sure the dropbearkey progam exists
-+[ -f /usr/bin/dropbearkey ] || exit 0
-+
-+# Check for the Dropbear RSA key
-+if [ ! -f /etc/dropbear/dropbear_rsa_host_key ] ; then
-+      echo Generating RSA Key...
-+      mkdir -p /etc/dropbear
-+      /usr/bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
-+fi
-+
-+# Check for the Dropbear DSS key
-+if [ ! -f /etc/dropbear/dropbear_dss_host_key ] ; then
-+      echo Generating DSS Key...
-+      mkdir -p /etc/dropbear
-+      /usr/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
-+fi
-+
-+umask 077
-+
-+start() {
-+      echo -n "Starting dropbear sshd: "
-+      start-stop-daemon --start --quiet --pidfile /var/run/dropbear.pid --exec /usr/sbin/dropbear
-+      echo "OK"
-+}
-+stop() {
-+      echo -n "Stopping sshd: "
-+      start-stop-daemon --stop --quiet --pidfile /var/run/dropbear.pid
-+      echo "OK"
-+}
-+restart() {
-+      stop
-+      start
-+}
-+
-+case "$1" in
-+  start)
-+      start
-+      ;;
-+  stop)
-+      stop
-+      ;;
-+  restart|reload)
-+      restart
-+      ;;
-+  *)
-+      echo $"Usage: $0 {start|stop|restart}"
-+      exit 1
-+esac
-+
-+exit $?
-+
diff --git a/sources/file.patch b/sources/file.patch
deleted file mode 100644 (file)
index b2b7d3c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
---- file-4.10/magic/Makefile.in.orig   2004-07-24 14:38:55.000000000 -0600
-+++ file-4.10/magic/Makefile.in        2004-07-28 12:16:23.000000000 -0600
-@@ -490,10 +490,10 @@
-       done >> $@
- magic.mgc: magic
--      $(top_builddir)/src/file -C -m magic
-+      /usr/bin/file -C -m magic
- magic.mime.mgc: magic.mime
--      $(top_builddir)/src/file -C -m $(srcdir)/magic.mime
-+      /usr/bin/file -C -m $(srcdir)/magic.mime
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
- .NOEXPORT:
---- file-4.10/magic/Makefile.am.orig   2004-07-24 14:38:55.000000000 -0600
-+++ file-4.10/magic/Makefile.am        2004-07-28 12:18:15.000000000 -0600
-@@ -16,10 +16,10 @@
-       done >> $@
- magic.mgc: magic
--      $(top_builddir)/src/file -C -m magic
-+      /usr/bin/file -C -m magic
- magic.mime.mgc: magic.mime
--      $(top_builddir)/src/file -C -m $(srcdir)/magic.mime
-+      /usr/bin/file -C -m $(srcdir)/magic.mime
- magic_FRAGMENTS = \
- Magdir/acorn \
diff --git a/sources/genext2fs.patch b/sources/genext2fs.patch
deleted file mode 100644 (file)
index 73e5ce0..0000000
+++ /dev/null
@@ -1,2457 +0,0 @@
-diff -urN genext2fs-1.3.orig/Makefile genext2fs-1.3/Makefile
---- genext2fs-1.3.orig/Makefile        1969-12-31 17:00:00.000000000 -0700
-+++ genext2fs-1.3/Makefile     2003-04-21 01:41:42.000000000 -0600
-@@ -0,0 +1,46 @@
-+CC=gcc
-+CFLAGS=-Wall -O0 -g
-+
-+SRC=genext2fs.c
-+OBJS=$(patsubst %.c,%.o, $(SRC))
-+
-+all: genext2fs
-+INSTALL=install
-+
-+genext2fs: $(OBJS)
-+      $(CC) $(CFLAGS) -o $@ $(OBJS) -o $@
-+
-+$(OBJS): %.o : %.c
-+      $(CC) $(CFLAGS) -c $< -o $@
-+
-+$(OBJS): Makefile
-+
-+install:
-+      $(INSTALL) -d $(DESTDIR)/usr/bin/
-+      $(INSTALL) -m 755 genext2fs $(DESTDIR)/usr/bin/
-+      $(INSTALL) -d $(DESTDIR)/usr/share/man/man8/
-+      $(INSTALL) -m 644 genext2fs.8 $(DESTDIR)/usr/share/man/man8/
-+
-+clean:
-+      rm -rf *.o *.a core genext2fs
-+      rm -rf test ext2.img
-+
-+check: all
-+      mkdir -p test
-+      dd if=/dev/zero of=test/zero count=1
-+      ./genext2fs -b 4096 -d test ext2.img
-+      
-+      md5=`md5sum ext2.img | cut -f 1 -d " "`; \
-+      if [ "$$md5" != "89471302d95f96a76fbb2cff98182cde" ] ; then \
-+              echo "test failed."; \
-+      else \
-+              echo "test succeeded."; \
-+      fi
-+      
-+# test genext2fs by creating the image and comparing checksums
-+test: all
-+      sh ./test.sh
-+
-+# test genext2fs by actually mounting the created image.
-+test-mount: all
-+      sudo sh ./test-mount.sh
-diff -urN genext2fs-1.3.orig/debian/changelog genext2fs-1.3/debian/changelog
---- genext2fs-1.3.orig/debian/changelog        1969-12-31 17:00:00.000000000 -0700
-+++ genext2fs-1.3/debian/changelog     2003-04-21 01:41:42.000000000 -0600
-@@ -0,0 +1,17 @@
-+genext2fs (1.3-2) unstable; urgency=low
-+
-+  * apply fix from upstream cvs that appears to fix endian bug 
-+    (closes: #122411)
-+  * mention filesystem size limit in manpage (closes: #122729)
-+  * mention that hard links are not supported in manpage 
-+    (closes: #155464)
-+  * add sanity check at the end of the build
-+
-+ -- David Kimdon <dwhedon@debian.org>  Fri,  8 Mar 2002 23:17:36 -0800
-+
-+genext2fs (1.3-1) unstable; urgency=low
-+
-+  * Initial Release. (closes: #105263)
-+
-+ -- David Kimdon <dwhedon@debian.org>  Sat, 14 Jul 2001 13:24:49 -0700
-+
-diff -urN genext2fs-1.3.orig/debian/control genext2fs-1.3/debian/control
---- genext2fs-1.3.orig/debian/control  1969-12-31 17:00:00.000000000 -0700
-+++ genext2fs-1.3/debian/control       2003-04-21 01:41:42.000000000 -0600
-@@ -0,0 +1,19 @@
-+Source: genext2fs
-+Section: admin
-+Priority: optional
-+Maintainer: David Kimdon <dwhedon@debian.org>
-+Build-Depends: debhelper (>> 3.0.0)
-+Standards-Version: 3.5.2
-+
-+Package: genext2fs
-+Architecture: any
-+Depends: ${shlibs:Depends}
-+Description: ext2 filesystem generator for embedded systems
-+ `genext2fs' is meant to generate an ext2 filesystem
-+ as a normal (non-root) user. It doesn't require you to mount
-+ the image file to copy files on it. It doesn't even require
-+ you to be the superuser to make device nodes.
-+ .
-+ Warning ! `genext2fs' has been designed for embedded
-+ systems. As such, it will generate a filesystem for single-user
-+ usage: all files/directories/etc... will belong to UID/GID 0
-diff -urN genext2fs-1.3.orig/debian/copyright genext2fs-1.3/debian/copyright
---- genext2fs-1.3.orig/debian/copyright        1969-12-31 17:00:00.000000000 -0700
-+++ genext2fs-1.3/debian/copyright     2003-04-21 01:41:42.000000000 -0600
-@@ -0,0 +1,15 @@
-+This package was debianized by David Kimdon <dwhedon@debian.org> on
-+Sat, 14 Jul 2001 13:24:49 -0700.
-+
-+It was downloaded from http://freshmeat.net/projects/genext2fs/
-+Upstream Author(s):   Xavier Bestel <xbestel@aplio.fr>
-+
-+Copyright (C) 2000 Xavier Bestel <xavier.bestel@free.fr>
-+
-+This program is free software; you can redistribute it and/or
-+modify it under the terms of the GNU General Public License
-+as published by the Free Software Foundation; version
-+2 of the License.
-+
-+On Debian systems, the complete text of the GNU General Public
-+License can be found in /usr/share/common-licenses/GPL file.
-diff -urN genext2fs-1.3.orig/debian/rules genext2fs-1.3/debian/rules
---- genext2fs-1.3.orig/debian/rules    1969-12-31 17:00:00.000000000 -0700
-+++ genext2fs-1.3/debian/rules 2003-04-21 01:41:42.000000000 -0600
-@@ -0,0 +1,70 @@
-+#!/usr/bin/make -f
-+# Sample debian/rules that uses debhelper.
-+# GNU copyright 1997 to 1999 by Joey Hess.
-+
-+# Uncomment this to turn on verbose mode.
-+#export DH_VERBOSE=1
-+
-+# This is the debhelper compatability version to use.
-+export DH_COMPAT=2
-+
-+configure: configure-stamp
-+configure-stamp:
-+      dh_testdir
-+      # Add here commands to configure the package.
-+      # ./configure --prefix=/usr --mandir=/usr/share/man/
-+
-+      touch configure-stamp
-+
-+build: configure-stamp build-stamp
-+build-stamp:
-+      dh_testdir
-+
-+      # Add here commands to compile the package.
-+      $(MAKE)
-+      $(MAKE) check
-+
-+      touch build-stamp
-+
-+clean:
-+      dh_testdir
-+      dh_testroot
-+      rm -f build-stamp configure-stamp
-+
-+      # Add here commands to clean up after the build process.
-+      -$(MAKE) clean
-+
-+      dh_clean
-+
-+install: build
-+      dh_testdir
-+      dh_testroot
-+      dh_clean -k
-+      dh_installdirs
-+
-+      # Add here commands to install the package into debian/genext2fs.
-+      $(MAKE) install DESTDIR=`pwd`/debian/genext2fs
-+
-+
-+# Build architecture-independent files here.
-+binary-indep: build install
-+# We have nothing to do by default.
-+
-+# Build architecture-dependent files here.
-+binary-arch: build install
-+      dh_testdir
-+      dh_testroot
-+      dh_installdocs
-+      dh_installchangelogs 
-+      dh_link
-+      dh_strip
-+      dh_compress
-+      dh_fixperms
-+      dh_installdeb
-+      dh_shlibdeps
-+      dh_gencontrol
-+      dh_md5sums
-+      dh_builddeb
-+
-+binary: binary-indep binary-arch
-+.PHONY: build clean binary-indep binary-arch binary install configure
-diff -urN genext2fs-1.3.orig/dev.txt genext2fs-1.3/dev.txt
---- genext2fs-1.3.orig/dev.txt 2000-09-28 09:03:19.000000000 -0600
-+++ genext2fs-1.3/dev.txt      1969-12-31 17:00:00.000000000 -0700
-@@ -1,94 +0,0 @@
--drwx          /dev
--crw-  10,190  /dev/lcd
--crw-  10,191  /dev/splc781
--crw-  4,0     /dev/console
--crw-  5,64    /dev/cua0
--crw-  5,65    /dev/cua1
--crw-  5,66    /dev/cua2
--crw-  5,70    /dev/cua6
--crw-  5,71    /dev/cua7
--crw-  5,72    /dev/cua8
--crw-  5,73    /dev/cua9
--crw-  29,0    /dev/fb0
--crw-  29,32   /dev/fb1
--crw-  1,2     /dev/kmem
--crw-  1,1     /dev/mem
--crw-  1,3     /dev/null
--crw-  2,2     /dev/ptyp2
--crw-  2,3     /dev/ptyp3
--crw-  2,5     /dev/ptyp5
--crw-  2,4     /dev/ptyp4
--crw-  10,178  /dev/triokb
--crw-  2,0     /dev/ptyp0
--crw-  2,6     /dev/ptyp6
--crw-  2,7     /dev/ptyp7
--crw-  2,8     /dev/ptyp8
--crw-  2,9     /dev/ptyp9
--crw-  2,10    /dev/ptypa
--crw-  2,11    /dev/ptypb
--crw-  2,12    /dev/ptypc
--crw-  2,13    /dev/ptypd
--crw-  2,14    /dev/ptype
--crw-  2,15    /dev/ptypf
--brw-  1,0     /dev/ram0
--brw-  1,1     /dev/ram1
--brw-  1,2     /dev/ram2
--brw-  1,3     /dev/ram3
--br--  31,0    /dev/rom0
--brw-  31,1    /dev/rom1
--brw-  31,2    /dev/rom2
--brw-  31,3    /dev/rom3
--crw-  5,0     /dev/tty
--crw-  4,0     /dev/tty0
--crwx  4,1     /dev/tty1
--crwx  4,2     /dev/tty2
--crwx  4,3     /dev/tty3
--crwx  4,4     /dev/tty4
--crw-  4,5     /dev/tty5
--crwx  4,6     /dev/tty6
--crw-  4,7     /dev/tty7
--crw-  4,8     /dev/tty8
--crw-  4,9     /dev/tty9
--crw-  4,64    /dev/ttyS0
--crw-  4,65    /dev/ttyS1
--crw-  4,66    /dev/ttyS2
--crw-  4,67    /dev/ttyS3
--crw-  4,68    /dev/ttyS4
--crw-  4,69    /dev/ttyS5
--crw-  4,70    /dev/ttyS6
--crw-  4,71    /dev/ttyS7
--crw-  4,72    /dev/ttyS8
--crw-  4,73    /dev/ttyS9
--crw-  3,0     /dev/ttyp0
--crw-  3,1     /dev/ttyp1
--crw-  3,2     /dev/ttyp2
--crw-  3,3     /dev/ttyp3
--crw-  3,4     /dev/ttyp4
--crw-  3,5     /dev/ttyp5
--crw-  3,6     /dev/ttyp6
--crw-  3,7     /dev/ttyp7
--crw-  3,8     /dev/ttyp8
--crw-  3,9     /dev/ttyp9
--crw-  3,10    /dev/ttypa
--crw-  3,11    /dev/ttypb
--crw-  3,12    /dev/ttypc
--crw-  3,13    /dev/ttypd
--crw-  3,14    /dev/ttype
--crw-  3,15    /dev/ttypf
--crw-  1,5     /dev/zero
--crwx  10,111  /dev/dtedrv
--crwx  4,110   /dev/ttyM
--crw-  77,1    /dev/tssnd
--crw-  77,2    /dev/tstone
--crw-  2,1     /dev/ptyp1
--crwx  10,180  /dev/triohook
--crw-  90,0    /dev/mtd0
--brw-  44,0    /dev/ftl0
--crw-  10,175  /dev/tporta
--crw-  10,176  /dev/tportb
--crwx  10,100  /dev/softmodem
--crwx  10,101  /dev/softmodem_signals
--crwx  10,181  /dev/triovoice
--crw-  5,67    /dev/cua3
--crw-  5,68    /dev/cua4
--crw-  5,69    /dev/cua5
-diff -urN genext2fs-1.3.orig/device_table.txt genext2fs-1.3/device_table.txt
---- genext2fs-1.3.orig/device_table.txt        1969-12-31 17:00:00.000000000 -0700
-+++ genext2fs-1.3/device_table.txt     2003-04-21 01:41:42.000000000 -0600
-@@ -0,0 +1,129 @@
-+# When building a target filesystem, it is desirable to not have to
-+# become root and then run 'mknod' a thousand times.  Using a device 
-+# table you can create device nodes and directories "on the fly".
-+#
-+# This is a sample device table file for use with genext2fs.  You can
-+# do all sorts of interesting things with a device table file.  For
-+# example, if you want to adjust the permissions on a particular file
-+# you can just add an entry like:
-+#   /sbin/foobar        f       2755    0       0       -       -       -       -       -
-+# and (assuming the file /sbin/foobar exists) it will be made setuid
-+# root (regardless of what its permissions are on the host filesystem.
-+# Furthermore, you can use a single table entry to create a many device
-+# minors.  For example, if I wanted to create /dev/hda and /dev/hda[0-15]
-+# I could just use the following two table entries:
-+#   /dev/hda    b       640     0       0       3       0       0       0       -
-+#   /dev/hda    b       640     0       0       3       1       1       1       15
-+# 
-+# Device table entries take the form of:
-+# <name>    <type>      <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-+# where name is the file name,  type can be one of: 
-+#       f       A regular file
-+#       d       Directory
-+#       c       Character special device file
-+#       b       Block special device file
-+#       p       Fifo (named pipe)
-+# uid is the user id for the target file, gid is the group id for the
-+# target file.  The rest of the entries (major, minor, etc) apply only 
-+# to device special files.
-+
-+# Have fun
-+# -Erik Andersen <andersen@codepoet.org>
-+#
-+
-+#<name>               <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-+/dev          d       755     0       0       -       -       -       -       -
-+/dev/mem      c       640     0       0       1       1       0       0       -
-+/dev/kmem     c       640     0       0       1       2       0       0       -
-+/dev/null     c       640     0       0       1       3       0       0       -
-+/dev/zero     c       640     0       0       1       5       0       0       -
-+/dev/random   c       640     0       0       1       8       0       0       -
-+/dev/urandom  c       640     0       0       1       9       0       0       -
-+/dev/tty      c       666     0       0       5       0       0       0       -
-+/dev/tty      c       666     0       0       4       0       0       1       6
-+/dev/console  c       640     0       0       5       1       0       0       -
-+/dev/ram      b       640     0       0       1       1       0       0       -
-+/dev/ram      b       640     0       0       1       0       0       1       4
-+/dev/loop     b       640     0       0       7       0       0       1       2
-+/dev/ptmx     c       666     0       0       5       2       0       0       -
-+#/dev/ttyS    c       640     0       0       4       64      0       1       4
-+#/dev/psaux   c       640     0       0       10      1       0       0       -
-+#/dev/rtc     c       640     0       0       10      135     0       0       -
-+
-+# Adjust permissions on some normal files
-+#/etc/shadow  f       600     0       0       -       -       -       -       -
-+#/bin/tinylogin       f       4755    0       0       -       -       -       -       -
-+
-+# User-mode Linux stuff
-+/dev/ubda     b       640     0       0       98      0       0       0       -
-+/dev/ubda     b       640     0       0       98      1       1       1       15
-+
-+# IDE Devices
-+/dev/hda      b       640     0       0       3       0       0       0       -
-+/dev/hda      b       640     0       0       3       1       1       1       15
-+/dev/hdb      b       640     0       0       3       64      0       0       -
-+/dev/hdb      b       640     0       0       3       65      1       1       15
-+#/dev/hdc     b       640     0       0       22      0       0       0       -
-+#/dev/hdc     b       640     0       0       22      1       1       1       15
-+#/dev/hdd     b       640     0       0       22      64      0       0       -
-+#/dev/hdd     b       640     0       0       22      65      1       1       15
-+#/dev/hde     b       640     0       0       33      0       0       0       -
-+#/dev/hde     b       640     0       0       33      1       1       1       15
-+#/dev/hdf     b       640     0       0       33      64      0       0       -
-+#/dev/hdf     b       640     0       0       33      65      1       1       15
-+#/dev/hdg     b       640     0       0       34      0       0       0       -
-+#/dev/hdg     b       640     0       0       34      1       1       1       15
-+#/dev/hdh     b       640     0       0       34      64      0       0       -
-+#/dev/hdh     b       640     0       0       34      65      1       1       15
-+
-+# SCSI Devices
-+#/dev/sda     b       640     0       0       8       0       0       0       -
-+#/dev/sda     b       640     0       0       8       1       1       1       15
-+#/dev/sdb     b       640     0       0       8       16      0       0       -
-+#/dev/sdb     b       640     0       0       8       17      1       1       15
-+#/dev/sdc     b       640     0       0       8       32      0       0       -
-+#/dev/sdc     b       640     0       0       8       33      1       1       15
-+#/dev/sdd     b       640     0       0       8       48      0       0       -
-+#/dev/sdd     b       640     0       0       8       49      1       1       15
-+#/dev/sde     b       640     0       0       8       64      0       0       -
-+#/dev/sde     b       640     0       0       8       65      1       1       15
-+#/dev/sdf     b       640     0       0       8       80      0       0       -
-+#/dev/sdf     b       640     0       0       8       81      1       1       15
-+#/dev/sdg     b       640     0       0       8       96      0       0       -
-+#/dev/sdg     b       640     0       0       8       97      1       1       15
-+#/dev/sdh     b       640     0       0       8       112     0       0       -
-+#/dev/sdh     b       640     0       0       8       113     1       1       15
-+#/dev/sg              c       640     0       0       21      0       0       1       15
-+#/dev/scd     b       640     0       0       11      0       0       1       15
-+#/dev/st              c       640     0       0       9       0       0       1       8
-+#/dev/nst     c       640     0       0       9       128     0       1       8
-+#/dev/st      c       640     0       0       9       32      1       1       4
-+#/dev/st      c       640     0       0       9       64      1       1       4
-+#/dev/st      c       640     0       0       9       96      1       1       4
-+
-+# Floppy disk devices
-+#/dev/fd              b       640     0       0       2       0       0       1       2
-+#/dev/fd0d360 b       640     0       0       2       4       0       0       -
-+#/dev/fd1d360 b       640     0       0       2       5       0       0       -
-+#/dev/fd0h1200        b       640     0       0       2       8       0       0       -
-+#/dev/fd1h1200        b       640     0       0       2       9       0       0       -
-+#/dev/fd0u1440        b       640     0       0       2       28      0       0       -
-+#/dev/fd1u1440        b       640     0       0       2       29      0       0       -
-+#/dev/fd0u2880        b       640     0       0       2       32      0       0       -
-+#/dev/fd1u2880        b       640     0       0       2       33      0       0       -
-+
-+# All the proprietary cdrom devices in the world
-+#/dev/aztcd   b       640     0       0       29      0       0       0       -
-+#/dev/bpcd    b       640     0       0       41      0       0       0       -
-+#/dev/capi20  c       640     0       0       68      0       0       1       2
-+#/dev/cdu31a  b       640     0       0       15      0       0       0       -
-+#/dev/cdu535  b       640     0       0       24      0       0       0       -
-+#/dev/cm206cd b       640     0       0       32      0       0       0       -
-+#/dev/sjcd    b       640     0       0       18      0       0       0       -
-+#/dev/sonycd  b       640     0       0       15      0       0       0       -
-+#/dev/gscd    b       640     0       0       16      0       0       0       -
-+#/dev/sbpcd   b       640     0       0       25      0       0       0       -
-+#/dev/sbpcd   b       640     0       0       25      0       0       1       4
-+#/dev/mcd     b       640     0       0       23      0       0       0       -
-+#/dev/optcd   b       640     0       0       17      0       0       0       -
-+
-diff -urN genext2fs-1.3.orig/genext2fs.8 genext2fs-1.3/genext2fs.8
---- genext2fs-1.3.orig/genext2fs.8     1969-12-31 17:00:00.000000000 -0700
-+++ genext2fs-1.3/genext2fs.8  2003-04-21 01:41:42.000000000 -0600
-@@ -0,0 +1,125 @@
-+.\"                                      Hey, EMACS: -*- nroff -*-
-+.\" First parameter, NAME, should be all caps
-+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
-+.\" other parameters are allowed: see man(7), man(1)
-+.TH GENEXT2FS 8 "July 14, 2001"
-+.\" Please adjust this date whenever revising the manpage.
-+.\"
-+.\" Some roff macros, for reference:
-+.\" .nh        disable hyphenation
-+.\" .hy        enable hyphenation
-+.\" .ad l      left justify
-+.\" .ad b      justify to both left and right margins
-+.\" .nf        disable filling
-+.\" .fi        enable filling
-+.\" .br        insert line break
-+.\" .sp <n>    insert n+1 empty lines
-+.\" for manpage-specific macros, see man(7)
-+.SH NAME
-+genext2fs \- ext2 filesystem generator for embedded systems
-+.SH SYNOPSIS
-+.B genext2fs
-+.RI [ options ]  " image"
-+.SH DESCRIPTION
-+\fBgenext2fs\fP generates an ext2 filesystem
-+as a normal (non-root) user. It doesn't require you to mount
-+the image file to copy files on it. It doesn't even require
-+you to be the superuser to make device nodes.
-+.SH OPTIONS
-+.TP
-+.BI -x \ image
-+Use this image as a starting point
-+.TP
-+.BI -d \ directory
-+Add this directory as source
-+.TP
-+.BI -f \ FILE
-+.TP
-+.BI -D \ FILE
-+Uses the named FILE as a device table file, to create device 
-+nodes and directories "on the fly".
-+.TP
-+.BI -b \ blocks
-+Size in blocks
-+.TP
-+.BI -i \ inodes
-+Number of inodes
-+.TP
-+.BI -r \ reserved
-+Number of reserved blocks
-+.TP
-+.BI -g \ path
-+Generate a block map file for this path
-+.TP
-+.BI -e \ value
-+Fill unallocated blocks with value
-+.TP
-+.BI -z
-+Make files with holes
-+.TP
-+.BI -U
-+Squash owners making all files be owned by root
-+.TP
-+.BI -P
-+Squash permissions on all files
-+.TP
-+.BI -q
-+Squash permissions and owners (same as -P -U)
-+.TP
-+.BI -v
-+Print resulting filesystem structure
-+.TP
-+.BI -h
-+Display help
-+.TP
-+.SH EXAMPLES
-+
-+.EX
-+.B
-+ genext2fs -b 1440 -d src /dev/fd0
-+.EE
-+
-+All files in the 
-+.I src
-+directory will be written to 
-+.B /dev/fd0
-+as a new ext2 filesystem image. You can then mount the floppy as
-+usual.
-+
-+.EX
-+.B
-+ genext2fs -b 1024 -d src -D device_table.txt flashdisk.img
-+.EE
-+
-+This example builds a filesystem from all the files in 
-+.I src
-+, then device nodes are created based on the content the device_table file
-+.I dev.txt.
-+An example device file follows:
-+
-+.EX
-+ #<name>              <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-+ /dev         d       755     0       0       -       -       -       -       -
-+ /dev/mem     c       640     0       0       1       1       0       0       -
-+ /dev/tty     c       666     0       0       5       0       0       0       -
-+ /dev/tty     c       666     0       0       4       0       0       1       6
-+ /dev/loop    b       640     0       0       7       0       0       1       2
-+ /dev/hda     b       640     0       0       3       0       0       0       -
-+ /dev/hda     b       640     0       0       3       1       1       1       16
-+.EE
-+
-+This device table creates the /dev directory, a character device
-+node /dev/mem (major 1, minor 1), it also creates /dev/tty, 
-+/dev/tty[0-5], /dev/loop[0-1], /dev/hda, and /dev/hda0 to /dev/hda15
-+.SH BUGS
-+\fBgenext2fs\fP does not support hard links.  Hard links present in the input
-+tree will be represented as separate files in the ext2 image.
-+
-+.SH SEE ALSO
-+.BR mkfs (8),
-+.BR genromfs (8),
-+.BR mkisofs (8).
-+.br
-+.SH AUTHOR
-+This manual page was written by David Kimdon <dwhedon@debian.org>,
-+for the Debian GNU/Linux system (but may be used by others).
-diff -urN genext2fs-1.3.orig/genext2fs.c genext2fs-1.3/genext2fs.c
---- genext2fs-1.3.orig/genext2fs.c     2001-06-18 02:11:32.000000000 -0600
-+++ genext2fs-1.3/genext2fs.c  2003-04-21 01:48:35.000000000 -0600
-@@ -1,3 +1,4 @@
-+/* vi: set sw=8 ts=8: */
- // genext2fs.c
- //
- // ext2 filesystem generator for embedded systems
-@@ -26,6 +27,22 @@
- //                    Bugfix: getcwd values for Solaris       xavier.gueguen@col.bsf.alcatel.fr
- //                    Bugfix: ANSI scanf for non-GNU C        xavier.gueguen@col.bsf.alcatel.fr
- //    28 Jun 2001     Bugfix: getcwd differs for Solaris/GNU  mike@sowbug.com
-+//    23 Mar 2002     Bugfix: test for IFCHR or IFBLK was flawed
-+//    10 Oct 2002     Added comments,makefile targets,        vsundar@ixiacom.com    
-+//                    endianess swap assert check.  
-+//                    Copyright (C) 2002 Ixia communications
-+//    12 Oct 2002     Added support for triple indirection    vsundar@ixiacom.com
-+//                    Copyright (C) 2002 Ixia communications
-+//    14 Oct 2002     Added support for groups                vsundar@ixiacom.com
-+//                    Copyright (C) 2002 Ixia communications
-+//    5 Jan 2003      Bugfixes: reserved inodes should be set vsundar@usc.edu
-+//                    only in the first group; directory names
-+//                    need to be null padded at the end; and 
-+//                    number of blocks per group should be a 
-+//                    multiple of 8. Updated md5 values. 
-+//    6 Jan 2003      Erik Andersen <andersee@debian.org> added
-+//                        mkfs.jffs2 compatible device table support,
-+//                        along with -q, -P, -U
- // `genext2fs' is a mean to generate an ext2 filesystem
-@@ -33,10 +50,6 @@
- // the image file to copy files on it. It doesn't even require
- // you to be the superuser to make device nodes.
- //
--// Warning ! `genext2fs' has been designed for embedded
--// systems. As such, it will generate a filesystem for single-user
--// usage: all files/directories/etc... will belong to UID/GID 0
--//
- // Example usage:
- //
- // # genext2fs -b 1440 -d srcdir /dev/fd0
-@@ -45,21 +58,15 @@
- // a new ext2 filesystem image. You can then mount the floppy as
- // usual.
- //
--// # genext2fs -b 1024 -d builddir -f devices.txt flashdisk.img
-+// # genext2fs -b 1024 -d builddir -D device_table.txt flashdisk.img
- //
- // This one would build a filesystem from all the files in builddir,
--// then would read a devices list and make apropriate nodes. The
--// format for the device list is:
--//
--// drwx            /dev
--// crw-    10,190  /dev/lcd
--// brw-    1,0     /dev/ram0
--// 
--// This device list builds the /dev directory, a character device
--// node /dev/lcd (major 10, minor 190) and a block device node
--// /dev/ram0 (major 1, minor 0)
-+// then would read the device_table.txt file and make apropriate nodes.
-+// The format for the device table file is covered in detail in the sample
-+// device_table.txt file provided with the genext2fs source.
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-@@ -67,6 +74,11 @@
- #include <stdarg.h>
- #include <unistd.h>
- #include <sys/stat.h>
-+#include <assert.h>
-+#include <time.h>
-+#include <ctype.h>
-+#include <errno.h>
-+#include <fcntl.h>
-@@ -76,10 +88,14 @@
- #define BLOCKSIZE         1024
- #define BLOCKS_PER_GROUP  8192
- #define BYTES_PER_INODE   (8*BLOCKSIZE)
-+/* Percentage of blocks that are reserved.*/
- #define RESERVED_INODES   5/100
- // inode block size (why is it != BLOCKSIZE ?!?)
-+/* The field i_blocks in the ext2 inode stores the number of data blocks
-+   but in terms of 512 bytes. That is what INODE_BLOCKSIZE represents.
-+   INOBLK is the number of such blocks in an actual disk block            */
- #define INODE_BLOCKSIZE   512
- #define INOBLK            (BLOCKSIZE / INODE_BLOCKSIZE)
-@@ -147,6 +163,39 @@
- #define OP_HOLES     0x01       // make files with holes
-+/* Defines for accessing group details */
-+
-+// Number of groups in the filesystem
-+#define GRP_NBGROUPS(fs) ( ((fs)->sb.s_blocks_count-1)/(fs)->sb.s_blocks_per_group )
-+
-+// Get group block bitmap (bbm) given the group number
-+#define GRP_GET_GROUP_BBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_block_bitmap) )
-+
-+// Get group inode bitmap (ibm) given the group number
-+#define GRP_GET_GROUP_IBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_inode_bitmap) )
-+              
-+// Given an inode number find the group it belongs to
-+#define GRP_GROUP_OF_INODE(fs,nod) ( ((nod)-1) / (fs)->sb.s_inodes_per_group)
-+
-+//Given an inode number get the inode bitmap that covers it
-+#define GRP_GET_INODE_BITMAP(fs,nod) \
-+      ( GRP_GET_GROUP_IBM((fs),GRP_GROUP_OF_INODE((fs),(nod))) )
-+
-+//Given an inode number find its offset within the inode bitmap that covers it
-+#define GRP_IBM_OFFSET(fs,nod) \
-+      ( (nod) - GRP_GROUP_OF_INODE((fs),(nod))*(fs)->sb.s_inodes_per_group )
-+
-+// Given a block number find the group it belongs to
-+#define GRP_GROUP_OF_BLOCK(fs,blk) ( ((blk)-1) / (fs)->sb.s_blocks_per_group)
-+      
-+//Given a block number get the block bitmap that covers it
-+#define GRP_GET_BLOCK_BITMAP(fs,blk) \
-+      ( GRP_GET_GROUP_BBM((fs),GRP_GROUP_OF_BLOCK((fs),(blk))) )
-+
-+//Given a block number find its offset within the block bitmap that covers it
-+#define GRP_BBM_OFFSET(fs,blk) \
-+      ( (blk) - GRP_GROUP_OF_BLOCK((fs),(blk))*(fs)->sb.s_blocks_per_group )
-+
- // used types
-@@ -287,7 +336,6 @@
- {
-       groupdescriptor_decl
-       uint32 bg_reserved[3];
--      uint32 bg_pad_to_bk[(BLOCKSIZE-32)/sizeof(uint32)];
- } groupdescriptor;
- typedef struct
-@@ -304,6 +352,32 @@
- typedef uint8 block[BLOCKSIZE];
-+/* blockwalker fields:
-+   The blockwalker is used to access all the blocks of a file (including
-+   the indirection blocks) through repeated calls to walk_bw.  
-+   
-+   bpdir -> index into the inode->i_block[]. Indicates level of indirection.
-+   bnum -> total number of blocks so far accessed. including indirection
-+           blocks.
-+   bpind,bpdind,bptind -> index into indirection blocks.
-+   
-+   bpind, bpdind, bptind do *NOT* index into single, double and triple
-+   indirect blocks resp. as you might expect from their names. Instead 
-+   they are in order the 1st, 2nd & 3rd index to be used
-+   
-+   As an example..
-+   To access data block number 70000:
-+        bpdir: 15 (we are doing triple indirection)
-+        bpind: 0 ( index into the triple indirection block)
-+        bpdind: 16 ( index into the double indirection block)
-+        bptind: 99 ( index into the single indirection block)
-+      70000 = 12 + 256 + 256*256 + 16*256 + 100 (indexing starts from zero)
-+
-+   So,for double indirection bpind will index into the double indirection 
-+   block and bpdind into the single indirection block. For single indirection
-+   only bpind will be used.
-+*/
-+   
- typedef struct
- {
-       uint32 bnum;
-@@ -313,15 +387,14 @@
-       uint32 bptind;
- } blockwalker;
-+
-+/* Filesystem structure that support groups */
- #if BLOCKSIZE == 1024
- typedef struct
- {
-       block zero;          // The famous block 0
-       superblock sb;       // The superblock
--      groupdescriptor gd;  // The group desciptor
--      block bbm;           // The block bitmap
--      block ibm;           // The inode bitmap
--      inode itab[0];       // The inode table
-+      groupdescriptor gd[0]; // The group descriptors
- } filesystem;
- #else
- #error UNHANDLED BLOCKSIZE
-@@ -389,25 +462,113 @@
- #undef udecl32
- #undef utdecl32
--char * argv0;
-+static char * app_name;
-+static int squash_uids = 0;
-+static int squash_perms = 0;
-+static const char *const memory_exhausted = "memory exhausted";
- // error (un)handling
--inline void errexit(const char *fmt, ...)
-+static void verror_msg(const char *s, va_list p)
- {
--      va_list ap;
--      fprintf(stderr, "%s: ", argv0);
--      va_start(ap, fmt);
--      vfprintf(stderr, fmt, ap);
--      va_end(ap);
--      fprintf(stderr, "\n");
--      exit(1);
-+      fflush(stdout);
-+      fprintf(stderr, "%s: ", app_name);
-+      vfprintf(stderr, s, p);
-+}
-+static void error_msg(const char *s, ...)
-+{
-+      va_list p;
-+      va_start(p, s);
-+      verror_msg(s, p);
-+      va_end(p);
-+      putc('\n', stderr);
-+}
-+
-+static void error_msg_and_die(const char *s, ...)
-+{
-+      va_list p;
-+      va_start(p, s);
-+      verror_msg(s, p);
-+      va_end(p);
-+      putc('\n', stderr);
-+      exit(EXIT_FAILURE);
-+}
-+
-+static void vperror_msg(const char *s, va_list p)
-+{
-+      int err = errno;
-+      if (s == 0)
-+              s = "";
-+      verror_msg(s, p);
-+      if (*s)
-+              s = ": ";
-+      fprintf(stderr, "%s%s\n", s, strerror(err));
-+}
-+
-+#if 0
-+static void perror_msg(const char *s, ...)
-+{
-+      va_list p;
-+      va_start(p, s);
-+      vperror_msg(s, p);
-+      va_end(p);
-+}
-+#endif
-+static void perror_msg_and_die(const char *s, ...)
-+{
-+      va_list p;
-+      va_start(p, s);
-+      vperror_msg(s, p);
-+      va_end(p);
-+      exit(EXIT_FAILURE);
- }
--inline void pexit(const char * fname)
-+static FILE *xfopen(const char *path, const char *mode)
- {
--      fprintf(stderr, "%s: ", argv0);
--      perror(fname);
--      exit(1);
-+      FILE *fp;
-+      if ((fp = fopen(path, mode)) == NULL)
-+              perror_msg_and_die("%s", path);
-+      return fp;
-+}
-+
-+static char *xstrdup(const char *s)
-+{
-+      char *t;
-+
-+      if (s == NULL)
-+              return NULL;
-+      t = strdup(s);
-+      if (t == NULL)
-+              error_msg_and_die(memory_exhausted);
-+      return t;
-+}
-+
-+extern void *xrealloc(void *ptr, size_t size)
-+{
-+      ptr = realloc(ptr, size);
-+      if (ptr == NULL && size != 0)
-+              error_msg_and_die(memory_exhausted);
-+      return ptr;
-+}
-+
-+static char *xreadlink(const char *path)
-+{
-+      static const int GROWBY = 80; /* how large we will grow strings by */
-+
-+      char *buf = NULL;
-+      int bufsize = 0, readsize = 0;
-+
-+      do {
-+              buf = xrealloc(buf, bufsize += GROWBY);
-+              readsize = readlink(path, buf, bufsize); /* 1st try */
-+              if (readsize == -1) {
-+                      perror_msg_and_die("%s:%s", app_name, path);
-+              }
-+      }
-+      while (bufsize < readsize + 1);
-+
-+      buf[readsize] = '\0';
-+
-+      return buf;
- }
- // printf helper macro
-@@ -423,7 +584,7 @@
- {
- }
--// rounds a quantity up to a blocksize
-+/* Rounds qty upto a multiple of siz. siz should be a power of 2 */
- uint32 rndup(uint32 qty, uint32 siz)
- {
-       return (qty + (siz - 1)) & ~(siz - 1);
-@@ -444,7 +605,13 @@
- // return a given inode from a filesystem
- inline inode * get_nod(filesystem *fs, uint32 nod)
- {
--      return &fs->itab[nod-1];
-+      int grp,offset;
-+      inode *itab;
-+
-+      offset = GRP_IBM_OFFSET(fs,nod);
-+      grp = GRP_GROUP_OF_INODE(fs,nod);
-+      itab = (inode *)get_blk(fs, fs->gd[grp].bg_inode_table);
-+      return itab+offset-1;
- }
- // allocate a given block/inode in the bitmap
-@@ -479,29 +646,57 @@
- }
- // allocate a block
--uint32 alloc_blk(filesystem *fs)
-+uint32 alloc_blk(filesystem *fs, uint32  nod)
- {
--      uint32 bk;
--      if(!(bk = allocate(fs->bbm, 0)))
--              errexit("couldn't allocate a block (no free space)");
--      if(!(fs->gd.bg_free_blocks_count--))
--              errexit("group descr. free blocks count == 0 (corrupted fs?)");
-+      uint32 bk=0;
-+      uint32 grp,nbgroups;
-+
-+      grp = nod/fs->sb.s_inodes_per_group;
-+      nbgroups = ( fs->sb.s_blocks_count - fs->sb.s_first_data_block + fs->sb.s_blocks_per_group -1 ) / 
-+                                      fs->sb.s_blocks_per_group;
-+      if(!(bk = allocate(get_blk(fs,fs->gd[grp].bg_block_bitmap), 0))) {
-+              for(grp=0;grp<nbgroups && !bk;grp++)
-+                      bk=allocate(get_blk(fs,fs->gd[grp].bg_block_bitmap),0);
-+              grp--;
-+      }
-+      if (!bk)
-+              error_msg_and_die("couldn't allocate a block (no free space)");
-+      if(!(fs->gd[grp].bg_free_blocks_count--))
-+              error_msg_and_die("group descr %d. free blocks count == 0 (corrupted fs?)",grp);
-       if(!(fs->sb.s_free_blocks_count--))
--              errexit("superblock free blocks count == 0 (corrupted fs?)");
--      return bk;
-+              error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)");
-+      return fs->sb.s_blocks_per_group*grp + bk;
- }
- // allocate an inode
- uint32 alloc_nod(filesystem *fs)
- {
--      uint32 nod;
--      if(!(nod = allocate(fs->ibm, 0)))
--              errexit("couldn't allocate an inode (no free inode)");
--      if(!(fs->gd.bg_free_inodes_count--))
--              errexit("group descr. free blocks count == 0 (corrupted fs?)");
-+      uint32 nod=0,best_group=0;
-+      uint32 grp,nbgroups,avefreei;
-+
-+      nbgroups = ( fs->sb.s_blocks_count - fs->sb.s_first_data_block + fs->sb.s_blocks_per_group -1 ) / 
-+                                      fs->sb.s_blocks_per_group;
-+
-+      /* Distribute inodes amongst all the blocks                           */
-+      /* For every block group with more than average number of free inodes */
-+      /* find the one with the most free blocks and allocate node there     */
-+      /* Idea from find_group_dir in fs/ext2/ialloc.c in 2.4.19 kernel      */
-+      /* We do it for all inodes.                                           */
-+      avefreei  =  fs->sb.s_free_inodes_count / nbgroups;
-+      for(grp=0;grp<nbgroups && !nod;grp++) {
-+              if (fs->gd[grp].bg_free_inodes_count < avefreei)
-+                      continue;
-+              if (!best_group || 
-+                      fs->gd[grp].bg_free_blocks_count > fs->gd[best_group].bg_free_blocks_count)
-+                      best_group = grp;
-+      }
-+      if (!(nod = allocate(get_blk(fs,fs->gd[best_group].bg_inode_bitmap),0)))
-+              error_msg_and_die("couldn't allocate an inode (no free inode)");
-+      if(!(fs->gd[best_group].bg_free_inodes_count--))
-+              error_msg_and_die("group descr. free blocks count == 0 (corrupted fs?)");
-       if(!(fs->sb.s_free_inodes_count--))
--              errexit("superblock free blocks count == 0 (corrupted fs?)");
--      return nod;
-+              error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)");
-+      return fs->sb.s_inodes_per_group*best_group+nod;
- }
- // print a bitmap allocation
-@@ -546,14 +741,14 @@
-       {
-               bkref = &get_nod(fs, nod)->i_block[bw->bpdir = 0];
-               if(extend) // allocate first block
--                      *bkref = hole ? 0 : alloc_blk(fs);
-+                      *bkref = hole ? 0 : alloc_blk(fs,nod);
-       }
-       // direct block
-       else if(bw->bpdir < EXT2_NDIR_BLOCKS)
-       {
-               bkref = &get_nod(fs, nod)->i_block[++bw->bpdir];
-               if(extend) // allocate block
--                      *bkref = hole ? 0 : alloc_blk(fs);
-+                      *bkref = hole ? 0 : alloc_blk(fs,nod);
-       }
-       // first block in indirect block
-       else if(bw->bpdir == EXT2_NDIR_BLOCKS)
-@@ -562,11 +757,11 @@
-               bw->bpdir = EXT2_IND_BLOCK;
-               bw->bpind = 0;
-               if(extend) // allocate indirect block
--                      get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs);
-+                      get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod);
-               b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
-               bkref = &b[bw->bpind];
-               if(extend) // allocate first block
--                      *bkref = hole ? 0 : alloc_blk(fs);
-+                      *bkref = hole ? 0 : alloc_blk(fs,nod);
-       }
-       // block in indirect block
-       else if((bw->bpdir == EXT2_IND_BLOCK) && (bw->bpind < BLOCKSIZE/4 - 1))
-@@ -575,7 +770,7 @@
-               b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
-               bkref = &b[bw->bpind];
-               if(extend) // allocate block
--                      *bkref = hole ? 0 : alloc_blk(fs);
-+                      *bkref = hole ? 0 : alloc_blk(fs,nod);
-       }
-       // first block in first indirect block in first double indirect block
-       else if(bw->bpdir == EXT2_IND_BLOCK)
-@@ -585,14 +780,14 @@
-               bw->bpind = 0;
-               bw->bpdind = 0;
-               if(extend) // allocate double indirect block
--                      get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs);
-+                      get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod);
-               b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
-               if(extend) // allocate first indirect block
--                      b[bw->bpind] = alloc_blk(fs);
-+                      b[bw->bpind] = alloc_blk(fs,nod);
-               b = (uint32*)get_blk(fs, b[bw->bpind]);
-               bkref = &b[bw->bpdind];
-               if(extend) // allocate first block
--                      *bkref = hole ? 0 : alloc_blk(fs);
-+                      *bkref = hole ? 0 : alloc_blk(fs,nod);
-       }
-       // block in indirect block in double indirect block
-       else if((bw->bpdir == EXT2_DIND_BLOCK) && (bw->bpdind < BLOCKSIZE/4 - 1))
-@@ -602,7 +797,7 @@
-               b = (uint32*)get_blk(fs, b[bw->bpind]);
-               bkref = &b[bw->bpdind];
-               if(extend) // allocate block
--                      *bkref = hole ? 0 : alloc_blk(fs);
-+                      *bkref = hole ? 0 : alloc_blk(fs,nod);
-       }
-       // first block in indirect block in double indirect block
-       else if((bw->bpdir == EXT2_DIND_BLOCK) && (bw->bpind < BLOCKSIZE/4 - 1))
-@@ -612,20 +807,100 @@
-               bw->bpind++;
-               b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
-               if(extend) // allocate indirect block
--                      b[bw->bpind] = alloc_blk(fs);
-+                      b[bw->bpind] = alloc_blk(fs,nod);
-               b = (uint32*)get_blk(fs, b[bw->bpind]);
-               bkref = &b[bw->bpdind];
-               if(extend) // allocate first block
--                      *bkref = hole ? 0 : alloc_blk(fs);
-+                      *bkref = hole ? 0 : alloc_blk(fs,nod);
-+      }
-+
-+      /* Adding support for triple indirection */
-+      /* Just starting triple indirection. Allocate the indirection
-+         blocks and the first data block
-+       */
-+      else if (bw->bpdir == EXT2_DIND_BLOCK) 
-+      {
-+              bw->bnum += 3;
-+              bw->bpdir = EXT2_TIND_BLOCK;
-+              bw->bpind = 0;
-+              bw->bpdind = 0;
-+              bw->bptind = 0;
-+              if(extend) // allocate triple indirect block
-+                      get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod);
-+              b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
-+              if(extend) // allocate first double indirect block
-+                      b[bw->bpind] = alloc_blk(fs,nod);
-+              b = (uint32*)get_blk(fs, b[bw->bpind]);
-+              if(extend) // allocate first indirect block
-+                      b[bw->bpdind] = alloc_blk(fs,nod);
-+              b = (uint32*)get_blk(fs, b[bw->bpdind]);
-+              bkref = &b[bw->bptind];
-+              if(extend) // allocate first data block
-+                      *bkref = hole ? 0 : alloc_blk(fs,nod);
-+      }
-+      /* Still processing a single indirect block down the indirection
-+         chain.Allocate a data block for it
-+       */
-+      else if ( (bw->bpdir == EXT2_TIND_BLOCK) && 
-+                (bw->bptind < BLOCKSIZE/4 -1) )
-+      {
-+              bw->bptind++;
-+              b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
-+              b = (uint32*)get_blk(fs, b[bw->bpind]);
-+              b = (uint32*)get_blk(fs, b[bw->bpdind]);
-+              bkref = &b[bw->bptind];
-+              if(extend) // allocate data block
-+                      *bkref = hole ? 0 : alloc_blk(fs,nod);
-+      }
-+      /* Finished processing a single indirect block. But still in the 
-+         same double indirect block. Allocate new single indirect block
-+         for it and a data block
-+       */
-+      else if ( (bw->bpdir == EXT2_TIND_BLOCK) &&
-+                (bw->bpdind < BLOCKSIZE/4 -1) )
-+      {
-+              bw->bnum++;
-+              bw->bptind = 0;
-+              bw->bpdind++;
-+              b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
-+              b = (uint32*)get_blk(fs, b[bw->bpind]);
-+              if (extend) // allocate single indirect block
-+                      b[bw->bpdind] = alloc_blk(fs,nod);
-+              b = (uint32*)get_blk(fs, b[bw->bpdind]);
-+              bkref = &b[bw->bptind];
-+              if(extend) // allocate first data block
-+                      *bkref = hole ? 0 : alloc_blk(fs,nod);
-+      }
-+      /* Finished processing a double indirect block. Allocate the next
-+         double indirect block and the single,data blocks for it
-+       */
-+      else if ( (bw->bpdir == EXT2_TIND_BLOCK) && 
-+                (bw->bpind < BLOCKSIZE/4 - 1) )
-+      {
-+              bw->bnum += 2;
-+              bw->bpdind = 0;
-+              bw->bptind = 0;
-+              bw->bpind++;
-+              b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
-+              if(extend) // allocate double indirect block
-+                      b[bw->bpind] = alloc_blk(fs,nod);
-+              b = (uint32*)get_blk(fs, b[bw->bpind]);
-+              if(extend) // allocate single indirect block
-+                      b[bw->bpdind] = alloc_blk(fs,nod);
-+              b = (uint32*)get_blk(fs, b[bw->bpdind]);
-+              bkref = &b[bw->bptind];
-+              if(extend) // allocate first block
-+                      *bkref = hole ? 0 : alloc_blk(fs,nod);
-       }
--      // I don't do triple indirect - it's such a small filesystem ...
-       else
--              errexit("file too big ! blocks list for inode %d extends past double indirect blocks!", nod);
-+              error_msg_and_die("file too big !"); 
-+      /* End change for walking triple indirection */
-+
-       if(*bkref)
-       {
-               bw->bnum++;
--              if(!allocated(fs->bbm, *bkref))
--                      errexit("[block %d of inode %d is unallocated !]", *bkref, nod);
-+              if(!allocated(GRP_GET_BLOCK_BITMAP(fs,*bkref), GRP_BBM_OFFSET(fs,*bkref)))
-+                      error_msg_and_die("[block %d of inode %d is unallocated !]", *bkref, nod);
-       }
-       if(extend)
-               get_nod(fs, nod)->i_blocks = bw->bnum * INOBLK;
-@@ -663,23 +938,40 @@
- }
- // link an entry (inode #) to a directory
--void add2dir(filesystem *fs, uint32 dnod, uint32 nod, const char* name)
-+void add2dir(filesystem *fs, uint32 dnod, uint32 nod, const char* name, uint32 mode, uid_t uid, gid_t gid, time_t ctime)
- {
-       blockwalker bw;
-       uint32 bk;
-       uint8 *b;
-       directory *d;
-       int reclen, nlen;
--      if((get_nod(fs, dnod)->i_mode & FM_IFMT) != FM_IFDIR)
--              errexit("can't add '%s' to a non-directory", name);
-+      inode *node;
-+      inode *pnode;
-+      
-+      /* Squash all permissions so files are owned by root 
-+       * and file permissions have group/other perms removed */
-+      if (squash_uids) {
-+              uid = gid = 0;
-+      }
-+      if (squash_perms) {
-+              if (!S_ISLNK(mode)) {
-+                      mode &= ~(S_IWGRP | S_IWOTH);
-+                      mode &= ~(S_ISUID | S_ISGID);
-+              }
-+      }
-+
-+      pnode = get_nod(fs, dnod);
-+
-+      if(!S_ISDIR(pnode->i_mode))
-+              error_msg_and_die("can't add '%s' to a non-directory", name);
-       if(!*name)
--              errexit("bad name '%s' (not meaningful)", name);
-+              error_msg_and_die("bad name '%s' (not meaningful)", name);
-       if(strchr(name, '/'))
--              errexit("bad name '%s' (contains a slash)", name);
-+              error_msg_and_die("bad name '%s' (contains a slash)", name);
-       nlen = strlen(name);
-       reclen = sizeof(directory) + rndup(nlen, 4);
-       if(reclen > BLOCKSIZE)
--              errexit("bad name '%s' (too long)", name);
-+              error_msg_and_die("bad name '%s' (too long)", name);
-       init_bw(fs, dnod, &bw);
-       while((bk = walk_bw(fs, dnod, &bw, 0, 0)) != WALK_END) // for all blocks in dir
-       {
-@@ -691,9 +983,16 @@
-                       if((!d->d_inode) && (d->d_rec_len >= reclen))
-                       {
-                               d->d_inode = nod;
--                              get_nod(fs, nod)->i_links_count++;
-+                              node = get_nod(fs, nod);
-+                              node->i_links_count++;
-                               d->d_name_len = nlen;
--                              strncpy(d->d_name, name, nlen);
-+                              strncpy(d->d_name, name, rndup(nlen,4));
-+                              node->i_mode = mode;
-+                              node->i_uid = uid;
-+                              node->i_gid = gid;
-+                              node->i_atime = ctime;
-+                              node->i_ctime = ctime;
-+                              node->i_mtime = ctime;
-                               return;
-                       }
-                       // if entry with enough room (last one?), shrink it & use it
-@@ -705,9 +1004,16 @@
-                               d = (directory*) (((int8*)d) + d->d_rec_len);
-                               d->d_rec_len = reclen;
-                               d->d_inode = nod;
--                              get_nod(fs, nod)->i_links_count++;
-+                              node = get_nod(fs, nod);
-+                              node->i_links_count++;
-                               d->d_name_len = nlen;
--                              strncpy(d->d_name, name, nlen);
-+                              strncpy(d->d_name, name, rndup(nlen,4));
-+                              node->i_mode = mode;
-+                              node->i_uid = uid;
-+                              node->i_gid = gid;
-+                              node->i_atime = ctime;
-+                              node->i_ctime = ctime;
-+                              node->i_mtime = ctime;
-                               return;
-                       }
-               }
-@@ -716,10 +1022,17 @@
-       b = get_workblk();
-       d = (directory*)b;
-       d->d_inode = nod;
--      get_nod(fs, nod)->i_links_count++;
-+      node = get_nod(fs, nod);
-+      node->i_links_count++;
-       d->d_rec_len = BLOCKSIZE;
-       d->d_name_len = nlen;
--      strncpy(d->d_name, name, nlen);
-+      strncpy(d->d_name, name, rndup(nlen,4));
-+      node->i_mode = mode;
-+      node->i_uid = uid;
-+      node->i_gid = gid;
-+      node->i_atime = ctime;
-+      node->i_ctime = ctime;
-+      node->i_mtime = ctime;
-       extend_blk(fs, dnod, b, 1);
-       get_nod(fs, dnod)->i_size += BLOCKSIZE;
-       free_workblk(b);
-@@ -747,7 +1060,7 @@
- // find the inode of a full path
- uint32 find_path(filesystem *fs, uint32 nod, const char * name)
- {
--      char *p, *n, *n2 = strdup(name);
-+      char *p, *n, *n2 = xstrdup(name);
-       n = n2;
-       while(*n == '/')
-       {
-@@ -770,27 +1083,32 @@
- }
- // make a full-fledged directory (i.e. with "." & "..")
--uint32 mkdir_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode)
-+uint32 mkdir_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode,
-+      uid_t uid, gid_t gid, time_t ctime)
- {
-       uint32 nod;
-       if((nod = find_dir(fs, parent_nod, name)))
-               return nod;
-               nod = alloc_nod(fs);
--      get_nod(fs, nod)->i_mode = FM_IFDIR | mode;
--      add2dir(fs, parent_nod, nod, name);
--      add2dir(fs, nod, nod, ".");
--      add2dir(fs, nod, parent_nod, "..");
--      fs->gd.bg_used_dirs_count++;
-+      if (!(mode & FM_IFDIR))
-+          mode |= FM_IFDIR;
-+      add2dir(fs, parent_nod, nod, name, mode, uid, gid, ctime);
-+      add2dir(fs, nod, nod, ".", mode, uid, gid, ctime);
-+      add2dir(fs, nod, parent_nod, "..", mode, uid, gid, ctime);
-+      fs->gd[GRP_GROUP_OF_INODE(fs,nod)].bg_used_dirs_count++;
-       return nod;
- }
- // make a symlink
--uint32 mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size, uint8 * b)
-+uint32 mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size,
-+      uint8 * b, uid_t uid, gid_t gid, time_t ctime)
- {
-+      uint32 mode;
-       uint32 nod = alloc_nod(fs);
-+      mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO; 
-       get_nod(fs, nod)->i_mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO;
-       get_nod(fs, nod)->i_size = size;
--      add2dir(fs, parent_nod, nod, name);
-+      add2dir(fs, parent_nod, nod, name, mode, uid, gid, ctime);
-       if(size <= 4 * (EXT2_TIND_BLOCK+1))
-       {
-               strncpy((char*)get_nod(fs, nod)->i_block, (char*)b, size);
-@@ -801,15 +1119,15 @@
- }
- // make a file from a FILE*
--uint32 mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, size_t size, FILE *f)
-+uint32 mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, size_t size, FILE *f, uid_t uid, gid_t gid, time_t ctime)
- {
-       uint8 * b;
-       uint32 nod = alloc_nod(fs);
--      get_nod(fs, nod)->i_mode = FM_IFREG | mode;
-+      mode |= FM_IFREG;
-       get_nod(fs, nod)->i_size = size;
--      add2dir(fs, parent_nod, nod, name);
-+      add2dir(fs, parent_nod, nod, name, mode, uid, gid, ctime);
-       if(!(b = (uint8*)malloc(rndup(size, BLOCKSIZE))))
--              errexit("not enough mem to read file '%s'", name);
-+              error_msg_and_die("not enough mem to read file '%s'", name);
-       memset(b, 0,rndup(size, BLOCKSIZE));
-       if(f)
-               fread(b, size, 1, f);
-@@ -824,6 +1142,15 @@
- uint32 get_mode(struct stat *st)
- {
-       uint32 mode = 0;
-+
-+      /* Squash file permissions as needed */
-+      if (squash_perms) {
-+              if (!S_ISLNK(mode)) {
-+                      st->st_mode &= ~(S_IWGRP | S_IWOTH);
-+                      st->st_mode &= ~(S_ISUID | S_ISGID);
-+              }
-+      }
-+
-       if(st->st_mode & S_IRUSR)
-               mode |= FM_IRUSR | FM_IRGRP | FM_IROTH;
-       if(st->st_mode & S_IWUSR)
-@@ -833,30 +1160,17 @@
-       return mode;
- }
--// retrieves a mode info from a string
--uint32 get_modestr(const char *p)
--{
--      uint32 mode = 0;
--      if(p[0] == 'r')
--              mode |= FM_IRUSR | FM_IRGRP | FM_IROTH;
--      if(p[1] == 'w')
--              mode |= FM_IWUSR | FM_IWGRP | FM_IWOTH;
--      if(p[2] == 'x' || p[2] == 's')
--              mode |= FM_IXUSR | FM_IXGRP | FM_IXOTH;
--      return mode;
--}
--
- // basename of a path - free me
- char * basename(const char * fullpath)
- {
-       char * p = strrchr(fullpath, '/');
--      return strdup(p ? p + 1 : fullpath);
-+      return xstrdup(p ? p + 1 : fullpath);
- }
- // dirname of a path - free me
- char * dirname(const char * fullpath)
- {
--      char * p, * n = strdup(fullpath);
-+      char * p, * n = xstrdup(fullpath);
-       if((p = strrchr(n, '/')))
-               *(p+1) = 0;
-       else
-@@ -864,66 +1178,6 @@
-       return n;
- }
--// adds entries to the filesystem from a text file
--void add2fs_from_file(filesystem *fs, uint32 this_nod, FILE * fh)
--{
--      uint32 mode;
--      uint32 nod, nod2;
--      char cmod[11], *path, *name, *dir;
--      int major, minor;
--      while(fscanf(fh, "%10s", cmod))
--      {
--              if(feof(fh))
--                      break;
--              mode = get_modestr(cmod + 1);
--              switch(*cmod)
--              {
--                      case 'd':
--                              fscanf(fh, "%" SCANF_PREFIX "s\n", SCANF_STRING(path));
--                              break;
--                      case 'c':
--                              mode |= FM_IFCHR;
--                              fscanf(fh, "%i, %i %" SCANF_PREFIX "s\n", &major, &minor, SCANF_STRING(path));
--                              break;
--                      case 'b':
--                              mode |= FM_IFBLK;
--                              fscanf(fh, "%i, %i %" SCANF_PREFIX "s\n", &major, &minor, SCANF_STRING(path));
--                              break;
--                      case '#':
--                              while(fgetc(fh) != '\n');
--                              continue;
--                      default:
--                              errexit("malformed text input file");
--              }
--              name = basename(path);
--              dir = dirname(path);
--              free(path);
--              if(!(nod = find_path(fs, this_nod, dir)))
--                      errexit("can't find directory '%s' to create '%s''", dir, name);
--              free(dir);
--              if((!strcmp(name, ".")) || (!strcmp(name, "..")))
--              {
--                      free(name);
--                      continue;
--              }
--              switch(*cmod)
--              {
--                      case 'd':
--                              mkdir_fs(fs, nod, name, mode);
--                              break;
--                      case 'c':
--                      case 'b':
--                              nod2 = alloc_nod(fs);
--                              get_nod(fs, nod2)->i_mode = mode;
--                              ((uint8*)get_nod(fs, nod2)->i_block)[0] = minor;
--                              ((uint8*)get_nod(fs, nod2)->i_block)[1] = major;
--                              add2dir(fs, nod, nod2, name);
--                              break;
--              }
--              free(name);
--      }
--}
--
- // adds a tree of entries to the filesystem from current dir
- void add2fs_from_dir(filesystem *fs, uint32 this_nod)
- {
-@@ -934,7 +1188,7 @@
-       struct stat st;
-       uint8 *b;
-       if(!(dh = opendir(".")))
--              pexit(".");
-+              perror_msg_and_die(".");
-       while((dent = readdir(dh)))
-       {
-               if((!strcmp(dent->d_name, ".")) || (!strcmp(dent->d_name, "..")))
-@@ -948,31 +1202,27 @@
-                               get_nod(fs, nod)->i_mode = (((st.st_mode & S_IFMT) == S_IFCHR) ? FM_IFCHR : FM_IFBLK) | get_mode(&st);
-                               ((uint8*)get_nod(fs, nod)->i_block)[0] = (st.st_rdev & 0xff);
-                               ((uint8*)get_nod(fs, nod)->i_block)[1] = (st.st_rdev >> 8);
--                              add2dir(fs, this_nod, nod, dent->d_name);
-+                              add2dir(fs, this_nod, nod, dent->d_name, st.st_mode, st.st_uid, st.st_gid, st.st_ctime);
-                               break;
-                       case S_IFLNK:
--                              if(!(b = (uint8*)malloc(rndup(st.st_size, BLOCKSIZE))))
--                                      errexit("out of memory");
--                              if(readlink(dent->d_name, (char*)b, st.st_size) < 0)
--                                      pexit(dent->d_name);
--                              mklink_fs(fs, this_nod, dent->d_name, st.st_size, b);
-+                              b = xreadlink(dent->d_name);
-+                              mklink_fs(fs, this_nod, dent->d_name, st.st_size, b, st.st_uid, st.st_gid, st.st_ctime);
-                               free(b);
-                               break;
-                       case S_IFREG:
--                              if(!(fh = fopen(dent->d_name, "r")))
--                                      pexit(dent->d_name);
--                              mkfile_fs(fs, this_nod, dent->d_name, get_mode(&st), st.st_size, fh);
-+                              fh = xfopen(dent->d_name, "r");
-+                              mkfile_fs(fs, this_nod, dent->d_name, st.st_mode, st.st_size, fh, st.st_uid, st.st_gid, st.st_ctime);
-                               fclose(fh);
-                               break;
-                       case S_IFDIR:
--                              nod = mkdir_fs(fs, this_nod, dent->d_name, get_mode(&st));
-+                              nod = mkdir_fs(fs, this_nod, dent->d_name, st.st_mode, st.st_uid, st.st_gid, st.st_ctime);
-                               if(chdir(dent->d_name) < 0)
--                                      pexit(dent->d_name);
-+                                      perror_msg_and_die(dent->d_name);
-                               add2fs_from_dir(fs, nod);
-                               chdir("..");
-                               break;
-                       default:
--                              fprintf(stderr, "ignoring entry %s", dent->d_name);
-+                              error_msg("ignoring entry %s", dent->d_name);
-               }
-       }
-       closedir(dh);
-@@ -981,9 +1231,11 @@
- // endianness swap of x-indirect blocks
- void swap_goodblocks(filesystem *fs, inode *nod)
- {
--      int i;
-+      int i,j,done=0;
-+      uint32 *b,*b2;
-+
-       int nblk = nod->i_blocks / INOBLK;
--      if((nod->i_size && !nblk) || (nod->i_mode & (FM_IFBLK | FM_IFCHR)))
-+      if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR))
-               for(i = 0; i <= EXT2_TIND_BLOCK; i++)
-                       nod->i_block[i] = swab32(nod->i_block[i]);
-       if(nblk <= EXT2_IND_BLOCK)
-@@ -991,20 +1243,55 @@
-       swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK]));
-       if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4)
-               return;
-+      /* Currently this will fail b'cos the number of blocks as stored
-+         in i_blocks also includes the indirection blocks (see
-+         walk_bw). But this function assumes that i_blocks only
-+         stores the count of data blocks ( Actually according to
-+         "Understanding the Linux Kernel" (Table 17-3 p502 1st Ed)
-+         i_blocks IS supposed to store the count of data blocks). so
-+         with a file of size 268K nblk would be 269.The above check
-+         will be false even though double indirection hasn't been
-+         started.This is benign as 0 means block 0 which has been
-+         zeroed out and therefore points back to itself from any offset
-+       */
-+      assert(nod->i_block[EXT2_DIND_BLOCK] != 0);
-       for(i = 0; i < BLOCKSIZE/4; i++)
-+              /* Should this be...
-+              if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + (BLOCKSIZE/4)*i )
-+              */
-               if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + i)
-                       swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i]));
-       swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]));
-       if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4)
-               return;
--      errexit("too big file on the filesystem");
-+      /* Adding support for triple indirection */
-+      b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]);
-+      for(i=0;i < BLOCKSIZE/4 && !done ; i++) {
-+              b2 = (uint32*)get_blk(fs,b[i]); 
-+              for(j=0; j<BLOCKSIZE/4;j++) {
-+                      if (nblk > ( EXT2_IND_BLOCK + BLOCKSIZE/4 + 
-+                                   (BLOCKSIZE/4)*(BLOCKSIZE/4) + 
-+                                   i*(BLOCKSIZE/4)*(BLOCKSIZE/4) + 
-+                                   j*(BLOCKSIZE/4)) ) 
-+                        swap_block(get_blk(fs,b2[j]));
-+                      else {
-+                        done = 1;
-+                        break;
-+                      }
-+              }
-+              swap_block((uint8 *)b2);
-+      }
-+      swap_block((uint8 *)b);
-+      return;
- }
- void swap_badblocks(filesystem *fs, inode *nod)
- {
--      int i;
-+      int i,j,done=0;
-+      uint32 *b,*b2;
-+
-       int nblk = nod->i_blocks / INOBLK;
--      if((nod->i_size && !nblk) || (nod->i_mode & (FM_IFBLK | FM_IFCHR)))
-+      if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR))
-               for(i = 0; i <= EXT2_TIND_BLOCK; i++)
-                       nod->i_block[i] = swab32(nod->i_block[i]);
-       if(nblk <= EXT2_IND_BLOCK)
-@@ -1012,13 +1299,34 @@
-       swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK]));
-       if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4)
-               return;
-+      /* See comment in swap_goodblocks */
-+      assert(nod->i_block[EXT2_DIND_BLOCK] != 0);
-       swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]));
-       for(i = 0; i < BLOCKSIZE/4; i++)
-+              /* See comment in swap_goodblocks */
-               if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + i)
-                       swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i]));
-       if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4)
-               return;
--      errexit("too big file on the filesystem");
-+      /* Adding support for triple indirection */
-+      b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]);
-+      swap_block((uint8 *)b);
-+      for(i=0;i < BLOCKSIZE/4 && !done ; i++) {
-+              b2 = (uint32*)get_blk(fs,b[i]); 
-+              swap_block((uint8 *)b2);
-+              for(j=0; j<BLOCKSIZE/4;j++) {
-+                      if (nblk > ( EXT2_IND_BLOCK + BLOCKSIZE/4 + 
-+                                   (BLOCKSIZE/4)*(BLOCKSIZE/4) + 
-+                                   i*(BLOCKSIZE/4)*(BLOCKSIZE/4) + 
-+                                   j*(BLOCKSIZE/4)) ) 
-+                        swap_block(get_blk(fs,b2[j]));
-+                      else {
-+                        done = 1;
-+                        break;
-+                      }
-+              }
-+      }
-+      return;
- }
- // endianness swap of the whole filesystem
-@@ -1045,7 +1353,8 @@
-               swap_goodblocks(fs, nod);
-               swap_nod(nod);
-       }
--      swap_gd(&fs->gd);
-+      for(i=0;i<GRP_NBGROUPS(fs);i++)
-+              swap_gd(&(fs->gd[i]));
-       swap_sb(&fs->sb);
- }
-@@ -1053,7 +1362,8 @@
- {
-       int i;
-       swap_sb(&fs->sb);
--      swap_gd(&fs->gd);
-+      for(i=0;i<GRP_NBGROUPS(fs);i++)
-+              swap_gd(&(fs->gd[i]));
-       for(i = 1; i < fs->sb.s_inodes_count; i++)
-       {
-               inode *nod = get_nod(fs, i);
-@@ -1084,53 +1394,118 @@
-       directory *d;
-       uint8 * b;
-       uint32 nod;
-+      uint32 nbgroups,nbinodes_per_group,overhead_per_group,free_blocks,
-+              free_blocks_per_group,nbblocks_per_group;
-+      uint32 gd,itbl,ibmpos,bbmpos,itblpos;
-+      int j;
-+      uint8 *bbm,*ibm;
-+      inode *itab0;
-       
-       if(nbblocks < 16) // totally arbitrary
--              errexit("too small filesystem");
--      if(nbblocks >BLOCKS_PER_GROUP) // I build only one group
--              errexit("too big filesystem");
-+              error_msg_and_die("too small filesystem");
-+
-+      /* nbblocks is the total number of blocks in the system. First 
-+       * calculate how much overhead blocks - inode table blocks,bitmap 
-+       * blocks,group descriptor blocks etc. - are needed assuming each 
-+       * group has BLOCKS_PER_GROUP blocks.Then recalculate nbblocks with 
-+       * this figure. Each group has the same number of blocks. So the fs 
-+       * has a size atleast the given value but usually rounded off to a i
-+       * higher number.
-+       */
-+      nbgroups = rndup(nbblocks,BLOCKS_PER_GROUP)/ BLOCKS_PER_GROUP;
-+      nbinodes_per_group = nbinodes/nbgroups +1;
-+      nbinodes_per_group = rndup(nbinodes_per_group, BLOCKSIZE/sizeof(inode));
-+      if (nbinodes_per_group < 16)
-+              nbinodes_per_group = 16; //minimum number b'cos the first 10 are reserved
-+      overhead_per_group = 3 /*super block,ibm,bbm*/
-+                           + /* No. of blocks that the inodes occupy */
-+                             nbinodes_per_group *sizeof(inode)/BLOCKSIZE 
-+                           + /* No. of blocks that group descriptors occupy */
-+                             rndup(nbgroups*sizeof(groupdescriptor),BLOCKSIZE)/BLOCKSIZE;
-+      free_blocks = nbblocks - overhead_per_group * nbgroups - 1 /*boot block */;
-+      free_blocks_per_group = free_blocks/nbgroups;
-+      if (free_blocks > free_blocks_per_group * nbgroups)
-+              free_blocks_per_group++;
-+      nbblocks_per_group = free_blocks_per_group + overhead_per_group;
-+      /* e2fsck complains if nbblocks_per_group is not a multiple of 8 */
-+      nbblocks_per_group = rndup(nbblocks_per_group,8);
-+      free_blocks_per_group = nbblocks_per_group - overhead_per_group;
-+      if (nbblocks_per_group > BLOCKS_PER_GROUP) {
-+              /* Can this happen ? */
-+              nbblocks_per_group = BLOCKS_PER_GROUP;
-+              free_blocks_per_group = nbblocks_per_group - overhead_per_group;
-+      }
-+      nbblocks = nbblocks_per_group * nbgroups + 1;
-+      
-+
-       if(!(fs = (filesystem*)calloc(nbblocks, BLOCKSIZE)))
--              errexit("not enough memory for filesystem");
-+              error_msg_and_die("not enough memory for filesystem");
-       // create the superblock for an empty filesystem
--      fs->sb.s_inodes_count = rndup(nbinodes, BLOCKSIZE/sizeof(inode));
-+      fs->sb.s_inodes_count = nbinodes_per_group * nbgroups;
-       fs->sb.s_blocks_count = nbblocks;
-       fs->sb.s_r_blocks_count = nbresrvd;
--      fs->sb.s_free_blocks_count = nbblocks;
-+      fs->sb.s_free_blocks_count = free_blocks_per_group*nbgroups;
-       fs->sb.s_free_inodes_count = fs->sb.s_inodes_count - EXT2_FIRST_INO + 1;
-       fs->sb.s_first_data_block = (BLOCKSIZE == 1024);
-       fs->sb.s_log_block_size = BLOCKSIZE >> 11;
-       fs->sb.s_log_frag_size = BLOCKSIZE >> 11;
--      fs->sb.s_blocks_per_group = BLOCKS_PER_GROUP;
--      fs->sb.s_frags_per_group = BLOCKS_PER_GROUP;
--      fs->sb.s_inodes_per_group = fs->sb.s_inodes_count;
-+      fs->sb.s_blocks_per_group = nbblocks_per_group;
-+      fs->sb.s_frags_per_group = nbblocks_per_group;
-+      fs->sb.s_inodes_per_group = nbinodes_per_group;
-       fs->sb.s_magic = EXT2_MAGIC_NUMBER;
-       // set up groupdescriptors
--      fs->sb.s_free_blocks_count -= 5 + fs->sb.s_inodes_count * sizeof(inode) / BLOCKSIZE;
--      fs->gd.bg_free_blocks_count = fs->sb.s_free_blocks_count;
--      fs->gd.bg_free_inodes_count = fs->sb.s_free_inodes_count;
--      fs->gd.bg_used_dirs_count = 1;
--      fs->gd.bg_block_bitmap = 3;
--      fs->gd.bg_inode_bitmap = 4;
--      fs->gd.bg_inode_table = 5;
--
--      // mark non-filesystem blocks and inodes as allocated
--      for(i = fs->sb.s_blocks_count; i <= BLOCKSIZE * 8; i++)
--              allocate(fs->bbm, i);
--      for(i = fs->sb.s_inodes_count + 1; i <= BLOCKSIZE * 8; i++)
--              allocate(fs->ibm, i);
--
--      // mark system blocsk and inodes as allocated
--      for(i = 1; i <= 4 + fs->sb.s_inodes_count * sizeof(inode) / BLOCKSIZE; i++)
--              allocate(fs->bbm, i);
--      for(i = 1; i < EXT2_FIRST_INO; i++)
--              allocate(fs->ibm, i);
--
--      // make root inode and directory
--      fs->itab[EXT2_ROOT_INO-1].i_mode = FM_IFDIR | FM_IRWXU | FM_IRWXG | FM_IRWXO;
--      fs->itab[EXT2_ROOT_INO-1].i_size = BLOCKSIZE;
--      fs->itab[EXT2_ROOT_INO-1].i_links_count = 2;
-+      gd = rndup(nbgroups*sizeof(groupdescriptor),BLOCKSIZE)/BLOCKSIZE;
-+      itbl = nbinodes_per_group*sizeof(inode)/BLOCKSIZE;
-+      for(i = 0,bbmpos=2+gd,ibmpos=3+gd,itblpos =4+gd;
-+              i<nbgroups;
-+              i++, bbmpos += nbblocks_per_group,ibmpos += nbblocks_per_group, 
-+              itblpos += nbblocks_per_group)  {
-+              
-+              fs->gd[i].bg_free_blocks_count = free_blocks_per_group;
-+              fs->gd[i].bg_free_inodes_count = nbinodes_per_group;
-+              fs->gd[i].bg_used_dirs_count = 0;
-+              fs->gd[i].bg_block_bitmap = bbmpos;
-+              fs->gd[i].bg_inode_bitmap = ibmpos;
-+              fs->gd[i].bg_inode_table = itblpos;
-+      }
-+
-+      /* Mark non-filesystem blocks and inodes as allocated */
-+      /* Mark system blocks and inodes as allocated         */
-+      for(i = 0; i<nbgroups;i++) {
-+
-+              /* Block bitmap */
-+              bbm = get_blk(fs,fs->gd[i].bg_block_bitmap);    
-+              //non-filesystem blocks.
-+              for(j=fs->sb.s_blocks_per_group + 1; j <= BLOCKSIZE * 8; j++)
-+                      allocate(bbm, j); 
-+              //system blocks
-+              for(j = 1; j <= 3+gd+itbl; j++)
-+                      allocate(bbm, j); 
-+              
-+              /* Inode bitmap */
-+              ibm = get_blk(fs,fs->gd[i].bg_inode_bitmap);    
-+              //non-filesystem inodes
-+              for(j = fs->sb.s_inodes_per_group+1; j <= BLOCKSIZE * 8; j++)
-+                      allocate(ibm, j);
-+      }
-+
-+      /* We have groups now. Add the root filesystem in group 0  */
-+      /* Also allocate the system inodes in group 0 and update   */
-+      /* directory count and inode count for group 0             */
-+
-+      ibm = get_blk(fs,fs->gd[0].bg_inode_bitmap);    
-+      for(j = 1; j < EXT2_FIRST_INO; j++) {
-+              allocate(ibm, j);
-+              fs->gd[0].bg_free_inodes_count--;
-+      }
-+      fs->gd[0].bg_used_dirs_count = 1;
-+      itab0 = (inode *)get_blk(fs,fs->gd[0].bg_inode_table);
-+      itab0[EXT2_ROOT_INO-1].i_mode = FM_IFDIR | FM_IRWXU | FM_IRWXG | FM_IRWXO; 
-+      itab0[EXT2_ROOT_INO-1].i_size = BLOCKSIZE;
-+      itab0[EXT2_ROOT_INO-1].i_links_count = 2;
-+
-       b = get_workblk();
-       d = (directory*)b;
-       d->d_inode = EXT2_ROOT_INO;
-@@ -1147,9 +1522,14 @@
-       // make lost+found directory and reserve blocks
-       if(fs->sb.s_r_blocks_count)
-       {
--              nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", FM_IRWXU | FM_IRWXG | FM_IRWXO);
-+              nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH, 0, 0, time(NULL));
-               memset(b, 0, BLOCKSIZE);
-               ((directory*)b)->d_rec_len = BLOCKSIZE;
-+              /* We run into problems with e2fsck if directory lost+found grows
-+               * bigger than this. Need to find out why this happens - sundar
-+               */
-+              if (fs->sb.s_r_blocks_count > 2049 ) 
-+                      fs->sb.s_r_blocks_count=2049;
-               for(i = 1; i < fs->sb.s_r_blocks_count; i++)
-                       extend_blk(fs, nod, b, 1);
-               get_nod(fs, nod)->i_size = fs->sb.s_r_blocks_count * BLOCKSIZE;
-@@ -1170,24 +1550,24 @@
- // loads a filesystem from disk
- filesystem * load_fs(FILE * fh, int swapit)
- {
--      size_t fssize;
-+      size_t fssize = 0;
-       filesystem *fs;
-       if((fseek(fh, 0, SEEK_END) < 0) || ((fssize = ftell(fh)) < 0))
--              pexit("input filesystem image");
-+              perror_msg_and_die("input filesystem image");
-       rewind(fh);
-       fssize = (fssize + BLOCKSIZE - 1) / BLOCKSIZE;
-       if(fssize < 16) // totally arbitrary
--              errexit("too small filesystem");
--      if(fssize > BLOCKS_PER_GROUP) // I build only one group
--              errexit("too big filesystem");
-+              error_msg_and_die("too small filesystem");
-+/*    if(fssize > BLOCKS_PER_GROUP) // I build only one group
-+              error_msg_and_die("too big filesystem"); */
-       if(!(fs = (filesystem*)calloc(fssize, BLOCKSIZE)))
--              errexit("not enough memory for filesystem");
-+              error_msg_and_die("not enough memory for filesystem");
-       if(fread(fs, BLOCKSIZE, fssize, fh) != fssize)
--              pexit("input filesystem image");
-+              perror_msg_and_die("input filesystem image");
-       if(swapit)
-               swap_badfs(fs);
-       if(fs->sb.s_rev_level || (fs->sb.s_magic != EXT2_MAGIC_NUMBER))
--              errexit("not a suitable ext2 filesystem");
-+              error_msg_and_die("not a suitable ext2 filesystem");
-       return fs;
- }
-@@ -1230,9 +1610,9 @@
-       while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END)
-       {
-               if(fsize <= 0)
--                      errexit("wrong size while saving inode %d", nod);
-+                      error_msg_and_die("wrong size while saving inode %d", nod);
-               if(fwrite(get_blk(fs, bk), (fsize > BLOCKSIZE) ? BLOCKSIZE : fsize, 1, f) != 1)
--                      errexit("error while saving inode %d", nod);
-+                      error_msg_and_die("error while saving inode %d", nod);
-               fsize -= BLOCKSIZE;
-       }
- }
-@@ -1250,7 +1630,7 @@
-       {
-               int i, j;
-               if(fsize <= 0)
--                      errexit("wrong size while saving inode %d", nod);
-+                      error_msg_and_die("wrong size while saving inode %d", nod);
-               b = get_blk(fs, bk);
-               for(i = 0; i < 64; i++)
-               {
-@@ -1406,7 +1786,7 @@
-                       s = (nod >= EXT2_FIRST_INO) ? "normal" : "unknown reserved"; 
-       }
-       printf("inode %d (%s, %d links): ", nod, s, get_nod(fs, nod)->i_links_count);
--      if(!allocated(fs->ibm, nod))
-+      if(!allocated(GRP_GET_INODE_BITMAP(fs,nod), GRP_IBM_OFFSET(fs,nod)))
-       {
-               printf("unallocated\n");
-               return;
-@@ -1440,24 +1820,46 @@
-               default:
-                       list_blocks(fs, nod);
-       }
-+      printf("Done with inode %d\n",nod);
- }
- // describes various fields in a filesystem
- void print_fs(filesystem *fs)
- {
--      int i;
--      printf("%d blocks (%d free, %d reserved), first data block: %d\n", fs->sb.s_blocks_count, fs->sb.s_free_blocks_count, fs->sb.s_r_blocks_count, fs->sb.s_first_data_block);
--      printf("%d inodes (%d free)\n", fs->sb.s_inodes_count, fs->sb.s_free_inodes_count);
--      printf("block size = %d, frag size = %d\n", fs->sb.s_log_block_size ? (fs->sb.s_log_block_size << 11) : 1024, fs->sb.s_log_frag_size ? (fs->sb.s_log_frag_size << 11) : 1024);
--      printf("%d blocks per group, %d frags per group, %d inodes per group\n", fs->sb.s_blocks_per_group, fs->sb.s_frags_per_group, fs->sb.s_inodes_per_group);
--      printf("block bitmap: block %d, inode bitmap: block %d, inode table: block %d\n", fs->gd.bg_block_bitmap, fs->gd.bg_inode_bitmap, fs->gd.bg_inode_table);
--      printf("block bitmap allocation:\n");
--      print_bm(fs->bbm, fs->sb.s_blocks_count);
--      printf("inode bitmap allocation:\n");
--      print_bm(fs->ibm, fs->sb.s_inodes_count);
--      for(i=1; i<=fs->sb.s_inodes_count; i++)
--              if(allocated(fs->ibm, i))
--                      print_inode(fs, i);
-+      int i,j;
-+      uint8 *ibm;
-+
-+      printf("%d blocks (%d free, %d reserved), first data block: %d\n",
-+             fs->sb.s_blocks_count, fs->sb.s_free_blocks_count,
-+             fs->sb.s_r_blocks_count, fs->sb.s_first_data_block);
-+      printf("%d inodes (%d free)\n", fs->sb.s_inodes_count,
-+             fs->sb.s_free_inodes_count);
-+      printf("block size = %d, frag size = %d\n",
-+             fs->sb.s_log_block_size ? (fs->sb.s_log_block_size << 11) : 1024,
-+             fs->sb.s_log_frag_size ? (fs->sb.s_log_frag_size << 11) : 1024);
-+      printf("Number of groups: %d\n",GRP_NBGROUPS(fs));
-+      printf("%d blocks per group,%d frags per group,%d inodes per group\n",
-+           fs->sb.s_blocks_per_group, fs->sb.s_frags_per_group,
-+           fs->sb.s_inodes_per_group);
-+      printf("Size of inode table: %d blocks\n",
-+                      fs->sb.s_inodes_per_group * sizeof(inode)/BLOCKSIZE);
-+      for (i = 0; i < GRP_NBGROUPS(fs); i++) {
-+              printf("Group No: %d\n", i);
-+              printf("block bitmap: block %d,inode bitmap: block %d, inode table: block %d\n",
-+                   fs->gd[i].bg_block_bitmap, fs->gd[i].bg_inode_bitmap,
-+                   fs->gd[i].bg_inode_table);
-+              printf("Free blocks count: %d\n",fs->gd[i].bg_free_blocks_count);
-+              printf("Free inodes count: %d\n",fs->gd[i].bg_free_inodes_count);
-+              printf("Used dir count: %d\n",fs->gd[i].bg_used_dirs_count);
-+              printf("block bitmap allocation:\n");
-+              print_bm(GRP_GET_GROUP_BBM(fs, i),fs->sb.s_blocks_per_group);
-+              printf("inode bitmap allocation:\n");
-+              ibm = GRP_GET_GROUP_IBM(fs, i);
-+              print_bm(ibm, fs->sb.s_inodes_per_group);
-+              for (j = 1; j <= fs->sb.s_inodes_per_group; j++)
-+                      if (allocated(ibm, j))
-+                              print_inode(fs, i*fs->sb.s_inodes_per_group + j);
-+      }
- }
- void dump_fs(filesystem *fs, FILE * fh, int swapit)
-@@ -1467,31 +1869,234 @@
-       if(swapit)
-               swap_goodfs(fs);
-       if(fwrite(fs, BLOCKSIZE, nbblocks, fh) < nbblocks)
--              pexit("output filesystem image");
-+              perror_msg_and_die("output filesystem image");
-       if(swapit)
-               swap_badfs(fs);
- }
-+/*  device table entries take the form of:
-+    <path>    <type> <mode>   <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-+    /dev/mem     c    640       0       0         1       1       0     0         -
-+
-+    type can be one of: 
-+      f       A regular file
-+      d       Directory
-+      c       Character special device file
-+      b       Block special device file
-+      p       Fifo (named pipe)
-+
-+    I don't bother with symlinks (permissions are irrelevant), hard
-+    links (special cases of regular files), or sockets (why bother).
-+
-+    Regular files must exist in the target root directory.  If a char,
-+    block, fifo, or directory does not exist, it will be created.
-+*/
-+static int interpret_table_entry(filesystem *fs, char *line)
-+{
-+      char type, *name = NULL, *tmp, *dir, *bname;
-+      unsigned long mode = 0755, uid = 0, gid = 0, major = 0, minor = 0;
-+      unsigned long start = 0, increment = 1, count = 0;
-+      inode *entry;
-+      uint32 nod, parent;
-+
-+      if (sscanf (line, "%" SCANF_PREFIX "s %c %lo %lu %lu %lu %lu %lu %lu %lu",
-+                              SCANF_STRING(name), &type, &mode, &uid, &gid, &major, &minor,
-+                              &start, &increment, &count) < 0) 
-+      {
-+              return 1;
-+      }
-+
-+      if (!strcmp(name, "/")) {
-+              error_msg_and_die("Device table entries require absolute paths");
-+      }
-+
-+      /* Check if this file already exists... */
-+      switch (type) {
-+              case 'd':
-+                      mode |= S_IFDIR;
-+                      break;
-+              case 'f':
-+                      mode |= S_IFREG;
-+                      break;
-+              case 'p':
-+                      mode |= S_IFIFO;
-+                      break;
-+              case 'c':
-+                      mode |= S_IFCHR;
-+                      break;
-+              case 'b':
-+                      mode |= S_IFBLK;
-+                      break;
-+              default:
-+                      error_msg_and_die("Unsupported file type");
-+      }
-+      nod = 0;
-+      if (count==0)
-+              nod = find_path(fs, EXT2_ROOT_INO, name);
-+      if (nod) {
-+              /* Ok, we just need to fixup an existing entry 
-+               * and we will be all done... */
-+              entry = get_nod(fs, nod);
-+              entry->i_uid = uid;
-+              entry->i_gid = gid;
-+              entry->i_mode = mode;
-+              if (major) {
-+                      dev_t rdev = makedev(major, minor);
-+                      ((uint8*)entry->i_block)[0] = (rdev & 0xff);
-+                      ((uint8*)entry->i_block)[1] = (rdev >> 8);
-+              }
-+      } else {
-+              /* Try and find our parent now */
-+              tmp = xstrdup(name);
-+              dir = dirname(tmp);
-+              parent = find_path(fs, EXT2_ROOT_INO, dir);
-+              free(tmp);
-+              if (!parent) {
-+                      error_msg ("skipping device_table entry '%s': no parent directory!", name);
-+                      free(name);
-+                      return 1;
-+              }
-+
-+              tmp = xstrdup(name);
-+              bname = xstrdup(basename(tmp));
-+              free(tmp);
-+              switch (type) {
-+                      case 'd':
-+                              mkdir_fs(fs, parent, bname, mode|FM_IFDIR, uid, gid, time(NULL));
-+                              break;
-+                      case 'f':
-+#if 0
-+                              {
-+                                      // This is a bit odd.. This will try to include
-+                                      // the file of the same name from your _build_
-+                                      // system...  Probably a very bad idea....
-+                                      struct stat st;
-+                                      FILE *fh = xfopen(name, "r");
-+                                      lstat(name, &st);
-+                                      mkfile_fs(fs, parent, bname, mode|FM_IFREG, st.st_size, fh, uid, gid, st.st_ctime);
-+                                      fclose(fh);
-+                              }
-+#else
-+                              error_msg("ignoring entry %s", name);
-+#endif
-+                              break;
-+                      case 'p':
-+                              error_msg("ignoring entry %s", name);
-+                              break;
-+                      case 'c':
-+                      case 'b':
-+                              if (count > 0) {
-+                                      dev_t rdev;
-+                                      char *dname;
-+                                      unsigned long i;
-+                                      for (i = start; i < count; i++) {
-+                                              asprintf(&dname, "%s%lu", bname, i);
-+                                              nod = find_path(fs, EXT2_ROOT_INO, dname);
-+                                              if (nod) {
-+                                                      /* We just need to fixup an existing entry */ 
-+                                                      entry = get_nod(fs, nod);
-+                                              } else {
-+                                                      nod = alloc_nod(fs);
-+                                                      add2dir(fs, parent, nod, dname, mode, uid, gid, time(NULL));
-+                                                      entry = get_nod(fs, nod);
-+                                              }
-+                                              entry->i_uid = uid;
-+                                              entry->i_gid = gid;
-+                                              entry->i_mode = mode;
-+                                              rdev = makedev(major, minor + (i * increment - start));
-+                                              ((uint8*)entry->i_block)[0] = (rdev & 0xff);
-+                                              ((uint8*)entry->i_block)[1] = (rdev >> 8);
-+                                              free(dname);
-+                                      }
-+                              } else {
-+                                      dev_t rdev = makedev(major, minor);
-+                                      nod = alloc_nod(fs);
-+                                      add2dir(fs, parent, nod, bname, mode, uid, gid, time(NULL));
-+                                      entry = get_nod(fs, nod);
-+                                      ((uint8*)entry->i_block)[0] = (rdev & 0xff);
-+                                      ((uint8*)entry->i_block)[1] = (rdev >> 8);
-+                              }
-+                              break;
-+                      default:
-+                              error_msg_and_die("Unsupported file type");
-+              }
-+              free(bname);
-+      }
-+      free(name);
-+      return 0;
-+}
-+
-+static int parse_device_table(filesystem *root, FILE * file)
-+{
-+      char *line;
-+      int status = 0;
-+      size_t length = 0;
-+
-+      /* Turn off squash, since we must ensure that values
-+       * entered via the device table are not squashed */
-+      squash_uids = 0;
-+      squash_perms = 0;
-+
-+      /* Looks ok so far.  The general plan now is to read in one
-+       * line at a time, check for leading comment delimiters ('#'),
-+       * then try and parse the line as a device table.  If we fail
-+       * to parse things, try and help the poor fool to fix their
-+       * device table with a useful error msg... */
-+      line = NULL;
-+      while (getline(&line, &length, file) != -1) {
-+              /* First trim off any whitespace */
-+              int len = strlen(line);
-+
-+              /* trim trailing whitespace */
-+              while (len > 0 && isspace(line[len - 1]))
-+                      line[--len] = '\0';
-+              /* trim leading whitespace */
-+              memmove(line, &line[strspn(line, " \n\r\t\v")], len);
-+
-+              /* How long are we after trimming? */
-+              len = strlen(line);
-+
-+              /* If this is NOT a comment line, try to interpret it */
-+              if (len && *line != '#') {
-+                      if (interpret_table_entry(root, line))
-+                              status = 1;
-+              }
-+
-+              free(line);
-+              line = NULL;
-+      }
-+      fclose(file);
-+
-+      return status;
-+}
-+
-+/*
-+Local Variables:
-+c-file-style: "linux"
-+c-basic-offset: 4
-+tab-width: 4
-+End:
-+*/
-+
- void showhelp(void)
- {
-       fprintf(stderr, "Usage: %s [options] image\n"
-       "Create an ext2 filesystem image from directories/files\n\n"
--      "  -x image                Use this image as a starting point\n"
--      "  -d directory            Add this directory as source\n"
--      "  -f file                 Add nodes (e.g. devices) from this spec file\n"
--      "  -b blocks               Size in blocks\n"
--      "  -i inodes               Number of inodes\n"
--      "  -r reserved             Number of reserved blocks\n"
--      "  -g path                 Generate a block map file for this path\n"
--      "  -e value                Fill unallocated blocks with value\n"
--      "  -z                      Make files with holes\n"
--      "  -v                      Print resulting filesystem structure\n"
--      "  -h                      Show this help\n\n"
--      "Example of spec file:\n"
--      "drwx            /dev\n"
--      "crw-    10,190  /dev/lcd\n"
--      "brw-    1,0     /dev/ram0\n\n"
--      "Report bugs to xavier.bestel@free.fr\n", argv0);
-+      "  -x image         Use this image as a starting point\n"
-+      "  -d directory     Add this directory as source\n"
-+      "  -b blocks        Size in blocks\n"
-+      "  -i inodes        Number of inodes\n"
-+      "  -r reserved      Number of reserved blocks\n"
-+      "  -g path          Generate a block map file for this path\n"
-+      "  -e value         Fill unallocated blocks with value\n"
-+      "  -z               Make files with holes\n"
-+      "  -D,-f            Use the named FILE as a device table file\n"
-+      "  -q               Squash permissions and owners making all files be owned by root\n"
-+      "  -U               Squash owners making all files be owned by root\n"
-+      "  -P               Squash permissions on all files\n"
-+      "  -v               Print resulting filesystem structure\n"
-+      "  -h               Show this help\n\n"
-+      "Report bugs to xavier.bestel@free.fr\n", app_name);
- }
- #define MAX_DOPT 128
-@@ -1521,21 +2126,17 @@
-       filesystem *fs;
-       int i;
-       int c;
-+      struct stat sb;
-+      FILE *devtable = NULL;
--      argv0 = argv[0];
--      if(argc <= 1)
--      {
--              showhelp();
--              exit(1);
--      }
--      while((c = getopt(argc, argv, "x:f:d:b:i:r:g:e:zvh")) != EOF)
-+      app_name = argv[0];
-+      while((c = getopt(argc, argv, "x:d:b:i:r:g:e:zvhD:f:qUP")) != EOF)
-               switch(c)
-               {
-                       case 'x':
-                               fsin = optarg;
-                               break;
-                       case 'd':
--                      case 'f':
-                               dopt[didx++] = optarg;
-                               break;
-                       case 'b':
-@@ -1556,6 +2157,24 @@
-                       case 'z':
-                               holes = 1;
-                               break;
-+                      case 'f':
-+                      case 'D':
-+                              devtable = xfopen(optarg, "r");
-+                              if (fstat(fileno(devtable), &sb) < 0)
-+                                      perror_msg_and_die(optarg);
-+                              if (sb.st_size < 10)
-+                                      error_msg_and_die("%s: not a proper device table file", optarg);
-+                              break;
-+                      case 'q':
-+                              squash_uids = 1;
-+                              squash_perms = 1;
-+                              break;
-+                      case 'U':
-+                              squash_uids = 1;
-+                              break;
-+                      case 'P':
-+                              squash_perms = 1;
-+                              break;
-                       case 'v':
-                               verbose = 1;
-                               break;
-@@ -1566,16 +2185,14 @@
-                               exit(1);
-               }
-       if(optind < (argc - 1))
--              errexit("too many arguments");
-+              error_msg_and_die("too many arguments");
-       if(optind == (argc - 1))
-               fsout = argv[optind];
-       if(fsin)
-       {
-               if(strcmp(fsin, "-"))
-               {
--                      FILE * fh = fopen(fsin, "r");
--                      if(!fh)
--                              pexit(fsin);
-+                      FILE * fh = xfopen(fsin, "r");
-                       fs = load_fs(fh, bigendian);
-                       fclose(fh);
-               }
-@@ -1585,7 +2202,7 @@
-       else
-       {
-               if(nbblocks == -1)
--                      errexit("filesystem size unspecified");
-+                      error_msg_and_die("filesystem size unspecified");
-               if(nbinodes == -1)
-                       nbinodes = nbblocks * BLOCKSIZE / rndup(BYTES_PER_INODE, BLOCKSIZE);
-               if(nbresrvd == -1)
-@@ -1595,35 +2212,30 @@
-       for(i = 0; i < didx; i++)
-       {
-               struct stat st;
--              FILE *fh;
-               char *pdir;
-               stat(dopt[i], &st);
-               switch(st.st_mode & S_IFMT)
-               {
--                      case S_IFREG:
--                              if(!(fh = fopen(dopt[i], "r")))
--                                      pexit(dopt[i]);
--                              add2fs_from_file(fs, EXT2_ROOT_INO, fh);
--                              fclose(fh);
--                              break;
-                       case S_IFDIR:
-                               if(!(pdir = getcwd(0, GETCWD_SIZE)))
--                                      pexit(dopt[i]);
-+                                      perror_msg_and_die(dopt[i]);
-                               if(chdir(dopt[i]) < 0)
--                                      pexit(dopt[i]);
-+                                      perror_msg_and_die(dopt[i]);
-                               add2fs_from_dir(fs, EXT2_ROOT_INO);
-                               if(chdir(pdir) < 0)
--                                      pexit(pdir);
-+                                      perror_msg_and_die(pdir);
-                               free(pdir);
-                               break;
-                       default:
--                              errexit("%s in neither a file nor a directory", dopt[i]);
-+                              error_msg_and_die("%s is neither a file nor a directory", dopt[i]);
-               }
-       }
-       if(emptyval)
-               for(i = 1; i < fs->sb.s_blocks_count; i++)
--                      if(!allocated(fs->bbm, i))
-+                      if(!allocated(GRP_GET_BLOCK_BITMAP(fs,i),GRP_BBM_OFFSET(fs,i)))
-                               memset(get_blk(fs, i), emptyval, BLOCKSIZE);
-+      if(devtable)
-+              parse_device_table(fs, devtable);
-       if(verbose)
-               print_fs(fs);
-       for(i = 0; i < gidx; i++)
-@@ -1633,21 +2245,18 @@
-               char *p;
-               FILE *fh;
-               if(!(nod = find_path(fs, EXT2_ROOT_INO, gopt[i])))
--                      errexit("path %s not found in filesystem", gopt[i]);
-+                      error_msg_and_die("path %s not found in filesystem", gopt[i]);
-               while((p = strchr(gopt[i], '/')))
-                       *p = '_';
-               snprintf(fname, MAX_FILENAME-1, "%s.blk", gopt[i]);
--              if(!(fh = fopen(fname, "w")))
--                      pexit(fname);
-+              fh = xfopen(fname, "w");
-               fprintf(fh, "%d:", get_nod(fs, nod)->i_size);
-               flist_blocks(fs, nod, fh);
-               fclose(fh);
-       }
-       if(strcmp(fsout, "-"))
-       {
--              FILE * fh = fopen(fsout, "w");
--              if(!fh)
--                      pexit(fsout);
-+              FILE * fh = xfopen(fsout, "w");
-               dump_fs(fs, fh, bigendian);
-               fclose(fh);
-       }
-diff -urN genext2fs-1.3.orig/test-mount.sh genext2fs-1.3/test-mount.sh
---- genext2fs-1.3.orig/test-mount.sh   1969-12-31 17:00:00.000000000 -0700
-+++ genext2fs-1.3/test-mount.sh        2003-04-21 01:41:42.000000000 -0600
-@@ -0,0 +1,96 @@
-+#!/bin/sh
-+set -e
-+
-+cleanup () {
-+      set +e
-+      umount mnt 2>/dev/null
-+      rm -rf mnt ext2.img lsout fout test 2>/dev/null
-+}
-+
-+# dtest - Uses the -d directory option of genext2fs
-+# Creates an image with a file of given size and verifies it
-+# Usage: dtest file-size number-of-blocks 
-+dtest () {
-+      size=$1; blocks=$2;fname=$size 
-+      echo "Testing with file of size $size "
-+      mkdir -p test
-+      cd test
-+      dd if=/dev/zero of=file.$1 bs=1 count=$size 
-+      cd ..
-+      ./genext2fs -b $blocks -d test ext2.img 
-+      md5=`md5sum ext2.img | cut -f1 -d " "`
-+      if ! /sbin/e2fsck -fn ext2.img ; then
-+              echo "fsck failed"
-+              echo FAILED
-+              cleanup
-+              exit 1
-+      fi
-+      mkdir -p mnt
-+      if ! mount -t ext2 -o loop ext2.img mnt; then
-+              echo FAILED
-+              cleanup
-+              exit 1
-+      fi
-+      if (! [ -f mnt/file.$fname ]) || \
-+                      [ $fname != "`ls -al mnt | grep file.$fname |awk '{print $5}'`" ] ; then
-+              echo FAILED
-+              cleanup
-+              exit 1
-+      fi
-+      echo PASSED "(md5 checksum for the image: $md5)"
-+      cleanup
-+}
-+
-+# ftest - Uses the -f spec-file option of genext2fs
-+# Creates an image with the devices mentioned in the given spec 
-+# file and verifies it
-+# Usage: ftest spec-file number-of-blocks 
-+ftest () {
-+      fname=$1; blocks=$2; 
-+      echo "Testing with devices file $fname"
-+      ./genext2fs -b $blocks -f $fname ext2.img
-+      md5=`md5sum ext2.img | cut -f 1 -d " "`
-+      if ! /sbin/e2fsck -fn ext2.img ; then
-+              echo "fsck failed"
-+              echo FAILED
-+              cleanup
-+              exit 1
-+      fi
-+      mkdir -p mnt
-+      if ! mount -t ext2 -o loop ext2.img mnt; then
-+              echo FAILED
-+              cleanup
-+              exit 1
-+      fi
-+      if ! [ -d mnt/dev ] ; then
-+              echo FAILED
-+              cleanup
-+              exit 1
-+      fi
-+      cat dev.txt | grep ^[bc] | \
-+              awk '{print $1substr($1,2)substr($1,2),$2,$3}'| \
-+                      sort -d -k3.6 > fout
-+      ls -al mnt/dev | grep ^[bc] | \
-+              awk '{ print $1,$5$6,"/dev/"$10}' | \
-+                      sort -d -k3.6 > lsout
-+      if ! diff fout lsout ; then
-+              echo FAILED
-+              cleanup
-+              exit 1
-+      fi
-+      echo PASSED "(md5 checksum for the image: $md5)"
-+      cleanup
-+}
-+
-+dtest 0 4096 
-+dtest 0 8193
-+dtest 0 8194
-+dtest 1 4096 
-+dtest 12288 4096 
-+dtest 274432 4096 
-+dtest 8388608 9000 
-+dtest 16777216 20000
-+
-+ftest dev.txt 4096 
-+
-+exit 0
-diff -urN genext2fs-1.3.orig/test.sh genext2fs-1.3/test.sh
---- genext2fs-1.3.orig/test.sh 1969-12-31 17:00:00.000000000 -0700
-+++ genext2fs-1.3/test.sh      2003-04-21 01:41:42.000000000 -0600
-@@ -0,0 +1,53 @@
-+#!/bin/sh
-+set -e
-+
-+# dtest - Uses the -d directory option of genext2fs
-+# Creates an image with a file of given size and verifies it
-+# Usage: dtest file-size number-of-blocks correct-checksum
-+dtest () {
-+      size=$1; blocks=$2; checksum=$3
-+      echo "Testing with file of size $size "
-+      mkdir -p test
-+      cd test
-+      dd if=/dev/zero of=file.$1 bs=1 count=$size 
-+      cd ..
-+      ./genext2fs -b $blocks -d test ext2.img 
-+      md5=`md5sum ext2.img | cut -d" " -f1`
-+      rm -rf ext2.img test
-+      if [ $md5 == $checksum ] ; then
-+              echo PASSED
-+      else
-+              echo FAILED
-+              exit 1
-+      fi
-+}
-+
-+# ftest - Uses the -f spec-file option of genext2fs
-+# Creates an image with the devices mentioned in the given spec 
-+# file and verifies it
-+# Usage: ftest spec-file number-of-blocks correct-checksum
-+ftest () {
-+      fname=$1; blocks=$2; checksum=$3
-+      echo "Testing with devices file $fname"
-+      ./genext2fs -b $blocks -f $fname ext2.img
-+      md5=`md5sum ext2.img | cut -d" " -f1`
-+      rm -rf ext2.img
-+      if [ $md5 == $checksum ] ; then
-+              echo PASSED
-+      else
-+              echo FAILED
-+              exit 1
-+      fi
-+}
-+
-+dtest 0 4096 491a43ab93c2e5c186c9f1f72d88e5c5
-+dtest 0 8193 6289224f0b7f151994479ba156c43505
-+dtest 0 8194 3272c43c25e8d0c3768935861a643a65
-+dtest 1 4096 5ee24486d33af88c63080b09d8cadfb5
-+dtest 12288 4096 494498364defdc27b2770d1f9c1e3387
-+dtest 274432 4096 65c4bd8d30bf563fa5434119a12abff1
-+dtest 8388608 9000 9a49b0461ee236b7fd7c452fb6a1f2dc
-+dtest 16777216 20000 91e16429c901b68d30f783263f0611b7
-+
-+ftest dev.txt 4096 921ee9343b0759e16ad8d979d7dd16ec
-+exit 0
diff --git a/sources/kernel-patches/006-ieee1394-hotplug.bz2 b/sources/kernel-patches/006-ieee1394-hotplug.bz2
deleted file mode 100644 (file)
index b8361ba..0000000
Binary files a/sources/kernel-patches/006-ieee1394-hotplug.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/007-scsi_add_remove_single.bz2 b/sources/kernel-patches/007-scsi_add_remove_single.bz2
deleted file mode 100644 (file)
index 0d2ee20..0000000
Binary files a/sources/kernel-patches/007-scsi_add_remove_single.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/008-ieee1394-fix.bz2 b/sources/kernel-patches/008-ieee1394-fix.bz2
deleted file mode 100644 (file)
index d88f251..0000000
Binary files a/sources/kernel-patches/008-ieee1394-fix.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/009-always-inline.bz2 b/sources/kernel-patches/009-always-inline.bz2
deleted file mode 100644 (file)
index 0838fed..0000000
Binary files a/sources/kernel-patches/009-always-inline.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/010-optimize-for-size.bz2 b/sources/kernel-patches/010-optimize-for-size.bz2
deleted file mode 100644 (file)
index 68c19d4..0000000
Binary files a/sources/kernel-patches/010-optimize-for-size.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/012-x86-check_gcc.bz2 b/sources/kernel-patches/012-x86-check_gcc.bz2
deleted file mode 100644 (file)
index f645dc1..0000000
Binary files a/sources/kernel-patches/012-x86-check_gcc.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/017-printk.bz2 b/sources/kernel-patches/017-printk.bz2
deleted file mode 100644 (file)
index da99976..0000000
Binary files a/sources/kernel-patches/017-printk.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/018-slab-loop-init.bz2 b/sources/kernel-patches/018-slab-loop-init.bz2
deleted file mode 100644 (file)
index dfba2ba..0000000
Binary files a/sources/kernel-patches/018-slab-loop-init.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/041-changeloop.patch.bz2 b/sources/kernel-patches/041-changeloop.patch.bz2
deleted file mode 100644 (file)
index 9e64eca..0000000
Binary files a/sources/kernel-patches/041-changeloop.patch.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/042-loopfixes.patch.bz2 b/sources/kernel-patches/042-loopfixes.patch.bz2
deleted file mode 100644 (file)
index 456ee61..0000000
Binary files a/sources/kernel-patches/042-loopfixes.patch.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/044-streaming_io.bz2 b/sources/kernel-patches/044-streaming_io.bz2
deleted file mode 100644 (file)
index 4f453e1..0000000
Binary files a/sources/kernel-patches/044-streaming_io.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/062-silence-blk-queue.bz2 b/sources/kernel-patches/062-silence-blk-queue.bz2
deleted file mode 100644 (file)
index 84a9a05..0000000
Binary files a/sources/kernel-patches/062-silence-blk-queue.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/063-silence.kbd.patch.bz2 b/sources/kernel-patches/063-silence.kbd.patch.bz2
deleted file mode 100644 (file)
index 04c56d6..0000000
Binary files a/sources/kernel-patches/063-silence.kbd.patch.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/064-shutup-md.bz2 b/sources/kernel-patches/064-shutup-md.bz2
deleted file mode 100644 (file)
index 944b12a..0000000
Binary files a/sources/kernel-patches/064-shutup-md.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/077-orinoco-0.13e.bz2 b/sources/kernel-patches/077-orinoco-0.13e.bz2
deleted file mode 100644 (file)
index b181185..0000000
Binary files a/sources/kernel-patches/077-orinoco-0.13e.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/078-hostap.bz2 b/sources/kernel-patches/078-hostap.bz2
deleted file mode 100644 (file)
index f9ce7aa..0000000
Binary files a/sources/kernel-patches/078-hostap.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/079-jiffies64.bz2 b/sources/kernel-patches/079-jiffies64.bz2
deleted file mode 100644 (file)
index 1b6873d..0000000
Binary files a/sources/kernel-patches/079-jiffies64.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/089-no-touch-makedep.bz2 b/sources/kernel-patches/089-no-touch-makedep.bz2
deleted file mode 100644 (file)
index 2e413cc..0000000
Binary files a/sources/kernel-patches/089-no-touch-makedep.bz2 and /dev/null differ
diff --git a/sources/kernel-patches/100_VERSION.bz2 b/sources/kernel-patches/100_VERSION.bz2
deleted file mode 100644 (file)
index 9bfe01c..0000000
Binary files a/sources/kernel-patches/100_VERSION.bz2 and /dev/null differ
diff --git a/sources/libfloat.patch b/sources/libfloat.patch
deleted file mode 100644 (file)
index 90459a8..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -urN libfloat-dist/Makefile libfloat/Makefile
---- libfloat-dist/Makefile     2003-10-26 00:33:45.000000000 -0500
-+++ libfloat/Makefile  2003-10-26 01:07:26.000000000 -0500
-@@ -1,7 +1,7 @@
- # Makefile for the Linux soft-float library
--CC=gcc -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__
--#CC=gcc -g -O2 -freg-struct-return -D__LIBFLOAT__
-+CFLAGS= -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__ -msoft-float
-+LIBGCC=$(shell $(CC) -print-libgcc-file-name)
- AR=ar
- all: libfloat.a libfloat.so.1
-@@ -12,24 +11,24 @@
- libfloat.so.1: softfloat.os fplib_glue.os
-       rm -f libfloat.so.1
--      gcc -shared -Wl,-soname,libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1
-+      $(LD) -shared -soname=libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1 $(LIBGCC)
- softfloat.o: softfloat/bits64/softfloat.c
--      $(CC) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
-+      $(CC) $(CFLAGS) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
- fplib_glue.o: fplib_glue.S
--      $(CC) -c -o fplib_glue.o fplib_glue.S
-+      $(CC) $(CFLAGS) -c -o fplib_glue.o fplib_glue.S
- softfloat.os: softfloat/bits64/softfloat.c
--      $(CC) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
-+      $(CC) $(CFLAGS) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
- fplib_glue.os: fplib_glue.S
--      $(CC) -fpic -c -o fplib_glue.os fplib_glue.S
-+      $(CC) $(CFLAGS) -fpic -c -o fplib_glue.os fplib_glue.S
- install: libfloat.a libfloat.so.1
-       cp -a libfloat.a $(DESTDIR)/usr/lib
--      cp -a libfloat.so.1 $(DESTDIR)/usr/lib
--      cd $(DESTDIR)/usr/lib; ln -s libfloat.so.1 libfloat.so
-+      cp -a libfloat.so.1 $(DESTDIR)/lib
-+      cd $(DESTDIR)/lib; ln -s libfloat.so.1 libfloat.so
-       #ldconfig
- clean: 
diff --git a/sources/libglib_configure_1.2.10.bz2 b/sources/libglib_configure_1.2.10.bz2
deleted file mode 100644 (file)
index 883a800..0000000
Binary files a/sources/libglib_configure_1.2.10.bz2 and /dev/null differ
diff --git a/sources/linux-libc-headers-2.6.8-cleanup.patch b/sources/linux-libc-headers-2.6.8-cleanup.patch
deleted file mode 100644 (file)
index 44461d1..0000000
+++ /dev/null
@@ -1,8153 +0,0 @@
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/addrspace.h linux-libc-headers-2.6.8.0/include/asm-mips/addrspace.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/addrspace.h       2004-03-28 07:51:50.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/addrspace.h    2004-08-26 05:53:12.000000000 -0500
-@@ -10,7 +10,23 @@
- #ifndef _ASM_ADDRSPACE_H
- #define _ASM_ADDRSPACE_H
--#include <spaces.h>
-+/**********************************************************************/
-+/* Include the common bits for #include <spaces.h> */
-+#ifndef __mips64
-+
-+#define CAC_BASE              0x80000000
-+#define IO_BASE                       0xa0000000
-+#define UNCAC_BASE            0xa0000000
-+#define MAP_BASE              0xc0000000
-+
-+/*
-+ * This handles the memory map.
-+ * We handle pages at KSEG0 for kernels with 32 bit address space.
-+ */
-+#define PAGE_OFFSET           0x80000000UL
-+
-+#endif /* ndef __mips64 */
-+/**********************************************************************/
- /*
-  *  Configure language
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/asmmacro.h linux-libc-headers-2.6.8.0/include/asm-mips/asmmacro.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/asmmacro.h        2004-08-18 13:15:41.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/asmmacro.h     2004-08-26 05:14:41.000000000 -0500
-@@ -9,10 +9,10 @@
- #define _ASM_ASMMACRO_H
-  
-  
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
- #include <asm/asmmacro-32.h>
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- #include <asm/asmmacro-64.h>
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/checksum.h linux-libc-headers-2.6.8.0/include/asm-mips/checksum.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/checksum.h        2004-06-23 16:52:45.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/checksum.h     2004-08-26 05:14:41.000000000 -0500
-@@ -125,7 +125,7 @@
- {
-       __asm__(
-       ".set\tnoat\t\t\t# csum_tcpudp_nofold\n\t"
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
-       "addu\t%0, %2\n\t"
-       "sltu\t$1, %0, %2\n\t"
-       "addu\t%0, $1\n\t"
-@@ -138,7 +138,7 @@
-       "sltu\t$1, %0, %4\n\t"
-       "addu\t%0, $1\n\t"
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
-       "daddu\t%0, %2\n\t"
-       "daddu\t%0, %3\n\t"
-       "daddu\t%0, %4\n\t"
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/compat.h linux-libc-headers-2.6.8.0/include/asm-mips/compat.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/compat.h  2003-12-15 12:47:02.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/compat.h       2004-08-26 05:23:05.000000000 -0500
-@@ -8,64 +8,64 @@
- #define COMPAT_USER_HZ        100
--typedef u32           compat_size_t;
--typedef s32           compat_ssize_t;
--typedef s32           compat_time_t;
--typedef s32           compat_clock_t;
--typedef s32           compat_suseconds_t;
--
--typedef s32           compat_pid_t;
--typedef s32           compat_uid_t;
--typedef s32           compat_gid_t;
--typedef u32           compat_mode_t;
--typedef u32           compat_ino_t;
--typedef u32           compat_dev_t;
--typedef s32           compat_off_t;
--typedef s64           compat_loff_t;
--typedef u32           compat_nlink_t;
--typedef s32           compat_ipc_pid_t;
--typedef s32           compat_daddr_t;
--typedef s32           compat_caddr_t;
-+typedef __u32         compat_size_t;
-+typedef __s32         compat_ssize_t;
-+typedef __s32         compat_time_t;
-+typedef __s32         compat_clock_t;
-+typedef __s32         compat_suseconds_t;
-+
-+typedef __s32         compat_pid_t;
-+typedef __s32         compat_uid_t;
-+typedef __s32         compat_gid_t;
-+typedef __u32         compat_mode_t;
-+typedef __u32         compat_ino_t;
-+typedef __u32         compat_dev_t;
-+typedef __s32         compat_off_t;
-+typedef __s64         compat_loff_t;
-+typedef __u32         compat_nlink_t;
-+typedef __s32         compat_ipc_pid_t;
-+typedef __s32         compat_daddr_t;
-+typedef __s32         compat_caddr_t;
- typedef struct {
--      s32     val[2];
-+      __s32   val[2];
- } compat_fsid_t;
--typedef s32           compat_int_t;
--typedef s32           compat_long_t;
--typedef u32           compat_uint_t;
--typedef u32           compat_ulong_t;
-+typedef __s32         compat_int_t;
-+typedef __s32         compat_long_t;
-+typedef __u32         compat_uint_t;
-+typedef __u32         compat_ulong_t;
- struct compat_timespec {
-       compat_time_t   tv_sec;
--      s32             tv_nsec;
-+      __s32           tv_nsec;
- };
- struct compat_timeval {
-       compat_time_t   tv_sec;
--      s32             tv_usec;
-+      __s32           tv_usec;
- };
- struct compat_stat {
-       compat_dev_t    st_dev;
--      s32             st_pad1[3];
-+      __s32           st_pad1[3];
-       compat_ino_t    st_ino;
-       compat_mode_t   st_mode;
-       compat_nlink_t  st_nlink;
-       compat_uid_t    st_uid;
-       compat_gid_t    st_gid;
-       compat_dev_t    st_rdev;
--      s32             st_pad2[2];
-+      __s32           st_pad2[2];
-       compat_off_t    st_size;
--      s32             st_pad3;
-+      __s32           st_pad3;
-       compat_time_t   st_atime;
--      s32             st_atime_nsec;
-+      __s32           st_atime_nsec;
-       compat_time_t   st_mtime;
--      s32             st_mtime_nsec;
-+      __s32           st_mtime_nsec;
-       compat_time_t   st_ctime;
--      s32             st_ctime_nsec;
--      s32             st_blksize;
--      s32             st_blocks;
--      s32             st_pad4[14];
-+      __s32           st_ctime_nsec;
-+      __s32           st_blksize;
-+      __s32           st_blocks;
-+      __s32           st_pad4[14];
- };
- struct compat_flock {
-@@ -73,10 +73,10 @@
-       short           l_whence;
-       compat_off_t    l_start;
-       compat_off_t    l_len;
--      s32             l_sysid;
-+      __s32           l_sysid;
-       compat_pid_t    l_pid;
-       short           __unused;
--      s32             pad[4];
-+      __s32           pad[4];
- };
- #define F_GETLK64     33
-@@ -107,12 +107,12 @@
- #define COMPAT_RLIM_INFINITY  0x7fffffffUL
--typedef u32           compat_old_sigset_t;    /* at least 32 bits */
-+typedef __u32         compat_old_sigset_t;    /* at least 32 bits */
- #define _COMPAT_NSIG          128             /* Don't ask !$@#% ...  */
- #define _COMPAT_NSIG_BPW      32
--typedef u32           compat_sigset_word;
-+typedef __u32         compat_sigset_word;
- #define COMPAT_OFF_T_MAX      0x7fffffff
- #define COMPAT_LOFF_T_MAX     0x7fffffffffffffffL
-@@ -123,7 +123,7 @@
-  * as pointers because the syscall entry code will have
-  * appropriately comverted them already.
-  */
--typedef u32           compat_uptr_t;
-+typedef __u32         compat_uptr_t;
- static inline void *compat_ptr(compat_uptr_t uptr)
- {
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5074.h linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5074.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5074.h 2003-12-15 12:47:03.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5074.h      2004-08-26 13:21:48.000000000 -0500
-@@ -34,5 +34,5 @@
- extern void ddb5074_led_d2(int on);
- extern void ddb5074_led_d3(int on);
--extern void nile4_irq_setup(u32 base);
-+extern void nile4_irq_setup(__u32 base);
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5476.h linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5476.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5476.h 2003-12-15 12:47:03.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5476.h      2004-08-26 05:24:06.000000000 -0500
-@@ -145,13 +145,13 @@
- extern void nile4_enable_irq(int nile4_irq);
- extern void nile4_disable_irq(int nile4_irq);
- extern void nile4_disable_irq_all(void);
--extern u16 nile4_get_irq_stat(int cpu_irq);
-+extern __u16 nile4_get_irq_stat(int cpu_irq);
- extern void nile4_enable_irq_output(int cpu_irq);
- extern void nile4_disable_irq_output(int cpu_irq);
- extern void nile4_set_pci_irq_polarity(int pci_irq, int high);
- extern void nile4_set_pci_irq_level_or_edge(int pci_irq, int level);
- extern void nile4_clear_irq(int nile4_irq);
--extern void nile4_clear_irq_mask(u32 mask);
--extern u8 nile4_i8259_iack(void);
-+extern void nile4_clear_irq_mask(__u32 mask);
-+extern __u8 nile4_i8259_iack(void);
- extern void nile4_dump_irq_status(void);        /* Debug */
- #endif /* !__ASSEMBLY__ */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5xxx.h linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5xxx.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5xxx.h 2004-01-17 17:03:47.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5xxx.h      2004-08-26 05:24:01.000000000 -0500
-@@ -177,46 +177,46 @@
-  * interrupt load
-  */
- #ifndef CONFIG_DDB5074
--    volatile u32 *p = (volatile u32 *)0xbfc00000;
-+    volatile __u32 *p = (volatile __u32 *)0xbfc00000;
-     (void)(*p);
- #endif
- }
--static inline void ddb_out32(u32 offset, u32 val)
-+static inline void ddb_out32(__u32 offset, __u32 val)
- {
--    *(volatile u32 *)(DDB_BASE+offset) = val;
-+    *(volatile __u32 *)(DDB_BASE+offset) = val;
-     ddb_sync();
- }
--static inline u32 ddb_in32(u32 offset)
-+static inline __u32 ddb_in32(__u32 offset)
- {
--    u32 val = *(volatile u32 *)(DDB_BASE+offset);
-+    __u32 val = *(volatile __u32 *)(DDB_BASE+offset);
-     ddb_sync();
-     return val;
- }
--static inline void ddb_out16(u32 offset, u16 val)
-+static inline void ddb_out16(__u32 offset, __u16 val)
- {
--    *(volatile u16 *)(DDB_BASE+offset) = val;
-+    *(volatile __u16 *)(DDB_BASE+offset) = val;
-     ddb_sync();
- }
--static inline u16 ddb_in16(u32 offset)
-+static inline __u16 ddb_in16(__u32 offset)
- {
--    u16 val = *(volatile u16 *)(DDB_BASE+offset);
-+    __u16 val = *(volatile __u16 *)(DDB_BASE+offset);
-     ddb_sync();
-     return val;
- }
--static inline void ddb_out8(u32 offset, u8 val)
-+static inline void ddb_out8(__u32 offset, __u8 val)
- {
--    *(volatile u8 *)(DDB_BASE+offset) = val;
-+    *(volatile __u8 *)(DDB_BASE+offset) = val;
-     ddb_sync();
- }
--static inline u8 ddb_in8(u32 offset)
-+static inline __u8 ddb_in8(__u32 offset)
- {
--    u8 val = *(volatile u8 *)(DDB_BASE+offset);
-+    __u8 val = *(volatile __u8 *)(DDB_BASE+offset);
-     ddb_sync();
-     return val;
- }
-@@ -226,10 +226,10 @@
-  *  Physical Device Address Registers
-  */
--extern u32
--ddb_calc_pdar(u32 phys, u32 size, int width, int on_memory_bus, int pci_visible);
-+extern __u32
-+ddb_calc_pdar(__u32 phys, __u32 size, int width, int on_memory_bus, int pci_visible);
- extern void
--ddb_set_pdar(u32 pdar, u32 phys, u32 size, int width,
-+ddb_set_pdar(__u32 pdar, __u32 phys, __u32 size, int width,
-            int on_memory_bus, int pci_visible);
- /*
-@@ -248,7 +248,7 @@
- #define DDB_PCI_ACCESS_32    0x10    /* for pci init0/1 regs */
--extern void ddb_set_pmr(u32 pmr, u32 type, u32 addr, u32 options);
-+extern void ddb_set_pmr(__u32 pmr, __u32 type, __u32 addr, __u32 options);
- /*
-  * we need to reset pci bus when we start up and shutdown
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/dec/ioasic.h linux-libc-headers-2.6.8.0/include/asm-mips/dec/ioasic.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/dec/ioasic.h      2004-01-17 17:03:47.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/dec/ioasic.h   2004-08-26 05:25:44.000000000 -0500
-@@ -18,14 +18,14 @@
- extern spinlock_t ioasic_ssr_lock;
--extern volatile u32 *ioasic_base;
-+extern volatile __u32 *ioasic_base;
--static inline void ioasic_write(unsigned int reg, u32 v)
-+static inline void ioasic_write(unsigned int reg, __u32 v)
- {
-       ioasic_base[reg / 4] = v;
- }
--static inline u32 ioasic_read(unsigned int reg)
-+static inline __u32 ioasic_read(unsigned int reg)
- {
-       return ioasic_base[reg / 4];
- }
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/dec/kn02.h linux-libc-headers-2.6.8.0/include/asm-mips/dec/kn02.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/dec/kn02.h        2004-01-17 17:03:47.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/dec/kn02.h     2004-08-26 05:25:47.000000000 -0500
-@@ -97,7 +97,7 @@
- #ifndef __ASSEMBLY__
--extern u32 cached_kn02_csr;
-+extern __u32 cached_kn02_csr;
- extern spinlock_t kn02_lock;
- extern void init_kn02_irqs(int base);
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/elf.h linux-libc-headers-2.6.8.0/include/asm-mips/elf.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/elf.h     2004-03-28 07:51:51.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/elf.h  2004-08-26 05:17:25.000000000 -0500
-@@ -122,7 +122,7 @@
- typedef double elf_fpreg_t;
- typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
- /*
-  * This is used to ensure we don't load something for the wrong architecture.
-@@ -150,9 +150,9 @@
-  */
- #define ELF_CLASS     ELFCLASS32
--#endif /* CONFIG_MIPS32 */
-+#endif /* ndef __mips64 */
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- /*
-  * This is used to ensure we don't load something for the wrong architecture.
-  */
-@@ -174,7 +174,7 @@
-  */
- #define ELF_CLASS     ELFCLASS64
--#endif /* CONFIG_MIPS64 */
-+#endif /* __mips64 */
- /*
-  * These are used to set parameters in the core dumps.
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/galileo-boards/ev96100.h linux-libc-headers-2.6.8.0/include/asm-mips/galileo-boards/ev96100.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/galileo-boards/ev96100.h  2004-03-28 07:51:53.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/galileo-boards/ev96100.h       2004-08-26 05:23:12.000000000 -0500
-@@ -46,9 +46,9 @@
-  * bytes when running bigendian.
-  */
- #define __GT_READ(ofs)                                                        \
--      (*(volatile u32 *)(GT64120_BASE+(ofs)))
-+      (*(volatile __u32 *)(GT64120_BASE+(ofs)))
- #define __GT_WRITE(ofs, data)                                         \
--      do { *(volatile u32 *)(GT64120_BASE+(ofs)) = (data); } while (0)
-+      do { *(volatile __u32 *)(GT64120_BASE+(ofs)) = (data); } while (0)
- #define GT_READ(ofs)          le32_to_cpu(__GT_READ(ofs))
- #define GT_WRITE(ofs, data)   __GT_WRITE(ofs, cpu_to_le32(data))
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/galileo-boards/gt96100.h linux-libc-headers-2.6.8.0/include/asm-mips/galileo-boards/gt96100.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/galileo-boards/gt96100.h  2004-03-28 07:51:53.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/galileo-boards/gt96100.h       2004-08-26 05:23:17.000000000 -0500
-@@ -27,9 +27,9 @@
- #define MIPS_GT96100_BASE (KSEG1ADDR(0x14000000))
- #define GT96100_WRITE(ofs, data) \
--    *(volatile u32 *)(MIPS_GT96100_BASE+ofs) = cpu_to_le32(data)
-+    *(volatile __u32 *)(MIPS_GT96100_BASE+ofs) = cpu_to_le32(data)
- #define GT96100_READ(ofs) \
--    le32_to_cpu(*(volatile u32 *)(MIPS_GT96100_BASE+ofs))
-+    le32_to_cpu(*(volatile __u32 *)(MIPS_GT96100_BASE+ofs))
- #define GT96100_ETH_IO_SIZE 0x4000
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/gt64120.h linux-libc-headers-2.6.8.0/include/asm-mips/gt64120.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/gt64120.h 2004-03-28 07:51:51.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/gt64120.h      2004-08-26 05:22:36.000000000 -0500
-@@ -420,9 +420,9 @@
-  * bytes when running bigendian.  We also provide non-swapping versions.
-  */
- #define __GT_READ(ofs)                                                        \
--      (*(volatile u32 *)(GT64120_BASE+(ofs)))
-+      (*(volatile __u32 *)(GT64120_BASE+(ofs)))
- #define __GT_WRITE(ofs, data)                                         \
--      do { *(volatile u32 *)(GT64120_BASE+(ofs)) = (data); } while (0)
-+      do { *(volatile __u32 *)(GT64120_BASE+(ofs)) = (data); } while (0)
- #define GT_READ(ofs)          le32_to_cpu(__GT_READ(ofs))
- #define GT_WRITE(ofs, data)   __GT_WRITE(ofs, cpu_to_le32(data))
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/io.h linux-libc-headers-2.6.8.0/include/asm-mips/io.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/io.h      2004-03-28 07:51:51.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/io.h   2004-08-26 05:24:16.000000000 -0500
-@@ -173,14 +173,14 @@
-       unsigned long flags)
- {
-       if (cpu_has_64bit_addresses) {
--              u64 base = UNCAC_BASE;
-+              __u64 base = UNCAC_BASE;
-               /*
-                * R10000 supports a 2 bit uncached attribute therefore
-                * UNCAC_BASE may not equal IO_BASE.
-                */
-               if (flags == _CACHE_UNCACHED)
--                      base = (u64) IO_BASE;
-+                      base = (__u64) IO_BASE;
-               return (void *) (unsigned long) (base + offset);
-       }
-@@ -245,10 +245,10 @@
- #define __raw_readb(addr)     (*(volatile unsigned char *)(addr))
- #define __raw_readw(addr)     (*(volatile unsigned short *)(addr))
- #define __raw_readl(addr)     (*(volatile unsigned int *)(addr))
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
- #define ____raw_readq(addr)                                           \
- ({                                                                    \
--      u64 __res;                                                      \
-+      __u64 __res;                                                    \
-                                                                       \
-       __asm__ __volatile__ (                                          \
-               "       .set    mips3           # ____raw_readq \n"     \
-@@ -263,7 +263,7 @@
- #define __raw_readq(addr)                                             \
- ({                                                                    \
-       unsigned long __flags;                                          \
--      u64 __res;                                                      \
-+      __u64 __res;                                                    \
-                                                                       \
-       local_irq_save(__flags);                                        \
-       __res = ____raw_readq(addr);                                    \
-@@ -271,7 +271,7 @@
-       __res;                                                          \
- })
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- #define ____raw_readq(addr)   (*(volatile unsigned long *)(addr))
- #define __raw_readq(addr)     ____raw_readq(addr)
- #endif
-@@ -288,10 +288,10 @@
- #define __raw_writeb(b,addr)  ((*(volatile unsigned char *)(addr)) = (b))
- #define __raw_writew(w,addr)  ((*(volatile unsigned short *)(addr)) = (w))
- #define __raw_writel(l,addr)  ((*(volatile unsigned int *)(addr)) = (l))
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
- #define ____raw_writeq(val,addr)                                              \
- ({                                                                    \
--      u64 __tmp;                                                      \
-+      __u64 __tmp;                                                    \
-                                                                       \
-       __asm__ __volatile__ (                                          \
-               "       .set    mips3                           \n"     \
-@@ -313,7 +313,7 @@
-       local_irq_restore(__flags);                                     \
- })
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- #define ____raw_writeq(q,addr)        ((*(volatile unsigned long *)(addr)) = (q))
- #define __raw_writeq(q,addr)  ____raw_writeq(q, addr)
- #endif
-@@ -400,28 +400,28 @@
- {
-       port = __swizzle_addr_b(port);
--      *(volatile u8 *)(mips_io_port_base + port) = __ioswab8(val);
-+      *(volatile __u8 *)(mips_io_port_base + port) = __ioswab8(val);
- }
- static inline void __outw(unsigned short val, unsigned long port)
- {
-       port = __swizzle_addr_w(port);
--      *(volatile u16 *)(mips_io_port_base + port) = __ioswab16(val);
-+      *(volatile __u16 *)(mips_io_port_base + port) = __ioswab16(val);
- }
- static inline void __outl(unsigned int val, unsigned long port)
- {
-       port = __swizzle_addr_l(port);
--      *(volatile u32 *)(mips_io_port_base + port) = __ioswab32(val);
-+      *(volatile __u32 *)(mips_io_port_base + port) = __ioswab32(val);
- }
- static inline void __outb_p(unsigned char val, unsigned long port)
- {
-       port = __swizzle_addr_b(port);
--      *(volatile u8 *)(mips_io_port_base + port) = __ioswab8(val);
-+      *(volatile __u8 *)(mips_io_port_base + port) = __ioswab8(val);
-       SLOW_DOWN_IO;
- }
-@@ -429,7 +429,7 @@
- {
-       port = __swizzle_addr_w(port);
--      *(volatile u16 *)(mips_io_port_base + port) = __ioswab16(val);
-+      *(volatile __u16 *)(mips_io_port_base + port) = __ioswab16(val);
-       SLOW_DOWN_IO;
- }
-@@ -437,7 +437,7 @@
- {
-       port = __swizzle_addr_l(port);
--      *(volatile u32 *)(mips_io_port_base + port) = __ioswab32(val);
-+      *(volatile __u32 *)(mips_io_port_base + port) = __ioswab32(val);
-       SLOW_DOWN_IO;
- }
-@@ -452,30 +452,30 @@
- {
-       port = __swizzle_addr_b(port);
--      return __ioswab8(*(volatile u8 *)(mips_io_port_base + port));
-+      return __ioswab8(*(volatile __u8 *)(mips_io_port_base + port));
- }
- static inline unsigned short __inw(unsigned long port)
- {
-       port = __swizzle_addr_w(port);
--      return __ioswab16(*(volatile u16 *)(mips_io_port_base + port));
-+      return __ioswab16(*(volatile __u16 *)(mips_io_port_base + port));
- }
- static inline unsigned int __inl(unsigned long port)
- {
-       port = __swizzle_addr_l(port);
--      return __ioswab32(*(volatile u32 *)(mips_io_port_base + port));
-+      return __ioswab32(*(volatile __u32 *)(mips_io_port_base + port));
- }
- static inline unsigned char __inb_p(unsigned long port)
- {
--      u8 __val;
-+      __u8 __val;
-       port = __swizzle_addr_b(port);
--      __val = *(volatile u8 *)(mips_io_port_base + port);
-+      __val = *(volatile __u8 *)(mips_io_port_base + port);
-       SLOW_DOWN_IO;
-       return __ioswab8(__val);
-@@ -483,11 +483,11 @@
- static inline unsigned short __inw_p(unsigned long port)
- {
--      u16 __val;
-+      __u16 __val;
-       port = __swizzle_addr_w(port);
--      __val = *(volatile u16 *)(mips_io_port_base + port);
-+      __val = *(volatile __u16 *)(mips_io_port_base + port);
-       SLOW_DOWN_IO;
-       return __ioswab16(__val);
-@@ -495,11 +495,11 @@
- static inline unsigned int __inl_p(unsigned long port)
- {
--      u32 __val;
-+      __u32 __val;
-       port = __swizzle_addr_l(port);
--      __val = *(volatile u32 *)(mips_io_port_base + port);
-+      __val = *(volatile __u32 *)(mips_io_port_base + port);
-       SLOW_DOWN_IO;
-       return __ioswab32(__val);
-@@ -515,7 +515,7 @@
- static inline void __outsb(unsigned long port, void *addr, unsigned int count)
- {
-       while (count--) {
--              outb(*(u8 *)addr, port);
-+              outb(*(__u8 *)addr, port);
-               addr++;
-       }
- }
-@@ -523,7 +523,7 @@
- static inline void __insb(unsigned long port, void *addr, unsigned int count)
- {
-       while (count--) {
--              *(u8 *)addr = inb(port);
-+              *(__u8 *)addr = inb(port);
-               addr++;
-       }
- }
-@@ -531,7 +531,7 @@
- static inline void __outsw(unsigned long port, void *addr, unsigned int count)
- {
-       while (count--) {
--              outw(*(u16 *)addr, port);
-+              outw(*(__u16 *)addr, port);
-               addr += 2;
-       }
- }
-@@ -539,7 +539,7 @@
- static inline void __insw(unsigned long port, void *addr, unsigned int count)
- {
-       while (count--) {
--              *(u16 *)addr = inw(port);
-+              *(__u16 *)addr = inw(port);
-               addr += 2;
-       }
- }
-@@ -547,7 +547,7 @@
- static inline void __outsl(unsigned long port, void *addr, unsigned int count)
- {
-       while (count--) {
--              outl(*(u32 *)addr, port);
-+              outl(*(__u32 *)addr, port);
-               addr += 4;
-       }
- }
-@@ -555,7 +555,7 @@
- static inline void __insl(unsigned long port, void *addr, unsigned int count)
- {
-       while (count--) {
--              *(u32 *)addr = inl(port);
-+              *(__u32 *)addr = inl(port);
-               addr += 4;
-       }
- }
-@@ -617,7 +617,7 @@
- #define __CSR_32_ADJUST 0
- #endif
--#define csr_out32(v,a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST) = (v))
--#define csr_in32(a)    (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST))
-+#define csr_out32(v,a) (*(volatile __u32 *)((unsigned long)(a) + __CSR_32_ADJUST) = (v))
-+#define csr_in32(a)    (*(volatile __u32 *)((unsigned long)(a) + __CSR_32_ADJUST))
- #endif /* _ASM_IO_H */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/ip32/mace.h linux-libc-headers-2.6.8.0/include/asm-mips/ip32/mace.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/ip32/mace.h       2004-06-09 07:00:41.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/ip32/mace.h    2004-08-26 05:14:41.000000000 -0500
-@@ -22,7 +22,7 @@
- #undef BIT
- #define BIT(x) (1ULL << (x))
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
- typedef struct {
-       volatile unsigned long long reg;
- } mace64_t;
-@@ -32,7 +32,7 @@
-       volatile unsigned long reg;
- } mace32_t;
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- typedef struct {
-       volatile unsigned long reg;
- } mace64_t;
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/it8172/it8172.h linux-libc-headers-2.6.8.0/include/asm-mips/it8172/it8172.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/it8172/it8172.h   2003-12-15 12:47:03.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/it8172/it8172.h        2004-08-26 05:22:54.000000000 -0500
-@@ -336,13 +336,13 @@
- #define TIMER_TIDR                            0x0E
--#define IT_WRITE(ofs, data) *(volatile u32 *)KSEG1ADDR((IT8172_BASE+ofs)) = data
--#define IT_READ(ofs, data)  data = *(volatile u32 *)KSEG1ADDR((IT8172_BASE+ofs))
-+#define IT_WRITE(ofs, data) *(volatile __u32 *)KSEG1ADDR((IT8172_BASE+ofs)) = data
-+#define IT_READ(ofs, data)  data = *(volatile __u32 *)KSEG1ADDR((IT8172_BASE+ofs))
--#define IT_IO_WRITE(ofs, data) *(volatile u32 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs)) = data
--#define IT_IO_READ(ofs, data)  data = *(volatile u32 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs))
-+#define IT_IO_WRITE(ofs, data) *(volatile __u32 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs)) = data
-+#define IT_IO_READ(ofs, data)  data = *(volatile __u32 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs))
--#define IT_IO_WRITE16(ofs, data) *(volatile u16 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs)) = data
--#define IT_IO_READ16(ofs, data)  data = *(volatile u16 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs))
-+#define IT_IO_WRITE16(ofs, data) *(volatile __u16 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs)) = data
-+#define IT_IO_READ16(ofs, data)  data = *(volatile __u16 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs))
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/lasat/head.h linux-libc-headers-2.6.8.0/include/asm-mips/lasat/head.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/lasat/head.h      2003-12-15 12:47:03.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/lasat/head.h   2004-08-26 05:23:42.000000000 -0500
-@@ -10,12 +10,12 @@
- #ifndef _LANGUAGE_ASSEMBLY
- #include <linux/types.h>
- struct bootloader_header {
--      u32 magic[2];
--      u32 version;
--      u32 image_start;
--      u32 image_size;
--      u32 kernel_start;
--      u32 kernel_entry;
-+      __u32 magic[2];
-+      __u32 version;
-+      __u32 image_start;
-+      __u32 image_size;
-+      __u32 kernel_start;
-+      __u32 kernel_entry;
- };
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/lasat/lasat.h linux-libc-headers-2.6.8.0/include/asm-mips/lasat/lasat.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/lasat/lasat.h     2004-06-09 07:00:42.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/lasat/lasat.h  2004-08-26 05:23:50.000000000 -0500
-@@ -25,9 +25,9 @@
- #ifndef _LANGUAGE_ASSEMBLY
- extern struct lasat_misc {
--      volatile u32 *reset_reg;
--      volatile u32 *flash_wp_reg;
--      u32 flash_wp_bit;
-+      volatile __u32 *reset_reg;
-+      volatile __u32 *flash_wp_reg;
-+      __u32 flash_wp_bit;
- } *lasat_misc;
- enum lasat_mtdparts {
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/m48t35.h linux-libc-headers-2.6.8.0/include/asm-mips/m48t35.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/m48t35.h  2004-01-17 17:03:44.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/m48t35.h       2004-08-26 05:23:39.000000000 -0500
-@@ -8,15 +8,15 @@
- extern spinlock_t rtc_lock;
- struct m48t35_rtc {
--      volatile u8     pad[0x7ff8];    /* starts at 0x7ff8 */
--      volatile u8     control;
--      volatile u8     sec;
--      volatile u8     min;
--      volatile u8     hour;
--      volatile u8     day;
--      volatile u8     date;
--      volatile u8     month;
--      volatile u8     year;
-+      volatile __u8   pad[0x7ff8];    /* starts at 0x7ff8 */
-+      volatile __u8   control;
-+      volatile __u8   sec;
-+      volatile __u8   min;
-+      volatile __u8   hour;
-+      volatile __u8   day;
-+      volatile __u8   date;
-+      volatile __u8   month;
-+      volatile __u8   year;
- };
- #define M48T35_RTC_SET                0x80
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/bonito64.h linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/bonito64.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/bonito64.h    2004-03-28 07:51:54.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/bonito64.h 2004-08-26 05:21:59.000000000 -0500
-@@ -34,7 +34,7 @@
- extern unsigned long _pcictrl_bonito;
- extern unsigned long _pcictrl_bonito_pcicfg;
--#define BONITO(x)             *(volatile u32 *)(_pcictrl_bonito + (x))
-+#define BONITO(x)             *(volatile __u32 *)(_pcictrl_bonito + (x))
- #endif /* __ASSEMBLY__ */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/generic.h linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/generic.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/generic.h     2004-03-28 07:51:54.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/generic.h  2004-08-26 05:22:06.000000000 -0500
-@@ -74,7 +74,7 @@
- #define MIPS_REVISION_CORID_CORE_EMUL_BON  0x63
- #define MIPS_REVISION_CORID_CORE_EMUL_MSC  0x65
--#define MIPS_REVISION_CORID (((*(volatile u32 *)ioremap(MIPS_REVISION_REG, 4)) >> 10) & 0x3f)
-+#define MIPS_REVISION_CORID (((*(volatile __u32 *)ioremap(MIPS_REVISION_REG, 4)) >> 10) & 0x3f)
- extern unsigned int mips_revision_corid;
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/msc01_pci.h linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/msc01_pci.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/msc01_pci.h   2004-03-28 07:51:54.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/msc01_pci.h        2004-08-26 05:22:10.000000000 -0500
-@@ -212,8 +212,8 @@
- #define MSC01_PCI_REG_BASE    _pcictrl_msc
--#define MSC_WRITE(reg, data)  do { *(volatile u32 *)(reg) = data; } while (0)
--#define MSC_READ(reg, data)   do { data = *(volatile u32 *)(reg); } while (0)
-+#define MSC_WRITE(reg, data)  do { *(volatile __u32 *)(reg) = data; } while (0)
-+#define MSC_READ(reg, data)   do { data = *(volatile __u32 *)(reg); } while (0)
- /*
-  * Registers absolute addresses
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/mipsregs.h linux-libc-headers-2.6.8.0/include/asm-mips/mipsregs.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/mipsregs.h        2004-08-18 13:15:41.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/mipsregs.h     2004-08-26 13:00:51.000000000 -0500
-@@ -14,7 +14,6 @@
- #define _ASM_MIPSREGS_H
- #include <linux/linkage.h>
--#include <asm/hazards.h>
- /*
-  * The following macros are especially useful for __asm__
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/mmu_context.h linux-libc-headers-2.6.8.0/include/asm-mips/mmu_context.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/mmu_context.h     2004-08-18 13:15:41.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/mmu_context.h  2004-08-26 05:14:41.000000000 -0500
-@@ -27,12 +27,12 @@
-  */
- #define TLBMISS_HANDLER_SETUP_PGD(pgd) \
-       pgd_current[smp_processor_id()] = (unsigned long)(pgd)
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
- #define TLBMISS_HANDLER_SETUP() \
-       write_c0_context((unsigned long) smp_processor_id() << 23); \
-       TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir)
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- #define TLBMISS_HANDLER_SETUP() \
-       write_c0_context((unsigned long) &pgd_current[smp_processor_id()] << 23); \
-       TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir)
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/module.h linux-libc-headers-2.6.8.0/include/asm-mips/module.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/module.h  2004-08-18 13:15:41.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/module.h       2004-08-26 05:14:41.000000000 -0500
-@@ -21,7 +21,7 @@
-   Elf64_Sxword r_addend;              /* Addend.  */
- } Elf64_Mips_Rela;
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
- #define Elf_Shdr      Elf32_Shdr
- #define Elf_Sym               Elf32_Sym
-@@ -29,7 +29,7 @@
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- #define Elf_Shdr      Elf64_Shdr
- #define Elf_Sym               Elf64_Sym
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/msgbuf.h linux-libc-headers-2.6.8.0/include/asm-mips/msgbuf.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/msgbuf.h  2004-01-17 17:03:44.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/msgbuf.h       2004-08-26 05:15:04.000000000 -0500
-@@ -14,25 +14,25 @@
- struct msqid64_ds {
-       struct ipc64_perm msg_perm;
--#if defined(CONFIG_MIPS32) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
-+#if !defined(__mips64) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
-       unsigned long   __unused1;
- #endif
-       __kernel_time_t msg_stime;      /* last msgsnd time */
--#if defined(CONFIG_MIPS32) && defined(CONFIG_CPU_LITTLE_ENDIAN)
-+#if !defined(__mips64) && defined(CONFIG_CPU_LITTLE_ENDIAN)
-       unsigned long   __unused1;
- #endif
--#if defined(CONFIG_MIPS32) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
-+#if !defined(__mips64) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
-       unsigned long   __unused2;
- #endif
-       __kernel_time_t msg_rtime;      /* last msgrcv time */
--#if defined(CONFIG_MIPS32) && defined(CONFIG_CPU_LITTLE_ENDIAN)
-+#if !defined(__mips64) && defined(CONFIG_CPU_LITTLE_ENDIAN)
-       unsigned long   __unused2;
- #endif
--#if defined(CONFIG_MIPS32) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
-+#if !defined(__mips64) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
-       unsigned long   __unused3;
- #endif
-       __kernel_time_t msg_ctime;      /* last change time */
--#if defined(CONFIG_MIPS32) && defined(CONFIG_CPU_LITTLE_ENDIAN)
-+#if !defined(__mips64) && defined(CONFIG_CPU_LITTLE_ENDIAN)
-       unsigned long   __unused3;
- #endif
-       unsigned long  msg_cbytes;      /* current number of bytes on queue */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/nile4.h linux-libc-headers-2.6.8.0/include/asm-mips/nile4.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/nile4.h   2003-12-15 12:47:02.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/nile4.h        2004-08-26 05:22:46.000000000 -0500
-@@ -202,45 +202,45 @@
- static inline void nile4_sync(void)
- {
--    volatile u32 *p = (volatile u32 *)0xbfc00000;
-+    volatile __u32 *p = (volatile __u32 *)0xbfc00000;
-     (void)(*p);
- }
--static inline void nile4_out32(u32 offset, u32 val)
-+static inline void nile4_out32(__u32 offset, __u32 val)
- {
--    *(volatile u32 *)(NILE4_BASE+offset) = val;
-+    *(volatile __u32 *)(NILE4_BASE+offset) = val;
-     nile4_sync();
- }
--static inline u32 nile4_in32(u32 offset)
-+static inline __u32 nile4_in32(__u32 offset)
- {
--    u32 val = *(volatile u32 *)(NILE4_BASE+offset);
-+    __u32 val = *(volatile __u32 *)(NILE4_BASE+offset);
-     nile4_sync();
-     return val;
- }
--static inline void nile4_out16(u32 offset, u16 val)
-+static inline void nile4_out16(__u32 offset, __u16 val)
- {
--    *(volatile u16 *)(NILE4_BASE+offset) = val;
-+    *(volatile __u16 *)(NILE4_BASE+offset) = val;
-     nile4_sync();
- }
--static inline u16 nile4_in16(u32 offset)
-+static inline __u16 nile4_in16(__u32 offset)
- {
--    u16 val = *(volatile u16 *)(NILE4_BASE+offset);
-+    __u16 val = *(volatile __u16 *)(NILE4_BASE+offset);
-     nile4_sync();
-     return val;
- }
--static inline void nile4_out8(u32 offset, u8 val)
-+static inline void nile4_out8(__u32 offset, __u8 val)
- {
--    *(volatile u8 *)(NILE4_BASE+offset) = val;
-+    *(volatile __u8 *)(NILE4_BASE+offset) = val;
-     nile4_sync();
- }
--static inline u8 nile4_in8(u32 offset)
-+static inline __u8 nile4_in8(__u32 offset)
- {
--    u8 val = *(volatile u8 *)(NILE4_BASE+offset);
-+    __u8 val = *(volatile __u8 *)(NILE4_BASE+offset);
-     nile4_sync();
-     return val;
- }
-@@ -250,7 +250,7 @@
-      *  Physical Device Address Registers
-      */
--extern void nile4_set_pdar(u32 pdar, u32 phys, u32 size, int width,
-+extern void nile4_set_pdar(__u32 pdar, __u32 phys, __u32 size, int width,
-                          int on_memory_bus, int visible);
-@@ -276,7 +276,7 @@
- #define NILE4_PCI_IACK_BASE   NILE4_PCI_IO_BASE
--extern void nile4_set_pmr(u32 pmr, u32 type, u32 addr);
-+extern void nile4_set_pmr(__u32 pmr, __u32 type, __u32 addr);
-     /*
-@@ -296,14 +296,14 @@
- extern void nile4_enable_irq(unsigned int nile4_irq);
- extern void nile4_disable_irq(unsigned int nile4_irq);
- extern void nile4_disable_irq_all(void);
--extern u16 nile4_get_irq_stat(int cpu_irq);
-+extern __u16 nile4_get_irq_stat(int cpu_irq);
- extern void nile4_enable_irq_output(int cpu_irq);
- extern void nile4_disable_irq_output(int cpu_irq);
- extern void nile4_set_pci_irq_polarity(int pci_irq, int high);
- extern void nile4_set_pci_irq_level_or_edge(int pci_irq, int level);
- extern void nile4_clear_irq(int nile4_irq);
--extern void nile4_clear_irq_mask(u32 mask);
--extern u8 nile4_i8259_iack(void);
-+extern void nile4_clear_irq_mask(__u32 mask);
-+extern __u8 nile4_i8259_iack(void);
- extern void nile4_dump_irq_status(void);      /* Debug */
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/paccess.h linux-libc-headers-2.6.8.0/include/asm-mips/paccess.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/paccess.h 2004-01-17 17:03:44.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/paccess.h      2004-08-26 05:17:48.000000000 -0500
-@@ -14,11 +14,12 @@
- #define _ASM_PACCESS_H
- #include <linux/errno.h>
-+#include <linux/linkage.h>
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
- #define __PA_ADDR     ".word"
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- #define __PA_ADDR     ".dword"
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/pci/bridge.h linux-libc-headers-2.6.8.0/include/asm-mips/pci/bridge.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/pci/bridge.h      2004-03-28 07:51:54.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/pci/bridge.h   2004-08-26 05:25:40.000000000 -0500
-@@ -48,9 +48,9 @@
-  * All accesses to bridge hardware registers must be done
-  * using 32-bit loads and stores.
-  */
--typedef u32   bridgereg_t;
-+typedef __u32 bridgereg_t;
--typedef u64   bridge_ate_t;
-+typedef __u64 bridge_ate_t;
- /* pointers to bridge ATEs
-  * are always "pointer to volatile"
-@@ -199,37 +199,37 @@
-       /* PCI Device Configuration Spaces 0x020000-0x027FFF */
-       union {                         /* make all access sizes available. */
--              u8      c[0x1000 / 1];
--              u16     s[0x1000 / 2];
--              u32     l[0x1000 / 4];
--              u64     d[0x1000 / 8];
-+              __u8    c[0x1000 / 1];
-+              __u16   s[0x1000 / 2];
-+              __u32   l[0x1000 / 4];
-+              __u64   d[0x1000 / 8];
-               union {
--                      u8      c[0x100 / 1];
--                      u16     s[0x100 / 2];
--                      u32     l[0x100 / 4];
--                      u64     d[0x100 / 8];
-+                      __u8    c[0x100 / 1];
-+                      __u16   s[0x100 / 2];
-+                      __u32   l[0x100 / 4];
-+                      __u64   d[0x100 / 8];
-               } f[8];
-       } b_type0_cfg_dev[8];                                   /* 0x020000 */
-     /* PCI Type 1 Configuration Space 0x028000-0x028FFF */
-       union {                         /* make all access sizes available. */
--              u8      c[0x1000 / 1];
--              u16     s[0x1000 / 2];
--              u32     l[0x1000 / 4];
--              u64     d[0x1000 / 8];
-+              __u8    c[0x1000 / 1];
-+              __u16   s[0x1000 / 2];
-+              __u32   l[0x1000 / 4];
-+              __u64   d[0x1000 / 8];
-       } b_type1_cfg;                                  /* 0x028000-0x029000 */
-       char    _pad_029000[0x007000];                  /* 0x029000-0x030000 */
-       /* PCI Interrupt Acknowledge Cycle 0x030000 */
-       union {
--              u8      c[8 / 1];
--              u16     s[8 / 2];
--              u32     l[8 / 4];
--              u64     d[8 / 8];
-+              __u8    c[8 / 1];
-+              __u16   s[8 / 2];
-+              __u32   l[8 / 4];
-+              __u64   d[8 / 8];
-       } b_pci_iack;                                           /* 0x030000 */
--      u8      _pad_030007[0x04fff8];                  /* 0x030008-0x07FFFF */
-+      __u8    _pad_030007[0x04fff8];                  /* 0x030008-0x07FFFF */
-       /* External Address Translation Entry RAM 0x080000-0x0FFFFF */
-       bridge_ate_t    b_ext_ate_ram[0x10000];
-@@ -239,10 +239,10 @@
-       /* PCI/GIO Device Spaces 0x200000-0xBFFFFF */
-       union {                         /* make all access sizes available. */
--              u8      c[0x100000 / 1];
--              u16     s[0x100000 / 2];
--              u32     l[0x100000 / 4];
--              u64     d[0x100000 / 8];
-+              __u8    c[0x100000 / 1];
-+              __u16   s[0x100000 / 2];
-+              __u32   l[0x100000 / 4];
-+              __u64   d[0x100000 / 8];
-       } b_devio_raw[10];                              /* 0x200000 */
-       /* b_devio macro is a bit strange; it reflects the
-@@ -253,10 +253,10 @@
-       /* External Flash Proms 1,0 0xC00000-0xFFFFFF */
-       union {         /* make all access sizes available. */
--              u8      c[0x400000 / 1];        /* read-only */
--              u16     s[0x400000 / 2];        /* read-write */
--              u32     l[0x400000 / 4];        /* read-only */
--              u64     d[0x400000 / 8];        /* read-only */
-+              __u8    c[0x400000 / 1];        /* read-only */
-+              __u16   s[0x400000 / 2];        /* read-write */
-+              __u32   l[0x400000 / 4];        /* read-only */
-+              __u64   d[0x400000 / 8];        /* read-only */
-       } b_external_flash;                     /* 0xC00000 */
- } bridge_t;
-@@ -266,9 +266,9 @@
-  */
- typedef struct bridge_err_cmdword_s {
-       union {
--              u32             cmd_word;
-+              __u32           cmd_word;
-               struct {
--                      u32     didn:4,         /* Destination ID */
-+                      __u32   didn:4,         /* Destination ID */
-                               sidn:4,         /* Source ID      */
-                               pactyp:4,       /* Packet type    */
-                               tnum:5,         /* Trans Number   */
-@@ -799,17 +799,17 @@
- #ifndef __ASSEMBLY__
- /* Address translation entry for mapped pci32 accesses */
- typedef union ate_u {
--      u64     ent;
-+      __u64   ent;
-       struct ate_s {
--              u64     rmf:16;
--              u64     addr:36;
--              u64     targ:4;
--              u64     reserved:3;
--              u64     barrier:1;
--              u64     prefetch:1;
--              u64     precise:1;
--              u64     coherent:1;
--              u64     valid:1;
-+              __u64   rmf:16;
-+              __u64   addr:36;
-+              __u64   targ:4;
-+              __u64   reserved:3;
-+              __u64   barrier:1;
-+              __u64   prefetch:1;
-+              __u64   precise:1;
-+              __u64   coherent:1;
-+              __u64   valid:1;
-       } field;
- } ate_t;
- #endif /* !__ASSEMBLY__ */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/pci_channel.h linux-libc-headers-2.6.8.0/include/asm-mips/pci_channel.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/pci_channel.h     2004-03-28 07:51:52.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/pci_channel.h  2004-08-26 05:21:47.000000000 -0500
-@@ -41,6 +41,6 @@
- /*
-  * board supplied pci irq fixup routine
-  */
--extern int pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin);
-+extern int pcibios_map_irq(struct pci_dev *dev, __u8 slot, __u8 pin);
- #endif  /* __ASM_PCI_CHANNEL_H */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/pgalloc.h linux-libc-headers-2.6.8.0/include/asm-mips/pgalloc.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/pgalloc.h 2004-06-09 07:00:41.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/pgalloc.h      2004-08-26 05:14:41.000000000 -0500
-@@ -85,7 +85,7 @@
- #define __pte_free_tlb(tlb,pte)               tlb_remove_page((tlb),(pte))
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
- #define pgd_populate(mm, pmd, pte)    BUG()
- /*
-@@ -97,7 +97,7 @@
- #define __pmd_free_tlb(tlb,x)         do { } while (0)
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- #define pgd_populate(mm, pgd, pmd)    set_pgd(pgd, __pgd(pmd))
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/prctl.h linux-libc-headers-2.6.8.0/include/asm-mips/prctl.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/prctl.h   2003-12-15 12:47:02.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/prctl.h        2004-08-26 05:21:43.000000000 -0500
-@@ -12,21 +12,21 @@
- #define PRDA ((struct prda *) PRDA_ADDRESS)
- struct prda_sys {
--      pid_t t_pid;
--        u32   t_hint;
--        u32   t_dlactseq;
--        u32   t_fpflags;
--        u32   t_prid;         /* processor type, $prid CP0 register */
--        u32   t_dlendseq;
--        u64   t_unused1[5];
--        pid_t t_rpid;
--        s32   t_resched;
--        u32   t_unused[8];
--        u32   t_cpu;          /* current/last cpu */
-+      pid_t   t_pid;
-+        __u32   t_hint;
-+        __u32   t_dlactseq;
-+        __u32   t_fpflags;
-+        __u32   t_prid;               /* processor type, $prid CP0 register */
-+        __u32   t_dlendseq;
-+        __u64   t_unused1[5];
-+        pid_t   t_rpid;
-+        __s32   t_resched;
-+        __u32   t_unused[8];
-+        __u32   t_cpu;                /* current/last cpu */
-       /* FIXME: The signal information, not supported by Linux now */
--      u32   t_flags;          /* if true, then the sigprocmask is in userspace */
--      u32   t_sigprocmask [1]; /* the sigprocmask */
-+      __u32   t_flags;                /* if true, then the sigprocmask is in userspace */
-+      __u32   t_sigprocmask [1]; /* the sigprocmask */
- };
- struct prda {
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/processor.h linux-libc-headers-2.6.8.0/include/asm-mips/processor.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/processor.h       2004-08-18 13:15:41.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/processor.h    2004-08-26 05:23:24.000000000 -0500
-@@ -102,7 +102,7 @@
- #define MCA_bus 0
- #define MCA_bus__is_a_macro /* for versions in ksyms.c */
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
- /*
-  * User space process size: 2GB. This is hardcoded into a few places,
-  * so don't change it unless you know what you are doing.
-@@ -116,7 +116,7 @@
- #define TASK_UNMAPPED_BASE    (PAGE_ALIGN(TASK_SIZE / 3))
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- /*
-  * User space process size: 1TB. This is hardcoded into a few places,
-  * so don't change it unless you know what you are doing.  TASK_SIZE
-@@ -142,7 +142,7 @@
- #define NUM_FPU_REGS  32
--typedef u64 fpureg_t;
-+typedef __u64 fpureg_t;
- struct mips_fpu_hard_struct {
-       fpureg_t        fpr[NUM_FPU_REGS];
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/ptrace.h linux-libc-headers-2.6.8.0/include/asm-mips/ptrace.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/ptrace.h  2004-03-28 07:51:52.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/ptrace.h       2004-08-26 05:14:41.000000000 -0500
-@@ -27,7 +27,7 @@
-  * system call/exception. As usual the registers k0/k1 aren't being saved.
-  */
- struct pt_regs {
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
-       /* Pad bytes for argument save space on the stack. */
-       unsigned long pad0[6];
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/serial.h linux-libc-headers-2.6.8.0/include/asm-mips/serial.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/serial.h  2004-08-18 13:15:41.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/serial.h       2004-08-26 13:21:37.000000000 -0500
-@@ -68,7 +68,7 @@
- #define _JAZZ_SERIAL_INIT(int, base)                                  \
-       { .baud_base = JAZZ_BASE_BAUD, .irq = int, .flags = STD_COM_FLAGS,      \
--        .iomem_base = (u8 *) base, .iomem_reg_shift = 0,                      \
-+        .iomem_base = (__u8 *) base, .iomem_reg_shift = 0,                    \
-         .io_type = SERIAL_IO_MEM }
- #define JAZZ_SERIAL_PORT_DEFNS                                                \
-       _JAZZ_SERIAL_INIT(JAZZ_SERIAL1_IRQ, JAZZ_SERIAL1_BASE),         \
-@@ -243,7 +243,7 @@
- #define _JAGUAR_ATX_SERIAL_INIT(int, base)                            \
-       { baud_base: JAGUAR_ATX_BASE_BAUD, irq: int,                    \
-         flags: (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST),               \
--        iomem_base: (u8 *) base, iomem_reg_shift: 2,                  \
-+        iomem_base: (__u8 *) base, iomem_reg_shift: 2,                \
-         io_type: SERIAL_IO_MEM }
- #define MOMENCO_JAGUAR_ATX_SERIAL_PORT_DEFNS                          \
-       _JAGUAR_ATX_SERIAL_INIT(JAGUAR_ATX_SERIAL1_IRQ, JAGUAR_ATX_SERIAL1_BASE)
-@@ -260,7 +260,7 @@
- #define _OCELOT_SERIAL_INIT(int, base)                                        \
-       { .baud_base = OCELOT_BASE_BAUD, .irq = int, .flags = STD_COM_FLAGS,    \
--        .iomem_base = (u8 *) base, .iomem_reg_shift = 2,                      \
-+        .iomem_base = (__u8 *) base, .iomem_reg_shift = 2,                    \
-         .io_type = SERIAL_IO_MEM }
- #define MOMENCO_OCELOT_SERIAL_PORT_DEFNS                              \
-       _OCELOT_SERIAL_INIT(OCELOT_SERIAL1_IRQ, OCELOT_SERIAL1_BASE)
-@@ -281,7 +281,7 @@
- #define _OCELOT_G_SERIAL_INIT(int, base)                              \
-       { .baud_base = OCELOT_G_BASE_BAUD, .irq = int, .flags = STD_COM_FLAGS,\
--        .iomem_base = (u8 *) base, .iomem_reg_shift = 2,                      \
-+        .iomem_base = (__u8 *) base, .iomem_reg_shift = 2,                    \
-         .io_type = SERIAL_IO_MEM }
- #define MOMENCO_OCELOT_G_SERIAL_PORT_DEFNS                            \
-       _OCELOT_G_SERIAL_INIT(OCELOT_G_SERIAL1_IRQ, OCELOT_G_SERIAL1_BASE)
-@@ -303,7 +303,7 @@
-       { .baud_base            = OCELOT_C_BASE_BAUD,                   \
-         .irq                  = (int),                                \
-         .flags                = STD_COM_FLAGS,                        \
--        .iomem_base           = (u8 *) base,                          \
-+        .iomem_base           = (__u8 *) base,                        \
-         .iomem_reg_shift      = 2,                                    \
-         .io_type              = SERIAL_IO_MEM                         \
-        }
-@@ -318,10 +318,10 @@
- #include <asm/ddb5xxx/ddb5477.h>
- #define DDB5477_SERIAL_PORT_DEFNS                                       \
-         { .baud_base = BASE_BAUD, .irq = VRC5477_IRQ_UART0,           \
--        .flags = STD_COM_FLAGS, .iomem_base = (u8*)0xbfa04200,        \
-+        .flags = STD_COM_FLAGS, .iomem_base = (__u8*)0xbfa04200,      \
-         .iomem_reg_shift = 3, .io_type = SERIAL_IO_MEM},              \
-         { .baud_base = BASE_BAUD, .irq = VRC5477_IRQ_UART1,           \
--        .flags = STD_COM_FLAGS, .iomem_base = (u8*)0xbfa04240,        \
-+        .flags = STD_COM_FLAGS, .iomem_base = (__u8*)0xbfa04240,      \
-         .iomem_reg_shift = 3, .io_type = SERIAL_IO_MEM},
- #else
- #define DDB5477_SERIAL_PORT_DEFNS
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/hpc3.h linux-libc-headers-2.6.8.0/include/asm-mips/sgi/hpc3.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/hpc3.h        2003-12-15 12:47:03.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sgi/hpc3.h     2004-08-26 05:24:34.000000000 -0500
-@@ -17,8 +17,8 @@
- /* An HPC DMA descriptor. */
- struct hpc_dma_desc {
--      u32 pbuf;       /* physical address of data buffer */
--      u32 cntinfo;    /* counter and info bits */
-+      __u32 pbuf;     /* physical address of data buffer */
-+      __u32 cntinfo;  /* counter and info bits */
- #define HPCDMA_EOX    0x80000000 /* last desc in chain for tx */
- #define HPCDMA_EOR    0x80000000 /* last desc in chain for rx */
- #define HPCDMA_EOXP   0x40000000 /* end of packet for tx */
-@@ -30,15 +30,15 @@
- #define HPCDMA_OWN    0x00004000 /* Denotes ring buffer ownership on rx */
- #define HPCDMA_BCNT   0x00003fff /* size in bytes of this dma buffer */
--      u32 pnext;      /* paddr of next hpc_dma_desc if any */
-+      __u32 pnext;    /* paddr of next hpc_dma_desc if any */
- };
- /* The set of regs for each HPC3 PBUS DMA channel. */
- struct hpc3_pbus_dmacregs {
--      volatile u32 pbdma_bptr;        /* pbus dma channel buffer ptr */
--      volatile u32 pbdma_dptr;        /* pbus dma channel desc ptr */
--      u32 _unused0[0x1000/4 - 2];     /* padding */
--      volatile u32 pbdma_ctrl;        /* pbus dma channel control register has
-+      volatile __u32 pbdma_bptr;      /* pbus dma channel buffer ptr */
-+      volatile __u32 pbdma_dptr;      /* pbus dma channel desc ptr */
-+      __u32 _unused0[0x1000/4 - 2];   /* padding */
-+      volatile __u32 pbdma_ctrl;      /* pbus dma channel control register has
-                                        * copletely different meaning for read
-                                        * compared with write */
-       /* read */
-@@ -55,20 +55,20 @@
- #define HPC3_PDMACTRL_FB      0x003f0000 /* Ptr to beginning of fifo */
- #define HPC3_PDMACTRL_FE      0x3f000000 /* Ptr to end of fifo */
--      u32 _unused1[0x1000/4 - 1];     /* padding */
-+      __u32 _unused1[0x1000/4 - 1];   /* padding */
- };
- /* The HPC3 SCSI registers, this does not include external ones. */
- struct hpc3_scsiregs {
--      volatile u32 cbptr;     /* current dma buffer ptr, diagnostic use only */
--      volatile u32 ndptr;     /* next dma descriptor ptr */
--      u32 _unused0[0x1000/4 - 2];     /* padding */
--      volatile u32 bcd;       /* byte count info */
-+      volatile __u32 cbptr;   /* current dma buffer ptr, diagnostic use only */
-+      volatile __u32 ndptr;   /* next dma descriptor ptr */
-+      __u32 _unused0[0x1000/4 - 2];   /* padding */
-+      volatile __u32 bcd;     /* byte count info */
- #define HPC3_SBCD_BCNTMSK 0x00003fff /* bytes to transfer from/to memory */
- #define HPC3_SBCD_XIE     0x00004000 /* Send IRQ when done with cur buf */
- #define HPC3_SBCD_EOX     0x00008000 /* Indicates this is last buf in chain */
--      volatile u32 ctrl;    /* control register */
-+      volatile __u32 ctrl;    /* control register */
- #define HPC3_SCTRL_IRQ    0x01 /* IRQ asserted, either dma done or parity */
- #define HPC3_SCTRL_ENDIAN 0x02 /* DMA endian mode, 0=big 1=little */
- #define HPC3_SCTRL_DIR    0x04 /* DMA direction, 1=dev2mem 0=mem2dev */
-@@ -78,9 +78,9 @@
- #define HPC3_SCTRL_CRESET 0x40 /* Resets dma channel and external controller */
- #define HPC3_SCTRL_PERR   0x80 /* Bad parity on HPC3 iface to scsi controller */
--      volatile u32 gfptr;     /* current GIO fifo ptr */
--      volatile u32 dfptr;     /* current device fifo ptr */
--      volatile u32 dconfig;   /* DMA configuration register */
-+      volatile __u32 gfptr;   /* current GIO fifo ptr */
-+      volatile __u32 dfptr;   /* current device fifo ptr */
-+      volatile __u32 dconfig; /* DMA configuration register */
- #define HPC3_SDCFG_HCLK 0x00001 /* Enable DMA half clock mode */
- #define HPC3_SDCFG_D1   0x00006 /* Cycles to spend in D1 state */
- #define HPC3_SDCFG_D2   0x00038 /* Cycles to spend in D2 state */
-@@ -92,7 +92,7 @@
- #define HPC3_SDCFG_POLL 0x08000 /* hd_dreq polarity control */
- #define HPC3_SDCFG_ERLY 0x30000 /* hd_dreq behavior control bits */
--      volatile u32 pconfig;   /* PIO configuration register */
-+      volatile __u32 pconfig; /* PIO configuration register */
- #define HPC3_SPCFG_P3   0x0003 /* Cycles to spend in P3 state */
- #define HPC3_SPCFG_P2W  0x001c /* Cycles to spend in P2 state for writes */
- #define HPC3_SPCFG_P2R  0x01e0 /* Cycles to spend in P2 state for reads */
-@@ -102,21 +102,21 @@
- #define HPC3_SPCFG_EPAR 0x4000 /* Enable parity checking for PIO */
- #define HPC3_SPCFG_FUJI 0x8000 /* Fujitsu scsi controller mode for faster dma/pio */
--      u32 _unused1[0x1000/4 - 6];     /* padding */
-+      __u32 _unused1[0x1000/4 - 6];   /* padding */
- };
- /* SEEQ ethernet HPC3 registers, only one seeq per HPC3. */
- struct hpc3_ethregs {
-       /* Receiver registers. */
--      volatile u32 rx_cbptr;   /* current dma buffer ptr, diagnostic use only */
--      volatile u32 rx_ndptr;   /* next dma descriptor ptr */
--      u32 _unused0[0x1000/4 - 2];     /* padding */
--      volatile u32 rx_bcd;    /* byte count info */
-+      volatile __u32 rx_cbptr;   /* current dma buffer ptr, diagnostic use only */
-+      volatile __u32 rx_ndptr;   /* next dma descriptor ptr */
-+      __u32 _unused0[0x1000/4 - 2];   /* padding */
-+      volatile __u32 rx_bcd;  /* byte count info */
- #define HPC3_ERXBCD_BCNTMSK 0x00003fff /* bytes to be sent to memory */
- #define HPC3_ERXBCD_XIE     0x20000000 /* HPC3 interrupts cpu at end of this buf */
- #define HPC3_ERXBCD_EOX     0x80000000 /* flags this as end of descriptor chain */
--      volatile u32 rx_ctrl;   /* control register */
-+      volatile __u32 rx_ctrl; /* control register */
- #define HPC3_ERXCTRL_STAT50 0x0000003f /* Receive status reg bits of Seeq8003 */
- #define HPC3_ERXCTRL_STAT6  0x00000040 /* Rdonly irq status */
- #define HPC3_ERXCTRL_STAT7  0x00000080 /* Rdonlt old/new status bit from Seeq */
-@@ -125,15 +125,15 @@
- #define HPC3_ERXCTRL_AMASK  0x00000400 /* Tells if ACTIVE inhibits PIO's to hpc3 */
- #define HPC3_ERXCTRL_RBO    0x00000800 /* Receive buffer overflow if set to 1 */
--      volatile u32 rx_gfptr;  /* current GIO fifo ptr */
--      volatile u32 rx_dfptr;  /* current device fifo ptr */
--      u32 _unused1;           /* padding */
--      volatile u32 rx_reset;  /* reset register */
-+      volatile __u32 rx_gfptr;        /* current GIO fifo ptr */
-+      volatile __u32 rx_dfptr;        /* current device fifo ptr */
-+      __u32 _unused1;         /* padding */
-+      volatile __u32 rx_reset;        /* reset register */
- #define HPC3_ERXRST_CRESET 0x1        /* Reset dma channel and external controller */
- #define HPC3_ERXRST_CLRIRQ 0x2        /* Clear channel interrupt */
- #define HPC3_ERXRST_LBACK  0x4        /* Enable diagnostic loopback mode of Seeq8003 */
--      volatile u32 rx_dconfig;        /* DMA configuration register */
-+      volatile __u32 rx_dconfig;      /* DMA configuration register */
- #define HPC3_ERXDCFG_D1    0x0000f /* Cycles to spend in D1 state for PIO */
- #define HPC3_ERXDCFG_D2    0x000f0 /* Cycles to spend in D2 state for PIO */
- #define HPC3_ERXDCFG_D3    0x00f00 /* Cycles to spend in D3 state for PIO */
-@@ -143,26 +143,26 @@
- #define HPC3_ERXDCFG_FIRQ  0x08000 /* Another bad packet timeout enable */
- #define HPC3_ERXDCFG_PTO   0x30000 /* Programmed timeout value for above two */
--      volatile u32 rx_pconfig;        /* PIO configuration register */
-+      volatile __u32 rx_pconfig;      /* PIO configuration register */
- #define HPC3_ERXPCFG_P1    0x000f /* Cycles to spend in P1 state for PIO */
- #define HPC3_ERXPCFG_P2    0x00f0 /* Cycles to spend in P2 state for PIO */
- #define HPC3_ERXPCFG_P3    0x0f00 /* Cycles to spend in P3 state for PIO */
- #define HPC3_ERXPCFG_TST   0x1000 /* Diagnistic ram test feature bit */
--      u32 _unused2[0x1000/4 - 8];     /* padding */
-+      __u32 _unused2[0x1000/4 - 8];   /* padding */
-       /* Transmitter registers. */
--      volatile u32 tx_cbptr;  /* current dma buffer ptr, diagnostic use only */
--      volatile u32 tx_ndptr;  /* next dma descriptor ptr */
--      u32 _unused3[0x1000/4 - 2];     /* padding */
--      volatile u32 tx_bcd;            /* byte count info */
-+      volatile __u32 tx_cbptr;        /* current dma buffer ptr, diagnostic use only */
-+      volatile __u32 tx_ndptr;        /* next dma descriptor ptr */
-+      __u32 _unused3[0x1000/4 - 2];   /* padding */
-+      volatile __u32 tx_bcd;          /* byte count info */
- #define HPC3_ETXBCD_BCNTMSK 0x00003fff        /* bytes to be read from memory */
- #define HPC3_ETXBCD_ESAMP   0x10000000        /* if set, too late to add descriptor */
- #define HPC3_ETXBCD_XIE     0x20000000        /* Interrupt cpu at end of cur desc */
- #define HPC3_ETXBCD_EOP     0x40000000        /* Last byte of cur buf is end of packet */
- #define HPC3_ETXBCD_EOX     0x80000000        /* This buf is the end of desc chain */
--      volatile u32 tx_ctrl;           /* control register */
-+      volatile __u32 tx_ctrl;         /* control register */
- #define HPC3_ETXCTRL_STAT30 0x0000000f        /* Rdonly copy of seeq tx stat reg */
- #define HPC3_ETXCTRL_STAT4  0x00000010        /* Indicate late collision occurred */
- #define HPC3_ETXCTRL_STAT75 0x000000e0        /* Rdonly irq status from seeq */
-@@ -170,9 +170,9 @@
- #define HPC3_ETXCTRL_ACTIVE 0x00000200        /* DMA tx channel is active */
- #define HPC3_ETXCTRL_AMASK  0x00000400        /* Indicates ACTIVE inhibits PIO's */
--      volatile u32 tx_gfptr;          /* current GIO fifo ptr */
--      volatile u32 tx_dfptr;          /* current device fifo ptr */
--      u32 _unused4[0x1000/4 - 4];     /* padding */
-+      volatile __u32 tx_gfptr;                /* current GIO fifo ptr */
-+      volatile __u32 tx_dfptr;                /* current device fifo ptr */
-+      __u32 _unused4[0x1000/4 - 4];   /* padding */
- };
- struct hpc3_regs {
-@@ -188,7 +188,7 @@
-       /* Here are where the hpc3 fifo's can be directly accessed
-        * via PIO accesses.  Under normal operation we never stick
-        * our grubby paws in here so it's just padding. */
--      u32 _unused0[0x18000/4];
-+      __u32 _unused0[0x18000/4];
-       /* HPC3 irq status regs.  Due to a peculiar bug you need to
-        * look at two different register addresses to get at all of
-@@ -197,42 +197,42 @@
-        * reliably report bits 9:5 of the hpc3 irq status.  I told
-        * you it was a peculiar bug. ;-)
-        */
--      volatile u32 istat0;            /* Irq status, only bits <4:0> reliable. */
-+      volatile __u32 istat0;          /* Irq status, only bits <4:0> reliable. */
- #define HPC3_ISTAT_PBIMASK    0x0ff   /* irq bits for pbus devs 0 --> 7 */
- #define HPC3_ISTAT_SC0MASK    0x100   /* irq bit for scsi channel 0 */
- #define HPC3_ISTAT_SC1MASK    0x200   /* irq bit for scsi channel 1 */
--      volatile u32 gio_misc;          /* GIO misc control bits. */
-+      volatile __u32 gio_misc;                /* GIO misc control bits. */
- #define HPC3_GIOMISC_ERTIME   0x1     /* Enable external timer real time. */
- #define HPC3_GIOMISC_DENDIAN  0x2     /* dma descriptor endian, 1=lit 0=big */
--      volatile u32 eeprom;            /* EEPROM data reg. */
-+      volatile __u32 eeprom;          /* EEPROM data reg. */
- #define HPC3_EEPROM_EPROT     0x01    /* Protect register enable */
- #define HPC3_EEPROM_CSEL      0x02    /* Chip select */
- #define HPC3_EEPROM_ECLK      0x04    /* EEPROM clock */
- #define HPC3_EEPROM_DATO      0x08    /* Data out */
- #define HPC3_EEPROM_DATI      0x10    /* Data in */
--      volatile u32 istat1;            /* Irq status, only bits <9:5> reliable. */
--      volatile u32 bestat;            /* Bus error interrupt status reg. */
-+      volatile __u32 istat1;          /* Irq status, only bits <9:5> reliable. */
-+      volatile __u32 bestat;          /* Bus error interrupt status reg. */
- #define HPC3_BESTAT_BLMASK    0x000ff /* Bus lane where bad parity occurred */
- #define HPC3_BESTAT_CTYPE     0x00100 /* Bus cycle type, 0=PIO 1=DMA */
- #define HPC3_BESTAT_PIDSHIFT  9
- #define HPC3_BESTAT_PIDMASK   0x3f700 /* DMA channel parity identifier */
--      u32 _unused1[0x14000/4 - 5];    /* padding */
-+      __u32 _unused1[0x14000/4 - 5];  /* padding */
-       
-       /* Now direct PIO per-HPC3 peripheral access to external regs. */
--      volatile u32 scsi0_ext[256];    /* SCSI channel 0 external regs */
--      u32 _unused2[0x7c00/4];
--      volatile u32 scsi1_ext[256];    /* SCSI channel 1 external regs */
--      u32 _unused3[0x7c00/4];
--      volatile u32 eth_ext[320];      /* Ethernet external registers */
--      u32 _unused4[0x3b00/4];
-+      volatile __u32 scsi0_ext[256];  /* SCSI channel 0 external regs */
-+      __u32 _unused2[0x7c00/4];
-+      volatile __u32 scsi1_ext[256];  /* SCSI channel 1 external regs */
-+      __u32 _unused3[0x7c00/4];
-+      volatile __u32 eth_ext[320];    /* Ethernet external registers */
-+      __u32 _unused4[0x3b00/4];
-       /* Per-peripheral device external registers and DMA/PIO control. */
--      volatile u32 pbus_extregs[16][256];
--      volatile u32 pbus_dmacfg[8][128];
-+      volatile __u32 pbus_extregs[16][256];
-+      volatile __u32 pbus_dmacfg[8][128];
-       /* Cycles to spend in D3 for reads */
- #define HPC3_DMACFG_D3R_MASK          0x00000001
- #define HPC3_DMACFG_D3R_SHIFT         0
-@@ -262,7 +262,7 @@
- #define HPC3_DMACFG_BURST_SHIFT       22
-       /* Use live pbus_dreq unsynchronized signal */
- #define HPC3_DMACFG_DRQLIVE           0x08000000
--      volatile u32 pbus_piocfg[16][64];
-+      volatile __u32 pbus_piocfg[16][64];
-       /* Cycles to spend in P2 state for reads */
- #define HPC3_PIOCFG_P2R_MASK          0x00001
- #define HPC3_PIOCFG_P2R_SHIFT         0
-@@ -287,21 +287,21 @@
- #define HPC3_PIOCFG_EVENHI            0x80000
-       /* PBUS PROM control regs. */
--      volatile u32 pbus_promwe;       /* PROM write enable register */
-+      volatile __u32 pbus_promwe;     /* PROM write enable register */
- #define HPC3_PROM_WENAB       0x1     /* Enable writes to the PROM */
--      u32 _unused5[0x0800/4 - 1];
--      volatile u32 pbus_promswap;     /* Chip select swap reg */
-+      __u32 _unused5[0x0800/4 - 1];
-+      volatile __u32 pbus_promswap;   /* Chip select swap reg */
- #define HPC3_PROM_SWAP        0x1     /* invert GIO addr bit to select prom0 or prom1 */
--      u32 _unused6[0x0800/4 - 1];
--      volatile u32 pbus_gout; /* PROM general purpose output reg */
-+      __u32 _unused6[0x0800/4 - 1];
-+      volatile __u32 pbus_gout;       /* PROM general purpose output reg */
- #define HPC3_PROM_STAT        0x1     /* General purpose status bit in gout */
--      u32 _unused7[0x1000/4 - 1];
--      volatile u32 rtcregs[14];       /* Dallas clock registers */
--      u32 _unused8[50];
--      volatile u32 bbram[8192-50-14]; /* Battery backed ram */
-+      __u32 _unused7[0x1000/4 - 1];
-+      volatile __u32 rtcregs[14];     /* Dallas clock registers */
-+      __u32 _unused8[50];
-+      volatile __u32 bbram[8192-50-14];       /* Battery backed ram */
- };
- /* 
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/ioc.h linux-libc-headers-2.6.8.0/include/asm-mips/sgi/ioc.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/ioc.h 2004-03-28 07:51:54.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sgi/ioc.h      2004-08-26 05:24:48.000000000 -0500
-@@ -22,26 +22,26 @@
-  */
- struct sgioc_uart_regs {
--      u8 _ctrl1[3];
--      volatile u8 ctrl1;
--      u8 _data1[3];
--      volatile u8 data1;
--      u8 _ctrl2[3];
--      volatile u8 ctrl2;
--      u8 _data2[3];
--      volatile u8 data2;
-+      __u8 _ctrl1[3];
-+      volatile __u8 ctrl1;
-+      __u8 _data1[3];
-+      volatile __u8 data1;
-+      __u8 _ctrl2[3];
-+      volatile __u8 ctrl2;
-+      __u8 _data2[3];
-+      volatile __u8 data2;
- };
- struct sgioc_keyb_regs {
--      u8 _data[3];
--      volatile u8 data;
--      u8 _command[3];
--      volatile u8 command;
-+      __u8 _data[3];
-+      volatile __u8 data;
-+      __u8 _command[3];
-+      volatile __u8 command;
- };
- struct sgint_regs {
--      u8 _istat0[3];
--      volatile u8 istat0;             /* Interrupt status zero */
-+      __u8 _istat0[3];
-+      volatile __u8 istat0;           /* Interrupt status zero */
- #define SGINT_ISTAT0_FFULL    0x01
- #define SGINT_ISTAT0_SCSI0    0x02
- #define SGINT_ISTAT0_SCSI1    0x04
-@@ -50,10 +50,10 @@
- #define SGINT_ISTAT0_PPORT    0x20
- #define SGINT_ISTAT0_HPC2     0x40
- #define SGINT_ISTAT0_LIO2     0x80
--      u8 _imask0[3];
--      volatile u8 imask0;             /* Interrupt mask zero */
--      u8 _istat1[3];
--      volatile u8 istat1;             /* Interrupt status one */
-+      __u8 _imask0[3];
-+      volatile __u8 imask0;           /* Interrupt mask zero */
-+      __u8 _istat1[3];
-+      volatile __u8 istat1;           /* Interrupt status one */
- #define SGINT_ISTAT1_ISDNI    0x01
- #define SGINT_ISTAT1_PWR      0x02
- #define SGINT_ISTAT1_ISDNH    0x04
-@@ -62,29 +62,29 @@
- #define SGINT_ISTAT1_AFAIL    0x20
- #define SGINT_ISTAT1_VIDEO    0x40
- #define SGINT_ISTAT1_GIO2     0x80
--      u8 _imask1[3];
--      volatile u8 imask1;             /* Interrupt mask one */
--      u8 _vmeistat[3];
--      volatile u8 vmeistat;           /* VME interrupt status */
--      u8 _cmeimask0[3];
--      volatile u8 cmeimask0;          /* VME interrupt mask zero */
--      u8 _cmeimask1[3];
--      volatile u8 cmeimask1;          /* VME interrupt mask one */
--      u8 _cmepol[3];
--      volatile u8 cmepol;             /* VME polarity */
--      u8 _tclear[3];
--      volatile u8 tclear;
--      u8 _errstat[3];
--      volatile u8 errstat;    /* Error status reg, reserved on INT2 */
--      u32 _unused0[2];
--      u8 _tcnt0[3];
--      volatile u8 tcnt0;              /* counter 0 */
--      u8 _tcnt1[3];
--      volatile u8 tcnt1;              /* counter 1 */
--      u8 _tcnt2[3];
--      volatile u8 tcnt2;              /* counter 2 */
--      u8 _tcword[3];
--      volatile u8 tcword;             /* control word */
-+      __u8 _imask1[3];
-+      volatile __u8 imask1;           /* Interrupt mask one */
-+      __u8 _vmeistat[3];
-+      volatile __u8 vmeistat;         /* VME interrupt status */
-+      __u8 _cmeimask0[3];
-+      volatile __u8 cmeimask0;                /* VME interrupt mask zero */
-+      __u8 _cmeimask1[3];
-+      volatile __u8 cmeimask1;                /* VME interrupt mask one */
-+      __u8 _cmepol[3];
-+      volatile __u8 cmepol;           /* VME polarity */
-+      __u8 _tclear[3];
-+      volatile __u8 tclear;
-+      __u8 _errstat[3];
-+      volatile __u8 errstat;  /* Error status reg, reserved on INT2 */
-+      __u32 _unused0[2];
-+      __u8 _tcnt0[3];
-+      volatile __u8 tcnt0;            /* counter 0 */
-+      __u8 _tcnt1[3];
-+      volatile __u8 tcnt1;            /* counter 1 */
-+      __u8 _tcnt2[3];
-+      volatile __u8 tcnt2;            /* counter 2 */
-+      __u8 _tcword[3];
-+      volatile __u8 tcword;           /* control word */
- #define SGINT_TCWORD_BCD      0x01    /* Use BCD mode for counters */
- #define SGINT_TCWORD_MMASK    0x0e    /* Mode bitmask. */
- #define SGINT_TCWORD_MITC     0x00    /* IRQ on terminal count (doesn't work) */
-@@ -115,55 +115,55 @@
- #define SGINT_TCSAMP_COUNTER  ((SGINT_TIMER_CLOCK / HZ) + 255)
- /* We need software copies of these because they are write only. */
--extern u8 sgi_ioc_reset, sgi_ioc_write;
-+extern __u8 sgi_ioc_reset, sgi_ioc_write;
- struct sgioc_regs {
-       struct pi1_regs pport;
--      u32 _unused0[2];
-+      __u32 _unused0[2];
-       struct sgioc_uart_regs serport;
-       struct sgioc_keyb_regs kbdmouse;
--      u8 _gcsel[3];
--      volatile u8 gcsel;
--      u8 _genctrl[3];
--      volatile u8 genctrl;
--      u8 _panel[3];
--      volatile u8 panel;
-+      __u8 _gcsel[3];
-+      volatile __u8 gcsel;
-+      __u8 _genctrl[3];
-+      volatile __u8 genctrl;
-+      __u8 _panel[3];
-+      volatile __u8 panel;
- #define SGIOC_PANEL_POWERON   0x01
- #define SGIOC_PANEL_POWERINTR 0x02
- #define SGIOC_PANEL_VOLDNINTR 0x10
- #define SGIOC_PANEL_VOLDNHOLD 0x20
- #define SGIOC_PANEL_VOLUPINTR 0x40
- #define SGIOC_PANEL_VOLUPHOLD 0x80
--      u32 _unused1;
--      u8 _sysid[3];
--      volatile u8 sysid;
-+      __u32 _unused1;
-+      __u8 _sysid[3];
-+      volatile __u8 sysid;
- #define SGIOC_SYSID_FULLHOUSE 0x01
- #define SGIOC_SYSID_BOARDREV(x)       ((x & 0xe0) > 5) 
- #define SGIOC_SYSID_CHIPREV(x)        ((x & 0x1e) > 1)
--      u32 _unused2;
--      u8 _read[3];
--      volatile u8 read;
--      u32 _unused3;
--      u8 _dmasel[3];
--      volatile u8 dmasel;
-+      __u32 _unused2;
-+      __u8 _read[3];
-+      volatile __u8 read;
-+      __u32 _unused3;
-+      __u8 _dmasel[3];
-+      volatile __u8 dmasel;
- #define SGIOC_DMASEL_SCLK10MHZ        0x00    /* use 10MHZ serial clock */
- #define SGIOC_DMASEL_ISDNB    0x01    /* enable isdn B */
- #define SGIOC_DMASEL_ISDNA    0x02    /* enable isdn A */
- #define SGIOC_DMASEL_PPORT    0x04    /* use parallel DMA */
- #define SGIOC_DMASEL_SCLK667MHZ       0x10    /* use 6.67MHZ serial clock */
- #define SGIOC_DMASEL_SCLKEXT  0x20    /* use external serial clock */
--      u32 _unused4;
--      u8 _reset[3];
--      volatile u8 reset;
-+      __u32 _unused4;
-+      __u8 _reset[3];
-+      volatile __u8 reset;
- #define SGIOC_RESET_PPORT     0x01    /* 0=parport reset, 1=nornal */
- #define SGIOC_RESET_KBDMOUSE  0x02    /* 0=kbdmouse reset, 1=normal */
- #define SGIOC_RESET_EISA      0x04    /* 0=eisa reset, 1=normal */
- #define SGIOC_RESET_ISDN      0x08    /* 0=isdn reset, 1=normal */
- #define SGIOC_RESET_LC0OFF    0x10    /* guiness: turn led off (red, else green) */
- #define SGIOC_RESET_LC1OFF    0x20    /* guiness: turn led off (green, else amber) */
--      u32 _unused5;
--      u8 _write[3];
--      volatile u8 write;
-+      __u32 _unused5;
-+      __u8 _write[3];
-+      volatile __u8 write;
- #define SGIOC_WRITE_NTHRESH   0x01    /* use 4.5db threshhold */
- #define SGIOC_WRITE_TPSPEED   0x02    /* use 100ohm TP speed */
- #define SGIOC_WRITE_EPSEL     0x04    /* force cable mode: 1=AUI 0=TP */
-@@ -172,10 +172,10 @@
- #define SGIOC_WRITE_U0AMODE   0x20    /* 1=PC 0=MAC UART mode */
- #define SGIOC_WRITE_MLO               0x40    /* 1=4.75V 0=+5V */
- #define SGIOC_WRITE_MHI               0x80    /* 1=5.25V 0=+5V */
--      u32 _unused6;
-+      __u32 _unused6;
-       struct sgint_regs int3;
--      u32 _unused7[16];
--      volatile u32 extio;             /* FullHouse only */
-+      __u32 _unused7[16];
-+      volatile __u32 extio;           /* FullHouse only */
- #define EXTIO_S0_IRQ_3                0x8000  /* S0: vid.vsync */
- #define EXTIO_S0_IRQ_2                0x4000  /* S0: gfx.fifofull */
- #define EXTIO_S0_IRQ_1                0x2000  /* S0: gfx.int */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/mc.h linux-libc-headers-2.6.8.0/include/asm-mips/sgi/mc.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/mc.h  2003-12-15 12:47:03.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sgi/mc.h       2004-08-26 05:25:28.000000000 -0500
-@@ -14,8 +14,8 @@
- #define _SGI_MC_H
- struct sgimc_regs {
--      u32 _unused0;
--      volatile u32 cpuctrl0;  /* CPU control register 0, readwrite */
-+      __u32 _unused0;
-+      volatile __u32 cpuctrl0;        /* CPU control register 0, readwrite */
- #define SGIMC_CCTRL0_REFS     0x0000000f /* REFS mask */
- #define SGIMC_CCTRL0_EREFRESH 0x00000010 /* Memory refresh enable */
- #define SGIMC_CCTRL0_EPERRGIO 0x00000020 /* GIO parity error enable */
-@@ -35,8 +35,8 @@
- #define SGIMC_CCTRL0_CMEMBADPAR       0x02000000 /* Generate bad perr from cpu to mem */
- #define SGIMC_CCTRL0_R4KNOCHKPARR 0x04000000 /* Don't chk parity on mem data reads */
- #define SGIMC_CCTRL0_GIOBTOB  0x08000000 /* Allow GIO back to back writes */
--      u32 _unused1;
--      volatile u32 cpuctrl1;  /* CPU control register 1, readwrite */
-+      __u32 _unused1;
-+      volatile __u32 cpuctrl1;        /* CPU control register 1, readwrite */
- #define SGIMC_CCTRL1_EGIOTIMEO        0x00000010 /* GIO bus timeout enable */
- #define SGIMC_CCTRL1_FIXEDEHPC        0x00001000 /* Fixed HPC endianness */
- #define SGIMC_CCTRL1_LITTLEHPC        0x00002000 /* Little endian HPC */
-@@ -45,33 +45,33 @@
- #define SGIMC_CCTRL1_FIXEDEEXP1       0x00010000 /* Fixed EXP1 endianness */
- #define SGIMC_CCTRL1_LITTLEEXP1       0x00020000 /* Little endian EXP1 */
--      u32 _unused2;
--      volatile u32 watchdogt; /* Watchdog reg rdonly, write clears */
-+      __u32 _unused2;
-+      volatile __u32 watchdogt;       /* Watchdog reg rdonly, write clears */
--      u32 _unused3;
--      volatile u32 systemid;  /* MC system ID register, readonly */
-+      __u32 _unused3;
-+      volatile __u32 systemid;        /* MC system ID register, readonly */
- #define SGIMC_SYSID_MASKREV   0x0000000f /* Revision of MC controller */
- #define SGIMC_SYSID_EPRESENT  0x00000010 /* Indicates presence of EISA bus */
--      u32 _unused4[3];
--      volatile u32 divider;   /* Divider reg for RPSS */
-+      __u32 _unused4[3];
-+      volatile __u32 divider; /* Divider reg for RPSS */
--      u32 _unused5;
--      volatile u32 eeprom;    /* EEPROM byte reg for r4k */
-+      __u32 _unused5;
-+      volatile __u32 eeprom;  /* EEPROM byte reg for r4k */
- #define SGIMC_EEPROM_PRE      0x00000001 /* eeprom chip PRE pin assertion */
- #define SGIMC_EEPROM_CSEL     0x00000002 /* Active high, eeprom chip select */
- #define SGIMC_EEPROM_SECLOCK  0x00000004 /* EEPROM serial clock */
- #define SGIMC_EEPROM_SDATAO   0x00000008 /* Serial EEPROM data-out */
- #define SGIMC_EEPROM_SDATAI   0x00000010 /* Serial EEPROM data-in */
--      u32 _unused6[3];
--      volatile u32 rcntpre;   /* Preload refresh counter */
-+      __u32 _unused6[3];
-+      volatile __u32 rcntpre; /* Preload refresh counter */
--      u32 _unused7;
--      volatile u32 rcounter;  /* Readonly refresh counter */
-+      __u32 _unused7;
-+      volatile __u32 rcounter;        /* Readonly refresh counter */
--      u32 _unused8[13];
--      volatile u32 giopar;    /* Parameter word for GIO64 */
-+      __u32 _unused8[13];
-+      volatile __u32 giopar;  /* Parameter word for GIO64 */
- #define SGIMC_GIOPAR_HPC64    0x00000001 /* HPC talks to GIO using 64-bits */
- #define SGIMC_GIOPAR_GFX64    0x00000002 /* GFX talks to GIO using 64-bits */
- #define SGIMC_GIOPAR_EXP064   0x00000004 /* EXP(slot0) talks using 64-bits */
-@@ -89,36 +89,36 @@
- #define SGIMC_GIOPAR_PLINEEXP0        0x00004000 /* EXP(slot0) has pipeline attr */
- #define SGIMC_GIOPAR_PLINEEXP1        0x00008000 /* EXP(slot1) has pipeline attr */
--      u32 _unused9;
--      volatile u32 cputp;     /* CPU bus arb time period */
-+      __u32 _unused9;
-+      volatile __u32 cputp;   /* CPU bus arb time period */
--      u32 _unused10[3];
--      volatile u32 lbursttp;  /* Time period for long bursts */
-+      __u32 _unused10[3];
-+      volatile __u32 lbursttp;        /* Time period for long bursts */
-       /* MC chip can drive up to 4 bank 4 SIMMs each. All SIMMs in bank must
-        * be the same size. The size encoding for supported SIMMs is bellow */
--      u32 _unused11[9];
--      volatile u32 mconfig0;  /* Memory config register zero */
--      u32 _unused12;
--      volatile u32 mconfig1;  /* Memory config register one */
-+      __u32 _unused11[9];
-+      volatile __u32 mconfig0;        /* Memory config register zero */
-+      __u32 _unused12;
-+      volatile __u32 mconfig1;        /* Memory config register one */
- #define SGIMC_MCONFIG_BASEADDR        0x000000ff /* Base address of bank*/
- #define SGIMC_MCONFIG_RMASK   0x00001f00 /* Ram config bitmask */
- #define SGIMC_MCONFIG_BVALID  0x00002000 /* Bank is valid */
- #define SGIMC_MCONFIG_SBANKS  0x00004000 /* Number of subbanks */
--      u32 _unused13;
--      volatile u32 cmacc;        /* Mem access config for CPU */
--      u32 _unused14;
--      volatile u32 gmacc;        /* Mem access config for GIO */
-+      __u32 _unused13;
-+      volatile __u32 cmacc;        /* Mem access config for CPU */
-+      __u32 _unused14;
-+      volatile __u32 gmacc;        /* Mem access config for GIO */
-       /* This define applies to both cmacc and gmacc registers above. */
- #define SGIMC_MACC_ALIASBIG   0x20000000 /* 512MB home for alias */
-       /* Error address/status regs from GIO and CPU perspectives. */
--      u32 _unused15;
--      volatile u32 cerr;      /* Error address reg for CPU */
--      u32 _unused16;
--      volatile u32 cstat;     /* Status reg for CPU */
-+      __u32 _unused15;
-+      volatile __u32 cerr;    /* Error address reg for CPU */
-+      __u32 _unused16;
-+      volatile __u32 cstat;   /* Status reg for CPU */
- #define SGIMC_CSTAT_RD                0x00000100 /* read parity error */
- #define SGIMC_CSTAT_PAR               0x00000200 /* CPU parity error */
- #define SGIMC_CSTAT_ADDR      0x00000400 /* memory bus error bad addr */
-@@ -128,10 +128,10 @@
- #define SGIMC_CSTAT_PAR_MASK  0x00001f00 /* parity error mask */
- #define SGIMC_CSTAT_RD_PAR    (SGIMC_CSTAT_RD | SGIMC_CSTAT_PAR)
--      u32 _unused17;
--      volatile u32 gerr;      /* Error address reg for GIO */
--      u32 _unused18;
--      volatile u32 gstat;     /* Status reg for GIO */
-+      __u32 _unused17;
-+      volatile __u32 gerr;    /* Error address reg for GIO */
-+      __u32 _unused18;
-+      volatile __u32 gstat;   /* Status reg for GIO */
- #define SGIMC_GSTAT_RD                0x00000100 /* read parity error */
- #define SGIMC_GSTAT_WR                0x00000200 /* write parity error */
- #define SGIMC_GSTAT_TIME      0x00000400 /* GIO bus timed out */
-@@ -142,76 +142,76 @@
- #define SGIMC_GSTAT_PIO_WR    0x00008000 /* write data parity on pio */
-       /* Special hard bus locking registers. */
--      u32 _unused19;
--      volatile u32 syssembit;         /* Uni-bit system semaphore */
--      u32 _unused20;
--      volatile u32 mlock;             /* Global GIO memory access lock */
--      u32 _unused21;
--      volatile u32 elock;             /* Locks EISA from GIO accesses */
-+      __u32 _unused19;
-+      volatile __u32 syssembit;       /* Uni-bit system semaphore */
-+      __u32 _unused20;
-+      volatile __u32 mlock;           /* Global GIO memory access lock */
-+      __u32 _unused21;
-+      volatile __u32 elock;           /* Locks EISA from GIO accesses */
-       /* GIO dma control registers. */
--      u32 _unused22[15];
--      volatile u32 gio_dma_trans;     /* DMA mask to translation GIO addrs */
--      u32 _unused23;
--      volatile u32 gio_dma_sbits;     /* DMA GIO addr substitution bits */
--      u32 _unused24;
--      volatile u32 dma_intr_cause;    /* DMA IRQ cause indicator bits */
--      u32 _unused25;
--      volatile u32 dma_ctrl;          /* Main DMA control reg */
-+      __u32 _unused22[15];
-+      volatile __u32 gio_dma_trans;   /* DMA mask to translation GIO addrs */
-+      __u32 _unused23;
-+      volatile __u32 gio_dma_sbits;   /* DMA GIO addr substitution bits */
-+      __u32 _unused24;
-+      volatile __u32 dma_intr_cause;  /* DMA IRQ cause indicator bits */
-+      __u32 _unused25;
-+      volatile __u32 dma_ctrl;        /* Main DMA control reg */
-       /* DMA TLB entry 0 */
--      u32 _unused26[5];
--      volatile u32 dtlb_hi0;
--      u32 _unused27;
--      volatile u32 dtlb_lo0;
-+      __u32 _unused26[5];
-+      volatile __u32 dtlb_hi0;
-+      __u32 _unused27;
-+      volatile __u32 dtlb_lo0;
-       /* DMA TLB entry 1 */
--      u32 _unused28;
--      volatile u32 dtlb_hi1;
--      u32 _unused29;
--      volatile u32 dtlb_lo1;
-+      __u32 _unused28;
-+      volatile __u32 dtlb_hi1;
-+      __u32 _unused29;
-+      volatile __u32 dtlb_lo1;
-       /* DMA TLB entry 2 */
--      u32 _unused30;
--      volatile u32 dtlb_hi2;
--      u32 _unused31;
--      volatile u32 dtlb_lo2;
-+      __u32 _unused30;
-+      volatile __u32 dtlb_hi2;
-+      __u32 _unused31;
-+      volatile __u32 dtlb_lo2;
-       /* DMA TLB entry 3 */
--      u32 _unused32;
--      volatile u32 dtlb_hi3;
--      u32 _unused33;
--      volatile u32 dtlb_lo3;
-+      __u32 _unused32;
-+      volatile __u32 dtlb_hi3;
-+      __u32 _unused33;
-+      volatile __u32 dtlb_lo3;
-       
--      u32 _unused34[0x0392];
-+      __u32 _unused34[0x0392];
-       
--      u32 _unused35;
--      volatile u32 rpsscounter;       /* Chirps at 100ns */
-+      __u32 _unused35;
-+      volatile __u32 rpsscounter;     /* Chirps at 100ns */
--      u32 _unused36[0x1000/4-2*4];
-+      __u32 _unused36[0x1000/4-2*4];
-       
--      u32 _unused37;
--      volatile u32 maddronly;         /* Address DMA goes at */
--      u32 _unused38;
--      volatile u32 maddrpdeflts;      /* Same as above, plus set defaults */
--      u32 _unused39;
--      volatile u32 dmasz;             /* DMA count */
--      u32 _unused40;
--      volatile u32 ssize;             /* DMA stride size */
--      u32 _unused41;
--      volatile u32 gmaddronly;        /* Set GIO DMA but don't start trans */
--      u32 _unused42;
--      volatile u32 dmaddnpgo;         /* Set GIO DMA addr + start transfer */
--      u32 _unused43;
--      volatile u32 dmamode;           /* DMA mode config bit settings */
--      u32 _unused44;
--      volatile u32 dmaccount;         /* Zoom and byte count for DMA */
--      u32 _unused45;
--      volatile u32 dmastart;          /* Pedal to the metal. */
--      u32 _unused46;
--      volatile u32 dmarunning;        /* DMA op is in progress */
--      u32 _unused47;
--      volatile u32 maddrdefstart;     /* Set dma addr, defaults, and kick it */
-+      __u32 _unused37;
-+      volatile __u32 maddronly;       /* Address DMA goes at */
-+      __u32 _unused38;
-+      volatile __u32 maddrpdeflts;    /* Same as above, plus set defaults */
-+      __u32 _unused39;
-+      volatile __u32 dmasz;           /* DMA count */
-+      __u32 _unused40;
-+      volatile __u32 ssize;           /* DMA stride size */
-+      __u32 _unused41;
-+      volatile __u32 gmaddronly;      /* Set GIO DMA but don't start trans */
-+      __u32 _unused42;
-+      volatile __u32 dmaddnpgo;       /* Set GIO DMA addr + start transfer */
-+      __u32 _unused43;
-+      volatile __u32 dmamode;         /* DMA mode config bit settings */
-+      __u32 _unused44;
-+      volatile __u32 dmaccount;       /* Zoom and byte count for DMA */
-+      __u32 _unused45;
-+      volatile __u32 dmastart;        /* Pedal to the metal. */
-+      __u32 _unused46;
-+      volatile __u32 dmarunning;      /* DMA op is in progress */
-+      __u32 _unused47;
-+      volatile __u32 maddrdefstart;   /* Set dma addr, defaults, and kick it */
- };
- extern struct sgimc_regs *sgimc;
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgiarcs.h linux-libc-headers-2.6.8.0/include/asm-mips/sgiarcs.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgiarcs.h 2004-03-28 07:51:52.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sgiarcs.h      2004-08-26 05:21:53.000000000 -0500
-@@ -164,11 +164,11 @@
- /* This prom has a bolixed design. */
- struct linux_bigint {
- #ifdef __MIPSEL__
--      u32 lo;
--      s32 hi;
-+      __u32 lo;
-+      __s32 hi;
- #else /* !(__MIPSEL__) */
--      s32 hi;
--      u32 lo;
-+      __s32 hi;
-+      __u32 lo;
- #endif
- };
-@@ -366,7 +366,7 @@
-  * Macros for calling a 32-bit ARC implementation from 64-bit code
-  */
--#if defined(CONFIG_MIPS64) && defined(CONFIG_ARC32)
-+#if defined(__mips64) && defined(CONFIG_ARC32)
- #define __arc_clobbers                                                        \
-       "$2","$3" /* ... */, "$8","$9","$10","$11",                     \
-@@ -475,10 +475,10 @@
-       __res;                                                          \
- })
--#endif /* defined(CONFIG_MIPS64) && defined(CONFIG_ARC32) */
-+#endif /* defined(__mips64) && defined(CONFIG_ARC32) */
--#if (defined(CONFIG_MIPS32) && defined(CONFIG_ARC32)) ||              \
--    (defined(CONFIG_MIPS64) && defined(CONFIG_ARC64))
-+#if (!defined(__mips64) && defined(CONFIG_ARC32)) ||          \
-+    (defined(__mips64) && defined(CONFIG_ARC64))
- #define ARC_CALL0(dest)                                                       \
- ({    long __res;                                                     \
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/siginfo.h linux-libc-headers-2.6.8.0/include/asm-mips/siginfo.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/siginfo.h 2004-06-09 07:00:41.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/siginfo.h      2004-08-26 05:14:41.000000000 -0500
-@@ -66,10 +66,10 @@
-               /* SIGPOLL, SIGXFSZ (To do ...)  */
-               struct {
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
-                       int _band;      /* POLL_IN, POLL_OUT, POLL_MSG */
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
-                       long _band;     /* POLL_IN, POLL_OUT, POLL_MSG */
- #endif
-                       int _fd;
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sim.h linux-libc-headers-2.6.8.0/include/asm-mips/sim.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sim.h     2004-03-28 07:51:52.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sim.h  2004-08-26 05:17:16.000000000 -0500
-@@ -18,7 +18,7 @@
- #define __str2(x) #x
- #define __str(x) __str2(x)
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
- #define save_static_function(symbol)                                  \
- __asm__ (                                                             \
-@@ -43,9 +43,9 @@
- #define nabi_no_regargs
--#endif /* CONFIG_MIPS32 */
-+#endif /* ndef __mips64 */
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- #define save_static_function(symbol)                                  \
- __asm__ (                                                             \
-@@ -78,6 +78,6 @@
-       unsigned long __dummy6,                                         \
-       unsigned long __dummy7,
--#endif /* CONFIG_MIPS64 */
-+#endif /* __mips64 */
- #endif /* _ASM_SIM_H */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/arch.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/arch.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/arch.h 2004-06-09 07:00:42.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/arch.h      2004-08-26 05:26:16.000000000 -0500
-@@ -17,8 +17,8 @@
- #include <asm/sn/sn0/arch.h>
- #endif
--typedef u64   hubreg_t;
--typedef u64   nic_t;
-+typedef __u64 hubreg_t;
-+typedef __u64 nic_t;
- #define cputonasid(cpu)                       (cpu_data[(cpu)].p_nasid)
- #define cputoslice(cpu)                       (cpu_data[(cpu)].p_slice)
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/gda.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/gda.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/gda.h  2003-12-15 12:47:02.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/gda.h       2004-08-26 05:26:30.000000000 -0500
-@@ -44,11 +44,11 @@
- #ifndef __ASSEMBLY__
- typedef struct gda {
--      u32     g_magic;        /* GDA magic number */
--      u16     g_version;      /* Version of this structure */
--      u16     g_masterid;     /* The NASID:CPUNUM of the master cpu */
--      u32     g_promop;       /* Passes requests from the kernel to prom */
--      u32     g_vds;          /* Store the virtual dipswitches here */
-+      __u32   g_magic;        /* GDA magic number */
-+      __u16   g_version;      /* Version of this structure */
-+      __u16   g_masterid;     /* The NASID:CPUNUM of the master cpu */
-+      __u32   g_promop;       /* Passes requests from the kernel to prom */
-+      __u32   g_vds;          /* Store the virtual dipswitches here */
-       void    **g_hooked_norm;/* ptr to pda loc for norm hndlr */
-       void    **g_hooked_utlb;/* ptr to pda loc for utlb hndlr */
-       void    **g_hooked_xtlb;/* ptr to pda loc for xtlb hndlr */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/ioc3.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/ioc3.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/ioc3.h 2003-12-15 12:47:02.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/ioc3.h      2004-08-26 05:26:06.000000000 -0500
-@@ -8,23 +8,23 @@
- /* SUPERIO uart register map */
- typedef volatile struct ioc3_uartregs {
-       union {
--              volatile u8     rbr;    /* read only, DLAB == 0 */
--              volatile u8     thr;    /* write only, DLAB == 0 */
--              volatile u8     dll;    /* DLAB == 1 */
-+              volatile __u8   rbr;    /* read only, DLAB == 0 */
-+              volatile __u8   thr;    /* write only, DLAB == 0 */
-+              volatile __u8   dll;    /* DLAB == 1 */
-       } u1;
-       union {
--              volatile u8     ier;    /* DLAB == 0 */
--              volatile u8     dlm;    /* DLAB == 1 */
-+              volatile __u8   ier;    /* DLAB == 0 */
-+              volatile __u8   dlm;    /* DLAB == 1 */
-       } u2;
-       union {
--              volatile u8     iir;    /* read only */
--              volatile u8     fcr;    /* write only */
-+              volatile __u8   iir;    /* read only */
-+              volatile __u8   fcr;    /* write only */
-       } u3;
--      volatile u8         iu_lcr;
--      volatile u8         iu_mcr;
--      volatile u8         iu_lsr;
--      volatile u8         iu_msr;
--      volatile u8         iu_scr;
-+      volatile __u8       iu_lcr;
-+      volatile __u8       iu_mcr;
-+      volatile __u8       iu_lsr;
-+      volatile __u8       iu_msr;
-+      volatile __u8       iu_scr;
- } ioc3_uregs_t;
- #define iu_rbr u1.rbr
-@@ -36,29 +36,29 @@
- #define iu_fcr u3.fcr
- struct ioc3_sioregs {
--      volatile u8             fill[0x141];    /* starts at 0x141 */
-+      volatile __u8           fill[0x141];    /* starts at 0x141 */
--      volatile u8             uartc;
--      volatile u8             kbdcg;
-+      volatile __u8           uartc;
-+      volatile __u8           kbdcg;
--      volatile u8             fill0[0x150 - 0x142 - 1];
-+      volatile __u8           fill0[0x150 - 0x142 - 1];
--      volatile u8             pp_data;
--      volatile u8             pp_dsr;
--      volatile u8             pp_dcr;
-+      volatile __u8           pp_data;
-+      volatile __u8           pp_dsr;
-+      volatile __u8           pp_dcr;
--      volatile u8             fill1[0x158 - 0x152 - 1];
-+      volatile __u8           fill1[0x158 - 0x152 - 1];
--      volatile u8             pp_fifa;
--      volatile u8             pp_cfgb;
--      volatile u8             pp_ecr;
-+      volatile __u8           pp_fifa;
-+      volatile __u8           pp_cfgb;
-+      volatile __u8           pp_ecr;
--      volatile u8             fill2[0x168 - 0x15a - 1];
-+      volatile __u8           fill2[0x168 - 0x15a - 1];
--      volatile u8             rtcad;
--      volatile u8             rtcdat;
-+      volatile __u8           rtcad;
-+      volatile __u8           rtcdat;
--      volatile u8             fill3[0x170 - 0x169 - 1];
-+      volatile __u8           fill3[0x170 - 0x169 - 1];
-       struct ioc3_uartregs    uartb;  /* 0x20170  */
-       struct ioc3_uartregs    uarta;  /* 0x20178  */
-@@ -66,103 +66,103 @@
- /* Register layout of IOC3 in configuration space.  */
- struct ioc3 {
--      volatile u32    pad0[7];        /* 0x00000  */
--      volatile u32    sio_ir;         /* 0x0001c  */
--      volatile u32    sio_ies;        /* 0x00020  */
--      volatile u32    sio_iec;        /* 0x00024  */
--      volatile u32    sio_cr;         /* 0x00028  */
--      volatile u32    int_out;        /* 0x0002c  */
--      volatile u32    mcr;            /* 0x00030  */
-+      volatile __u32  pad0[7];        /* 0x00000  */
-+      volatile __u32  sio_ir;         /* 0x0001c  */
-+      volatile __u32  sio_ies;        /* 0x00020  */
-+      volatile __u32  sio_iec;        /* 0x00024  */
-+      volatile __u32  sio_cr;         /* 0x00028  */
-+      volatile __u32  int_out;        /* 0x0002c  */
-+      volatile __u32  mcr;            /* 0x00030  */
-       /* General Purpose I/O registers  */
--      volatile u32    gpcr_s;         /* 0x00034  */
--      volatile u32    gpcr_c;         /* 0x00038  */
--      volatile u32    gpdr;           /* 0x0003c  */
--      volatile u32    gppr_0;         /* 0x00040  */
--      volatile u32    gppr_1;         /* 0x00044  */
--      volatile u32    gppr_2;         /* 0x00048  */
--      volatile u32    gppr_3;         /* 0x0004c  */
--      volatile u32    gppr_4;         /* 0x00050  */
--      volatile u32    gppr_5;         /* 0x00054  */
--      volatile u32    gppr_6;         /* 0x00058  */
--      volatile u32    gppr_7;         /* 0x0005c  */
--      volatile u32    gppr_8;         /* 0x00060  */
--      volatile u32    gppr_9;         /* 0x00064  */
--      volatile u32    gppr_10;        /* 0x00068  */
--      volatile u32    gppr_11;        /* 0x0006c  */
--      volatile u32    gppr_12;        /* 0x00070  */
--      volatile u32    gppr_13;        /* 0x00074  */
--      volatile u32    gppr_14;        /* 0x00078  */
--      volatile u32    gppr_15;        /* 0x0007c  */
-+      volatile __u32  gpcr_s;         /* 0x00034  */
-+      volatile __u32  gpcr_c;         /* 0x00038  */
-+      volatile __u32  gpdr;           /* 0x0003c  */
-+      volatile __u32  gppr_0;         /* 0x00040  */
-+      volatile __u32  gppr_1;         /* 0x00044  */
-+      volatile __u32  gppr_2;         /* 0x00048  */
-+      volatile __u32  gppr_3;         /* 0x0004c  */
-+      volatile __u32  gppr_4;         /* 0x00050  */
-+      volatile __u32  gppr_5;         /* 0x00054  */
-+      volatile __u32  gppr_6;         /* 0x00058  */
-+      volatile __u32  gppr_7;         /* 0x0005c  */
-+      volatile __u32  gppr_8;         /* 0x00060  */
-+      volatile __u32  gppr_9;         /* 0x00064  */
-+      volatile __u32  gppr_10;        /* 0x00068  */
-+      volatile __u32  gppr_11;        /* 0x0006c  */
-+      volatile __u32  gppr_12;        /* 0x00070  */
-+      volatile __u32  gppr_13;        /* 0x00074  */
-+      volatile __u32  gppr_14;        /* 0x00078  */
-+      volatile __u32  gppr_15;        /* 0x0007c  */
-       /* Parallel Port Registers  */
--      volatile u32    ppbr_h_a;       /* 0x00080  */
--      volatile u32    ppbr_l_a;       /* 0x00084  */
--      volatile u32    ppcr_a;         /* 0x00088  */
--      volatile u32    ppcr;           /* 0x0008c  */
--      volatile u32    ppbr_h_b;       /* 0x00090  */
--      volatile u32    ppbr_l_b;       /* 0x00094  */
--      volatile u32    ppcr_b;         /* 0x00098  */
-+      volatile __u32  ppbr_h_a;       /* 0x00080  */
-+      volatile __u32  ppbr_l_a;       /* 0x00084  */
-+      volatile __u32  ppcr_a;         /* 0x00088  */
-+      volatile __u32  ppcr;           /* 0x0008c  */
-+      volatile __u32  ppbr_h_b;       /* 0x00090  */
-+      volatile __u32  ppbr_l_b;       /* 0x00094  */
-+      volatile __u32  ppcr_b;         /* 0x00098  */
-       /* Keyboard and Mouse Registers  */
--      volatile u32    km_csr;         /* 0x0009c  */
--      volatile u32    k_rd;           /* 0x000a0  */
--      volatile u32    m_rd;           /* 0x000a4  */
--      volatile u32    k_wd;           /* 0x000a8  */
--      volatile u32    m_wd;           /* 0x000ac  */
-+      volatile __u32  km_csr;         /* 0x0009c  */
-+      volatile __u32  k_rd;           /* 0x000a0  */
-+      volatile __u32  m_rd;           /* 0x000a4  */
-+      volatile __u32  k_wd;           /* 0x000a8  */
-+      volatile __u32  m_wd;           /* 0x000ac  */
-       /* Serial Port Registers  */
--      volatile u32    sbbr_h;         /* 0x000b0  */
--      volatile u32    sbbr_l;         /* 0x000b4  */
--      volatile u32    sscr_a;         /* 0x000b8  */
--      volatile u32    stpir_a;        /* 0x000bc  */
--      volatile u32    stcir_a;        /* 0x000c0  */
--      volatile u32    srpir_a;        /* 0x000c4  */
--      volatile u32    srcir_a;        /* 0x000c8  */
--      volatile u32    srtr_a;         /* 0x000cc  */
--      volatile u32    shadow_a;       /* 0x000d0  */
--      volatile u32    sscr_b;         /* 0x000d4  */
--      volatile u32    stpir_b;        /* 0x000d8  */
--      volatile u32    stcir_b;        /* 0x000dc  */
--      volatile u32    srpir_b;        /* 0x000e0  */
--      volatile u32    srcir_b;        /* 0x000e4  */
--      volatile u32    srtr_b;         /* 0x000e8  */
--      volatile u32    shadow_b;       /* 0x000ec  */
-+      volatile __u32  sbbr_h;         /* 0x000b0  */
-+      volatile __u32  sbbr_l;         /* 0x000b4  */
-+      volatile __u32  sscr_a;         /* 0x000b8  */
-+      volatile __u32  stpir_a;        /* 0x000bc  */
-+      volatile __u32  stcir_a;        /* 0x000c0  */
-+      volatile __u32  srpir_a;        /* 0x000c4  */
-+      volatile __u32  srcir_a;        /* 0x000c8  */
-+      volatile __u32  srtr_a;         /* 0x000cc  */
-+      volatile __u32  shadow_a;       /* 0x000d0  */
-+      volatile __u32  sscr_b;         /* 0x000d4  */
-+      volatile __u32  stpir_b;        /* 0x000d8  */
-+      volatile __u32  stcir_b;        /* 0x000dc  */
-+      volatile __u32  srpir_b;        /* 0x000e0  */
-+      volatile __u32  srcir_b;        /* 0x000e4  */
-+      volatile __u32  srtr_b;         /* 0x000e8  */
-+      volatile __u32  shadow_b;       /* 0x000ec  */
-       /* Ethernet Registers  */
--      volatile u32    emcr;           /* 0x000f0  */
--      volatile u32    eisr;           /* 0x000f4  */
--      volatile u32    eier;           /* 0x000f8  */
--      volatile u32    ercsr;          /* 0x000fc  */
--      volatile u32    erbr_h;         /* 0x00100  */
--      volatile u32    erbr_l;         /* 0x00104  */
--      volatile u32    erbar;          /* 0x00108  */
--      volatile u32    ercir;          /* 0x0010c  */
--      volatile u32    erpir;          /* 0x00110  */
--      volatile u32    ertr;           /* 0x00114  */
--      volatile u32    etcsr;          /* 0x00118  */
--      volatile u32    ersr;           /* 0x0011c  */
--      volatile u32    etcdc;          /* 0x00120  */
--      volatile u32    ebir;           /* 0x00124  */
--      volatile u32    etbr_h;         /* 0x00128  */
--      volatile u32    etbr_l;         /* 0x0012c  */
--      volatile u32    etcir;          /* 0x00130  */
--      volatile u32    etpir;          /* 0x00134  */
--      volatile u32    emar_h;         /* 0x00138  */
--      volatile u32    emar_l;         /* 0x0013c  */
--      volatile u32    ehar_h;         /* 0x00140  */
--      volatile u32    ehar_l;         /* 0x00144  */
--      volatile u32    micr;           /* 0x00148  */
--      volatile u32    midr_r;         /* 0x0014c  */
--      volatile u32    midr_w;         /* 0x00150  */
--      volatile u32    pad1[(0x20000 - 0x00154) / 4];
-+      volatile __u32  emcr;           /* 0x000f0  */
-+      volatile __u32  eisr;           /* 0x000f4  */
-+      volatile __u32  eier;           /* 0x000f8  */
-+      volatile __u32  ercsr;          /* 0x000fc  */
-+      volatile __u32  erbr_h;         /* 0x00100  */
-+      volatile __u32  erbr_l;         /* 0x00104  */
-+      volatile __u32  erbar;          /* 0x00108  */
-+      volatile __u32  ercir;          /* 0x0010c  */
-+      volatile __u32  erpir;          /* 0x00110  */
-+      volatile __u32  ertr;           /* 0x00114  */
-+      volatile __u32  etcsr;          /* 0x00118  */
-+      volatile __u32  ersr;           /* 0x0011c  */
-+      volatile __u32  etcdc;          /* 0x00120  */
-+      volatile __u32  ebir;           /* 0x00124  */
-+      volatile __u32  etbr_h;         /* 0x00128  */
-+      volatile __u32  etbr_l;         /* 0x0012c  */
-+      volatile __u32  etcir;          /* 0x00130  */
-+      volatile __u32  etpir;          /* 0x00134  */
-+      volatile __u32  emar_h;         /* 0x00138  */
-+      volatile __u32  emar_l;         /* 0x0013c  */
-+      volatile __u32  ehar_h;         /* 0x00140  */
-+      volatile __u32  ehar_l;         /* 0x00144  */
-+      volatile __u32  micr;           /* 0x00148  */
-+      volatile __u32  midr_r;         /* 0x0014c  */
-+      volatile __u32  midr_w;         /* 0x00150  */
-+      volatile __u32  pad1[(0x20000 - 0x00154) / 4];
-       /* SuperIO Registers  XXX */
-       struct ioc3_sioregs     sregs;  /* 0x20000 */
--      volatile u32    pad2[(0x40000 - 0x20180) / 4];
-+      volatile __u32  pad2[(0x40000 - 0x20180) / 4];
-       /* SSRAM Diagnostic Access */
--      volatile u32    ssram[(0x80000 - 0x40000) / 4];
-+      volatile __u32  ssram[(0x80000 - 0x40000) / 4];
-       /* Bytebus device offsets
-          0x80000 -   Access to the generic devices selected with   DEV0
-@@ -179,8 +179,8 @@
-  * Ethernet RX Buffer
-  */
- struct ioc3_erxbuf {
--      u32     w0;                     /* first word (valid,bcnt,cksum) */
--      u32     err;                    /* second word various errors */
-+      __u32   w0;                     /* first word (valid,bcnt,cksum) */
-+      __u32   err;                    /* second word various errors */
-       /* next comes n bytes of padding */
-       /* then the received ethernet frame itself */
- };
-@@ -208,11 +208,11 @@
-  */
- #define ETXD_DATALEN    104
- struct ioc3_etxd {
--      u32     cmd;                            /* command field */
--      u32     bufcnt;                         /* buffer counts field */
--      u64     p1;                             /* buffer pointer 1 */
--      u64     p2;                             /* buffer pointer 2 */
--      u8      data[ETXD_DATALEN];             /* opt. tx data */
-+      __u32   cmd;                            /* command field */
-+      __u32   bufcnt;                         /* buffer counts field */
-+      __u64   p1;                             /* buffer pointer 1 */
-+      __u64   p2;                             /* buffer pointer 2 */
-+      __u8    data[ETXD_DATALEN];             /* opt. tx data */
- };
- #define ETXD_BYTECNT_MASK     0x000007ff      /* total byte count */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/klconfig.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/klconfig.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/klconfig.h     2004-03-28 07:51:55.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/klconfig.h  2004-08-26 05:26:13.000000000 -0500
-@@ -64,9 +64,9 @@
- #define KLCFGINFO_MAGIC       0xbeedbabe
- #ifdef FRUTEST
--typedef u64 klconf_off_t;
-+typedef __u64 klconf_off_t;
- #else
--typedef s32 klconf_off_t;
-+typedef __s32 klconf_off_t;
- #endif
- /*
-@@ -160,8 +160,8 @@
- /* Functions/macros needed to use this structure */
- typedef struct kl_config_hdr {
--      u64             ch_magic;       /* set this to KLCFGINFO_MAGIC */
--      u32             ch_version;    /* structure version number */
-+      __u64           ch_magic;       /* set this to KLCFGINFO_MAGIC */
-+      __u32           ch_version;    /* structure version number */
-       klconf_off_t    ch_malloc_hdr_off; /* offset of ch_malloc_hdr */
-       klconf_off_t    ch_cons_off;       /* offset of ch_cons */
-       klconf_off_t    ch_board_info;  /* the link list of boards */
-@@ -609,14 +609,14 @@
- /* Info holders for various hardware components */
--typedef u64 *pci_t;
--typedef u64 *vmeb_t;
--typedef u64 *vmed_t;
--typedef u64 *fddi_t;
--typedef u64 *scsi_t;
--typedef u64 *mio_t;
--typedef u64 *graphics_t;
--typedef u64 *router_t;
-+typedef __u64 *pci_t;
-+typedef __u64 *vmeb_t;
-+typedef __u64 *vmed_t;
-+typedef __u64 *fddi_t;
-+typedef __u64 *scsi_t;
-+typedef __u64 *mio_t;
-+typedef __u64 *graphics_t;
-+typedef __u64 *router_t;
- /*
-  * The port info in ip27_cfg area translates to a lboart_t in the
-@@ -659,7 +659,7 @@
-       klport_t        hub_port;               /* hub is connected to this */
-       nic_t           hub_box_nic;            /* nic of containing box */
-       klconf_off_t    hub_mfg_nic;            /* MFG NIC string */
--      u64             hub_speed;              /* Speed of hub in HZ */
-+      __u64           hub_speed;              /* Speed of hub in HZ */
- } klhub_t ;
- typedef struct klhub_uart_s {                 /* HUB */
-@@ -716,8 +716,8 @@
- #define MAX_PCI_SLOTS 8
- typedef struct klpci_device_s {
--      s32     pci_device_id;  /* 32 bits of vendor/device ID. */
--      s32     pci_device_pad; /* 32 bits of padding. */
-+      __s32   pci_device_id;  /* 32 bits of vendor/device ID. */
-+      __s32   pci_device_pad; /* 32 bits of padding. */
- } klpci_device_t;
- #define BRIDGE_STRUCT_VERSION 2
-@@ -767,7 +767,7 @@
-       nic_t           rou_box_nic ;         /* nic of the containing module */
-       klport_t        rou_port[MAX_ROUTER_PORTS + 1] ; /* array index 1 to 6 */
-       klconf_off_t    rou_mfg_nic ;     /* MFG NIC string */
--      u64     rou_vector;       /* vector from master node */
-+      __u64   rou_vector;       /* vector from master node */
- } klrou_t ;
- /*
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/kldir.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/kldir.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/kldir.h        2004-01-17 17:03:49.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/kldir.h     2004-08-26 05:26:25.000000000 -0500
-@@ -210,7 +210,7 @@
- #ifndef __ASSEMBLY__
- typedef struct kldir_ent_s {
--      u64             magic;          /* Indicates validity of entry      */
-+      __u64           magic;          /* Indicates validity of entry      */
-       off_t           offset;         /* Offset from start of node space  */
- #if defined(CONFIG_SGI_IO)    /* FIXME */
-       __psunsigned_t  pointer;        /* Pointer to area in some cases    */
-@@ -218,7 +218,7 @@
-       unsigned long   pointer;        /* Pointer to area in some cases    */
- #endif
-       size_t          size;           /* Size in bytes                    */
--      u64             count;          /* Repeat count if array, 1 if not  */
-+      __u64           count;          /* Repeat count if array, 1 if not  */
-       size_t          stride;         /* Stride if array, 0 if not        */
-       char            rsvd[16];       /* Pad entry to 0x40 bytes          */
-       /* NOTE: These 16 bytes are used in the Partition KLDIR
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/launch.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/launch.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/launch.h       2004-01-17 17:03:49.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/launch.h    2004-08-26 05:25:52.000000000 -0500
-@@ -62,14 +62,14 @@
- #ifndef __ASSEMBLY__
- typedef int launch_state_t;
--typedef void (*launch_proc_t)(u64 call_parm);
-+typedef void (*launch_proc_t)(__u64 call_parm);
- typedef struct launch_s {
--      volatile u64            magic;  /* Magic number                     */
--      volatile u64            busy;   /* Slave currently active           */
-+      volatile __u64          magic;  /* Magic number                     */
-+      volatile __u64          busy;   /* Slave currently active           */
-       volatile launch_proc_t  call_addr;      /* Func. for slave to call  */
--      volatile u64            call_addr_c;    /* 1's complement of call_addr*/
--      volatile u64            call_parm;      /* Single parm passed to call*/
-+      volatile __u64          call_addr_c;    /* 1's complement of call_addr*/
-+      volatile __u64          call_parm;      /* Single parm passed to call*/
-       volatile void *stack_addr;      /* Stack pointer for slave function */
-       volatile void *gp_addr;         /* Global pointer for slave func.   */
-       volatile char           *bevutlb;/* Address of bev utlb ex handler   */
-@@ -84,7 +84,7 @@
- #define LAUNCH_SLAVE  (*(void (*)(int nasid, int cpu, \
-                                   launch_proc_t call_addr, \
--                                  u64 call_parm, \
-+                                  __u64 call_parm, \
-                                   void *stack_addr, \
-                                   void *gp_addr)) \
-                        IP27PROM_LAUNCHSLAVE)
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubio.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubio.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubio.h    2003-12-15 12:47:02.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubio.h 2004-08-26 05:27:21.000000000 -0500
-@@ -172,9 +172,9 @@
- #ifndef __ASSEMBLY__
- typedef union hubii_wid_u {
--      u64     wid_reg_value;
-+      __u64   wid_reg_value;
-       struct {
--              u64     wid_rsvd:       32,     /* unused */
-+              __u64   wid_rsvd:       32,     /* unused */
-                       wid_rev_num:     4,     /* revision number */
-                       wid_part_num:   16,     /* the widget type: hub=c101 */
-                       wid_mfg_num:    11,     /* Manufacturer id (IBM) */
-@@ -184,9 +184,9 @@
- typedef union hubii_wcr_u {
--      u64     wcr_reg_value;
-+      __u64   wcr_reg_value;
-       struct {
--              u64     wcr_rsvd:       41,     /* unused */
-+              __u64   wcr_rsvd:       41,     /* unused */
-                       wcr_e_thresh:    5,     /* elasticity threshold */
-                       wcr_dir_con:     1,     /* widget direct connect */
-                       wcr_f_bad_pkt:   1,     /* Force bad llp pkt enable */
-@@ -200,9 +200,9 @@
- #define       iwcr_dir_con    wcr_fields_s.wcr_dir_con
- typedef union hubii_wstat_u {
--      u64      reg_value;
-+      __u64      reg_value;
-       struct {
--              u64     rsvd1:          31,
-+              __u64   rsvd1:          31,
-                       crazy:           1,     /* Crazy bit            */
-                       rsvd2:           8,
-                       llp_tx_cnt:      8,     /* LLP Xmit retry counter */
-@@ -217,9 +217,9 @@
- typedef union hubii_ilcsr_u {
--      u64     icsr_reg_value;
-+      __u64   icsr_reg_value;
-       struct {
--              u64     icsr_rsvd:      22,     /* unused */
-+              __u64   icsr_rsvd:      22,     /* unused */
-                       icsr_max_burst: 10,     /* max burst */
-                         icsr_rsvd4:    6,     /* reserved */
-                       icsr_max_retry: 10,     /* max retry */
-@@ -237,9 +237,9 @@
- typedef union hubii_iowa_u {
--      u64     iowa_reg_value;
-+      __u64   iowa_reg_value;
-       struct {
--              u64     iowa_rsvd:      48,     /* unused */
-+              __u64   iowa_rsvd:      48,     /* unused */
-                               iowa_wxoac:      8,     /* xtalk widget access bits */
-                       iowa_rsvd1:      7,     /* xtalk widget access bits */
-                       iowa_w0oac:      1;     /* xtalk widget access bits */
-@@ -247,9 +247,9 @@
- } hubii_iowa_t;
- typedef union hubii_iiwa_u {
--      u64     iiwa_reg_value;
-+      __u64   iiwa_reg_value;
-       struct {
--              u64     iiwa_rsvd:      48,     /* unused */
-+              __u64   iiwa_rsvd:      48,     /* unused */
-                       iiwa_wxiac:      8,     /* hub wid access bits */
-                       iiwa_rsvd1:      7,     /* reserved */
-                       iiwa_w0iac:      1;     /* hub wid0 access */
-@@ -257,9 +257,9 @@
- } hubii_iiwa_t;
- typedef union hubii_illr_u {
--      u64     illr_reg_value;
-+      __u64   illr_reg_value;
-       struct {
--              u64     illr_rsvd:      32,     /* unused */
-+              __u64   illr_rsvd:      32,     /* unused */
-                       illr_cb_cnt:    16,     /* checkbit error count */
-                       illr_sn_cnt:    16;     /* sequence number count */
-         } illr_fields_s;
-@@ -271,9 +271,9 @@
- /* io_perf_sel allows the caller to specify what tests will be
-    performed */
- typedef union io_perf_sel {
--      u64 perf_sel_reg;
-+      __u64 perf_sel_reg;
-       struct {
--              u64     perf_rsvd  : 48,
-+              __u64   perf_rsvd  : 48,
-                       perf_icct  :  8,
-                       perf_ippr1 :  4,
-                       perf_ippr0 :  4;
-@@ -284,9 +284,9 @@
-    hardware problems there is only one counter, not two. */
- typedef union io_perf_cnt {
--      u64     perf_cnt;
-+      __u64   perf_cnt;
-       struct {
--              u64     perf_rsvd1 : 32,
-+              __u64   perf_rsvd1 : 32,
-                               perf_rsvd2 : 12,
-                               perf_cnt   : 20;
-       } perf_cnt_bits;
-@@ -442,9 +442,9 @@
-  */
- #ifndef __ASSEMBLY__
- typedef union icrba_u {
--      u64     reg_value;
-+      __u64   reg_value;
-       struct {
--              u64     resvd:  6,
-+              __u64   resvd:  6,
-                       stall_bte0: 1,  /* Stall BTE 0 */
-                       stall_bte1: 1,  /* Stall BTE 1 */
-                       error:  1,      /* CRB has an error     */
-@@ -464,10 +464,10 @@
-    runtime selection of the format based on the REV_ID field of the
-    NI_STATUS_REV_ID register. */
- typedef union h1_icrba_u {
--      u64     reg_value;
-+      __u64   reg_value;
-       struct {
--              u64     resvd:  6,
-+              __u64   resvd:  6,
-                       unused: 1,      /* Unused but RW!!      */
-                       error:  1,      /* CRB has an error     */
-                       ecode:  4,      /* Error Code           */
-@@ -525,9 +525,9 @@
-  */
- #ifndef __ASSEMBLY__
- typedef union icrbb_u {
--      u64     reg_value;
-+      __u64   reg_value;
-       struct {
--          u64 rsvd1:  5,
-+          __u64       rsvd1:  5,
-               btenum: 1,      /* BTE to which entry belongs to */
-               cohtrans: 1,    /* Coherent transaction */
-               xtsize: 2,      /* Xtalk operation size
-@@ -567,9 +567,9 @@
-    runtime selection of the format based on the REV_ID field of the
-    NI_STATUS_REV_ID register. */
- typedef union h1_icrbb_u {
--      u64     reg_value;
-+      __u64   reg_value;
-       struct {
--              u64     rsvd1:  5,
-+              __u64   rsvd1:  5,
-                       btenum: 1,      /* BTE to which entry belongs to */
-                       cohtrans: 1,    /* Coherent transaction */
-                       xtsize: 2,      /* Xtalk operation size
-@@ -683,9 +683,9 @@
- #ifndef __ASSEMBLY__
- typedef union icrbc_s {
--      u64     reg_value;
-+      __u64   reg_value;
-       struct {
--              u64     rsvd:   6,
-+              __u64   rsvd:   6,
-                       sleep:  1,
-                       pricnt: 4,      /* Priority count sent with Read req */
-                       pripsc: 4,      /* Priority Pre scalar  */
-@@ -720,9 +720,9 @@
- #ifndef __ASSEMBLY__
- typedef union icrbd_s {
--      u64     reg_value;
-+      __u64   reg_value;
-       struct {
--          u64 rsvd:   38,
-+          __u64       rsvd:   38,
-               toutvld: 1,     /* Timeout in progress for this CRB */
-               ctxtvld: 1,     /* Context field below is valid */
-               rsvd2:  1,
-@@ -742,9 +742,9 @@
- typedef union hubii_ifdr_u {
--      u64     hi_ifdr_value;
-+      __u64   hi_ifdr_value;
-       struct {
--              u64     ifdr_rsvd:      49,
-+              __u64   ifdr_rsvd:      49,
-                       ifdr_maxrp:      7,
-                       ifdr_rsvd1:      1,
-                               ifdr_maxrq:      7;
-@@ -801,9 +801,9 @@
- #ifndef __ASSEMBLY__
- typedef union iprte_a {
--      u64     entry;
-+      __u64   entry;
-       struct {
--          u64 rsvd1     : 7,  /* Reserved field               */
-+          __u64       rsvd1     : 7,  /* Reserved field               */
-               valid     : 1,  /* Maps to a timeout entry      */
-               rsvd2     : 1,
-               srcnode   : 9,  /* Node which did this PIO      */
-@@ -835,9 +835,9 @@
-  */
- typedef union iprb_u {
--      u64     reg_value;
-+      __u64   reg_value;
-       struct {
--          u64 rsvd1:  15,
-+          __u64       rsvd1:  15,
-               error:  1,      /* Widget rcvd wr resp pkt w/ error */
-               ovflow: 5,      /* Over flow count. perf measurement */
-               fire_and_forget: 1, /* Launch Write without response */
-@@ -877,9 +877,9 @@
-  */
- #ifndef __ASSEMBLY__
- typedef union icrbp_a {
--      u64   ip_reg;       /* the entire register value        */
-+      __u64   ip_reg;     /* the entire register value        */
-       struct {
--           u64 error: 1,  /*    63, error occurred            */
-+           __u64 error:       1,  /*    63, error occurred            */
-               ln_uce: 1,  /*    62: uncorrectable memory      */
-               ln_ae:  1,  /*    61: protection violation      */
-               ln_werr:1,  /*    60: write access error        */
-@@ -919,9 +919,9 @@
- #ifndef __ASSEMBLY__
- typedef union hubii_idsr {
--      u64 iin_reg;
-+      __u64 iin_reg;
-       struct {
--              u64 rsvd1 : 35,
-+              __u64 rsvd1 : 35,
-                   isent : 1,
-                   rsvd2 : 3,
-                   ienable: 1,
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubmd.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubmd.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubmd.h    2004-01-17 17:03:49.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubmd.h 2004-08-26 05:27:00.000000000 -0500
-@@ -541,7 +541,7 @@
-  */
- struct dir_error_reg {
--      u64     uce_vld:   1,   /*    63: valid directory uce   */
-+      __u64   uce_vld:   1,   /*    63: valid directory uce   */
-               ae_vld:    1,   /*    62: valid dir prot ecc error */
-               ce_vld:    1,   /*    61: valid correctable ECC err*/
-               rsvd1:    19,   /* 60-42: reserved              */
-@@ -555,13 +555,13 @@
- };
- typedef union md_dir_error {
--      u64     derr_reg;       /* the entire register          */
-+      __u64   derr_reg;       /* the entire register          */
-       struct dir_error_reg derr_fmt;  /* the register format          */
- } md_dir_error_t;
- struct mem_error_reg {
--      u64     uce_vld:   1,   /*    63: valid memory uce      */
-+      __u64   uce_vld:   1,   /*    63: valid memory uce      */
-               ce_vld:    1,   /*    62: valid correctable ECC err*/
-               rsvd1:    22,   /* 61-40: reserved              */
-               bad_syn:   8,   /* 39-32: bad mem ecc syndrome  */
-@@ -573,13 +573,13 @@
- typedef union md_mem_error {
--      u64     merr_reg;       /* the entire register          */
-+      __u64   merr_reg;       /* the entire register          */
-       struct mem_error_reg  merr_fmt; /* format of the mem_error reg  */
- } md_mem_error_t;
- struct proto_error_reg {
--      u64     valid:     1,   /*    63: valid protocol error  */
-+      __u64   valid:     1,   /*    63: valid protocol error  */
-               rsvd1:     2,   /* 62-61: reserved              */
-               initiator:11,   /* 60-50: id of request initiator*/
-               backoff:   2,   /* 49-48: backoff control       */
-@@ -594,7 +594,7 @@
- };
- typedef union md_proto_error {
--      u64     perr_reg;       /* the entire register          */
-+      __u64   perr_reg;       /* the entire register          */
-       struct proto_error_reg  perr_fmt; /* format of the register     */
- } md_proto_error_t;
-@@ -642,7 +642,7 @@
- struct md_pdir_high_fmt {
--      u64     pd_hi_unused   : 16,
-+      __u64   pd_hi_unused   : 16,
-               pd_hi_bvec     : 38,
-               pd_hi_unused1  : 3,
-               pd_hi_ecc      : 7;
-@@ -651,14 +651,14 @@
- typedef union md_pdir_high {
-       /* The 48 bits of standard directory, upper word */
--      u64     pd_hi_val;
-+      __u64   pd_hi_val;
-       struct md_pdir_high_fmt pd_hi_fmt;
- }md_pdir_high_t;
- struct md_pdir_low_shared_fmt {
-       /* The meaning of lower directory, shared */
--      u64     pds_lo_unused   : 16,
-+      __u64   pds_lo_unused   : 16,
-               pds_lo_bvec     : 26,
-               pds_lo_cnt      :  6,
-               pds_lo_state    :  3,
-@@ -670,7 +670,7 @@
- struct md_pdir_low_exclusive_fmt {
-       /* The meaning of lower directory, exclusive */
--      u64     pde_lo_unused   : 31,
-+      __u64   pde_lo_unused   : 31,
-               pde_lo_ptr      : 11,
-               pde_lo_unused1  :  6,
-               pde_lo_state    :  3,
-@@ -683,7 +683,7 @@
- typedef union md_pdir_loent {
-       /* The 48 bits of premium directory, lower word */
--      u64     pd_lo_val;
-+      __u64   pd_lo_val;
-       struct md_pdir_low_exclusive_fmt pde_lo_fmt;
-       struct md_pdir_low_shared_fmt   pds_lo_fmt;
- }md_pdir_low_t;
-@@ -711,25 +711,25 @@
- } bddir_entry_t;
- typedef struct        dir_mem_entry   {
--        u64           prcpf[MAX_REGIONS];
-+        __u64         prcpf[MAX_REGIONS];
-         bddir_entry_t directory_words[MD_PAGE_SIZE/CACHE_SLINE_SIZE];
- } dir_mem_entry_t;
- typedef union md_perf_sel {
--      u64     perf_sel_reg;
-+      __u64   perf_sel_reg;
-       struct  {
--              u64     perf_rsvd : 60,
-+              __u64   perf_rsvd : 60,
-                       perf_en   :  1,
-                       perf_sel  :  3;
-       } perf_sel_bits;
- } md_perf_sel_t;
- typedef union md_perf_cnt {
--      u64     perf_cnt;
-+      __u64   perf_cnt;
-       struct  {
--              u64     perf_rsvd : 44,
-+              __u64   perf_rsvd : 44,
-                       perf_cnt  : 20;
-       } perf_cnt_bits;
- } md_perf_cnt_t;
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubni.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubni.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubni.h    2003-12-15 12:47:02.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubni.h 2004-08-26 05:26:48.000000000 -0500
-@@ -229,9 +229,9 @@
- #ifndef __ASSEMBLY__
- typedef union hubni_port_error_u {
--      u64     nipe_reg_value;
-+      __u64   nipe_reg_value;
-       struct {
--          u64 nipe_rsvd:      26,     /* unused */
-+          __u64    nipe_rsvd: 26,     /* unused */
-               nipe_lnk_reset:  1,     /* link reset */
-               nipe_intl_err:   1,     /* internal error */
-               nipe_bad_msg:    1,     /* bad message */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubpi.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubpi.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubpi.h    2003-12-15 12:47:02.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubpi.h 2004-08-26 05:26:36.000000000 -0500
-@@ -312,7 +312,7 @@
-  */
- struct err_stack_format {
--      u64     sk_addr    : 33,   /* address */
-+      __u64   sk_addr    : 33,   /* address */
-               sk_cmd     :  8,   /* message command */
-               sk_crb_sts : 10,   /* status from RRB or WRB */
-               sk_rw_rb   :  1,   /* RRB == 0, WRB == 1 */
-@@ -323,12 +323,12 @@
- };
- typedef union pi_err_stack {
--      u64     pi_stk_word;
-+      __u64   pi_stk_word;
-       struct  err_stack_format pi_stk_fmt;
- } pi_err_stack_t;
- struct err_status0_format {
--      u64     s0_valid   :  1,   /* Valid */
-+      __u64   s0_valid   :  1,   /* Valid */
-               s0_ovr_run :  1,   /* Overrun, spooled to memory */
-               s0_addr    : 37,   /* address */
-               s0_cmd     :  8,   /* message command */
-@@ -338,12 +338,12 @@
- };
- typedef union pi_err_stat0 {
--      u64     pi_stat0_word;
-+      __u64   pi_stat0_word;
-       struct err_status0_format pi_stat0_fmt;
- } pi_err_stat0_t;
- struct err_status1_format {
--      u64     s1_src     : 11,   /* message source */
-+      __u64   s1_src     : 11,   /* message source */
-               s1_crb_sts : 10,   /* status from RRB or WRB */
-               s1_rw_rb   :  1,   /* RRB == 0, WRB == 1 */
-               s1_crb_num :  3,   /* WRB (0 to 7) or RRB (0 to 4) */
-@@ -353,11 +353,11 @@
- };
- typedef union pi_err_stat1 {
--      u64     pi_stat1_word;
-+      __u64   pi_stat1_word;
-       struct err_status1_format pi_stat1_fmt;
- } pi_err_stat1_t;
--typedef u64   rtc_time_t;
-+typedef __u64 rtc_time_t;
- #endif /* !__ASSEMBLY__ */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/stackframe.h linux-libc-headers-2.6.8.0/include/asm-mips/stackframe.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/stackframe.h      2004-08-18 13:15:41.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/stackframe.h   2004-08-26 05:14:41.000000000 -0500
-@@ -25,7 +25,7 @@
-               .macro  SAVE_TEMP
-               mfhi    v1
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
-               LONG_S  $8, PT_R8(sp)
-               LONG_S  $9, PT_R9(sp)
- #endif
-@@ -55,7 +55,7 @@
- #ifdef CONFIG_SMP
-               .macro  get_saved_sp    /* SMP variation */
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
-               mfc0    k0, CP0_CONTEXT
-               lui     k1, %hi(kernelsp)
-               srl     k0, k0, 23
-@@ -63,7 +63,7 @@
-               addu    k1, k0
-               LONG_L  k1, %lo(kernelsp)(k1)
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
-               MFC0    k1, CP0_CONTEXT
-               dsra    k1, 23
-               lui     k0, %hi(pgd_current)
-@@ -76,13 +76,13 @@
-               .endm
-               .macro  set_saved_sp stackp temp temp2
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
-               mfc0    \temp, CP0_CONTEXT
-               srl     \temp, 23
-               sll     \temp, 2
-               LONG_S  \stackp, kernelsp(\temp)
- #endif
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
-               lw      \temp, TI_CPU(gp)
-               dsll    \temp, 3
-               lui     \temp2, %hi(kernelsp)
-@@ -127,7 +127,7 @@
-               LONG_S  $6, PT_R6(sp)
-               MFC0    v1, CP0_EPC
-               LONG_S  $7, PT_R7(sp)
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
-               LONG_S  $8, PT_R8(sp)
-               LONG_S  $9, PT_R9(sp)
- #endif
-@@ -156,7 +156,7 @@
-               .macro  RESTORE_TEMP
-               LONG_L  $24, PT_LO(sp)
--#ifdef CONFIG_MIPS32
-+#ifndef __mips64
-               LONG_L  $8, PT_R8(sp)
-               LONG_L  $9, PT_R9(sp)
- #endif
-@@ -204,7 +204,7 @@
-               LONG_L  $31, PT_R31(sp)
-               LONG_L  $28, PT_R28(sp)
-               LONG_L  $25, PT_R25(sp)
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
-               LONG_L  $8, PT_R8(sp)
-               LONG_L  $9, PT_R9(sp)
- #endif
-@@ -249,7 +249,7 @@
-               LONG_L  $31, PT_R31(sp)
-               LONG_L  $28, PT_R28(sp)
-               LONG_L  $25, PT_R25(sp)
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
-               LONG_L  $8, PT_R8(sp)
-               LONG_L  $9, PT_R9(sp)
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/system.h linux-libc-headers-2.6.8.0/include/asm-mips/system.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/system.h  2004-08-18 13:15:42.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/system.h       2004-08-28 18:13:39.000000000 -0500
-@@ -15,10 +15,11 @@
- #include <asm/sgidefs.h>
- #include <linux/kernel.h>
-+#include <linux/linkage.h>
- #include <asm/addrspace.h>
- #include <asm/ptrace.h>
--#include <asm/hazards.h>
-+#include <asm/types.h>
- __asm__ (
-       ".macro\tlocal_irq_enable\n\t"
-@@ -311,7 +312,7 @@
-       return retval;
- }
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- static inline __u64 __xchg_u64(volatile __u64 * m, __u64 val)
- {
-       __u64 retval;
-@@ -406,7 +407,7 @@
-       return retval;
- }
--#ifdef CONFIG_MIPS64
-+#ifdef __mips64
- static inline unsigned long __cmpxchg_u64(volatile int * m, unsigned long old,
-       unsigned long new)
- {
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/tx4927/tx4927_mips.h linux-libc-headers-2.6.8.0/include/asm-mips/tx4927/tx4927_mips.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/tx4927/tx4927_mips.h      2003-12-15 12:47:03.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/tx4927/tx4927_mips.h   2004-08-26 05:22:30.000000000 -0500
-@@ -36,15 +36,15 @@
-               ".set\tmips0");
- }
--#define reg_rd08(r)    ((u8 )(*((vu8 *)(r))))
--#define reg_rd16(r)    ((u16)(*((vu16*)(r))))
--#define reg_rd32(r)    ((u32)(*((vu32*)(r))))
--#define reg_rd64(r)    ((u64)(*((vu64*)(r))))
-+#define reg_rd08(r)    ((__u8 )(*((vu8 *)(r))))
-+#define reg_rd16(r)    ((__u16)(*((vu16*)(r))))
-+#define reg_rd32(r)    ((__u32)(*((vu32*)(r))))
-+#define reg_rd64(r)    ((__u64)(*((vu64*)(r))))
--#define reg_wr08(r,v)  ((*((vu8 *)(r)))=((u8 )(v)))
--#define reg_wr16(r,v)  ((*((vu16*)(r)))=((u16)(v)))
--#define reg_wr32(r,v)  ((*((vu32*)(r)))=((u32)(v)))
--#define reg_wr64(r,v)  ((*((vu64*)(r)))=((u64)(v)))
-+#define reg_wr08(r,v)  ((*((vu8 *)(r)))=((__u8 )(v)))
-+#define reg_wr16(r,v)  ((*((vu16*)(r)))=((__u16)(v)))
-+#define reg_wr32(r,v)  ((*((vu32*)(r)))=((__u32)(v)))
-+#define reg_wr64(r,v)  ((*((vu64*)(r)))=((__u64)(v)))
- typedef volatile __signed char vs8;
- typedef volatile unsigned char vu8;
-@@ -55,10 +55,10 @@
- typedef volatile __signed int vs32;
- typedef volatile unsigned int vu32;
--typedef  s8  s08;
-+typedef  __s8  s08;
- typedef vs8 vs08;
--typedef  u8  u08;
-+typedef  __u8  u08;
- typedef vu8 vu08;
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/unaligned.h linux-libc-headers-2.6.8.0/include/asm-mips/unaligned.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/unaligned.h       2004-08-15 15:38:27.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/unaligned.h    2004-08-26 05:22:21.000000000 -0500
-@@ -17,7 +17,7 @@
-  *
-  * This macro should be used for accessing values larger in size than
-  * single bytes at locations that are expected to be improperly aligned,
-- * e.g. retrieving a u16 value from a location not u16-aligned.
-+ * e.g. retrieving a __u16 value from a location not __u16-aligned.
-  *
-  * Note that unaligned accesses can be very expensive on some architectures.
-  */
-@@ -31,7 +31,7 @@
-  *
-  * This macro should be used for placing values larger in size than
-  * single bytes at locations that are expected to be improperly aligned,
-- * e.g. writing a u16 value to a location not u16-aligned.
-+ * e.g. writing a __u16 value to a location not __u16-aligned.
-  *
-  * Note that unaligned accesses can be very expensive on some architectures.
-  */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/xtalk/xwidget.h linux-libc-headers-2.6.8.0/include/asm-mips/xtalk/xwidget.h
---- linux-libc-headers-2.6.8.0-dist/include/asm-mips/xtalk/xwidget.h   2003-12-15 12:47:03.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/asm-mips/xtalk/xwidget.h        2004-08-26 05:23:33.000000000 -0500
-@@ -92,7 +92,7 @@
-  * defined here
-  */
- #ifndef __ASSEMBLY__
--typedef u32 widgetreg_t;
-+typedef __u32 widgetreg_t;
- /* widget configuration registers */
- typedef volatile struct widget_cfg {
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/acpi.h linux-libc-headers-2.6.8.0/include/linux/acpi.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/acpi.h       2004-08-18 13:16:01.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/acpi.h    2004-08-26 05:41:49.000000000 -0500
-@@ -51,49 +51,49 @@
- struct acpi_table_rsdp {
-       char                    signature[8];
--      u8                      checksum;
-+      __u8                    checksum;
-       char                    oem_id[6];
--      u8                      revision;
--      u32                     rsdt_address;
-+      __u8                    revision;
-+      __u32                   rsdt_address;
- } __attribute__ ((packed));
- struct acpi20_table_rsdp {
-       char                    signature[8];
--      u8                      checksum;
-+      __u8                    checksum;
-       char                    oem_id[6];
--      u8                      revision;
--      u32                     rsdt_address;
--      u32                     length;
--      u64                     xsdt_address;
--      u8                      ext_checksum;
--      u8                      reserved[3];
-+      __u8                    revision;
-+      __u32                   rsdt_address;
-+      __u32                   length;
-+      __u64                   xsdt_address;
-+      __u8                    ext_checksum;
-+      __u8                    reserved[3];
- } __attribute__ ((packed));
- typedef struct {
--      u8                      type;
--      u8                      length;
-+      __u8                    type;
-+      __u8                    length;
- } __attribute__ ((packed)) acpi_table_entry_header;
- /* Root System Description Table (RSDT) */
- struct acpi_table_rsdt {
-       struct acpi_table_header header;
--      u32                     entry[8];
-+      __u32                   entry[8];
- } __attribute__ ((packed));
- /* Extended System Description Table (XSDT) */
- struct acpi_table_xsdt {
-       struct acpi_table_header header;
--      u64                     entry[1];
-+      __u64                   entry[1];
- } __attribute__ ((packed));
- /* Fixed ACPI Description Table (FADT) */
- struct acpi_table_fadt {
-       struct acpi_table_header header;
--      u32 facs_addr;
--      u32 dsdt_addr;
-+      __u32 facs_addr;
-+      __u32 dsdt_addr;
-       /* ... */
- } __attribute__ ((packed));
-@@ -101,10 +101,10 @@
- struct acpi_table_madt {
-       struct acpi_table_header header;
--      u32                     lapic_address;
-+      __u32                   lapic_address;
-       struct {
--              u32                     pcat_compat:1;
--              u32                     reserved:31;
-+              __u32                   pcat_compat:1;
-+              __u32                   reserved:31;
-       }                       flags;
- } __attribute__ ((packed));
-@@ -122,85 +122,85 @@
- };
- typedef struct {
--      u16                     polarity:2;
--      u16                     trigger:2;
--      u16                     reserved:12;
-+      __u16                   polarity:2;
-+      __u16                   trigger:2;
-+      __u16                   reserved:12;
- } __attribute__ ((packed)) acpi_interrupt_flags;
- struct acpi_table_lapic {
-       acpi_table_entry_header header;
--      u8                      acpi_id;
--      u8                      id;
-+      __u8                    acpi_id;
-+      __u8                    id;
-       struct {
--              u32                     enabled:1;
--              u32                     reserved:31;
-+              __u32                   enabled:1;
-+              __u32                   reserved:31;
-       }                       flags;
- } __attribute__ ((packed));
- struct acpi_table_ioapic {
-       acpi_table_entry_header header;
--      u8                      id;
--      u8                      reserved;
--      u32                     address;
--      u32                     global_irq_base;
-+      __u8                    id;
-+      __u8                    reserved;
-+      __u32                   address;
-+      __u32                   global_irq_base;
- } __attribute__ ((packed));
- struct acpi_table_int_src_ovr {
-       acpi_table_entry_header header;
--      u8                      bus;
--      u8                      bus_irq;
--      u32                     global_irq;
-+      __u8                    bus;
-+      __u8                    bus_irq;
-+      __u32                   global_irq;
-       acpi_interrupt_flags    flags;
- } __attribute__ ((packed));
- struct acpi_table_nmi_src {
-       acpi_table_entry_header header;
-       acpi_interrupt_flags    flags;
--      u32                     global_irq;
-+      __u32                   global_irq;
- } __attribute__ ((packed));
- struct acpi_table_lapic_nmi {
-       acpi_table_entry_header header;
--      u8                      acpi_id;
-+      __u8                    acpi_id;
-       acpi_interrupt_flags    flags;
--      u8                      lint;
-+      __u8                    lint;
- } __attribute__ ((packed));
- struct acpi_table_lapic_addr_ovr {
-       acpi_table_entry_header header;
--      u8                      reserved[2];
--      u64                     address;
-+      __u8                    reserved[2];
-+      __u64                   address;
- } __attribute__ ((packed));
- struct acpi_table_iosapic {
-       acpi_table_entry_header header;
--      u8                      id;
--      u8                      reserved;
--      u32                     global_irq_base;
--      u64                     address;
-+      __u8                    id;
-+      __u8                    reserved;
-+      __u32                   global_irq_base;
-+      __u64                   address;
- } __attribute__ ((packed));
- struct acpi_table_lsapic {
-       acpi_table_entry_header header;
--      u8                      acpi_id;
--      u8                      id;
--      u8                      eid;
--      u8                      reserved[3];
-+      __u8                    acpi_id;
-+      __u8                    id;
-+      __u8                    eid;
-+      __u8                    reserved[3];
-       struct {
--              u32                     enabled:1;
--              u32                     reserved:31;
-+              __u32                   enabled:1;
-+              __u32                   reserved:31;
-       }                       flags;
- } __attribute__ ((packed));
- struct acpi_table_plat_int_src {
-       acpi_table_entry_header header;
-       acpi_interrupt_flags    flags;
--      u8                      type;   /* See acpi_interrupt_type */
--      u8                      id;
--      u8                      eid;
--      u8                      iosapic_vector;
--      u32                     global_irq;
--      u32                     reserved;
-+      __u8                    type;   /* See acpi_interrupt_type */
-+      __u8                    id;
-+      __u8                    eid;
-+      __u8                    iosapic_vector;
-+      __u32                   global_irq;
-+      __u32                   reserved;
- } __attribute__ ((packed));
- enum acpi_interrupt_id {
-@@ -213,21 +213,21 @@
- #define       ACPI_SPACE_MEM          0
- struct acpi_gen_regaddr {
--      u8  space_id;
--      u8  bit_width;
--      u8  bit_offset;
--      u8  resv;
--      u32 addrl;
--      u32 addrh;
-+      __u8  space_id;
-+      __u8  bit_width;
-+      __u8  bit_offset;
-+      __u8  resv;
-+      __u32 addrl;
-+      __u32 addrh;
- } __attribute__ ((packed));
- struct acpi_table_hpet {
-       struct acpi_table_header header;
--      u32 id;
-+      __u32 id;
-       struct acpi_gen_regaddr addr;
--      u8 number;
--      u16 min_tick;
--      u8 page_protect;
-+      __u8 number;
-+      __u16 min_tick;
-+      __u8 page_protect;
- } __attribute__ ((packed));
- /*
-@@ -236,17 +236,17 @@
-  */
- struct acpi_table_sbf
- {
--      u8 sbf_signature[4];
--      u32 sbf_len;
--      u8 sbf_revision;
--      u8 sbf_csum;
--      u8 sbf_oemid[6];
--      u8 sbf_oemtable[8];
--      u8 sbf_revdata[4];
--      u8 sbf_creator[4];
--      u8 sbf_crearev[4];
--      u8 sbf_cmos;
--      u8 sbf_spare[3];
-+      __u8 sbf_signature[4];
-+      __u32 sbf_len;
-+      __u8 sbf_revision;
-+      __u8 sbf_csum;
-+      __u8 sbf_oemid[6];
-+      __u8 sbf_oemtable[8];
-+      __u8 sbf_revdata[4];
-+      __u8 sbf_creator[4];
-+      __u8 sbf_crearev[4];
-+      __u8 sbf_cmos;
-+      __u8 sbf_spare[3];
- } __attribute__ ((packed));
- /*
-@@ -256,8 +256,8 @@
- struct acpi_table_srat {
-       struct acpi_table_header header;
--      u32                     table_revision;
--      u64                     reserved;
-+      __u32                   table_revision;
-+      __u64                   reserved;
- } __attribute__ ((packed));
- enum acpi_srat_entry_id {
-@@ -268,31 +268,31 @@
- struct acpi_table_processor_affinity {
-       acpi_table_entry_header header;
--      u8                      proximity_domain;
--      u8                      apic_id;
-+      __u8                    proximity_domain;
-+      __u8                    apic_id;
-       struct {
--              u32                     enabled:1;
--              u32                     reserved:31;
-+              __u32                   enabled:1;
-+              __u32                   reserved:31;
-       }                       flags;
--      u8                      lsapic_eid;
--      u8                      reserved[7];
-+      __u8                    lsapic_eid;
-+      __u8                    reserved[7];
- } __attribute__ ((packed));
- struct acpi_table_memory_affinity {
-       acpi_table_entry_header header;
--      u8                      proximity_domain;
--      u8                      reserved1[5];
--      u32                     base_addr_lo;
--      u32                     base_addr_hi;
--      u32                     length_lo;
--      u32                     length_hi;
--      u32                     memory_type;    /* See acpi_address_range_id */
-+      __u8                    proximity_domain;
-+      __u8                    reserved1[5];
-+      __u32                   base_addr_lo;
-+      __u32                   base_addr_hi;
-+      __u32                   length_lo;
-+      __u32                   length_hi;
-+      __u32                   memory_type;    /* See acpi_address_range_id */
-       struct {
--              u32                     enabled:1;
--              u32                     hot_pluggable:1;
--              u32                     reserved:30;
-+              __u32                   enabled:1;
-+              __u32                   hot_pluggable:1;
-+              __u32                   reserved:30;
-       }                       flags;
--      u64                     reserved2;
-+      __u64                   reserved2;
- } __attribute__ ((packed));
- enum acpi_address_range_id {
-@@ -310,17 +310,17 @@
- struct acpi_table_slit {
-       struct acpi_table_header header;
--      u64                     localities;
--      u8                      entry[1];       /* real size = localities^2 */
-+      __u64                   localities;
-+      __u8                    entry[1];       /* real size = localities^2 */
- } __attribute__ ((packed));
- /* Smart Battery Description Table (SBST) */
- struct acpi_table_sbst {
-       struct acpi_table_header header;
--      u32                     warning;        /* Warn user */
--      u32                     low;            /* Critical sleep */
--      u32                     critical;       /* Critical shutdown */
-+      __u32                   warning;        /* Warn user */
-+      __u32                   low;            /* Critical sleep */
-+      __u32                   critical;       /* Critical shutdown */
- } __attribute__ ((packed));
- /* Embedded Controller Boot Resources Table (ECDT) */
-@@ -329,8 +329,8 @@
-       struct acpi_table_header        header;
-       struct acpi_generic_address     ec_control;
-       struct acpi_generic_address     ec_data;
--      u32                             uid;
--      u8                              gpe_bit;
-+      __u32                           uid;
-+      __u8                            gpe_bit;
-       char                            ec_id[0];
- } __attribute__ ((packed));
-@@ -338,9 +338,9 @@
- struct acpi_table_mcfg {
-       struct acpi_table_header        header;
--      u8                              reserved[8];
--      u32                             base_address;
--      u32                             base_reserved;
-+      __u8                            reserved[8];
-+      __u32                           base_address;
-+      __u32                           base_reserved;
- } __attribute__ ((packed));
- /* Table Handlers */
-@@ -396,7 +396,7 @@
- extern int acpi_mp_config;
--extern u32 pci_mmcfg_base_addr;
-+extern __u32 pci_mmcfg_base_addr;
- extern int sbf_port ;
-@@ -411,20 +411,20 @@
- #endif        /*!CONFIG_ACPI_BOOT*/
--unsigned int acpi_register_gsi (u32 gsi, int edge_level, int active_high_low);
--int acpi_gsi_to_irq (u32 gsi, unsigned int *irq);
-+unsigned int acpi_register_gsi (__u32 gsi, int edge_level, int active_high_low);
-+int acpi_gsi_to_irq (__u32 gsi, unsigned int *irq);
- #ifdef CONFIG_ACPI_PCI
- struct acpi_prt_entry {
-       struct list_head        node;
-       struct acpi_pci_id      id;
--      u8                      pin;
-+      __u8                    pin;
-       struct {
-               acpi_handle             handle;
--              u32                     index;
-+              __u32                   index;
-       }                       link;
--      u32                     irq;
-+      __u32                   irq;
- };
- struct acpi_prt_list {
-@@ -451,8 +451,8 @@
- #ifdef CONFIG_ACPI_EC
--int ec_read(u8 addr, u8 *val);
--int ec_write(u8 addr, u8 val);
-+int ec_read(__u8 addr, __u8 *val);
-+int ec_write(__u8 addr, __u8 val);
- #endif /*CONFIG_ACPI_EC*/
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/affs_fs_i.h linux-libc-headers-2.6.8.0/include/linux/affs_fs_i.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/affs_fs_i.h  2003-12-31 17:46:48.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/affs_fs_i.h       2004-08-26 05:41:49.000000000 -0500
-@@ -9,13 +9,13 @@
- //#define AFFS_CACHE_SIZE             (4*4)
- #define AFFS_MAX_PREALLOC     32
--#define AFFS_LC_SIZE          (AFFS_CACHE_SIZE/sizeof(u32)/2)
-+#define AFFS_LC_SIZE          (AFFS_CACHE_SIZE/sizeof(__u32)/2)
- #define AFFS_AC_SIZE          (AFFS_CACHE_SIZE/sizeof(struct affs_ext_key)/2)
- #define AFFS_AC_MASK          (AFFS_AC_SIZE-1)
- struct affs_ext_key {
--      u32     ext;                            /* idx of the extended block */
--      u32     key;                            /* block number */
-+      __u32   ext;                            /* idx of the extended block */
-+      __u32   key;                            /* block number */
- };
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/affs_fs_sb.h linux-libc-headers-2.6.8.0/include/linux/affs_fs_sb.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/affs_fs_sb.h 2004-08-18 13:16:01.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/affs_fs_sb.h      2004-08-26 05:41:49.000000000 -0500
-@@ -9,8 +9,8 @@
-  */
- struct affs_bm_info {
--      u32 bm_key;                     /* Disk block number */
--      u32 bm_free;                    /* Free blocks in here */
-+      __u32 bm_key;                   /* Disk block number */
-+      __u32 bm_free;                  /* Free blocks in here */
- };
- #define SF_INTL               0x0001          /* International filesystem. */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/affs_hardblocks.h linux-libc-headers-2.6.8.0/include/linux/affs_hardblocks.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/affs_hardblocks.h    2003-12-15 12:46:58.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/affs_hardblocks.h 2004-08-26 05:41:49.000000000 -0500
-@@ -4,59 +4,59 @@
- /* Just the needed definitions for the RDB of an Amiga HD. */
- struct RigidDiskBlock {
--      u32     rdb_ID;
--      u32     rdb_SummedLongs;
--      s32     rdb_ChkSum;
--      u32     rdb_HostID;
--      u32     rdb_BlockBytes;
--      u32     rdb_Flags;
--      u32     rdb_BadBlockList;
--      u32     rdb_PartitionList;
--      u32     rdb_FileSysHeaderList;
--      u32     rdb_DriveInit;
--      u32     rdb_Reserved1[6];
--      u32     rdb_Cylinders;
--      u32     rdb_Sectors;
--      u32     rdb_Heads;
--      u32     rdb_Interleave;
--      u32     rdb_Park;
--      u32     rdb_Reserved2[3];
--      u32     rdb_WritePreComp;
--      u32     rdb_ReducedWrite;
--      u32     rdb_StepRate;
--      u32     rdb_Reserved3[5];
--      u32     rdb_RDBBlocksLo;
--      u32     rdb_RDBBlocksHi;
--      u32     rdb_LoCylinder;
--      u32     rdb_HiCylinder;
--      u32     rdb_CylBlocks;
--      u32     rdb_AutoParkSeconds;
--      u32     rdb_HighRDSKBlock;
--      u32     rdb_Reserved4;
-+      __u32   rdb_ID;
-+      __u32   rdb_SummedLongs;
-+      __s32   rdb_ChkSum;
-+      __u32   rdb_HostID;
-+      __u32   rdb_BlockBytes;
-+      __u32   rdb_Flags;
-+      __u32   rdb_BadBlockList;
-+      __u32   rdb_PartitionList;
-+      __u32   rdb_FileSysHeaderList;
-+      __u32   rdb_DriveInit;
-+      __u32   rdb_Reserved1[6];
-+      __u32   rdb_Cylinders;
-+      __u32   rdb_Sectors;
-+      __u32   rdb_Heads;
-+      __u32   rdb_Interleave;
-+      __u32   rdb_Park;
-+      __u32   rdb_Reserved2[3];
-+      __u32   rdb_WritePreComp;
-+      __u32   rdb_ReducedWrite;
-+      __u32   rdb_StepRate;
-+      __u32   rdb_Reserved3[5];
-+      __u32   rdb_RDBBlocksLo;
-+      __u32   rdb_RDBBlocksHi;
-+      __u32   rdb_LoCylinder;
-+      __u32   rdb_HiCylinder;
-+      __u32   rdb_CylBlocks;
-+      __u32   rdb_AutoParkSeconds;
-+      __u32   rdb_HighRDSKBlock;
-+      __u32   rdb_Reserved4;
-       char    rdb_DiskVendor[8];
-       char    rdb_DiskProduct[16];
-       char    rdb_DiskRevision[4];
-       char    rdb_ControllerVendor[8];
-       char    rdb_ControllerProduct[16];
-       char    rdb_ControllerRevision[4];
--      u32     rdb_Reserved5[10];
-+      __u32   rdb_Reserved5[10];
- };
- #define       IDNAME_RIGIDDISK        0x5244534B      /* "RDSK" */
- struct PartitionBlock {
--      u32     pb_ID;
--      u32     pb_SummedLongs;
--      s32     pb_ChkSum;
--      u32     pb_HostID;
--      u32     pb_Next;
--      u32     pb_Flags;
--      u32     pb_Reserved1[2];
--      u32     pb_DevFlags;
--      u8      pb_DriveName[32];
--      u32     pb_Reserved2[15];
--      u32     pb_Environment[17];
--      u32     pb_EReserved[15];
-+      __u32   pb_ID;
-+      __u32   pb_SummedLongs;
-+      __s32   pb_ChkSum;
-+      __u32   pb_HostID;
-+      __u32   pb_Next;
-+      __u32   pb_Flags;
-+      __u32   pb_Reserved1[2];
-+      __u32   pb_DevFlags;
-+      __u8    pb_DriveName[32];
-+      __u32   pb_Reserved2[15];
-+      __u32   pb_Environment[17];
-+      __u32   pb_EReserved[15];
- };
- #define       IDNAME_PARTITION        0x50415254      /* "PART" */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/amigaffs.h linux-libc-headers-2.6.8.0/include/linux/amigaffs.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/amigaffs.h   2003-12-31 17:46:48.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/amigaffs.h        2004-08-26 05:41:49.000000000 -0500
-@@ -64,90 +64,90 @@
- #define AFFS_DATA(bh)         (((struct affs_data_head *)(bh)->b_data)->data)
- struct affs_date {
--      u32 days;
--      u32 mins;
--      u32 ticks;
-+      __u32 days;
-+      __u32 mins;
-+      __u32 ticks;
- };
- struct affs_short_date {
--      u16 days;
--      u16 mins;
--      u16 ticks;
-+      __u16 days;
-+      __u16 mins;
-+      __u16 ticks;
- };
- struct affs_root_head {
--      u32 ptype;
--      u32 spare1;
--      u32 spare2;
--      u32 hash_size;
--      u32 spare3;
--      u32 checksum;
--      u32 hashtable[1];
-+      __u32 ptype;
-+      __u32 spare1;
-+      __u32 spare2;
-+      __u32 hash_size;
-+      __u32 spare3;
-+      __u32 checksum;
-+      __u32 hashtable[1];
- };
- struct affs_root_tail {
--      u32 bm_flag;
--      u32 bm_blk[AFFS_ROOT_BMAPS];
--      u32 bm_ext;
-+      __u32 bm_flag;
-+      __u32 bm_blk[AFFS_ROOT_BMAPS];
-+      __u32 bm_ext;
-       struct affs_date root_change;
--      u8 disk_name[32];
--      u32 spare1;
--      u32 spare2;
-+      __u8 disk_name[32];
-+      __u32 spare1;
-+      __u32 spare2;
-       struct affs_date disk_change;
-       struct affs_date disk_create;
--      u32 spare3;
--      u32 spare4;
--      u32 dcache;
--      u32 stype;
-+      __u32 spare3;
-+      __u32 spare4;
-+      __u32 dcache;
-+      __u32 stype;
- };
- struct affs_head {
--      u32 ptype;
--      u32 key;
--      u32 block_count;
--      u32 spare1;
--      u32 first_data;
--      u32 checksum;
--      u32 table[1];
-+      __u32 ptype;
-+      __u32 key;
-+      __u32 block_count;
-+      __u32 spare1;
-+      __u32 first_data;
-+      __u32 checksum;
-+      __u32 table[1];
- };
- struct affs_tail {
--      u32 spare1;
--      u16 uid;
--      u16 gid;
--      u32 protect;
--      u32 size;
--      u8 comment[92];
-+      __u32 spare1;
-+      __u16 uid;
-+      __u16 gid;
-+      __u32 protect;
-+      __u32 size;
-+      __u8 comment[92];
-       struct affs_date change;
--      u8 name[32];
--      u32 spare2;
--      u32 original;
--      u32 link_chain;
--      u32 spare[5];
--      u32 hash_chain;
--      u32 parent;
--      u32 extension;
--      u32 stype;
-+      __u8 name[32];
-+      __u32 spare2;
-+      __u32 original;
-+      __u32 link_chain;
-+      __u32 spare[5];
-+      __u32 hash_chain;
-+      __u32 parent;
-+      __u32 extension;
-+      __u32 stype;
- };
- struct slink_front
- {
--      u32 ptype;
--      u32 key;
--      u32 spare1[3];
--      u32 checksum;
--      u8 symname[1];  /* depends on block size */
-+      __u32 ptype;
-+      __u32 key;
-+      __u32 spare1[3];
-+      __u32 checksum;
-+      __u8 symname[1];        /* depends on block size */
- };
- struct affs_data_head
- {
--      u32 ptype;
--      u32 key;
--      u32 sequence;
--      u32 size;
--      u32 next;
--      u32 checksum;
--      u8 data[1];     /* depends on block size */
-+      __u32 ptype;
-+      __u32 key;
-+      __u32 sequence;
-+      __u32 size;
-+      __u32 next;
-+      __u32 checksum;
-+      __u8 data[1];   /* depends on block size */
- };
- /* Permission bits */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/ata.h linux-libc-headers-2.6.8.0/include/linux/ata.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/ata.h        2004-08-18 13:16:01.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/ata.h     2004-08-26 05:41:49.000000000 -0500
-@@ -34,7 +34,7 @@
-       ATA_MAX_PRD             = 256,  /* we could make these 256/256 */
-       ATA_SECT_SIZE           = 512,
-       ATA_SECT_SIZE_MASK      = (ATA_SECT_SIZE - 1),
--      ATA_SECT_DWORDS         = ATA_SECT_SIZE / sizeof(u32),
-+      ATA_SECT_DWORDS         = ATA_SECT_SIZE / sizeof(__u32),
-       ATA_ID_WORDS            = 256,
-       ATA_ID_PROD_OFS         = 27,
-@@ -176,31 +176,31 @@
- /* core structures */
- struct ata_prd {
--      u32                     addr;
--      u32                     flags_len;
-+      __u32                   addr;
-+      __u32                   flags_len;
- } __attribute__((packed));
- struct ata_taskfile {
-       unsigned long           flags;          /* ATA_TFLAG_xxx */
--      u8                      protocol;       /* ATA_PROT_xxx */
-+      __u8                    protocol;       /* ATA_PROT_xxx */
--      u8                      ctl;            /* control reg */
-+      __u8                    ctl;            /* control reg */
--      u8                      hob_feature;    /* additional data */
--      u8                      hob_nsect;      /* to support LBA48 */
--      u8                      hob_lbal;
--      u8                      hob_lbam;
--      u8                      hob_lbah;
-+      __u8                    hob_feature;    /* additional data */
-+      __u8                    hob_nsect;      /* to support LBA48 */
-+      __u8                    hob_lbal;
-+      __u8                    hob_lbam;
-+      __u8                    hob_lbah;
--      u8                      feature;
--      u8                      nsect;
--      u8                      lbal;
--      u8                      lbam;
--      u8                      lbah;
-+      __u8                    feature;
-+      __u8                    nsect;
-+      __u8                    lbal;
-+      __u8                    lbam;
-+      __u8                    lbah;
--      u8                      device;
-+      __u8                    device;
--      u8                      command;        /* IO operation */
-+      __u8                    command;        /* IO operation */
- };
- #define ata_id_is_ata(dev)    (((dev)->id[0] & (1 << 15)) == 0)
-@@ -213,12 +213,12 @@
- #define ata_id_has_dma(dev)   ((dev)->id[49] & (1 << 8))
- #define ata_id_removeable(dev)        ((dev)->id[0] & (1 << 7))
- #define ata_id_u32(dev,n)     \
--      (((u32) (dev)->id[(n) + 1] << 16) | ((u32) (dev)->id[(n)]))
-+      (((__u32) (dev)->id[(n) + 1] << 16) | ((__u32) (dev)->id[(n)]))
- #define ata_id_u64(dev,n)     \
--      ( ((u64) dev->id[(n) + 3] << 48) |      \
--        ((u64) dev->id[(n) + 2] << 32) |      \
--        ((u64) dev->id[(n) + 1] << 16) |      \
--        ((u64) dev->id[(n) + 0]) )
-+      ( ((__u64) dev->id[(n) + 3] << 48) |    \
-+        ((__u64) dev->id[(n) + 2] << 32) |    \
-+        ((__u64) dev->id[(n) + 1] << 16) |    \
-+        ((__u64) dev->id[(n) + 0]) )
- static inline int is_atapi_taskfile(struct ata_taskfile *tf)
- {
-@@ -226,7 +226,7 @@
-              (tf->protocol == ATA_PROT_ATAPI_DMA);
- }
--static inline int ata_ok(u8 status)
-+static inline int ata_ok(__u8 status)
- {
-       return ((status & (ATA_BUSY | ATA_DRDY | ATA_DF | ATA_DRQ | ATA_ERR))
-                       == ATA_DRDY);
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/bitops.h linux-libc-headers-2.6.8.0/include/linux/bitops.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/bitops.h     2004-06-09 07:00:49.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/bitops.h  2004-08-26 05:41:49.000000000 -0500
-@@ -114,7 +114,7 @@
-       return generic_hweight32((unsigned int)(w >> 32)) +
-                               generic_hweight32((unsigned int)w);
- #else
--      u64 res;
-+      __u64 res;
-       res = (w & 0x5555555555555555ul) + ((w >> 1) & 0x5555555555555555ul);
-       res = (res & 0x3333333333333333ul) + ((res >> 2) & 0x3333333333333333ul);
-       res = (res & 0x0F0F0F0F0F0F0F0Ful) + ((res >> 4) & 0x0F0F0F0F0F0F0F0Ful);
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/compat.h linux-libc-headers-2.6.8.0/include/linux/compat.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/compat.h     2004-06-09 07:00:49.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/compat.h  2004-08-26 05:41:49.000000000 -0500
-@@ -78,9 +78,9 @@
- };
- struct compat_dirent {
--      u32             d_ino;
-+      __u32           d_ino;
-       compat_off_t    d_off;
--      u16             d_reclen;
-+      __u16           d_reclen;
-       char            d_name[256];
- };
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/console.h linux-libc-headers-2.6.8.0/include/linux/console.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/console.h    2004-08-18 13:16:02.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/console.h 2004-08-26 05:41:49.000000000 -0500
-@@ -49,9 +49,9 @@
-       int     (*con_scrolldelta)(struct vc_data *, int);
-       int     (*con_set_origin)(struct vc_data *);
-       void    (*con_save_screen)(struct vc_data *);
--      u8      (*con_build_attr)(struct vc_data *, u8, u8, u8, u8, u8);
--      void    (*con_invert_region)(struct vc_data *, u16 *, int);
--      u16    *(*con_screen_pos)(struct vc_data *, int);
-+      __u8    (*con_build_attr)(struct vc_data *, __u8, __u8, __u8, __u8, __u8);
-+      void    (*con_invert_region)(struct vc_data *, __u16 *, int);
-+      __u16    *(*con_screen_pos)(struct vc_data *, int);
-       unsigned long (*con_getxy)(struct vc_data *, unsigned long, int *, int *);
- };
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/cpufreq.h linux-libc-headers-2.6.8.0/include/linux/cpufreq.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/cpufreq.h    2004-06-23 16:52:53.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/cpufreq.h 2004-08-26 05:41:49.000000000 -0500
-@@ -103,7 +103,7 @@
-       unsigned int cpu;       /* cpu nr */
-       unsigned int old;
-       unsigned int new;
--      u8 flags;               /* flags of cpufreq_driver, see below. */
-+      __u8 flags;             /* flags of cpufreq_driver, see below. */
- };
-@@ -120,13 +120,13 @@
- {
- #if BITS_PER_LONG == 32
--      u64 result = ((u64) old) * ((u64) mult);
-+      __u64 result = ((__u64) old) * ((__u64) mult);
-       do_div(result, div);
-       return (unsigned long) result;
- #elif BITS_PER_LONG == 64
--      unsigned long result = old * ((u64) mult);
-+      unsigned long result = old * ((__u64) mult);
-       result /= div;
-       return result;
-@@ -178,7 +178,7 @@
- struct cpufreq_driver {
-       struct module           *owner;
-       char                    name[CPUFREQ_NAME_LEN];
--      u8                      flags;
-+      __u8                    flags;
-       /* needed by all drivers */
-       int     (*init)         (struct cpufreq_policy *policy);
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/cramfs_fs.h linux-libc-headers-2.6.8.0/include/linux/cramfs_fs.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/cramfs_fs.h  2004-01-05 12:42:27.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/cramfs_fs.h       2004-08-26 05:41:49.000000000 -0500
-@@ -2,9 +2,9 @@
- #define __CRAMFS_H
--typedef unsigned char u8;
--typedef unsigned short u16;
--typedef unsigned int u32;
-+typedef unsigned char __u8;
-+typedef unsigned short __u16;
-+typedef unsigned int __u32;
- #define CRAMFS_MAGIC          0x28cd3d45      /* some random number */
-@@ -31,9 +31,9 @@
-  * Reasonably terse representation of the inode data.
-  */
- struct cramfs_inode {
--      u32 mode:CRAMFS_MODE_WIDTH, uid:CRAMFS_UID_WIDTH;
-+      __u32 mode:CRAMFS_MODE_WIDTH, uid:CRAMFS_UID_WIDTH;
-       /* SIZE for device files is i_rdev */
--      u32 size:CRAMFS_SIZE_WIDTH, gid:CRAMFS_GID_WIDTH;
-+      __u32 size:CRAMFS_SIZE_WIDTH, gid:CRAMFS_GID_WIDTH;
-       /* NAMELEN is the length of the file name, divided by 4 and
-            rounded up.  (cramfs doesn't support hard links.) */
-       /* OFFSET: For symlinks and non-empty regular files, this
-@@ -42,27 +42,27 @@
-          see README).  For non-empty directories it is the offset
-          (divided by 4) of the inode of the first file in that
-          directory.  For anything else, offset is zero. */
--      u32 namelen:CRAMFS_NAMELEN_WIDTH, offset:CRAMFS_OFFSET_WIDTH;
-+      __u32 namelen:CRAMFS_NAMELEN_WIDTH, offset:CRAMFS_OFFSET_WIDTH;
- };
- struct cramfs_info {
--      u32 crc;
--      u32 edition;
--      u32 blocks;
--      u32 files;
-+      __u32 crc;
-+      __u32 edition;
-+      __u32 blocks;
-+      __u32 files;
- };
- /*
-  * Superblock information at the beginning of the FS.
-  */
- struct cramfs_super {
--      u32 magic;                      /* 0x28cd3d45 - random number */
--      u32 size;                       /* length in bytes */
--      u32 flags;                      /* feature flags */
--      u32 future;                     /* reserved for future use */
--      u8 signature[16];               /* "Compressed ROMFS" */
-+      __u32 magic;                    /* 0x28cd3d45 - random number */
-+      __u32 size;                     /* length in bytes */
-+      __u32 flags;                    /* feature flags */
-+      __u32 future;                   /* reserved for future use */
-+      __u8 signature[16];             /* "Compressed ROMFS" */
-       struct cramfs_info fsid;        /* unique filesystem info */
--      u8 name[16];                    /* user-defined name */
-+      __u8 name[16];                  /* user-defined name */
-       struct cramfs_inode root;       /* root inode data */
- };
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/crc32.h linux-libc-headers-2.6.8.0/include/linux/crc32.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/crc32.h      2003-12-15 12:46:57.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/crc32.h   2004-08-26 05:41:49.000000000 -0500
-@@ -7,9 +7,9 @@
- #include <linux/types.h>
--extern u32  crc32_le(u32 crc, unsigned char const *p, size_t len);
--extern u32  crc32_be(u32 crc, unsigned char const *p, size_t len);
--extern u32  bitreverse(u32 in);
-+extern __u32  crc32_le(__u32 crc, unsigned char const *p, size_t len);
-+extern __u32  crc32_be(__u32 crc, unsigned char const *p, size_t len);
-+extern __u32  bitreverse(__u32 in);
- #define crc32(seed, data, length)  crc32_le(seed, (unsigned char const *)data, length)
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/crypto.h linux-libc-headers-2.6.8.0/include/linux/crypto.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/crypto.h     2004-04-19 16:13:51.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/crypto.h  2004-08-26 05:41:49.000000000 -0500
-@@ -63,28 +63,28 @@
- struct cipher_alg {
-       unsigned int cia_min_keysize;
-       unsigned int cia_max_keysize;
--      int (*cia_setkey)(void *ctx, const u8 *key,
--                        unsigned int keylen, u32 *flags);
--      void (*cia_encrypt)(void *ctx, u8 *dst, const u8 *src);
--      void (*cia_decrypt)(void *ctx, u8 *dst, const u8 *src);
-+      int (*cia_setkey)(void *ctx, const __u8 *key,
-+                        unsigned int keylen, __u32 *flags);
-+      void (*cia_encrypt)(void *ctx, __u8 *dst, const __u8 *src);
-+      void (*cia_decrypt)(void *ctx, __u8 *dst, const __u8 *src);
- };
- struct digest_alg {
-       unsigned int dia_digestsize;
-       void (*dia_init)(void *ctx);
--      void (*dia_update)(void *ctx, const u8 *data, unsigned int len);
--      void (*dia_final)(void *ctx, u8 *out);
--      int (*dia_setkey)(void *ctx, const u8 *key,
--                        unsigned int keylen, u32 *flags);
-+      void (*dia_update)(void *ctx, const __u8 *data, unsigned int len);
-+      void (*dia_final)(void *ctx, __u8 *out);
-+      int (*dia_setkey)(void *ctx, const __u8 *key,
-+                        unsigned int keylen, __u32 *flags);
- };
- struct compress_alg {
-       int (*coa_init)(void *ctx);
-       void (*coa_exit)(void *ctx);
--      int (*coa_compress)(void *ctx, const u8 *src, unsigned int slen,
--                          u8 *dst, unsigned int *dlen);
--      int (*coa_decompress)(void *ctx, const u8 *src, unsigned int slen,
--                            u8 *dst, unsigned int *dlen);
-+      int (*coa_compress)(void *ctx, const __u8 *src, unsigned int slen,
-+                          __u8 *dst, unsigned int *dlen);
-+      int (*coa_decompress)(void *ctx, const __u8 *src, unsigned int slen,
-+                            __u8 *dst, unsigned int *dlen);
- };
- #define cra_cipher    cra_u.cipher
-@@ -93,7 +93,7 @@
- struct crypto_alg {
-       struct list_head cra_list;
--      u32 cra_flags;
-+      __u32 cra_flags;
-       unsigned int cra_blocksize;
-       unsigned int cra_ctxsize;
-       const char cra_name[CRYPTO_MAX_ALG_NAME];
-@@ -116,7 +116,7 @@
- /*
-  * Algorithm query interface.
-  */
--int crypto_alg_available(const char *name, u32 flags);
-+int crypto_alg_available(const char *name, __u32 flags);
- /*
-  * Transforms: user-instantiated objects which encapsulate algorithms
-@@ -128,9 +128,9 @@
- struct cipher_tfm {
-       void *cit_iv;
-       unsigned int cit_ivsize;
--      u32 cit_mode;
-+      __u32 cit_mode;
-       int (*cit_setkey)(struct crypto_tfm *tfm,
--                        const u8 *key, unsigned int keylen);
-+                        const __u8 *key, unsigned int keylen);
-       int (*cit_encrypt)(struct crypto_tfm *tfm,
-                          struct scatterlist *dst,
-                          struct scatterlist *src,
-@@ -138,7 +138,7 @@
-       int (*cit_encrypt_iv)(struct crypto_tfm *tfm,
-                             struct scatterlist *dst,
-                             struct scatterlist *src,
--                            unsigned int nbytes, u8 *iv);
-+                            unsigned int nbytes, __u8 *iv);
-       int (*cit_decrypt)(struct crypto_tfm *tfm,
-                          struct scatterlist *dst,
-                          struct scatterlist *src,
-@@ -146,19 +146,19 @@
-       int (*cit_decrypt_iv)(struct crypto_tfm *tfm,
-                          struct scatterlist *dst,
-                          struct scatterlist *src,
--                         unsigned int nbytes, u8 *iv);
--      void (*cit_xor_block)(u8 *dst, const u8 *src);
-+                         unsigned int nbytes, __u8 *iv);
-+      void (*cit_xor_block)(__u8 *dst, const __u8 *src);
- };
- struct digest_tfm {
-       void (*dit_init)(struct crypto_tfm *tfm);
-       void (*dit_update)(struct crypto_tfm *tfm,
-                          struct scatterlist *sg, unsigned int nsg);
--      void (*dit_final)(struct crypto_tfm *tfm, u8 *out);
-+      void (*dit_final)(struct crypto_tfm *tfm, __u8 *out);
-       void (*dit_digest)(struct crypto_tfm *tfm, struct scatterlist *sg,
--                         unsigned int nsg, u8 *out);
-+                         unsigned int nsg, __u8 *out);
-       int (*dit_setkey)(struct crypto_tfm *tfm,
--                        const u8 *key, unsigned int keylen);
-+                        const __u8 *key, unsigned int keylen);
- #ifdef CONFIG_CRYPTO_HMAC
-       void *dit_hmac_block;
- #endif
-@@ -166,11 +166,11 @@
- struct compress_tfm {
-       int (*cot_compress)(struct crypto_tfm *tfm,
--                          const u8 *src, unsigned int slen,
--                          u8 *dst, unsigned int *dlen);
-+                          const __u8 *src, unsigned int slen,
-+                          __u8 *dst, unsigned int *dlen);
-       int (*cot_decompress)(struct crypto_tfm *tfm,
--                            const u8 *src, unsigned int slen,
--                            u8 *dst, unsigned int *dlen);
-+                            const __u8 *src, unsigned int slen,
-+                            __u8 *dst, unsigned int *dlen);
- };
- #define crt_cipher    crt_u.cipher
-@@ -179,7 +179,7 @@
- struct crypto_tfm {
--      u32 crt_flags;
-+      __u32 crt_flags;
-       
-       union {
-               struct cipher_tfm cipher;
-@@ -203,7 +203,7 @@
-  * crypto_free_tfm() frees up the transform and any associated resources,
-  * then drops the refcount on the associated algorithm.
-  */
--struct crypto_tfm *crypto_alloc_tfm(const char *alg_name, u32 tfm_flags);
-+struct crypto_tfm *crypto_alloc_tfm(const char *alg_name, __u32 tfm_flags);
- void crypto_free_tfm(struct crypto_tfm *tfm);
- /*
-@@ -219,7 +219,7 @@
-       return module_name(tfm->__crt_alg->cra_module);
- }
--static inline u32 crypto_tfm_alg_type(struct crypto_tfm *tfm)
-+static inline __u32 crypto_tfm_alg_type(struct crypto_tfm *tfm)
- {
-       return tfm->__crt_alg->cra_flags & CRYPTO_ALG_TYPE_MASK;
- }
-@@ -270,7 +270,7 @@
-       tfm->crt_digest.dit_update(tfm, sg, nsg);
- }
--static inline void crypto_digest_final(struct crypto_tfm *tfm, u8 *out)
-+static inline void crypto_digest_final(struct crypto_tfm *tfm, __u8 *out)
- {
-       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST);
-       tfm->crt_digest.dit_final(tfm, out);
-@@ -278,14 +278,14 @@
- static inline void crypto_digest_digest(struct crypto_tfm *tfm,
-                                         struct scatterlist *sg,
--                                        unsigned int nsg, u8 *out)
-+                                        unsigned int nsg, __u8 *out)
- {
-       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST);
-       tfm->crt_digest.dit_digest(tfm, sg, nsg, out);
- }
- static inline int crypto_digest_setkey(struct crypto_tfm *tfm,
--                                       const u8 *key, unsigned int keylen)
-+                                       const __u8 *key, unsigned int keylen)
- {
-       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST);
-       if (tfm->crt_digest.dit_setkey == NULL)
-@@ -294,7 +294,7 @@
- }
- static inline int crypto_cipher_setkey(struct crypto_tfm *tfm,
--                                       const u8 *key, unsigned int keylen)
-+                                       const __u8 *key, unsigned int keylen)
- {
-       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
-       return tfm->crt_cipher.cit_setkey(tfm, key, keylen);
-@@ -312,7 +312,7 @@
- static inline int crypto_cipher_encrypt_iv(struct crypto_tfm *tfm,
-                                            struct scatterlist *dst,
-                                            struct scatterlist *src,
--                                           unsigned int nbytes, u8 *iv)
-+                                           unsigned int nbytes, __u8 *iv)
- {
-       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
-       BUG_ON(tfm->crt_cipher.cit_mode == CRYPTO_TFM_MODE_ECB);
-@@ -331,7 +331,7 @@
- static inline int crypto_cipher_decrypt_iv(struct crypto_tfm *tfm,
-                                            struct scatterlist *dst,
-                                            struct scatterlist *src,
--                                           unsigned int nbytes, u8 *iv)
-+                                           unsigned int nbytes, __u8 *iv)
- {
-       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
-       BUG_ON(tfm->crt_cipher.cit_mode == CRYPTO_TFM_MODE_ECB);
-@@ -339,30 +339,30 @@
- }
- static inline void crypto_cipher_set_iv(struct crypto_tfm *tfm,
--                                        const u8 *src, unsigned int len)
-+                                        const __u8 *src, unsigned int len)
- {
-       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
-       memcpy(tfm->crt_cipher.cit_iv, src, len);
- }
- static inline void crypto_cipher_get_iv(struct crypto_tfm *tfm,
--                                        u8 *dst, unsigned int len)
-+                                        __u8 *dst, unsigned int len)
- {
-       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
-       memcpy(dst, tfm->crt_cipher.cit_iv, len);
- }
- static inline int crypto_comp_compress(struct crypto_tfm *tfm,
--                                       const u8 *src, unsigned int slen,
--                                       u8 *dst, unsigned int *dlen)
-+                                       const __u8 *src, unsigned int slen,
-+                                       __u8 *dst, unsigned int *dlen)
- {
-       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_COMPRESS);
-       return tfm->crt_compress.cot_compress(tfm, src, slen, dst, dlen);
- }
- static inline int crypto_comp_decompress(struct crypto_tfm *tfm,
--                                         const u8 *src, unsigned int slen,
--                                         u8 *dst, unsigned int *dlen)
-+                                         const __u8 *src, unsigned int slen,
-+                                         __u8 *dst, unsigned int *dlen)
- {
-       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_COMPRESS);
-       return tfm->crt_compress.cot_decompress(tfm, src, slen, dst, dlen);
-@@ -372,13 +372,13 @@
-  * HMAC support.
-  */
- #ifdef CONFIG_CRYPTO_HMAC
--void crypto_hmac_init(struct crypto_tfm *tfm, u8 *key, unsigned int *keylen);
-+void crypto_hmac_init(struct crypto_tfm *tfm, __u8 *key, unsigned int *keylen);
- void crypto_hmac_update(struct crypto_tfm *tfm,
-                         struct scatterlist *sg, unsigned int nsg);
--void crypto_hmac_final(struct crypto_tfm *tfm, u8 *key,
--                       unsigned int *keylen, u8 *out);
--void crypto_hmac(struct crypto_tfm *tfm, u8 *key, unsigned int *keylen,
--                 struct scatterlist *sg, unsigned int nsg, u8 *out);
-+void crypto_hmac_final(struct crypto_tfm *tfm, __u8 *key,
-+                       unsigned int *keylen, __u8 *out);
-+void crypto_hmac(struct crypto_tfm *tfm, __u8 *key, unsigned int *keylen,
-+                 struct scatterlist *sg, unsigned int nsg, __u8 *out);
- #endif        /* CONFIG_CRYPTO_HMAC */
- #endif        /* _LINUX_CRYPTO_H */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/cycx_drv.h linux-libc-headers-2.6.8.0/include/linux/cycx_drv.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/cycx_drv.h   2003-12-15 12:46:57.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/cycx_drv.h        2004-08-26 05:41:49.000000000 -0500
-@@ -14,9 +14,9 @@
- * ============================================================================
- * 1999/10/23  acme            cycxhw_t cleanup
- * 1999/01/03  acme            more judicious use of data types...
--*                             uclong, ucchar, etc deleted, the u8, u16, u32
-+*                             uclong, ucchar, etc deleted, the __u8, __u16, __u32
- *                             types are the portable way to go.
--* 1999/01/03  acme            judicious use of data types... u16, u32, etc
-+* 1999/01/03  acme            judicious use of data types... __u16, __u32, etc
- * 1998/12/26  acme            FIXED_BUFFERS, CONF_OFFSET,
- *                               removal of cy_read{bwl}
- * 1998/08/08  acme            Initial version.
-@@ -46,18 +46,18 @@
-  *    @reserved - reserved for future use
-  */
- struct cycx_hw {
--      u32 fwid;
-+      __u32 fwid;
-       int irq;
-       void *dpmbase;
--      u32 dpmsize;
--      u32 reserved[5];
-+      __u32 dpmsize;
-+      __u32 reserved[5];
- };
- /* Function Prototypes */
--extern int cycx_setup(struct cycx_hw *hw, void *sfm, u32 len);
-+extern int cycx_setup(struct cycx_hw *hw, void *sfm, __u32 len);
- extern int cycx_down(struct cycx_hw *hw);
--extern int cycx_peek(struct cycx_hw *hw, u32 addr, void *buf, u32 len);
--extern int cycx_poke(struct cycx_hw *hw, u32 addr, void *buf, u32 len);
-+extern int cycx_peek(struct cycx_hw *hw, __u32 addr, void *buf, __u32 len);
-+extern int cycx_poke(struct cycx_hw *hw, __u32 addr, void *buf, __u32 len);
- extern int cycx_exec(void *addr);
- extern void cycx_inten(struct cycx_hw *hw);
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/cycx_x25.h linux-libc-headers-2.6.8.0/include/linux/cycx_x25.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/cycx_x25.h   2003-12-15 12:46:58.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/cycx_x25.h        2004-08-26 05:41:49.000000000 -0500
-@@ -38,10 +38,10 @@
- /* Data Structures */
- /* X.25 Command Block. */
- struct cycx_x25_cmd {
--      u16 command PACKED;
--      u16 link    PACKED; /* values: 0 or 1 */
--      u16 len     PACKED; /* values: 0 thru 0x205 (517) */
--      u32 buf     PACKED;
-+      __u16 command PACKED;
-+      __u16 link    PACKED; /* values: 0 or 1 */
-+      __u16 len     PACKED; /* values: 0 thru 0x205 (517) */
-+      __u32 buf     PACKED;
- };
- /* Defines for the 'command' field. */
-@@ -92,34 +92,34 @@
-  *    @flags - see dosx25.doc, in portuguese, for details
-  */
- struct cycx_x25_config {
--      u8  link        PACKED;
--      u8  speed       PACKED;
--      u8  clock       PACKED;
--      u8  n2          PACKED;
--      u8  n2win       PACKED;
--      u8  n3win       PACKED;
--      u8  nvc         PACKED;
--      u8  pktlen      PACKED;
--      u8  locaddr     PACKED;
--      u8  remaddr     PACKED;
--      u16 t1          PACKED;
--      u16 t2          PACKED;
--      u8  t21         PACKED;
--      u8  npvc        PACKED;
--      u8  t23         PACKED;
--      u8  flags       PACKED;
-+      __u8  link      PACKED;
-+      __u8  speed     PACKED;
-+      __u8  clock     PACKED;
-+      __u8  n2                PACKED;
-+      __u8  n2win     PACKED;
-+      __u8  n3win     PACKED;
-+      __u8  nvc               PACKED;
-+      __u8  pktlen    PACKED;
-+      __u8  locaddr   PACKED;
-+      __u8  remaddr   PACKED;
-+      __u16 t1                PACKED;
-+      __u16 t2                PACKED;
-+      __u8  t21               PACKED;
-+      __u8  npvc      PACKED;
-+      __u8  t23               PACKED;
-+      __u8  flags     PACKED;
- };
- struct cycx_x25_stats {
--      u16 rx_crc_errors       PACKED;
--      u16 rx_over_errors      PACKED;
--      u16 n2_tx_frames        PACKED;
--      u16 n2_rx_frames        PACKED;
--      u16 tx_timeouts         PACKED;
--      u16 rx_timeouts         PACKED;
--      u16 n3_tx_packets       PACKED;
--      u16 n3_rx_packets       PACKED;
--      u16 tx_aborts           PACKED;
--      u16 rx_aborts           PACKED;
-+      __u16 rx_crc_errors     PACKED;
-+      __u16 rx_over_errors    PACKED;
-+      __u16 n2_tx_frames      PACKED;
-+      __u16 n2_rx_frames      PACKED;
-+      __u16 tx_timeouts       PACKED;
-+      __u16 rx_timeouts       PACKED;
-+      __u16 n3_tx_packets     PACKED;
-+      __u16 n3_rx_packets     PACKED;
-+      __u16 tx_aborts         PACKED;
-+      __u16 rx_aborts         PACKED;
- };
- #endif        /* _CYCX_X25_H */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/device.h linux-libc-headers-2.6.8.0/include/linux/device.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/device.h     2004-08-18 13:16:02.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/device.h  2004-08-26 05:41:49.000000000 -0500
-@@ -57,7 +57,7 @@
-       struct device * (*add)  (struct device * parent, char * bus_id);
-       int             (*hotplug) (struct device *dev, char **envp, 
-                                   int num_envp, char *buffer, int buffer_size);
--      int             (*suspend)(struct device * dev, u32 state);
-+      int             (*suspend)(struct device * dev, __u32 state);
-       int             (*resume)(struct device * dev);
- };
-@@ -105,8 +105,8 @@
-       int     (*probe)        (struct device * dev);
-       int     (*remove)       (struct device * dev);
-       void    (*shutdown)     (struct device * dev);
--      int     (*suspend)      (struct device * dev, u32 state, u32 level);
--      int     (*resume)       (struct device * dev, u32 level);
-+      int     (*suspend)      (struct device * dev, __u32 state, __u32 level);
-+      int     (*resume)       (struct device * dev, __u32 level);
- };
-@@ -262,17 +262,17 @@
-       void            *platform_data; /* Platform specific data (e.g. ACPI,
-                                          BIOS data relevant to device) */
-       struct dev_pm_info      power;
--      u32             power_state;    /* Current operating state. In
-+      __u32           power_state;    /* Current operating state. In
-                                          ACPI-speak, this is D0-D3, D0
-                                          being fully functional, and D3
-                                          being off. */
-       unsigned char *saved_state;     /* saved device state */
--      u32             detach_state;   /* State to enter when device is
-+      __u32           detach_state;   /* State to enter when device is
-                                          detached from its driver. */
--      u64             *dma_mask;      /* dma mask (if dma'able device) */
--      u64             coherent_dma_mask;/* Like dma_mask, but for
-+      __u64           *dma_mask;      /* dma mask (if dma'able device) */
-+      __u64           coherent_dma_mask;/* Like dma_mask, but for
-                                            alloc_coherent mappings as
-                                            not all hardware supports
-                                            64 bit addresses for consistent
-@@ -360,9 +360,9 @@
- struct platform_device {
-       char            * name;
--      u32             id;
-+      __u32           id;
-       struct device   dev;
--      u32             num_resources;
-+      __u32           num_resources;
-       struct resource * resource;
- };
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/divert.h linux-libc-headers-2.6.8.0/include/linux/divert.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/divert.h     2004-06-09 07:00:49.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/divert.h  2004-08-26 05:41:49.000000000 -0500
-@@ -27,10 +27,10 @@
- {
-       int             divert;  /* are we active */
-       unsigned int protos;    /* protocols */
--      u16             tcp_dst[MAX_DIVERT_PORTS]; /* specific tcp dst ports to divert */
--      u16             tcp_src[MAX_DIVERT_PORTS]; /* specific tcp src ports to divert */
--      u16             udp_dst[MAX_DIVERT_PORTS]; /* specific udp dst ports to divert */
--      u16             udp_src[MAX_DIVERT_PORTS]; /* specific udp src ports to divert */
-+      __u16           tcp_dst[MAX_DIVERT_PORTS]; /* specific tcp dst ports to divert */
-+      __u16           tcp_src[MAX_DIVERT_PORTS]; /* specific tcp src ports to divert */
-+      __u16           udp_dst[MAX_DIVERT_PORTS]; /* specific udp dst ports to divert */
-+      __u16           udp_src[MAX_DIVERT_PORTS]; /* specific udp src ports to divert */
- };
- /*
-@@ -40,12 +40,12 @@
- typedef union _divert_cf_arg
- {
--      s16             int16;
--      u16             uint16;
--      s32             int32;
--      u32             uint32;
--      s64             int64;
--      u64             uint64;
-+      __s16           int16;
-+      __u16           uint16;
-+      __s32           int32;
-+      __u32           uint32;
-+      __s64           int64;
-+      __u64           uint64;
-       void    *ptr;
- } divert_cf_arg;
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/eeprom.h linux-libc-headers-2.6.8.0/include/linux/eeprom.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/eeprom.h     2003-12-19 07:05:15.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/eeprom.h  2004-08-26 13:26:38.000000000 -0500
-@@ -26,15 +26,15 @@
-       unsigned        ee_state;
-       spinlock_t      *lock;
--      u32             *cache;
-+      __u32           *cache;
- };
--u8   eeprom_readb(struct eeprom *ee, unsigned address);
--void eeprom_read(struct eeprom *ee, unsigned address, u8 *bytes,
-+__u8   eeprom_readb(struct eeprom *ee, unsigned address);
-+void eeprom_read(struct eeprom *ee, unsigned address, __u8 *bytes,
-               unsigned count);
--void eeprom_writeb(struct eeprom *ee, unsigned address, u8 data);
--void eeprom_write(struct eeprom *ee, unsigned address, u8 *bytes,
-+void eeprom_writeb(struct eeprom *ee, unsigned address, __u8 data);
-+void eeprom_write(struct eeprom *ee, unsigned address, __u8 *bytes,
-               unsigned count);
- /* The EEPROM commands include the alway-set leading bit. */
-@@ -56,10 +56,10 @@
- }
- /* foo. put this in a .c file */
--static inline void eeprom_update(struct eeprom *ee, u32 mask, int pol)
-+static inline void eeprom_update(struct eeprom *ee, __u32 mask, int pol)
- {
-       unsigned long flags;
--      u32 data;
-+      __u32 data;
-       spin_lock_irqsave(ee->lock, flags);
-       data = *ee->cache;
-@@ -106,17 +106,17 @@
-       eeprom_update(ee, ee->eedi, pol);
- }
--u16   eeprom_readw(struct eeprom *ee, unsigned address)
-+__u16   eeprom_readw(struct eeprom *ee, unsigned address)
- {
-       unsigned i;
--      u16     res = 0;
-+      __u16   res = 0;
-       eeprom_clk_lo(ee);
-       eeprom_update(ee, ee->eesel, 1 ^ !!(ee->polarity & EEPOL_EESEL));
-       eeprom_send_addr(ee, address);
-       for (i=0; i<16; i++) {
--              u32 data;
-+              __u32 data;
-               eeprom_clk_hi(ee);
-               res <<= 1;
-               data = readl(ee->addr);
-@@ -130,6 +130,6 @@
- }
--void eeprom_writeb(struct eeprom *ee, unsigned address, u8 data)
-+void eeprom_writeb(struct eeprom *ee, unsigned address, __u8 data)
- {
- }
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/efi.h linux-libc-headers-2.6.8.0/include/linux/efi.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/efi.h        2004-08-18 13:16:02.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/efi.h     2004-08-26 05:42:08.000000000 -0500
-@@ -30,12 +30,12 @@
- #define EFI_NOT_FOUND         (14 | (1UL << (BITS_PER_LONG-1)))
- typedef unsigned long efi_status_t;
--typedef u8 efi_bool_t;
--typedef u16 efi_char16_t;             /* UNICODE character */
-+typedef __u8 efi_bool_t;
-+typedef __u16 efi_char16_t;           /* UNICODE character */
- typedef struct {
--      u8 b[16];
-+      __u8 b[16];
- } efi_guid_t;
- #define EFI_GUID(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) \
-@@ -49,11 +49,11 @@
-  * Generic EFI table header
-  */
- typedef       struct {
--      u64 signature;
--      u32 revision;
--      u32 headersize;
--      u32 crc32;
--      u32 reserved;
-+      __u64 signature;
-+      __u32 revision;
-+      __u32 headersize;
-+      __u32 crc32;
-+      __u32 reserved;
- } efi_table_hdr_t;
- /*
-@@ -78,14 +78,14 @@
- #define EFI_MAX_MEMORY_TYPE           14
- /* Attribute values: */
--#define EFI_MEMORY_UC         ((u64)0x0000000000000001ULL)    /* uncached */
--#define EFI_MEMORY_WC         ((u64)0x0000000000000002ULL)    /* write-coalescing */
--#define EFI_MEMORY_WT         ((u64)0x0000000000000004ULL)    /* write-through */
--#define EFI_MEMORY_WB         ((u64)0x0000000000000008ULL)    /* write-back */
--#define EFI_MEMORY_WP         ((u64)0x0000000000001000ULL)    /* write-protect */
--#define EFI_MEMORY_RP         ((u64)0x0000000000002000ULL)    /* read-protect */
--#define EFI_MEMORY_XP         ((u64)0x0000000000004000ULL)    /* execute-protect */
--#define EFI_MEMORY_RUNTIME    ((u64)0x8000000000000000ULL)    /* range requires runtime mapping */
-+#define EFI_MEMORY_UC         ((__u64)0x0000000000000001ULL)  /* uncached */
-+#define EFI_MEMORY_WC         ((__u64)0x0000000000000002ULL)  /* write-coalescing */
-+#define EFI_MEMORY_WT         ((__u64)0x0000000000000004ULL)  /* write-through */
-+#define EFI_MEMORY_WB         ((__u64)0x0000000000000008ULL)  /* write-back */
-+#define EFI_MEMORY_WP         ((__u64)0x0000000000001000ULL)  /* write-protect */
-+#define EFI_MEMORY_RP         ((__u64)0x0000000000002000ULL)  /* read-protect */
-+#define EFI_MEMORY_XP         ((__u64)0x0000000000004000ULL)  /* execute-protect */
-+#define EFI_MEMORY_RUNTIME    ((__u64)0x8000000000000000ULL)  /* range requires runtime mapping */
- #define EFI_MEMORY_DESCRIPTOR_VERSION 1
- #define EFI_PAGE_SHIFT                12
-@@ -96,14 +96,14 @@
-  * the case in ia64.  Need to have this fixed in the f/w.
-  */
- typedef struct {
--      u32 type;
--      u32 pad;
--      u64 phys_addr;
--      u64 virt_addr;
--      u64 num_pages;
--      u64 attribute;
-+      __u32 type;
-+      __u32 pad;
-+      __u64 phys_addr;
-+      __u64 virt_addr;
-+      __u64 num_pages;
-+      __u64 attribute;
- #if defined (__i386__)
--      u64 pad1;
-+      __u64 pad1;
- #endif
- } efi_memory_desc_t;
-@@ -117,23 +117,23 @@
- #define EFI_UNSPECIFIED_TIMEZONE 0x07ff
- typedef struct {
--      u16 year;
--      u8 month;
--      u8 day;
--      u8 hour;
--      u8 minute;
--      u8 second;
--      u8 pad1;
--      u32 nanosecond;
--      s16 timezone;
--      u8 daylight;
--      u8 pad2;
-+      __u16 year;
-+      __u8 month;
-+      __u8 day;
-+      __u8 hour;
-+      __u8 minute;
-+      __u8 second;
-+      __u8 pad1;
-+      __u32 nanosecond;
-+      __s16 timezone;
-+      __u8 daylight;
-+      __u8 pad2;
- } efi_time_t;
- typedef struct {
--      u32 resolution;
--      u32 accuracy;
--      u8 sets_to_zero;
-+      __u32 resolution;
-+      __u32 accuracy;
-+      __u8 sets_to_zero;
- } efi_time_cap_t;
- /*
-@@ -146,7 +146,7 @@
- /*
-  * EFI Runtime Services table
-  */
--#define EFI_RUNTIME_SERVICES_SIGNATURE ((u64)0x5652453544e5552ULL)
-+#define EFI_RUNTIME_SERVICES_SIGNATURE ((__u64)0x5652453544e5552ULL)
- #define EFI_RUNTIME_SERVICES_REVISION  0x00010000
- typedef struct {
-@@ -169,19 +169,19 @@
- typedef efi_status_t efi_get_wakeup_time_t (efi_bool_t *enabled, efi_bool_t *pending,
-                                           efi_time_t *tm);
- typedef efi_status_t efi_set_wakeup_time_t (efi_bool_t enabled, efi_time_t *tm);
--typedef efi_status_t efi_get_variable_t (efi_char16_t *name, efi_guid_t *vendor, u32 *attr,
-+typedef efi_status_t efi_get_variable_t (efi_char16_t *name, efi_guid_t *vendor, __u32 *attr,
-                                        unsigned long *data_size, void *data);
- typedef efi_status_t efi_get_next_variable_t (unsigned long *name_size, efi_char16_t *name,
-                                             efi_guid_t *vendor);
- typedef efi_status_t efi_set_variable_t (efi_char16_t *name, efi_guid_t *vendor, 
-                                        unsigned long attr, unsigned long data_size, 
-                                        void *data);
--typedef efi_status_t efi_get_next_high_mono_count_t (u32 *count);
-+typedef efi_status_t efi_get_next_high_mono_count_t (__u32 *count);
- typedef void efi_reset_system_t (int reset_type, efi_status_t status,
-                                unsigned long data_size, efi_char16_t *data);
- typedef efi_status_t efi_set_virtual_address_map_t (unsigned long memory_map_size,
-                                               unsigned long descriptor_size,
--                                              u32 descriptor_version,
-+                                              __u32 descriptor_version,
-                                               efi_memory_desc_t *virtual_map);
- /*
-@@ -219,13 +219,13 @@
-       unsigned long table;
- } efi_config_table_t;
--#define EFI_SYSTEM_TABLE_SIGNATURE ((u64)0x5453595320494249ULL)
-+#define EFI_SYSTEM_TABLE_SIGNATURE ((__u64)0x5453595320494249ULL)
- #define EFI_SYSTEM_TABLE_REVISION  ((1 << 16) | 00)
- typedef struct {
-       efi_table_hdr_t hdr;
-       unsigned long fw_vendor;        /* physical addr of CHAR16 vendor string */
--      u32 fw_revision;
-+      __u32 fw_revision;
-       unsigned long con_in_handle;
-       unsigned long con_in;
-       unsigned long con_out_handle;
-@@ -293,9 +293,9 @@
- extern void efi_memmap_walk (efi_freemem_callback_t callback, void *arg);
- extern void efi_gettimeofday (struct timespec *ts);
- extern void efi_enter_virtual_mode (void);    /* switch EFI to virtual mode, if possible */
--extern u64 efi_get_iobase (void);
--extern u32 efi_mem_type (unsigned long phys_addr);
--extern u64 efi_mem_attributes (unsigned long phys_addr);
-+extern __u64 efi_get_iobase (void);
-+extern __u32 efi_mem_type (unsigned long phys_addr);
-+extern __u64 efi_mem_attributes (unsigned long phys_addr);
- extern int __init efi_uart_console_only (void);
- extern void efi_initialize_iomem_resources(struct resource *code_resource,
-                                       struct resource *data_resource);
-@@ -368,9 +368,9 @@
- #define   EFI_DEV_END_ENTIRE                  0xFF
- struct efi_generic_dev_path {
--      u8 type;
--      u8 sub_type;
--      u16 length;
-+      __u8 type;
-+      __u8 sub_type;
-+      __u16 length;
- } __attribute ((packed));
- #endif /* _LINUX_EFI_H */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/eisa.h linux-libc-headers-2.6.8.0/include/linux/eisa.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/eisa.h       2003-12-15 12:46:58.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/eisa.h    2004-08-26 05:42:08.000000000 -0500
-@@ -43,7 +43,7 @@
-       int                   state;
-       unsigned long         base_addr;
-       struct resource       res[EISA_MAX_RESOURCES];
--      u64                   dma_mask;
-+      __u64                   dma_mask;
-       struct device         dev; /* generic device */
- #ifdef CONFIG_EISA_NAMES
-       char                  pretty_name[DEVICE_NAME_SIZE];
-@@ -91,7 +91,7 @@
-       unsigned long    bus_base_addr;
-       int              slots;  /* Max slot number */
-       int              force_probe; /* Probe even when no slot 0 */
--      u64              dma_mask; /* from bridge device */
-+      __u64            dma_mask; /* from bridge device */
-       int              bus_nr; /* Set by eisa_root_register */
-       struct resource  eisa_root_res; /* ditto */
- };
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/ethtool.h linux-libc-headers-2.6.8.0/include/linux/ethtool.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/ethtool.h    2004-06-23 16:52:54.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/ethtool.h 2004-08-26 13:29:11.000000000 -0500
-@@ -15,24 +15,24 @@
- /* This should work for both 32 and 64 bit userland. */
- struct ethtool_cmd {
--      u32     cmd;
--      u32     supported;      /* Features this interface supports */
--      u32     advertising;    /* Features this interface advertises */
--      u16     speed;          /* The forced speed, 10Mb, 100Mb, gigabit */
--      u8      duplex;         /* Duplex, half or full */
--      u8      port;           /* Which connector port */
--      u8      phy_address;
--      u8      transceiver;    /* Which transceiver to use */
--      u8      autoneg;        /* Enable or disable autonegotiation */
--      u32     maxtxpkt;       /* Tx pkts before generating tx int */
--      u32     maxrxpkt;       /* Rx pkts before generating rx int */
--      u32     reserved[4];
-+      __u32   cmd;
-+      __u32   supported;      /* Features this interface supports */
-+      __u32   advertising;    /* Features this interface advertises */
-+      __u16   speed;          /* The forced speed, 10Mb, 100Mb, gigabit */
-+      __u8    duplex;         /* Duplex, half or full */
-+      __u8    port;           /* Which connector port */
-+      __u8    phy_address;
-+      __u8    transceiver;    /* Which transceiver to use */
-+      __u8    autoneg;        /* Enable or disable autonegotiation */
-+      __u32   maxtxpkt;       /* Tx pkts before generating tx int */
-+      __u32   maxrxpkt;       /* Rx pkts before generating rx int */
-+      __u32   reserved[4];
- };
- #define ETHTOOL_BUSINFO_LEN   32
- /* these strings are set to whatever the driver author decides... */
- struct ethtool_drvinfo {
--      u32     cmd;
-+      __u32   cmd;
-       char    driver[32];     /* driver short name, "tulip", "eepro100" */
-       char    version[32];    /* driver version string */
-       char    fw_version[32]; /* firmware version string, if applicable */
-@@ -40,53 +40,53 @@
-                               /* For PCI devices, use pci_name(pci_dev). */
-       char    reserved1[32];
-       char    reserved2[16];
--      u32     n_stats;        /* number of u64's from ETHTOOL_GSTATS */
--      u32     testinfo_len;
--      u32     eedump_len;     /* Size of data from ETHTOOL_GEEPROM (bytes) */
--      u32     regdump_len;    /* Size of data from ETHTOOL_GREGS (bytes) */
-+      __u32   n_stats;        /* number of __u64's from ETHTOOL_GSTATS */
-+      __u32   testinfo_len;
-+      __u32   eedump_len;     /* Size of data from ETHTOOL_GEEPROM (bytes) */
-+      __u32   regdump_len;    /* Size of data from ETHTOOL_GREGS (bytes) */
- };
- #define SOPASS_MAX    6
- /* wake-on-lan settings */
- struct ethtool_wolinfo {
--      u32     cmd;
--      u32     supported;
--      u32     wolopts;
--      u8      sopass[SOPASS_MAX]; /* SecureOn(tm) password */
-+      __u32   cmd;
-+      __u32   supported;
-+      __u32   wolopts;
-+      __u8    sopass[SOPASS_MAX]; /* SecureOn(tm) password */
- };
- /* for passing single values */
- struct ethtool_value {
--      u32     cmd;
--      u32     data;
-+      __u32   cmd;
-+      __u32   data;
- };
- /* for passing big chunks of data */
- struct ethtool_regs {
--      u32     cmd;
--      u32     version; /* driver-specific, indicates different chips/revs */
--      u32     len; /* bytes */
--      u8      data[0];
-+      __u32   cmd;
-+      __u32   version; /* driver-specific, indicates different chips/revs */
-+      __u32   len; /* bytes */
-+      __u8    data[0];
- };
- /* for passing EEPROM chunks */
- struct ethtool_eeprom {
--      u32     cmd;
--      u32     magic;
--      u32     offset; /* in bytes */
--      u32     len; /* in bytes */
--      u8      data[0];
-+      __u32   cmd;
-+      __u32   magic;
-+      __u32   offset; /* in bytes */
-+      __u32   len; /* in bytes */
-+      __u8    data[0];
- };
- /* for configuring coalescing parameters of chip */
- struct ethtool_coalesce {
--      u32     cmd;    /* ETHTOOL_{G,S}COALESCE */
-+      __u32   cmd;    /* ETHTOOL_{G,S}COALESCE */
-       /* How many usecs to delay an RX interrupt after
-        * a packet arrives.  If 0, only rx_max_coalesced_frames
-        * is used.
-        */
--      u32     rx_coalesce_usecs;
-+      __u32   rx_coalesce_usecs;
-       /* How many packets to delay an RX interrupt after
-        * a packet arrives.  If 0, only rx_coalesce_usecs is
-@@ -94,21 +94,21 @@
-        * to zero as this would cause RX interrupts to never be
-        * generated.
-        */
--      u32     rx_max_coalesced_frames;
-+      __u32   rx_max_coalesced_frames;
-       /* Same as above two parameters, except that these values
-        * apply while an IRQ is being serviced by the host.  Not
-        * all cards support this feature and the values are ignored
-        * in that case.
-        */
--      u32     rx_coalesce_usecs_irq;
--      u32     rx_max_coalesced_frames_irq;
-+      __u32   rx_coalesce_usecs_irq;
-+      __u32   rx_max_coalesced_frames_irq;
-       /* How many usecs to delay a TX interrupt after
-        * a packet is sent.  If 0, only tx_max_coalesced_frames
-        * is used.
-        */
--      u32     tx_coalesce_usecs;
-+      __u32   tx_coalesce_usecs;
-       /* How many packets to delay a TX interrupt after
-        * a packet is sent.  If 0, only tx_coalesce_usecs is
-@@ -116,22 +116,22 @@
-        * to zero as this would cause TX interrupts to never be
-        * generated.
-        */
--      u32     tx_max_coalesced_frames;
-+      __u32   tx_max_coalesced_frames;
-       /* Same as above two parameters, except that these values
-        * apply while an IRQ is being serviced by the host.  Not
-        * all cards support this feature and the values are ignored
-        * in that case.
-        */
--      u32     tx_coalesce_usecs_irq;
--      u32     tx_max_coalesced_frames_irq;
-+      __u32   tx_coalesce_usecs_irq;
-+      __u32   tx_max_coalesced_frames_irq;
-       /* How many usecs to delay in-memory statistics
-        * block updates.  Some drivers do not have an in-memory
-        * statistic block, and in such cases this value is ignored.
-        * This value must not be zero.
-        */
--      u32     stats_block_coalesce_usecs;
-+      __u32   stats_block_coalesce_usecs;
-       /* Adaptive RX/TX coalescing is an algorithm implemented by
-        * some drivers to improve latency under low packet rates and
-@@ -140,18 +140,18 @@
-        * not implemented by the driver causes these values to be
-        * silently ignored.
-        */
--      u32     use_adaptive_rx_coalesce;
--      u32     use_adaptive_tx_coalesce;
-+      __u32   use_adaptive_rx_coalesce;
-+      __u32   use_adaptive_tx_coalesce;
-       /* When the packet rate (measured in packets per second)
-        * is below pkt_rate_low, the {rx,tx}_*_low parameters are
-        * used.
-        */
--      u32     pkt_rate_low;
--      u32     rx_coalesce_usecs_low;
--      u32     rx_max_coalesced_frames_low;
--      u32     tx_coalesce_usecs_low;
--      u32     tx_max_coalesced_frames_low;
-+      __u32   pkt_rate_low;
-+      __u32   rx_coalesce_usecs_low;
-+      __u32   rx_max_coalesced_frames_low;
-+      __u32   tx_coalesce_usecs_low;
-+      __u32   tx_max_coalesced_frames_low;
-       /* When the packet rate is below pkt_rate_high but above
-        * pkt_rate_low (both measured in packets per second) the
-@@ -162,43 +162,43 @@
-        * is above pkt_rate_high, the {rx,tx}_*_high parameters are
-        * used.
-        */
--      u32     pkt_rate_high;
--      u32     rx_coalesce_usecs_high;
--      u32     rx_max_coalesced_frames_high;
--      u32     tx_coalesce_usecs_high;
--      u32     tx_max_coalesced_frames_high;
-+      __u32   pkt_rate_high;
-+      __u32   rx_coalesce_usecs_high;
-+      __u32   rx_max_coalesced_frames_high;
-+      __u32   tx_coalesce_usecs_high;
-+      __u32   tx_max_coalesced_frames_high;
-       /* How often to do adaptive coalescing packet rate sampling,
-        * measured in seconds.  Must not be zero.
-        */
--      u32     rate_sample_interval;
-+      __u32   rate_sample_interval;
- };
- /* for configuring RX/TX ring parameters */
- struct ethtool_ringparam {
--      u32     cmd;    /* ETHTOOL_{G,S}RINGPARAM */
-+      __u32   cmd;    /* ETHTOOL_{G,S}RINGPARAM */
-       /* Read only attributes.  These indicate the maximum number
-        * of pending RX/TX ring entries the driver will allow the
-        * user to set.
-        */
--      u32     rx_max_pending;
--      u32     rx_mini_max_pending;
--      u32     rx_jumbo_max_pending;
--      u32     tx_max_pending;
-+      __u32   rx_max_pending;
-+      __u32   rx_mini_max_pending;
-+      __u32   rx_jumbo_max_pending;
-+      __u32   tx_max_pending;
-       /* Values changeable by the user.  The valid values are
-        * in the range 1 to the "*_max_pending" counterpart above.
-        */
--      u32     rx_pending;
--      u32     rx_mini_pending;
--      u32     rx_jumbo_pending;
--      u32     tx_pending;
-+      __u32   rx_pending;
-+      __u32   rx_mini_pending;
-+      __u32   rx_jumbo_pending;
-+      __u32   tx_pending;
- };
- /* for configuring link flow control parameters */
- struct ethtool_pauseparam {
--      u32     cmd;    /* ETHTOOL_{G,S}PAUSEPARAM */
-+      __u32   cmd;    /* ETHTOOL_{G,S}PAUSEPARAM */
-       /* If the link is being auto-negotiated (via ethtool_cmd.autoneg
-        * being true) the user may set 'autonet' here non-zero to have the
-@@ -210,9 +210,9 @@
-        * then {rx,tx}_pause force the driver to use/not-use pause
-        * flow control.
-        */
--      u32     autoneg;
--      u32     rx_pause;
--      u32     tx_pause;
-+      __u32   autoneg;
-+      __u32   rx_pause;
-+      __u32   tx_pause;
- };
- #define ETH_GSTRING_LEN               32
-@@ -223,10 +223,10 @@
- /* for passing string sets for data tagging */
- struct ethtool_gstrings {
--      u32     cmd;            /* ETHTOOL_GSTRINGS */
--      u32     string_set;     /* string set id e.c. ETH_SS_TEST, etc*/
--      u32     len;            /* number of strings in the string set */
--      u8      data[0];
-+      __u32   cmd;            /* ETHTOOL_GSTRINGS */
-+      __u32   string_set;     /* string set id e.c. ETH_SS_TEST, etc*/
-+      __u32   len;            /* number of strings in the string set */
-+      __u8    data[0];
- };
- enum ethtool_test_flags {
-@@ -236,30 +236,30 @@
- /* for requesting NIC test and getting results*/
- struct ethtool_test {
--      u32     cmd;            /* ETHTOOL_TEST */
--      u32     flags;          /* ETH_TEST_FL_xxx */
--      u32     reserved;
--      u32     len;            /* result length, in number of u64 elements */
--      u64     data[0];
-+      __u32   cmd;            /* ETHTOOL_TEST */
-+      __u32   flags;          /* ETH_TEST_FL_xxx */
-+      __u32   reserved;
-+      __u32   len;            /* result length, in number of __u64 elements */
-+      __u64   data[0];
- };
- /* for dumping NIC-specific statistics */
- struct ethtool_stats {
--      u32     cmd;            /* ETHTOOL_GSTATS */
--      u32     n_stats;        /* number of u64's being returned */
--      u64     data[0];
-+      __u32   cmd;            /* ETHTOOL_GSTATS */
-+      __u32   n_stats;        /* number of __u64's being returned */
-+      __u64   data[0];
- };
- struct net_device;
- /* Some generic methods drivers may use in their ethtool_ops */
--u32 ethtool_op_get_link(struct net_device *dev);
--u32 ethtool_op_get_tx_csum(struct net_device *dev);
--int ethtool_op_set_tx_csum(struct net_device *dev, u32 data);
--u32 ethtool_op_get_sg(struct net_device *dev);
--int ethtool_op_set_sg(struct net_device *dev, u32 data);
--u32 ethtool_op_get_tso(struct net_device *dev);
--int ethtool_op_set_tso(struct net_device *dev, u32 data);
-+__u32 ethtool_op_get_link(struct net_device *dev);
-+__u32 ethtool_op_get_tx_csum(struct net_device *dev);
-+int ethtool_op_set_tx_csum(struct net_device *dev, __u32 data);
-+__u32 ethtool_op_get_sg(struct net_device *dev);
-+int ethtool_op_set_sg(struct net_device *dev, __u32 data);
-+__u32 ethtool_op_get_tso(struct net_device *dev);
-+int ethtool_op_set_tso(struct net_device *dev, __u32 data);
- /**
-  * &ethtool_ops - Alter and report network device settings
-@@ -324,33 +324,33 @@
-       void    (*get_regs)(struct net_device *, struct ethtool_regs *, void *);
-       void    (*get_wol)(struct net_device *, struct ethtool_wolinfo *);
-       int     (*set_wol)(struct net_device *, struct ethtool_wolinfo *);
--      u32     (*get_msglevel)(struct net_device *);
--      void    (*set_msglevel)(struct net_device *, u32);
-+      __u32   (*get_msglevel)(struct net_device *);
-+      void    (*set_msglevel)(struct net_device *, __u32);
-       int     (*nway_reset)(struct net_device *);
--      u32     (*get_link)(struct net_device *);
-+      __u32   (*get_link)(struct net_device *);
-       int     (*get_eeprom_len)(struct net_device *);
--      int     (*get_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);
--      int     (*set_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);
-+      int     (*get_eeprom)(struct net_device *, struct ethtool_eeprom *, __u8 *);
-+      int     (*set_eeprom)(struct net_device *, struct ethtool_eeprom *, __u8 *);
-       int     (*get_coalesce)(struct net_device *, struct ethtool_coalesce *);
-       int     (*set_coalesce)(struct net_device *, struct ethtool_coalesce *);
-       void    (*get_ringparam)(struct net_device *, struct ethtool_ringparam *);
-       int     (*set_ringparam)(struct net_device *, struct ethtool_ringparam *);
-       void    (*get_pauseparam)(struct net_device *, struct ethtool_pauseparam*);
-       int     (*set_pauseparam)(struct net_device *, struct ethtool_pauseparam*);
--      u32     (*get_rx_csum)(struct net_device *);
--      int     (*set_rx_csum)(struct net_device *, u32);
--      u32     (*get_tx_csum)(struct net_device *);
--      int     (*set_tx_csum)(struct net_device *, u32);
--      u32     (*get_sg)(struct net_device *);
--      int     (*set_sg)(struct net_device *, u32);
--      u32     (*get_tso)(struct net_device *);
--      int     (*set_tso)(struct net_device *, u32);
-+      __u32   (*get_rx_csum)(struct net_device *);
-+      int     (*set_rx_csum)(struct net_device *, __u32);
-+      __u32   (*get_tx_csum)(struct net_device *);
-+      int     (*set_tx_csum)(struct net_device *, __u32);
-+      __u32   (*get_sg)(struct net_device *);
-+      int     (*set_sg)(struct net_device *, __u32);
-+      __u32   (*get_tso)(struct net_device *);
-+      int     (*set_tso)(struct net_device *, __u32);
-       int     (*self_test_count)(struct net_device *);
--      void    (*self_test)(struct net_device *, struct ethtool_test *, u64 *);
--      void    (*get_strings)(struct net_device *, u32 stringset, u8 *);
--      int     (*phys_id)(struct net_device *, u32);
-+      void    (*self_test)(struct net_device *, struct ethtool_test *, __u64 *);
-+      void    (*get_strings)(struct net_device *, __u32 stringset, __u8 *);
-+      int     (*phys_id)(struct net_device *, __u32);
-       int     (*get_stats_count)(struct net_device *);
--      void    (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *);
-+      void    (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, __u64 *);
-       int     (*begin)(struct net_device *);
-       void    (*complete)(struct net_device *);
- };
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/firmware.h linux-libc-headers-2.6.8.0/include/linux/firmware.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/firmware.h   2003-12-15 12:46:58.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/firmware.h        2004-08-26 05:42:08.000000000 -0500
-@@ -5,7 +5,7 @@
- #define FIRMWARE_NAME_MAX 30 
- struct firmware {
-       size_t size;
--      u8 *data;
-+      __u8 *data;
- };
- int request_firmware(const struct firmware **fw, const char *name,
-                    struct device *device);
-@@ -15,5 +15,5 @@
-       void (*cont)(const struct firmware *fw, void *context));
- void release_firmware(const struct firmware *fw);
--void register_firmware(const char *name, const u8 *data, size_t size);
-+void register_firmware(const char *name, const __u8 *data, size_t size);
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/fs.h linux-libc-headers-2.6.8.0/include/linux/fs.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/fs.h 2004-08-18 13:16:02.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/fs.h      2004-08-26 05:42:08.000000000 -0500
-@@ -198,7 +198,7 @@
- /* A jump here: 108-111 have been used for various private purposes. */
- #define BLKBSZGET  _IOR(0x12,112,size_t)
- #define BLKBSZSET  _IOW(0x12,113,size_t)
--#define BLKGETSIZE64 _IOR(0x12,114,size_t)    /* return device size in bytes (u64 *arg) */
-+#define BLKGETSIZE64 _IOR(0x12,114,size_t)    /* return device size in bytes (__u64 *arg) */
- #define BMAP_IOCTL 1          /* obsolete - kept for compatibility */
- #define FIBMAP           _IO(0x00,1)  /* bmap access */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/i2c.h linux-libc-headers-2.6.8.0/include/linux/i2c.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/i2c.h        2004-06-23 16:52:54.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/i2c.h     2004-08-26 05:42:08.000000000 -0500
-@@ -70,36 +70,36 @@
-    and probably just as fast. 
-    Note that we use i2c_adapter here, because you do not need a specific
-    smbus adapter to call this function. */
--extern s32 i2c_smbus_xfer (struct i2c_adapter * adapter, u16 addr, 
-+extern __s32 i2c_smbus_xfer (struct i2c_adapter * adapter, __u16 addr, 
-                            unsigned short flags,
--                           char read_write, u8 command, int size,
-+                           char read_write, __u8 command, int size,
-                            union i2c_smbus_data * data);
- /* Now follow the 'nice' access routines. These also document the calling
-    conventions of smbus_access. */
--extern s32 i2c_smbus_write_quick(struct i2c_client * client, u8 value);
--extern s32 i2c_smbus_read_byte(struct i2c_client * client);
--extern s32 i2c_smbus_write_byte(struct i2c_client * client, u8 value);
--extern s32 i2c_smbus_read_byte_data(struct i2c_client * client, u8 command);
--extern s32 i2c_smbus_write_byte_data(struct i2c_client * client,
--                                     u8 command, u8 value);
--extern s32 i2c_smbus_read_word_data(struct i2c_client * client, u8 command);
--extern s32 i2c_smbus_write_word_data(struct i2c_client * client,
--                                     u8 command, u16 value);
--extern s32 i2c_smbus_process_call(struct i2c_client * client,
--                                  u8 command, u16 value);
-+extern __s32 i2c_smbus_write_quick(struct i2c_client * client, __u8 value);
-+extern __s32 i2c_smbus_read_byte(struct i2c_client * client);
-+extern __s32 i2c_smbus_write_byte(struct i2c_client * client, __u8 value);
-+extern __s32 i2c_smbus_read_byte_data(struct i2c_client * client, __u8 command);
-+extern __s32 i2c_smbus_write_byte_data(struct i2c_client * client,
-+                                     __u8 command, __u8 value);
-+extern __s32 i2c_smbus_read_word_data(struct i2c_client * client, __u8 command);
-+extern __s32 i2c_smbus_write_word_data(struct i2c_client * client,
-+                                     __u8 command, __u16 value);
-+extern __s32 i2c_smbus_process_call(struct i2c_client * client,
-+                                  __u8 command, __u16 value);
- /* Returns the number of read bytes */
--extern s32 i2c_smbus_read_block_data(struct i2c_client * client,
--                                     u8 command, u8 *values);
--extern s32 i2c_smbus_write_block_data(struct i2c_client * client,
--                                      u8 command, u8 length,
--                                      u8 *values);
--extern s32 i2c_smbus_read_i2c_block_data(struct i2c_client * client,
--                                         u8 command, u8 *values);
--extern s32 i2c_smbus_write_i2c_block_data(struct i2c_client * client,
--                                          u8 command, u8 length,
--                                          u8 *values);
-+extern __s32 i2c_smbus_read_block_data(struct i2c_client * client,
-+                                     __u8 command, __u8 *values);
-+extern __s32 i2c_smbus_write_block_data(struct i2c_client * client,
-+                                      __u8 command, __u8 length,
-+                                      __u8 *values);
-+extern __s32 i2c_smbus_read_i2c_block_data(struct i2c_client * client,
-+                                         __u8 command, __u8 *values);
-+extern __s32 i2c_smbus_write_i2c_block_data(struct i2c_client * client,
-+                                          __u8 command, __u8 length,
-+                                          __u8 *values);
- /*
-@@ -203,9 +203,9 @@
-          using common I2C messages */
-       int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg msgs[], 
-                          int num);
--      int (*smbus_xfer) (struct i2c_adapter *adap, u16 addr, 
-+      int (*smbus_xfer) (struct i2c_adapter *adap, __u16 addr, 
-                          unsigned short flags, char read_write,
--                         u8 command, int size, union i2c_smbus_data * data);
-+                         __u8 command, int size, union i2c_smbus_data * data);
-       /* --- these optional/future use for some adapter types.*/
-       int (*slave_send)(struct i2c_adapter *,char*,int);
-@@ -215,7 +215,7 @@
-       int (*algo_control)(struct i2c_adapter *, unsigned int, unsigned long);
-       /* To determine what the adapter supports */
--      u32 (*functionality) (struct i2c_adapter *);
-+      __u32 (*functionality) (struct i2c_adapter *);
- };
- /*
-@@ -381,10 +381,10 @@
- /* Return the functionality mask */
--extern u32 i2c_get_functionality (struct i2c_adapter *adap);
-+extern __u32 i2c_get_functionality (struct i2c_adapter *adap);
- /* Return 1 if adapter supports everything we need, 0 if not. */
--extern int i2c_check_functionality (struct i2c_adapter *adap, u32 func);
-+extern int i2c_check_functionality (struct i2c_adapter *adap, __u32 func);
- /*
-  * I2C Message - used for pure i2c transaction, also from /dev interface
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/i2o-dev.h linux-libc-headers-2.6.8.0/include/linux/i2o-dev.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/i2o-dev.h    2004-06-23 16:52:54.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/i2o-dev.h 2004-08-26 05:42:08.000000000 -0500
-@@ -29,7 +29,7 @@
-  * I2O Control IOCTLs and structures
-  */
- #define I2O_MAGIC_NUMBER      'i'
--#define I2OGETIOPS            _IOR(I2O_MAGIC_NUMBER,0,u8[MAX_I2O_CONTROLLERS])
-+#define I2OGETIOPS            _IOR(I2O_MAGIC_NUMBER,0,__u8[MAX_I2O_CONTROLLERS])
- #define I2OHRTGET             _IOWR(I2O_MAGIC_NUMBER,1,struct i2o_cmd_hrtlct)
- #define I2OLCTGET             _IOWR(I2O_MAGIC_NUMBER,2,struct i2o_cmd_hrtlct)
- #define I2OPARMSET            _IOWR(I2O_MAGIC_NUMBER,3,struct i2o_cmd_psetget)
-@@ -37,7 +37,7 @@
- #define I2OSWDL               _IOWR(I2O_MAGIC_NUMBER,5,struct i2o_sw_xfer)
- #define I2OSWUL               _IOWR(I2O_MAGIC_NUMBER,6,struct i2o_sw_xfer)
- #define I2OSWDEL              _IOWR(I2O_MAGIC_NUMBER,7,struct i2o_sw_xfer)
--#define I2OVALIDATE           _IOR(I2O_MAGIC_NUMBER,8,u32)
-+#define I2OVALIDATE           _IOR(I2O_MAGIC_NUMBER,8,__u32)
- #define I2OHTML               _IOWR(I2O_MAGIC_NUMBER,9,struct i2o_html)
- #define I2OEVTREG             _IOW(I2O_MAGIC_NUMBER,10,struct i2o_evt_id)
- #define I2OEVTGET             _IOR(I2O_MAGIC_NUMBER,11,struct i2o_evt_info)
-@@ -129,65 +129,65 @@
- #define I2O_BUS_CARDBUS 7
- #define I2O_BUS_UNKNOWN 0x80
--typedef unsigned char u8;
--typedef unsigned short u16;
--typedef unsigned int u32;
-+typedef unsigned char __u8;
-+typedef unsigned short __u16;
-+typedef unsigned int __u32;
- typedef struct _i2o_pci_bus
- {
--      u8      PciFunctionNumber;
--      u8      PciDeviceNumber;
--      u8      PciBusNumber;
--      u8      reserved;
--      u16     PciVendorID;
--      u16     PciDeviceID;
-+      __u8    PciFunctionNumber;
-+      __u8    PciDeviceNumber;
-+      __u8    PciBusNumber;
-+      __u8    reserved;
-+      __u16   PciVendorID;
-+      __u16   PciDeviceID;
- } i2o_pci_bus;
- typedef struct _i2o_local_bus
- {
--      u16     LbBaseIOPort;
--      u16     reserved;
--      u32     LbBaseMemoryAddress;
-+      __u16   LbBaseIOPort;
-+      __u16   reserved;
-+      __u32   LbBaseMemoryAddress;
- } i2o_local_bus;
- typedef struct _i2o_isa_bus
- {
--      u16     IsaBaseIOPort;
--      u8      CSN;
--      u8      reserved;
--      u32     IsaBaseMemoryAddress;
-+      __u16   IsaBaseIOPort;
-+      __u8    CSN;
-+      __u8    reserved;
-+      __u32   IsaBaseMemoryAddress;
- } i2o_isa_bus;
- typedef struct _i2o_eisa_bus_info
- {
--      u16     EisaBaseIOPort;
--      u8      reserved;
--      u8      EisaSlotNumber;
--      u32     EisaBaseMemoryAddress;
-+      __u16   EisaBaseIOPort;
-+      __u8    reserved;
-+      __u8    EisaSlotNumber;
-+      __u32   EisaBaseMemoryAddress;
- } i2o_eisa_bus;
- typedef struct _i2o_mca_bus
- {
--      u16     McaBaseIOPort;
--      u8      reserved;
--      u8      McaSlotNumber;
--      u32     McaBaseMemoryAddress;
-+      __u16   McaBaseIOPort;
-+      __u8    reserved;
-+      __u8    McaSlotNumber;
-+      __u32   McaBaseMemoryAddress;
- } i2o_mca_bus;
- typedef struct _i2o_other_bus
- {
--      u16 BaseIOPort;
--      u16 reserved;
--      u32 BaseMemoryAddress;
-+      __u16 BaseIOPort;
-+      __u16 reserved;
-+      __u32 BaseMemoryAddress;
- } i2o_other_bus;
- typedef struct _i2o_hrt_entry
- {
--      u32     adapter_id;
--      u32     parent_tid:12;
--      u32     state:4;
--      u32     bus_num:8;
--      u32     bus_type:8;
-+      __u32   adapter_id;
-+      __u32   parent_tid:12;
-+      __u32   state:4;
-+      __u32   bus_num:8;
-+      __u32   bus_type:8;
-       union
-       {
-               i2o_pci_bus     pci_bus;
-@@ -201,69 +201,69 @@
- typedef struct _i2o_hrt
- {
--      u16     num_entries;
--      u8      entry_len;
--      u8      hrt_version;
--      u32     change_ind;
-+      __u16   num_entries;
-+      __u8    entry_len;
-+      __u8    hrt_version;
-+      __u32   change_ind;
-       i2o_hrt_entry hrt_entry[1];
- } i2o_hrt;
- typedef struct _i2o_lct_entry
- {
--      u32     entry_size:16;
--      u32     tid:12;
--      u32     reserved:4;
--      u32     change_ind;
--      u32     device_flags;
--      u32     class_id:12;
--      u32     version:4;
--      u32     vendor_id:16;
--      u32     sub_class;
--      u32     user_tid:12;
--      u32     parent_tid:12;
--      u32     bios_info:8;
--      u8      identity_tag[8];
--      u32     event_capabilities;
-+      __u32   entry_size:16;
-+      __u32   tid:12;
-+      __u32   reserved:4;
-+      __u32   change_ind;
-+      __u32   device_flags;
-+      __u32   class_id:12;
-+      __u32   version:4;
-+      __u32   vendor_id:16;
-+      __u32   sub_class;
-+      __u32   user_tid:12;
-+      __u32   parent_tid:12;
-+      __u32   bios_info:8;
-+      __u8    identity_tag[8];
-+      __u32   event_capabilities;
- } i2o_lct_entry;
- typedef struct _i2o_lct
- {
--      u32     table_size:16;
--      u32     boot_tid:12;
--      u32     lct_ver:4;
--      u32     iop_flags;
--      u32     change_ind;
-+      __u32   table_size:16;
-+      __u32   boot_tid:12;
-+      __u32   lct_ver:4;
-+      __u32   iop_flags;
-+      __u32   change_ind;
-       i2o_lct_entry lct_entry[1];
- } i2o_lct;
- typedef struct _i2o_status_block
- {
--      u16     org_id;
--      u16     reserved;
--      u16     iop_id:12;
--      u16     reserved1:4;
--      u16     host_unit_id;
--      u16     segment_number:12;
--      u16     i2o_version:4;
--      u8      iop_state;
--      u8      msg_type;
--      u16     inbound_frame_size;
--      u8      init_code;
--      u8      reserved2;
--      u32     max_inbound_frames;
--      u32     cur_inbound_frames;
--      u32     max_outbound_frames;
-+      __u16   org_id;
-+      __u16   reserved;
-+      __u16   iop_id:12;
-+      __u16   reserved1:4;
-+      __u16   host_unit_id;
-+      __u16   segment_number:12;
-+      __u16   i2o_version:4;
-+      __u8    iop_state;
-+      __u8    msg_type;
-+      __u16   inbound_frame_size;
-+      __u8    init_code;
-+      __u8    reserved2;
-+      __u32   max_inbound_frames;
-+      __u32   cur_inbound_frames;
-+      __u32   max_outbound_frames;
-       char    product_id[24];
--      u32     expected_lct_size;
--      u32     iop_capabilities;
--      u32     desired_mem_size;
--      u32     current_mem_size;
--      u32     current_mem_base;
--      u32     desired_io_size;
--      u32     current_io_size;
--      u32     current_io_base;
--      u32     reserved3:24;
--      u32     cmd_status:8;
-+      __u32   expected_lct_size;
-+      __u32   iop_capabilities;
-+      __u32   desired_mem_size;
-+      __u32   current_mem_size;
-+      __u32   current_mem_base;
-+      __u32   desired_io_size;
-+      __u32   current_io_size;
-+      __u32   current_io_base;
-+      __u32   reserved3:24;
-+      __u32   cmd_status:8;
- } i2o_status_block;
- /* Event indicator mask flags */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/isdn/capilli.h linux-libc-headers-2.6.8.0/include/linux/isdn/capilli.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/isdn/capilli.h       2004-03-28 07:52:12.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/isdn/capilli.h    2004-08-26 13:26:47.000000000 -0500
-@@ -43,20 +43,20 @@
-       char *driver_name;                      /* name of driver */
-       int (*load_firmware)(struct capi_ctr *, capiloaddata *);
-       void (*reset_ctr)(struct capi_ctr *);
--      void (*register_appl)(struct capi_ctr *, u16 appl,
-+      void (*register_appl)(struct capi_ctr *, __u16 appl,
-                             capi_register_params *);
--      void (*release_appl)(struct capi_ctr *, u16 appl);
--      u16  (*send_message)(struct capi_ctr *, struct sk_buff *skb);
-+      void (*release_appl)(struct capi_ctr *, __u16 appl);
-+      __u16  (*send_message)(struct capi_ctr *, struct sk_buff *skb);
-       
-       char *(*procinfo)(struct capi_ctr *);
-       int (*ctr_read_proc)(char *page, char **start, off_t off,
-                            int count, int *eof, struct capi_ctr *card);
-       /* filled in before calling ready callback */
--      u8 manu[CAPI_MANUFACTURER_LEN];         /* CAPI_GET_MANUFACTURER */
-+      __u8 manu[CAPI_MANUFACTURER_LEN];               /* CAPI_GET_MANUFACTURER */
-       capi_version version;                   /* CAPI_GET_VERSION */
-       capi_profile profile;                   /* CAPI_GET_PROFILE */
--      u8 serial[CAPI_SERIAL_LEN];             /* CAPI_GET_SERIAL */
-+      __u8 serial[CAPI_SERIAL_LEN];           /* CAPI_GET_SERIAL */
-       /* management information for kcapi */
-@@ -81,7 +81,7 @@
- void capi_ctr_reseted(struct capi_ctr * card);
- void capi_ctr_suspend_output(struct capi_ctr * card);
- void capi_ctr_resume_output(struct capi_ctr * card);
--void capi_ctr_handle_message(struct capi_ctr * card, u16 appl, struct sk_buff *skb);
-+void capi_ctr_handle_message(struct capi_ctr * card, __u16 appl, struct sk_buff *skb);
- // ---------------------------------------------------------------------------
- // needed for AVM capi drivers
-@@ -102,11 +102,11 @@
- // ---------------------------------------------------------------------------
- // library functions for use by hardware controller drivers
--void capilib_new_ncci(struct list_head *head, u16 applid, u32 ncci, u32 winsize);
--void capilib_free_ncci(struct list_head *head, u16 applid, u32 ncci);
--void capilib_release_appl(struct list_head *head, u16 applid);
-+void capilib_new_ncci(struct list_head *head, __u16 applid, __u32 ncci, __u32 winsize);
-+void capilib_free_ncci(struct list_head *head, __u16 applid, __u32 ncci);
-+void capilib_release_appl(struct list_head *head, __u16 applid);
- void capilib_release(struct list_head *head);
--void capilib_data_b3_conf(struct list_head *head, u16 applid, u32 ncci, u16 msgid);
--u16  capilib_data_b3_req(struct list_head *head, u16 applid, u32 ncci, u16 msgid);
-+void capilib_data_b3_conf(struct list_head *head, __u16 applid, __u32 ncci, __u16 msgid);
-+__u16  capilib_data_b3_req(struct list_head *head, __u16 applid, __u32 ncci, __u16 msgid);
- #endif                                /* __CAPILLI_H__ */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/jhash.h linux-libc-headers-2.6.8.0/include/linux/jhash.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/jhash.h      2004-03-28 07:52:09.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/jhash.h   2004-08-26 05:42:08.000000000 -0500
-@@ -41,19 +41,19 @@
-  * of bytes.  No alignment or length assumptions are made about
-  * the input key.
-  */
--static inline u32 jhash(const void *key, u32 length, u32 initval)
-+static inline __u32 jhash(const void *key, __u32 length, __u32 initval)
- {
--      u32 a, b, c, len;
--      const u8 *k = key;
-+      __u32 a, b, c, len;
-+      const __u8 *k = key;
-       len = length;
-       a = b = JHASH_GOLDEN_RATIO;
-       c = initval;
-       while (len >= 12) {
--              a += (k[0] +((u32)k[1]<<8) +((u32)k[2]<<16) +((u32)k[3]<<24));
--              b += (k[4] +((u32)k[5]<<8) +((u32)k[6]<<16) +((u32)k[7]<<24));
--              c += (k[8] +((u32)k[9]<<8) +((u32)k[10]<<16)+((u32)k[11]<<24));
-+              a += (k[0] +((__u32)k[1]<<8) +((__u32)k[2]<<16) +((__u32)k[3]<<24));
-+              b += (k[4] +((__u32)k[5]<<8) +((__u32)k[6]<<16) +((__u32)k[7]<<24));
-+              c += (k[8] +((__u32)k[9]<<8) +((__u32)k[10]<<16)+((__u32)k[11]<<24));
-               __jhash_mix(a,b,c);
-@@ -63,16 +63,16 @@
-       c += length;
-       switch (len) {
--      case 11: c += ((u32)k[10]<<24);
--      case 10: c += ((u32)k[9]<<16);
--      case 9 : c += ((u32)k[8]<<8);
--      case 8 : b += ((u32)k[7]<<24);
--      case 7 : b += ((u32)k[6]<<16);
--      case 6 : b += ((u32)k[5]<<8);
-+      case 11: c += ((__u32)k[10]<<24);
-+      case 10: c += ((__u32)k[9]<<16);
-+      case 9 : c += ((__u32)k[8]<<8);
-+      case 8 : b += ((__u32)k[7]<<24);
-+      case 7 : b += ((__u32)k[6]<<16);
-+      case 6 : b += ((__u32)k[5]<<8);
-       case 5 : b += k[4];
--      case 4 : a += ((u32)k[3]<<24);
--      case 3 : a += ((u32)k[2]<<16);
--      case 2 : a += ((u32)k[1]<<8);
-+      case 4 : a += ((__u32)k[3]<<24);
-+      case 3 : a += ((__u32)k[2]<<16);
-+      case 2 : a += ((__u32)k[1]<<8);
-       case 1 : a += k[0];
-       };
-@@ -81,12 +81,12 @@
-       return c;
- }
--/* A special optimized version that handles 1 or more of u32s.
-- * The length parameter here is the number of u32s in the key.
-+/* A special optimized version that handles 1 or more of __u32s.
-+ * The length parameter here is the number of __u32s in the key.
-  */
--static inline u32 jhash2(u32 *k, u32 length, u32 initval)
-+static inline __u32 jhash2(__u32 *k, __u32 length, __u32 initval)
- {
--      u32 a, b, c, len;
-+      __u32 a, b, c, len;
-       a = b = JHASH_GOLDEN_RATIO;
-       c = initval;
-@@ -119,7 +119,7 @@
-  * NOTE: In partilar the "c += length; __jhash_mix(a,b,c);" normally
-  *       done at the end is not done here.
-  */
--static inline u32 jhash_3words(u32 a, u32 b, u32 c, u32 initval)
-+static inline __u32 jhash_3words(__u32 a, __u32 b, __u32 c, __u32 initval)
- {
-       a += JHASH_GOLDEN_RATIO;
-       b += JHASH_GOLDEN_RATIO;
-@@ -130,12 +130,12 @@
-       return c;
- }
--static inline u32 jhash_2words(u32 a, u32 b, u32 initval)
-+static inline __u32 jhash_2words(__u32 a, __u32 b, __u32 initval)
- {
-       return jhash_3words(a, b, 0, initval);
- }
--static inline u32 jhash_1word(u32 a, u32 initval)
-+static inline __u32 jhash_1word(__u32 a, __u32 initval)
- {
-       return jhash_3words(a, 0, 0, initval);
- }
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/jiffies.h linux-libc-headers-2.6.8.0/include/linux/jiffies.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/jiffies.h    2004-01-17 17:04:30.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/jiffies.h 2004-08-26 13:26:33.000000000 -0500
-@@ -12,15 +12,15 @@
-  * without sampling the sequence number in xtime_lock.
-  * get_jiffies_64() will do this for you as appropriate.
-  */
--extern u64 jiffies_64;
-+extern __u64 jiffies_64;
- extern unsigned long volatile jiffies;
- #if (BITS_PER_LONG < 64)
--u64 get_jiffies_64(void);
-+__u64 get_jiffies_64(void);
- #else
--static inline u64 get_jiffies_64(void)
-+static inline __u64 get_jiffies_64(void)
- {
--      return (u64)jiffies;
-+      return (__u64)jiffies;
- }
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/kernel_stat.h linux-libc-headers-2.6.8.0/include/linux/kernel_stat.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/kernel_stat.h        2004-04-19 16:13:51.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/kernel_stat.h     2004-08-26 05:42:08.000000000 -0500
-@@ -12,13 +12,13 @@
-  */
- struct cpu_usage_stat {
--      u64 user;
--      u64 nice;
--      u64 system;
--      u64 softirq;
--      u64 irq;
--      u64 idle;
--      u64 iowait;
-+      __u64 user;
-+      __u64 nice;
-+      __u64 system;
-+      __u64 softirq;
-+      __u64 irq;
-+      __u64 idle;
-+      __u64 iowait;
- };
- struct kernel_stat {
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/libata.h linux-libc-headers-2.6.8.0/include/linux/libata.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/libata.h     2004-08-18 13:16:03.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/libata.h  2004-08-26 05:42:08.000000000 -0500
-@@ -160,7 +160,7 @@
- struct ata_queued_cmd;
- /* typedefs */
--typedef int (*ata_qc_cb_t) (struct ata_queued_cmd *qc, u8 drv_stat);
-+typedef int (*ata_qc_cb_t) (struct ata_queued_cmd *qc, __u8 drv_stat);
- struct ata_ioports {
-       unsigned long           cmd_addr;
-@@ -246,18 +246,18 @@
- };
- struct ata_device {
--      u64                     n_sectors;      /* size of device, if ATA */
-+      __u64                   n_sectors;      /* size of device, if ATA */
-       unsigned long           flags;          /* ATA_DFLAG_xxx */
-       unsigned int            class;          /* ATA_DEV_xxx */
-       unsigned int            devno;          /* 0 or 1 */
--      u16                     id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */
-+      __u16                   id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */
-       unsigned int            pio_mode;
-       unsigned int            udma_mode;
-       /* cache info about current transfer mode */
--      u8                      xfer_protocol;  /* taskfile xfer protocol */
--      u8                      read_cmd;       /* opcode to use on read */
--      u8                      write_cmd;      /* opcode to use on write */
-+      __u8                    xfer_protocol;  /* taskfile xfer protocol */
-+      __u8                    read_cmd;       /* opcode to use on read */
-+      __u8                    write_cmd;      /* opcode to use on write */
- };
- struct ata_port {
-@@ -272,8 +272,8 @@
-       struct ata_ioports      ioaddr; /* ATA cmd/ctl/dma register blocks */
--      u8                      ctl;    /* cache of ATA control register */
--      u8                      last_ctl;       /* Cache last written value */
-+      __u8                    ctl;    /* cache of ATA control register */
-+      __u8                    last_ctl;       /* Cache last written value */
-       unsigned int            bus_state;
-       unsigned int            port_state;
-       unsigned int            pio_mask;
-@@ -312,7 +312,7 @@
-       void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf);
-       void (*exec_command)(struct ata_port *ap, struct ata_taskfile *tf);
--      u8   (*check_status)(struct ata_port *ap);
-+      __u8   (*check_status)(struct ata_port *ap);
-       void (*phy_reset) (struct ata_port *ap);
-       void (*post_set_mode) (struct ata_port *ap);
-@@ -328,9 +328,9 @@
-       irqreturn_t (*irq_handler)(int, void *, struct pt_regs *);
-       void (*irq_clear) (struct ata_port *);
--      u32 (*scr_read) (struct ata_port *ap, unsigned int sc_reg);
-+      __u32 (*scr_read) (struct ata_port *ap, unsigned int sc_reg);
-       void (*scr_write) (struct ata_port *ap, unsigned int sc_reg,
--                         u32 val);
-+                         __u32 val);
-       int (*port_start) (struct ata_port *ap);
-       void (*port_stop) (struct ata_port *ap);
-@@ -374,10 +374,10 @@
- extern void ata_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf);
- extern void ata_tf_read_pio(struct ata_port *ap, struct ata_taskfile *tf);
- extern void ata_tf_read_mmio(struct ata_port *ap, struct ata_taskfile *tf);
--extern void ata_tf_to_fis(struct ata_taskfile *tf, u8 *fis, u8 pmp);
--extern void ata_tf_from_fis(u8 *fis, struct ata_taskfile *tf);
--extern u8 ata_check_status_pio(struct ata_port *ap);
--extern u8 ata_check_status_mmio(struct ata_port *ap);
-+extern void ata_tf_to_fis(struct ata_taskfile *tf, __u8 *fis, __u8 pmp);
-+extern void ata_tf_from_fis(__u8 *fis, struct ata_taskfile *tf);
-+extern __u8 ata_check_status_pio(struct ata_port *ap);
-+extern __u8 ata_check_status_mmio(struct ata_port *ap);
- extern void ata_exec_command_pio(struct ata_port *ap, struct ata_taskfile *tf);
- extern void ata_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf);
- extern int ata_port_start (struct ata_port *ap);
-@@ -397,7 +397,7 @@
- extern void ata_bmdma_start_pio (struct ata_queued_cmd *qc);
- extern void ata_bmdma_irq_clear(struct ata_port *ap);
- extern int pci_test_config_bits(struct pci_dev *pdev, struct pci_bits *bits);
--extern void ata_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat);
-+extern void ata_qc_complete(struct ata_queued_cmd *qc, __u8 drv_stat);
- extern void ata_eng_timeout(struct ata_port *ap);
- extern int ata_std_bios_param(struct scsi_device *sdev,
-                             struct block_device *bdev,
-@@ -416,7 +416,7 @@
-               (dev->class == ATA_DEV_ATAPI));
- }
--static inline u8 ata_chk_err(struct ata_port *ap)
-+static inline __u8 ata_chk_err(struct ata_port *ap)
- {
-       if (ap->flags & ATA_FLAG_MMIO) {
-               return readb((void *) ap->ioaddr.error_addr);
-@@ -424,12 +424,12 @@
-       return inb(ap->ioaddr.error_addr);
- }
--static inline u8 ata_chk_status(struct ata_port *ap)
-+static inline __u8 ata_chk_status(struct ata_port *ap)
- {
-       return ap->ops->check_status(ap);
- }
--static inline u8 ata_altstatus(struct ata_port *ap)
-+static inline __u8 ata_altstatus(struct ata_port *ap)
- {
-       if (ap->flags & ATA_FLAG_MMIO)
-               return readb(ap->ioaddr.altstatus_addr);
-@@ -442,10 +442,10 @@
-       ndelay(400);
- }
--static inline u8 ata_busy_wait(struct ata_port *ap, unsigned int bits,
-+static inline __u8 ata_busy_wait(struct ata_port *ap, unsigned int bits,
-                              unsigned int max)
- {
--      u8 status;
-+      __u8 status;
-       do {
-               udelay(10);
-@@ -456,9 +456,9 @@
-       return status;
- }
--static inline u8 ata_wait_idle(struct ata_port *ap)
-+static inline __u8 ata_wait_idle(struct ata_port *ap)
- {
--      u8 status = ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 1000);
-+      __u8 status = ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 1000);
-       if (status & (ATA_BUSY | ATA_DRQ)) {
-               unsigned long l = ap->ioaddr.status_addr;
-@@ -495,10 +495,10 @@
-               tf->device = ATA_DEVICE_OBS | ATA_DEV1;
- }
--static inline u8 ata_irq_on(struct ata_port *ap)
-+static inline __u8 ata_irq_on(struct ata_port *ap)
- {
-       struct ata_ioports *ioaddr = &ap->ioaddr;
--      u8 tmp;
-+      __u8 tmp;
-       ap->ctl &= ~ATA_NIEN;
-       ap->last_ctl = ap->ctl;
-@@ -514,10 +514,10 @@
-       return tmp;
- }
--static inline u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq)
-+static inline __u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq)
- {
-       unsigned int bits = chk_drq ? ATA_BUSY | ATA_DRQ : ATA_BUSY;
--      u8 host_stat, post_stat, status;
-+      __u8 host_stat, post_stat, status;
-       status = ata_busy_wait(ap, bits, 1000);
-       if (status & bits)
-@@ -545,12 +545,12 @@
-       return status;
- }
--static inline u32 scr_read(struct ata_port *ap, unsigned int reg)
-+static inline __u32 scr_read(struct ata_port *ap, unsigned int reg)
- {
-       return ap->ops->scr_read(ap, reg);
- }
--static inline void scr_write(struct ata_port *ap, unsigned int reg, u32 val)
-+static inline void scr_write(struct ata_port *ap, unsigned int reg, __u32 val)
- {
-       ap->ops->scr_write(ap, reg, val);
- }
-@@ -589,9 +589,9 @@
-       }
- }
--static inline u8 ata_bmdma_status(struct ata_port *ap)
-+static inline __u8 ata_bmdma_status(struct ata_port *ap)
- {
--      u8 host_stat;
-+      __u8 host_stat;
-       if (ap->flags & ATA_FLAG_MMIO) {
-               void *mmio = (void *) ap->ioaddr.bmdma_addr;
-               host_stat = readb(mmio + ATA_DMA_STATUS);
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/bind.h linux-libc-headers-2.6.8.0/include/linux/lockd/bind.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/bind.h 2003-12-15 12:46:58.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/lockd/bind.h      2004-08-26 05:42:08.000000000 -0500
-@@ -18,7 +18,7 @@
-  * This is the set of functions for lockd->nfsd communication
-  */
- struct nlmsvc_binding {
--      u32                     (*fopen)(struct svc_rqst *,
-+      __u32                   (*fopen)(struct svc_rqst *,
-                                               struct nfs_fh *,
-                                               struct file *);
-       void                    (*fclose)(struct file *);
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/nlm.h linux-libc-headers-2.6.8.0/include/linux/lockd/nlm.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/nlm.h  2004-01-17 17:04:34.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/lockd/nlm.h       2004-08-26 05:42:08.000000000 -0500
-@@ -11,8 +11,8 @@
- /* Maximum file offset in file_lock.fl_end */
--# define NLM_OFFSET_MAX               ((s32) 0x7fffffff)
--# define NLM4_OFFSET_MAX      ((s64) ((~(u64)0) >> 1))
-+# define NLM_OFFSET_MAX               ((__s32) 0x7fffffff)
-+# define NLM4_OFFSET_MAX      ((__s64) ((~(__u64)0) >> 1))
- /* Return states for NLM */
- enum {
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/share.h linux-libc-headers-2.6.8.0/include/linux/lockd/share.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/share.h        2003-12-15 12:46:58.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/lockd/share.h     2004-08-26 13:26:43.000000000 -0500
-@@ -17,13 +17,13 @@
-       struct nlm_host *       s_host;         /* client host */
-       struct nlm_file *       s_file;         /* shared file */
-       struct xdr_netobj       s_owner;        /* owner handle */
--      u32                     s_access;       /* access mode */
--      u32                     s_mode;         /* deny mode */
-+      __u32                   s_access;       /* access mode */
-+      __u32                   s_mode;         /* deny mode */
- };
--u32   nlmsvc_share_file(struct nlm_host *, struct nlm_file *,
-+__u32 nlmsvc_share_file(struct nlm_host *, struct nlm_file *,
-                                              struct nlm_args *);
--u32   nlmsvc_unshare_file(struct nlm_host *, struct nlm_file *,
-+__u32 nlmsvc_unshare_file(struct nlm_host *, struct nlm_file *,
-                                              struct nlm_args *);
- int   nlmsvc_traverse_shares(struct nlm_host *, struct nlm_file *, int);
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/sm_inter.h linux-libc-headers-2.6.8.0/include/linux/lockd/sm_inter.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/sm_inter.h     2003-12-15 12:46:58.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/lockd/sm_inter.h  2004-08-26 05:42:08.000000000 -0500
-@@ -24,23 +24,23 @@
-  * Arguments for all calls to statd
-  */
- struct nsm_args {
--      u32             addr;           /* remote address */
--      u32             prog;           /* RPC callback info */
--      u32             vers;
--      u32             proc;
--      u32             proto;          /* protocol (udp/tcp) plus server/client flag */
-+      __u32           addr;           /* remote address */
-+      __u32           prog;           /* RPC callback info */
-+      __u32           vers;
-+      __u32           proc;
-+      __u32           proto;          /* protocol (udp/tcp) plus server/client flag */
- };
- /*
-  * Result returned by statd
-  */
- struct nsm_res {
--      u32             status;
--      u32             state;
-+      __u32           status;
-+      __u32           state;
- };
- int           nsm_monitor(struct nlm_host *);
- int           nsm_unmonitor(struct nlm_host *);
--extern u32    nsm_local_state;
-+extern __u32  nsm_local_state;
- #endif /* LINUX_LOCKD_SM_INTER_H */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/xdr.h linux-libc-headers-2.6.8.0/include/linux/lockd/xdr.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/xdr.h  2004-01-05 12:42:33.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/lockd/xdr.h       2004-08-26 05:42:08.000000000 -0500
-@@ -48,12 +48,12 @@
- struct nlm_args {
-       struct nlm_cookie       cookie;
-       struct nlm_lock         lock;
--      u32                     block;
--      u32                     reclaim;
--      u32                     state;
--      u32                     monitor;
--      u32                     fsm_access;
--      u32                     fsm_mode;
-+      __u32                   block;
-+      __u32                   reclaim;
-+      __u32                   state;
-+      __u32                   monitor;
-+      __u32                   fsm_access;
-+      __u32                   fsm_mode;
- };
- typedef struct nlm_args nlm_args;
-@@ -63,7 +63,7 @@
-  */
- struct nlm_res {
-       struct nlm_cookie       cookie;
--      u32                     status;
-+      __u32                   status;
-       struct nlm_lock         lock;
- };
-@@ -73,10 +73,10 @@
- struct nlm_reboot {
-       char *          mon;
-       int             len;
--      u32             state;
--      u32             addr;
--      u32             vers;
--      u32             proto;
-+      __u32           state;
-+      __u32           addr;
-+      __u32           vers;
-+      __u32           proto;
- };
- /*
-@@ -84,24 +84,24 @@
-  */
- #define NLMSVC_XDRSIZE                sizeof(struct nlm_args)
--int   nlmsvc_decode_testargs(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlmsvc_encode_testres(struct svc_rqst *, u32 *, struct nlm_res *);
--int   nlmsvc_decode_lockargs(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlmsvc_decode_cancargs(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlmsvc_decode_unlockargs(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlmsvc_encode_res(struct svc_rqst *, u32 *, struct nlm_res *);
--int   nlmsvc_decode_res(struct svc_rqst *, u32 *, struct nlm_res *);
--int   nlmsvc_encode_void(struct svc_rqst *, u32 *, void *);
--int   nlmsvc_decode_void(struct svc_rqst *, u32 *, void *);
--int   nlmsvc_decode_shareargs(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlmsvc_encode_shareres(struct svc_rqst *, u32 *, struct nlm_res *);
--int   nlmsvc_decode_notify(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlmsvc_decode_reboot(struct svc_rqst *, u32 *, struct nlm_reboot *);
-+int   nlmsvc_decode_testargs(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmsvc_encode_testres(struct svc_rqst *, __u32 *, struct nlm_res *);
-+int   nlmsvc_decode_lockargs(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmsvc_decode_cancargs(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmsvc_decode_unlockargs(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmsvc_encode_res(struct svc_rqst *, __u32 *, struct nlm_res *);
-+int   nlmsvc_decode_res(struct svc_rqst *, __u32 *, struct nlm_res *);
-+int   nlmsvc_encode_void(struct svc_rqst *, __u32 *, void *);
-+int   nlmsvc_decode_void(struct svc_rqst *, __u32 *, void *);
-+int   nlmsvc_decode_shareargs(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmsvc_encode_shareres(struct svc_rqst *, __u32 *, struct nlm_res *);
-+int   nlmsvc_decode_notify(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmsvc_decode_reboot(struct svc_rqst *, __u32 *, struct nlm_reboot *);
- /*
--int   nlmclt_encode_testargs(struct rpc_rqst *, u32 *, struct nlm_args *);
--int   nlmclt_encode_lockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
--int   nlmclt_encode_cancargs(struct rpc_rqst *, u32 *, struct nlm_args *);
--int   nlmclt_encode_unlockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
-+int   nlmclt_encode_testargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmclt_encode_lockargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmclt_encode_cancargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmclt_encode_unlockargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
-  */
- #endif /* LOCKD_XDR_H */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/xdr4.h linux-libc-headers-2.6.8.0/include/linux/lockd/xdr4.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/xdr4.h 2004-01-05 12:42:33.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/lockd/xdr4.h      2004-08-26 05:42:08.000000000 -0500
-@@ -22,24 +22,24 @@
--int   nlm4svc_decode_testargs(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlm4svc_encode_testres(struct svc_rqst *, u32 *, struct nlm_res *);
--int   nlm4svc_decode_lockargs(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlm4svc_decode_cancargs(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlm4svc_decode_unlockargs(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlm4svc_encode_res(struct svc_rqst *, u32 *, struct nlm_res *);
--int   nlm4svc_decode_res(struct svc_rqst *, u32 *, struct nlm_res *);
--int   nlm4svc_encode_void(struct svc_rqst *, u32 *, void *);
--int   nlm4svc_decode_void(struct svc_rqst *, u32 *, void *);
--int   nlm4svc_decode_shareargs(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlm4svc_encode_shareres(struct svc_rqst *, u32 *, struct nlm_res *);
--int   nlm4svc_decode_notify(struct svc_rqst *, u32 *, struct nlm_args *);
--int   nlm4svc_decode_reboot(struct svc_rqst *, u32 *, struct nlm_reboot *);
-+int   nlm4svc_decode_testargs(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlm4svc_encode_testres(struct svc_rqst *, __u32 *, struct nlm_res *);
-+int   nlm4svc_decode_lockargs(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlm4svc_decode_cancargs(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlm4svc_decode_unlockargs(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlm4svc_encode_res(struct svc_rqst *, __u32 *, struct nlm_res *);
-+int   nlm4svc_decode_res(struct svc_rqst *, __u32 *, struct nlm_res *);
-+int   nlm4svc_encode_void(struct svc_rqst *, __u32 *, void *);
-+int   nlm4svc_decode_void(struct svc_rqst *, __u32 *, void *);
-+int   nlm4svc_decode_shareargs(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlm4svc_encode_shareres(struct svc_rqst *, __u32 *, struct nlm_res *);
-+int   nlm4svc_decode_notify(struct svc_rqst *, __u32 *, struct nlm_args *);
-+int   nlm4svc_decode_reboot(struct svc_rqst *, __u32 *, struct nlm_reboot *);
- /*
--int   nlmclt_encode_testargs(struct rpc_rqst *, u32 *, struct nlm_args *);
--int   nlmclt_encode_lockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
--int   nlmclt_encode_cancargs(struct rpc_rqst *, u32 *, struct nlm_args *);
--int   nlmclt_encode_unlockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
-+int   nlmclt_encode_testargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmclt_encode_lockargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmclt_encode_cancargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
-+int   nlmclt_encode_unlockargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
-  */
- #endif /* LOCKD_XDR4_H */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/mca.h linux-libc-headers-2.6.8.0/include/linux/mca.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/mca.h        2004-08-18 13:16:03.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/mca.h     2004-08-26 05:42:08.000000000 -0500
-@@ -50,7 +50,7 @@
- };
- struct mca_device {
--      u64                     dma_mask;
-+      __u64                   dma_mask;
-       int                     pos_id;
-       int                     slot;
-@@ -91,7 +91,7 @@
- };
- struct mca_bus {
--      u64                     default_dma_mask;
-+      __u64                   default_dma_mask;
-       int                     number;
-       struct mca_bus_accessor_functions f;
-       struct device           dev;
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/mii.h linux-libc-headers-2.6.8.0/include/linux/mii.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/mii.h        2004-06-23 16:52:55.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/mii.h     2004-08-26 05:42:08.000000000 -0500
-@@ -138,10 +138,10 @@
- /* This structure is used in all SIOCxMIIxxx ioctl calls */
- struct mii_ioctl_data {
--      u16             phy_id;
--      u16             reg_num;
--      u16             val_in;
--      u16             val_out;
-+      __u16           phy_id;
-+      __u16           reg_num;
-+      __u16           val_in;
-+      __u16           val_out;
- };
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/mtd/map.h linux-libc-headers-2.6.8.0/include/linux/mtd/map.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/mtd/map.h    2004-08-18 13:16:06.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/mtd/map.h 2004-08-26 05:42:08.000000000 -0500
-@@ -36,20 +36,20 @@
-       int buswidth; /* in octets */
- #ifdef CONFIG_MTD_COMPLEX_MAPPINGS
--      u8 (*read8)(struct map_info *, unsigned long);
--      u16 (*read16)(struct map_info *, unsigned long);
--      u32 (*read32)(struct map_info *, unsigned long);  
--      u64 (*read64)(struct map_info *, unsigned long);  
-+      __u8 (*read8)(struct map_info *, unsigned long);
-+      __u16 (*read16)(struct map_info *, unsigned long);
-+      __u32 (*read32)(struct map_info *, unsigned long);  
-+      __u64 (*read64)(struct map_info *, unsigned long);  
-       /* If it returned a 'long' I'd call it readl.
-        * It doesn't.
-        * I won't.
-        * dwmw2 */
-       
-       void (*copy_from)(struct map_info *, void *, unsigned long, ssize_t);
--      void (*write8)(struct map_info *, u8, unsigned long);
--      void (*write16)(struct map_info *, u16, unsigned long);
--      void (*write32)(struct map_info *, u32, unsigned long);
--      void (*write64)(struct map_info *, u64, unsigned long);
-+      void (*write8)(struct map_info *, __u8, unsigned long);
-+      void (*write16)(struct map_info *, __u16, unsigned long);
-+      void (*write32)(struct map_info *, __u32, unsigned long);
-+      void (*write64)(struct map_info *, __u64, unsigned long);
-       void (*copy_to)(struct map_info *, unsigned long, const void *, ssize_t);
-       /* We can perhaps put in 'point' and 'unpoint' methods, if we really
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/mtd/nand.h linux-libc-headers-2.6.8.0/include/linux/mtd/nand.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/mtd/nand.h   2004-08-18 13:16:06.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/mtd/nand.h        2004-08-26 05:42:08.000000000 -0500
-@@ -271,8 +271,8 @@
-       
-       u_char          (*read_byte)(struct mtd_info *mtd);
-       void            (*write_byte)(struct mtd_info *mtd, u_char byte);
--      u16             (*read_word)(struct mtd_info *mtd);
--      void            (*write_word)(struct mtd_info *mtd, u16 word);
-+      __u16           (*read_word)(struct mtd_info *mtd);
-+      void            (*write_word)(struct mtd_info *mtd, __u16 word);
-       
-       void            (*write_buf)(struct mtd_info *mtd, const u_char *buf, int len);
-       void            (*read_buf)(struct mtd_info *mtd, u_char *buf, int len);
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/mtd/pmc551.h linux-libc-headers-2.6.8.0/include/linux/mtd/pmc551.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/mtd/pmc551.h 2004-03-28 07:52:13.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/mtd/pmc551.h      2004-08-26 05:42:08.000000000 -0500
-@@ -25,9 +25,9 @@
- struct mypriv {
-         struct pci_dev *dev;
-         u_char *start;
--        u32    base_map0;
--        u32    curr_map0;
--        u32    asize;
-+        __u32    base_map0;
-+        __u32    curr_map0;
-+        __u32    asize;
-       struct mtd_info *nextpmc551;
- };                       
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nbd.h linux-libc-headers-2.6.8.0/include/linux/nbd.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/nbd.h        2004-03-28 07:52:09.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/nbd.h     2004-08-26 05:42:08.000000000 -0500
-@@ -45,11 +45,11 @@
-  * server. All data are in network byte order.
-  */
- struct nbd_request {
--      u32 magic;
--      u32 type;       /* == READ || == WRITE  */
-+      __u32 magic;
-+      __u32 type;     /* == READ || == WRITE  */
-       char handle[8];
--      u64 from;
--      u32 len;
-+      __u64 from;
-+      __u32 len;
- }
- #ifdef __GNUC__
-       __attribute__ ((packed))
-@@ -61,8 +61,8 @@
-  * it has completed an I/O request (or an error occurs).
-  */
- struct nbd_reply {
--      u32 magic;
--      u32 error;              /* 0 = ok, else error   */
-+      __u32 magic;
-+      __u32 error;            /* 0 = ok, else error   */
-       char handle[8];         /* handle you got from request  */
- };
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfs_fs_i.h linux-libc-headers-2.6.8.0/include/linux/nfs_fs_i.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/nfs_fs_i.h   2004-01-17 17:04:31.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/nfs_fs_i.h        2004-08-26 05:42:08.000000000 -0500
-@@ -8,8 +8,8 @@
-  * NFS lock info
-  */
- struct nfs_lock_info {
--      u32             state;
--      u32             flags;
-+      __u32           state;
-+      __u32           flags;
-       struct nlm_host *host;
- };
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfs_fs_sb.h linux-libc-headers-2.6.8.0/include/linux/nfs_fs_sb.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/nfs_fs_sb.h  2004-06-09 07:00:50.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/nfs_fs_sb.h       2004-08-26 05:42:08.000000000 -0500
-@@ -37,10 +37,10 @@
-       struct list_head        nfs4_siblings;  /* List of other nfs_server structs
-                                                * that share the same clientid
-                                                */
--      u32                     attr_bitmask[2];/* V4 bitmask representing the set
-+      __u32                   attr_bitmask[2];/* V4 bitmask representing the set
-                                                  of attributes supported on this
-                                                  filesystem */
--      u32                     acl_bitmask;    /* V4 bitmask representing the ACEs
-+      __u32                   acl_bitmask;    /* V4 bitmask representing the ACEs
-                                                  that are supported on this
-                                                  filesystem */
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfs_xdr.h linux-libc-headers-2.6.8.0/include/linux/nfs_xdr.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/nfs_xdr.h    2004-06-09 07:00:50.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/nfs_xdr.h 2004-08-26 05:42:08.000000000 -0500
-@@ -90,9 +90,9 @@
- };
- struct nfs4_change_info {
--      u32                     atomic;
--      u64                     before;
--      u64                     after;
-+      __u32                   atomic;
-+      __u64                   before;
-+      __u64                   after;
- };
- /*
-@@ -112,7 +112,7 @@
-       } u;
-       const struct qstr *     name;
-       const struct nfs_server *server;         /* Needed for ID mapping */
--      const u32 *             bitmask;
-+      const __u32 *           bitmask;
- };
- struct nfs_openres {
-@@ -168,7 +168,7 @@
-  *   */
- struct nfs_lowner {
-       __u64           clientid;
--      u32                     id;
-+      __u32                     id;
- };
- struct nfs_open_to_lock {
-@@ -328,7 +328,7 @@
-       nfs4_stateid                    stateid;
-       struct iattr *                  iap;
-       const struct nfs_server *       server; /* Needed for name mapping */
--      const u32 *                     bitmask;
-+      const __u32 *                   bitmask;
- };
- struct nfs_setattrres {
-@@ -482,32 +482,32 @@
- #ifdef CONFIG_NFS_V4
--typedef u64 clientid4;
-+typedef __u64 clientid4;
- struct nfs4_accessargs {
-       const struct nfs_fh *           fh;
--      u32                             access;
-+      __u32                           access;
- };
- struct nfs4_accessres {
--      u32                             supported;
--      u32                             access;
-+      __u32                           supported;
-+      __u32                           access;
- };
- struct nfs4_create_arg {
--      u32                             ftype;
-+      __u32                           ftype;
-       union {
-               struct qstr *           symlink;    /* NF4LNK */
-               struct {
--                      u32             specdata1;
--                      u32             specdata2;
-+                      __u32           specdata1;
-+                      __u32           specdata2;
-               } device;    /* NF4BLK, NF4CHR */
-       } u;
-       const struct qstr *             name;
-       const struct nfs_server *       server;
-       const struct iattr *            attrs;
-       const struct nfs_fh *           dir_fh;
--      const u32 *                     bitmask;
-+      const __u32 *                   bitmask;
- };
- struct nfs4_create_res {
-@@ -519,12 +519,12 @@
- struct nfs4_fsinfo_arg {
-       const struct nfs_fh *           fh;
--      const u32 *                     bitmask;
-+      const __u32 *                   bitmask;
- };
- struct nfs4_getattr_arg {
-       const struct nfs_fh *           fh;
--      const u32 *                     bitmask;
-+      const __u32 *                   bitmask;
- };
- struct nfs4_getattr_res {
-@@ -541,7 +541,7 @@
- struct nfs4_lookup_arg {
-       const struct nfs_fh *           dir_fh;
-       const struct qstr *             name;
--      const u32 *                     bitmask;
-+      const __u32 *                   bitmask;
- };
- struct nfs4_lookup_res {
-@@ -551,19 +551,19 @@
- };
- struct nfs4_lookup_root_arg {
--      const u32 *                     bitmask;
-+      const __u32 *                   bitmask;
- };
- struct nfs4_pathconf_arg {
-       const struct nfs_fh *           fh;
--      const u32 *                     bitmask;
-+      const __u32 *                   bitmask;
- };
- struct nfs4_readdir_arg {
-       const struct nfs_fh *           fh;
--      u64                             cookie;
-+      __u64                           cookie;
-       nfs4_verifier                   verifier;
--      u32                             count;
-+      __u32                           count;
-       struct page **                  pages;  /* zero-copy data */
-       unsigned int                    pgbase; /* zero-copy data */
- };
-@@ -575,7 +575,7 @@
- struct nfs4_readlink {
-       const struct nfs_fh *           fh;
--      u32                             count;   /* zero-copy data */
-+      __u32                           count;   /* zero-copy data */
-       struct page **                  pages;   /* zero-copy data */
- };
-@@ -599,23 +599,23 @@
- struct nfs4_setclientid {
-       nfs4_verifier                   sc_verifier;      /* request */
-       char *                          sc_name;          /* request */
--      u32                             sc_prog;          /* request */
-+      __u32                           sc_prog;          /* request */
-       char                            sc_netid[4];      /* request */
-       char                            sc_uaddr[24];     /* request */
--      u32                             sc_cb_ident;      /* request */
-+      __u32                           sc_cb_ident;      /* request */
-       struct nfs4_client *            sc_state;         /* response */
- };
- struct nfs4_statfs_arg {
-       const struct nfs_fh *           fh;
--      const u32 *                     bitmask;
-+      const __u32 *                   bitmask;
- };
- struct nfs4_server_caps_res {
--      u32                             attr_bitmask[2];
--      u32                             acl_bitmask;
--      u32                             has_links;
--      u32                             has_symlinks;
-+      __u32                           attr_bitmask[2];
-+      __u32                           acl_bitmask;
-+      __u32                           has_links;
-+      __u32                           has_symlinks;
- };
- #endif /* CONFIG_NFS_V4 */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/state.h linux-libc-headers-2.6.8.0/include/linux/nfsd/state.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/state.h 2004-08-18 13:16:07.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/nfsd/state.h      2004-08-26 05:42:08.000000000 -0500
-@@ -41,18 +41,18 @@
- #define NFS4_OPAQUE_LIMIT 1024
- typedef struct {
--      u32             cl_boot;
--      u32             cl_id;
-+      __u32             cl_boot;
-+      __u32             cl_id;
- } clientid_t;
- typedef struct {
--      u32             so_boot;
--      u32             so_stateownerid;
--      u32             so_fileid;
-+      __u32             so_boot;
-+      __u32             so_stateownerid;
-+      __u32             so_fileid;
- } stateid_opaque_t;
- typedef struct {
--      u32                     si_generation;
-+      __u32                     si_generation;
-       stateid_opaque_t        si_opaque;
- } stateid_t;
- #define si_boot           si_opaque.so_boot
-@@ -68,14 +68,14 @@
- /* client delegation callback info */
- struct nfs4_callback {
-       /* SETCLIENTID info */
--      u32                     cb_parsed;  /* addr parsed */
--      u32                     cb_addr;
-+      __u32                   cb_parsed;  /* addr parsed */
-+      __u32                     cb_addr;
-       unsigned short          cb_port;
--      u32                     cb_prog;
--      u32                     cb_ident;
-+      __u32                     cb_prog;
-+      __u32                     cb_ident;
-       struct xdr_netobj       cb_netid;
-       /* RPC client info */
--      u32                     cb_set;     /* successful CB_NULL call */
-+      __u32                   cb_set;     /* successful CB_NULL call */
-       struct rpc_program      cb_program;
-       struct rpc_stat         cb_stat;
-       struct rpc_clnt *       cb_client;
-@@ -99,7 +99,7 @@
-       struct xdr_netobj       cl_name;        /* id generated by client */
-       nfs4_verifier           cl_verifier;    /* generated by client */
-       time_t                  cl_time;        /* time of last lease renewal */
--      u32                     cl_addr;        /* client ipaddress */
-+      __u32                   cl_addr;        /* client ipaddress */
-       struct svc_cred         cl_cred;        /* setclientid principal */
-       clientid_t              cl_clientid;    /* generated by server */
-       nfs4_verifier           cl_confirm;     /* generated by server */
-@@ -116,7 +116,7 @@
-       struct list_head        cr_strhash;     /* hash by cr_name */
-       struct xdr_netobj       cr_name;        /* id generated by client */
-       time_t                  cr_first_state; /* first state aquisition */
--      u32                     cr_expired;     /* boolean: lease expired? */
-+      __u32                   cr_expired;     /* boolean: lease expired? */
- };
- static inline void
-@@ -139,7 +139,7 @@
-  * is cached. 
-  */
- struct nfs4_replay {
--      u32                     rp_status;
-+      __u32                   rp_status;
-       unsigned int            rp_buflen;
-       char                    *rp_buf;
-       unsigned                intrp_allocated;
-@@ -175,9 +175,9 @@
-       struct list_head        so_close_lru; /* tail queue */
-       time_t                  so_time; /* time of placement on so_close_lru */
-       int                     so_is_open_owner; /* 1=openowner,0=lockowner */
--      u32                     so_id;
-+      __u32                     so_id;
-       struct nfs4_client *    so_client;
--      u32                     so_seqid;    
-+      __u32                     so_seqid;    
-       struct xdr_netobj       so_owner;     /* open owner name */
-       int                     so_confirmed; /* successful OPEN_CONFIRM? */
-       struct nfs4_replay      so_replay;
-@@ -192,7 +192,7 @@
-       struct list_head        fi_hash;    /* hash by "struct inode *" */
-       struct list_head        fi_perfile; /* list: nfs4_stateid */
-       struct inode            *fi_inode;
--      u32                     fi_id;      /* used with stateowner->so_id 
-+      __u32                     fi_id;      /* used with stateowner->so_id 
-                                            * for stateid_hashtbl hash */
- };
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr.h linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr.h   2004-08-18 13:16:07.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr.h        2004-08-26 05:42:08.000000000 -0500
-@@ -83,7 +83,7 @@
-       struct svc_fh           fh;
-       __u32                   cookie;
-       __u32                   count;
--      u32 *                   buffer;
-+      __u32 *                 buffer;
- };
- struct nfsd_attrstat {
-@@ -107,9 +107,9 @@
-       int                     count;
-       struct readdir_cd       common;
--      u32 *                   buffer;
-+      __u32 *                 buffer;
-       int                     buflen;
--      u32 *                   offset;
-+      __u32 *                 offset;
- };
- struct nfsd_statfsres {
-@@ -134,39 +134,39 @@
- #define NFS2_SVC_XDRSIZE      sizeof(union nfsd_xdrstore)
--int nfssvc_decode_void(struct svc_rqst *, u32 *, void *);
--int nfssvc_decode_fhandle(struct svc_rqst *, u32 *, struct nfsd_fhandle *);
--int nfssvc_decode_sattrargs(struct svc_rqst *, u32 *,
-+int nfssvc_decode_void(struct svc_rqst *, __u32 *, void *);
-+int nfssvc_decode_fhandle(struct svc_rqst *, __u32 *, struct nfsd_fhandle *);
-+int nfssvc_decode_sattrargs(struct svc_rqst *, __u32 *,
-                               struct nfsd_sattrargs *);
--int nfssvc_decode_diropargs(struct svc_rqst *, u32 *,
-+int nfssvc_decode_diropargs(struct svc_rqst *, __u32 *,
-                               struct nfsd_diropargs *);
--int nfssvc_decode_readargs(struct svc_rqst *, u32 *,
-+int nfssvc_decode_readargs(struct svc_rqst *, __u32 *,
-                               struct nfsd_readargs *);
--int nfssvc_decode_writeargs(struct svc_rqst *, u32 *,
-+int nfssvc_decode_writeargs(struct svc_rqst *, __u32 *,
-                               struct nfsd_writeargs *);
--int nfssvc_decode_createargs(struct svc_rqst *, u32 *,
-+int nfssvc_decode_createargs(struct svc_rqst *, __u32 *,
-                               struct nfsd_createargs *);
--int nfssvc_decode_renameargs(struct svc_rqst *, u32 *,
-+int nfssvc_decode_renameargs(struct svc_rqst *, __u32 *,
-                               struct nfsd_renameargs *);
--int nfssvc_decode_readlinkargs(struct svc_rqst *, u32 *,
-+int nfssvc_decode_readlinkargs(struct svc_rqst *, __u32 *,
-                               struct nfsd_readlinkargs *);
--int nfssvc_decode_linkargs(struct svc_rqst *, u32 *,
-+int nfssvc_decode_linkargs(struct svc_rqst *, __u32 *,
-                               struct nfsd_linkargs *);
--int nfssvc_decode_symlinkargs(struct svc_rqst *, u32 *,
-+int nfssvc_decode_symlinkargs(struct svc_rqst *, __u32 *,
-                               struct nfsd_symlinkargs *);
--int nfssvc_decode_readdirargs(struct svc_rqst *, u32 *,
-+int nfssvc_decode_readdirargs(struct svc_rqst *, __u32 *,
-                               struct nfsd_readdirargs *);
--int nfssvc_encode_void(struct svc_rqst *, u32 *, void *);
--int nfssvc_encode_attrstat(struct svc_rqst *, u32 *, struct nfsd_attrstat *);
--int nfssvc_encode_diropres(struct svc_rqst *, u32 *, struct nfsd_diropres *);
--int nfssvc_encode_readlinkres(struct svc_rqst *, u32 *, struct nfsd_readlinkres *);
--int nfssvc_encode_readres(struct svc_rqst *, u32 *, struct nfsd_readres *);
--int nfssvc_encode_statfsres(struct svc_rqst *, u32 *, struct nfsd_statfsres *);
--int nfssvc_encode_readdirres(struct svc_rqst *, u32 *, struct nfsd_readdirres *);
-+int nfssvc_encode_void(struct svc_rqst *, __u32 *, void *);
-+int nfssvc_encode_attrstat(struct svc_rqst *, __u32 *, struct nfsd_attrstat *);
-+int nfssvc_encode_diropres(struct svc_rqst *, __u32 *, struct nfsd_diropres *);
-+int nfssvc_encode_readlinkres(struct svc_rqst *, __u32 *, struct nfsd_readlinkres *);
-+int nfssvc_encode_readres(struct svc_rqst *, __u32 *, struct nfsd_readres *);
-+int nfssvc_encode_statfsres(struct svc_rqst *, __u32 *, struct nfsd_statfsres *);
-+int nfssvc_encode_readdirres(struct svc_rqst *, __u32 *, struct nfsd_readdirres *);
- int nfssvc_encode_entry(struct readdir_cd *, const char *name,
-                               int namlen, loff_t offset, ino_t ino, unsigned int);
--int nfssvc_release_fhandle(struct svc_rqst *, u32 *, struct nfsd_fhandle *);
-+int nfssvc_release_fhandle(struct svc_rqst *, __u32 *, struct nfsd_fhandle *);
- #endif /* LINUX_NFSD_H */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr3.h linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr3.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr3.h  2004-08-18 13:16:07.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr3.h       2004-08-26 05:42:08.000000000 -0500
-@@ -101,7 +101,7 @@
-       __u32                   dircount;
-       __u32                   count;
-       __u32 *                 verf;
--      u32 *                   buffer;
-+      __u32 *                 buffer;
- };
- struct nfsd3_commitargs {
-@@ -167,10 +167,10 @@
-       __u32                   verf[2];
-       struct readdir_cd       common;
--      u32 *                   buffer;
-+      __u32 *                 buffer;
-       int                     buflen;
--      u32 *                   offset;
--      u32 *                   offset1;
-+      __u32 *                 offset;
-+      __u32 *                 offset1;
-       struct svc_rqst *       rqstp;
- };
-@@ -245,70 +245,70 @@
- #define NFS3_SVC_XDRSIZE              sizeof(union nfsd3_xdrstore)
--int nfs3svc_decode_fhandle(struct svc_rqst *, u32 *, struct nfsd_fhandle *);
--int nfs3svc_decode_sattrargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_fhandle(struct svc_rqst *, __u32 *, struct nfsd_fhandle *);
-+int nfs3svc_decode_sattrargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_sattrargs *);
--int nfs3svc_decode_diropargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_diropargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_diropargs *);
--int nfs3svc_decode_accessargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_accessargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_accessargs *);
--int nfs3svc_decode_readargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_readargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_readargs *);
--int nfs3svc_decode_writeargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_writeargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_writeargs *);
--int nfs3svc_decode_createargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_createargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_createargs *);
--int nfs3svc_decode_mkdirargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_mkdirargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_createargs *);
--int nfs3svc_decode_mknodargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_mknodargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_mknodargs *);
--int nfs3svc_decode_renameargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_renameargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_renameargs *);
--int nfs3svc_decode_readlinkargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_readlinkargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_readlinkargs *);
--int nfs3svc_decode_linkargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_linkargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_linkargs *);
--int nfs3svc_decode_symlinkargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_symlinkargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_symlinkargs *);
--int nfs3svc_decode_readdirargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_readdirargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_readdirargs *);
--int nfs3svc_decode_readdirplusargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_readdirplusargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_readdirargs *);
--int nfs3svc_decode_commitargs(struct svc_rqst *, u32 *,
-+int nfs3svc_decode_commitargs(struct svc_rqst *, __u32 *,
-                               struct nfsd3_commitargs *);
--int nfs3svc_encode_voidres(struct svc_rqst *, u32 *, void *);
--int nfs3svc_encode_attrstat(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_voidres(struct svc_rqst *, __u32 *, void *);
-+int nfs3svc_encode_attrstat(struct svc_rqst *, __u32 *,
-                               struct nfsd3_attrstat *);
--int nfs3svc_encode_wccstat(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_wccstat(struct svc_rqst *, __u32 *,
-                               struct nfsd3_attrstat *);
--int nfs3svc_encode_diropres(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_diropres(struct svc_rqst *, __u32 *,
-                               struct nfsd3_diropres *);
--int nfs3svc_encode_accessres(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_accessres(struct svc_rqst *, __u32 *,
-                               struct nfsd3_accessres *);
--int nfs3svc_encode_readlinkres(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_readlinkres(struct svc_rqst *, __u32 *,
-                               struct nfsd3_readlinkres *);
--int nfs3svc_encode_readres(struct svc_rqst *, u32 *, struct nfsd3_readres *);
--int nfs3svc_encode_writeres(struct svc_rqst *, u32 *, struct nfsd3_writeres *);
--int nfs3svc_encode_createres(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_readres(struct svc_rqst *, __u32 *, struct nfsd3_readres *);
-+int nfs3svc_encode_writeres(struct svc_rqst *, __u32 *, struct nfsd3_writeres *);
-+int nfs3svc_encode_createres(struct svc_rqst *, __u32 *,
-                               struct nfsd3_diropres *);
--int nfs3svc_encode_renameres(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_renameres(struct svc_rqst *, __u32 *,
-                               struct nfsd3_renameres *);
--int nfs3svc_encode_linkres(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_linkres(struct svc_rqst *, __u32 *,
-                               struct nfsd3_linkres *);
--int nfs3svc_encode_readdirres(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_readdirres(struct svc_rqst *, __u32 *,
-                               struct nfsd3_readdirres *);
--int nfs3svc_encode_fsstatres(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_fsstatres(struct svc_rqst *, __u32 *,
-                               struct nfsd3_fsstatres *);
--int nfs3svc_encode_fsinfores(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_fsinfores(struct svc_rqst *, __u32 *,
-                               struct nfsd3_fsinfores *);
--int nfs3svc_encode_pathconfres(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_pathconfres(struct svc_rqst *, __u32 *,
-                               struct nfsd3_pathconfres *);
--int nfs3svc_encode_commitres(struct svc_rqst *, u32 *,
-+int nfs3svc_encode_commitres(struct svc_rqst *, __u32 *,
-                               struct nfsd3_commitres *);
--int nfs3svc_release_fhandle(struct svc_rqst *, u32 *,
-+int nfs3svc_release_fhandle(struct svc_rqst *, __u32 *,
-                               struct nfsd3_attrstat *);
--int nfs3svc_release_fhandle2(struct svc_rqst *, u32 *,
-+int nfs3svc_release_fhandle2(struct svc_rqst *, __u32 *,
-                               struct nfsd3_fhandle_pair *);
- int nfs3svc_encode_entry(struct readdir_cd *, const char *name,
-                               int namlen, loff_t offset, ino_t ino,
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr4.h linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr4.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr4.h  2004-08-18 13:16:07.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr4.h       2004-08-26 05:42:08.000000000 -0500
-@@ -42,9 +42,9 @@
- #define NFSD4_MAX_TAGLEN      128
- #define XDR_LEN(n)                     (((n) + 3) & ~3)
--typedef u32 delegation_zero_t;
--typedef u32 delegation_boot_t;
--typedef u64 delegation_id_t;
-+typedef __u32 delegation_zero_t;
-+typedef __u32 delegation_boot_t;
-+typedef __u64 delegation_id_t;
- typedef struct {
-       delegation_zero_t       ds_zero;
-@@ -53,46 +53,46 @@
- } delegation_stateid_t;
- struct nfsd4_change_info {
--      u32             atomic;
--      u32             before_ctime_sec;
--      u32             before_ctime_nsec;
--      u32             after_ctime_sec;
--      u32             after_ctime_nsec;
-+      __u32           atomic;
-+      __u32           before_ctime_sec;
-+      __u32           before_ctime_nsec;
-+      __u32           after_ctime_sec;
-+      __u32           after_ctime_nsec;
- };
- struct nfsd4_access {
--      u32             ac_req_access;      /* request */
--      u32             ac_supported;       /* response */
--      u32             ac_resp_access;     /* response */
-+      __u32           ac_req_access;      /* request */
-+      __u32           ac_supported;       /* response */
-+      __u32           ac_resp_access;     /* response */
- };
- struct nfsd4_close {
--      u32             cl_seqid;           /* request */
-+      __u32           cl_seqid;           /* request */
-       stateid_t       cl_stateid;         /* request+response */
-       struct nfs4_stateowner * cl_stateowner; /* response */
- };
- struct nfsd4_commit {
--      u64             co_offset;          /* request */
--      u32             co_count;           /* request */
-+      __u64           co_offset;          /* request */
-+      __u32           co_count;           /* request */
-       nfs4_verifier   co_verf;            /* response */
- };
- struct nfsd4_create {
--      u32             cr_namelen;         /* request */
-+      __u32           cr_namelen;         /* request */
-       char *          cr_name;            /* request */
--      u32             cr_type;            /* request */
-+      __u32           cr_type;            /* request */
-       union {                             /* request */
-               struct {
--                      u32 namelen;
-+                      __u32 namelen;
-                       char *name;
-               } link;   /* NF4LNK */
-               struct {
--                      u32 specdata1;
--                      u32 specdata2;
-+                      __u32 specdata1;
-+                      __u32 specdata2;
-               } dev;    /* NF4BLK, NF4CHR */
-       } u;
--      u32             cr_bmval[2];        /* request */
-+      __u32           cr_bmval[2];        /* request */
-       struct iattr    cr_iattr;           /* request */
-       struct nfsd4_change_info  cr_cinfo; /* response */
- };
-@@ -102,41 +102,41 @@
- #define cr_specdata2  u.dev.specdata2
- struct nfsd4_getattr {
--      u32             ga_bmval[2];        /* request */
-+      __u32           ga_bmval[2];        /* request */
-       struct svc_fh   *ga_fhp;            /* response */
- };
- struct nfsd4_link {
--      u32             li_namelen;         /* request */
-+      __u32           li_namelen;         /* request */
-       char *          li_name;            /* request */
-       struct nfsd4_change_info  li_cinfo; /* response */
- };
- struct nfsd4_lock_denied {
-       struct nfs4_stateowner   *ld_sop;
--      u64             ld_start;
--      u64             ld_length;
--      u32             ld_type;
-+      __u64             ld_start;
-+      __u64             ld_length;
-+      __u32             ld_type;
- };
- struct nfsd4_lock {
-       /* request */
--      u32             lk_type;
--      u32             lk_reclaim;         /* boolean */
--      u64             lk_offset;
--      u64             lk_length;
--      u32             lk_is_new;
-+      __u32             lk_type;
-+      __u32             lk_reclaim;         /* boolean */
-+      __u64             lk_offset;
-+      __u64             lk_length;
-+      __u32             lk_is_new;
-       union {
-               struct {
--                      u32             open_seqid;
-+                      __u32             open_seqid;
-                       stateid_t       open_stateid;
--                      u32             lock_seqid;
-+                      __u32             lock_seqid;
-                       clientid_t      clientid;
-                       struct xdr_netobj owner;
-               } new;
-               struct {
-                       stateid_t       lock_stateid;
--                      u32             lock_seqid;
-+                      __u32             lock_seqid;
-               } old;
-       } v;
-@@ -164,56 +164,56 @@
- struct nfsd4_lockt {
--      u32                             lt_type;
-+      __u32                           lt_type;
-       clientid_t                      lt_clientid;
-       struct xdr_netobj               lt_owner;
--      u64                             lt_offset;
--      u64                             lt_length;
-+      __u64                           lt_offset;
-+      __u64                           lt_length;
-       struct nfs4_stateowner *        lt_stateowner;
-       struct nfsd4_lock_denied        lt_denied;
- };
-  
- struct nfsd4_locku {
--      u32             lu_type;
--      u32             lu_seqid;
-+      __u32             lu_type;
-+      __u32             lu_seqid;
-       stateid_t       lu_stateid;
--      u64             lu_offset;
--      u64             lu_length;
-+      __u64             lu_offset;
-+      __u64             lu_length;
-       struct nfs4_stateowner  *lu_stateowner;
- };
- struct nfsd4_lookup {
--      u32             lo_len;             /* request */
-+      __u32           lo_len;             /* request */
-       char *          lo_name;            /* request */
- };
- struct nfsd4_putfh {
--      u32             pf_fhlen;           /* request */
-+      __u32           pf_fhlen;           /* request */
-       char            *pf_fhval;          /* request */
- };
- struct nfsd4_open {
--      u32             op_claim_type;      /* request */
-+      __u32           op_claim_type;      /* request */
-       struct xdr_netobj op_fname;         /* request - everything but CLAIM_PREV */
--      u32             op_delegate_type;   /* request - CLAIM_PREV only */
-+      __u32           op_delegate_type;   /* request - CLAIM_PREV only */
-       delegation_stateid_t    op_delegate_stateid; /* request - CLAIM_DELEGATE_CUR only */
--      u32             op_create;          /* request */
--      u32             op_createmode;      /* request */
--      u32             op_bmval[2];        /* request */
-+      __u32           op_create;          /* request */
-+      __u32           op_createmode;      /* request */
-+      __u32           op_bmval[2];        /* request */
-       union {                             /* request */
-               struct iattr    iattr;                      /* UNCHECKED4,GUARDED4 */
-               nfs4_verifier   verf;                                /* EXCLUSIVE4 */
-       } u;
-       clientid_t      op_clientid;        /* request */
-       struct xdr_netobj op_owner;           /* request */
--      u32             op_seqid;           /* request */
--      u32             op_share_access;    /* request */
--      u32             op_share_deny;      /* request */
-+      __u32           op_seqid;           /* request */
-+      __u32           op_share_access;    /* request */
-+      __u32           op_share_deny;      /* request */
-       stateid_t       op_stateid;         /* response */
-       struct nfsd4_change_info  op_cinfo; /* response */
--      u32             op_rflags;          /* response */
-+      __u32           op_rflags;          /* response */
-       int             op_truncate;        /* used during processing */
-       struct nfs4_stateowner *op_stateowner; /* used during processing */
-@@ -223,24 +223,24 @@
- struct nfsd4_open_confirm {
-       stateid_t       oc_req_stateid          /* request */;
--      u32             oc_seqid                /* request */;
-+      __u32           oc_seqid                /* request */;
-       stateid_t       oc_resp_stateid         /* response */;
-       struct nfs4_stateowner * oc_stateowner; /* response */
- };
- struct nfsd4_open_downgrade {
-       stateid_t       od_stateid;
--      u32             od_seqid;
--      u32             od_share_access;
--      u32             od_share_deny;
-+      __u32             od_seqid;
-+      __u32             od_share_access;
-+      __u32             od_share_deny;
-       struct nfs4_stateowner *od_stateowner;
- };
- struct nfsd4_read {
-       stateid_t       rd_stateid;         /* request */
--      u64             rd_offset;          /* request */
--      u32             rd_length;          /* request */
-+      __u64           rd_offset;          /* request */
-+      __u32           rd_length;          /* request */
-       struct kvec     rd_iov[RPCSVC_MAXPAGES];
-       int             rd_vlen;
-       
-@@ -249,18 +249,18 @@
- };
- struct nfsd4_readdir {
--      u64             rd_cookie;          /* request */
-+      __u64           rd_cookie;          /* request */
-       nfs4_verifier   rd_verf;            /* request */
--      u32             rd_dircount;        /* request */
--      u32             rd_maxcount;        /* request */
--      u32             rd_bmval[2];        /* request */
-+      __u32           rd_dircount;        /* request */
-+      __u32           rd_maxcount;        /* request */
-+      __u32           rd_bmval[2];        /* request */
-       struct svc_rqst *rd_rqstp;          /* response */
-       struct svc_fh * rd_fhp;             /* response */
-       struct readdir_cd       common;
--      u32 *                   buffer;
-+      __u32 *                 buffer;
-       int                     buflen;
--      u32 *                   offset;
-+      __u32 *                 offset;
- };
- struct nfsd4_release_lockowner {
-@@ -273,15 +273,15 @@
- };
- struct nfsd4_remove {
--      u32             rm_namelen;         /* request */
-+      __u32           rm_namelen;         /* request */
-       char *          rm_name;            /* request */
-       struct nfsd4_change_info  rm_cinfo; /* response */
- };
- struct nfsd4_rename {
--      u32             rn_snamelen;        /* request */
-+      __u32           rn_snamelen;        /* request */
-       char *          rn_sname;           /* request */
--      u32             rn_tnamelen;        /* request */
-+      __u32           rn_tnamelen;        /* request */
-       char *          rn_tname;           /* request */
-       struct nfsd4_change_info  rn_sinfo; /* response */
-       struct nfsd4_change_info  rn_tinfo; /* response */
-@@ -289,20 +289,20 @@
- struct nfsd4_setattr {
-       stateid_t       sa_stateid;         /* request */
--      u32             sa_bmval[2];        /* request */
-+      __u32           sa_bmval[2];        /* request */
-       struct iattr    sa_iattr;           /* request */
- };
- struct nfsd4_setclientid {
-       nfs4_verifier   se_verf;            /* request */
--      u32             se_namelen;         /* request */
-+      __u32           se_namelen;         /* request */
-       char *          se_name;            /* request */
--      u32             se_callback_prog;   /* request */
--      u32             se_callback_netid_len;  /* request */
-+      __u32           se_callback_prog;   /* request */
-+      __u32           se_callback_netid_len;  /* request */
-       char *          se_callback_netid_val;  /* request */
--      u32             se_callback_addr_len;   /* request */
-+      __u32           se_callback_addr_len;   /* request */
-       char *          se_callback_addr_val;   /* request */
--      u32             se_callback_ident;  /* request */
-+      __u32           se_callback_ident;  /* request */
-       clientid_t      se_clientid;        /* response */
-       nfs4_verifier   se_confirm;         /* response */
- };
-@@ -314,21 +314,21 @@
- /* also used for NVERIFY */
- struct nfsd4_verify {
--      u32             ve_bmval[2];        /* request */
--      u32             ve_attrlen;         /* request */
-+      __u32           ve_bmval[2];        /* request */
-+      __u32           ve_attrlen;         /* request */
-       char *          ve_attrval;         /* request */
- };
- struct nfsd4_write {
-       stateid_t       wr_stateid;         /* request */
--      u64             wr_offset;          /* request */
--      u32             wr_stable_how;      /* request */
--      u32             wr_buflen;          /* request */
-+      __u64           wr_offset;          /* request */
-+      __u32           wr_stable_how;      /* request */
-+      __u32           wr_buflen;          /* request */
-       struct kvec     wr_vec[RPCSVC_MAXPAGES]; /* request */
-       int             wr_vlen;
--      u32             wr_bytes_written;   /* response */
--      u32             wr_how_written;     /* response */
-+      __u32           wr_bytes_written;   /* response */
-+      __u32           wr_how_written;     /* response */
-       nfs4_verifier   wr_verifier;        /* response */
- };
-@@ -370,12 +370,12 @@
- struct nfsd4_compoundargs {
-       /* scratch variables for XDR decode */
--      u32 *                           p;
--      u32 *                           end;
-+      __u32 *                         p;
-+      __u32 *                         end;
-       struct page **                  pagelist;
-       int                             pagelen;
--      u32                             tmp[8];
--      u32 *                           tmpp;
-+      __u32                           tmp[8];
-+      __u32 *                         tmpp;
-       struct tmpbuf {
-               struct tmpbuf *next;
-               void (*release)(const void *);
-@@ -384,25 +384,25 @@
-       struct svc_rqst                 *rqstp;
--      u32                             taglen;
-+      __u32                           taglen;
-       char *                          tag;
--      u32                             minorversion;
--      u32                             opcnt;
-+      __u32                           minorversion;
-+      __u32                           opcnt;
-       struct nfsd4_op                 *ops;
-       struct nfsd4_op                 iops[8];
- };
- struct nfsd4_compoundres {
-       /* scratch variables for XDR encode */
--      u32 *                           p;
--      u32 *                           end;
-+      __u32 *                         p;
-+      __u32 *                         end;
-       struct xdr_buf *                xbuf;
-       struct svc_rqst *               rqstp;
--      u32                             taglen;
-+      __u32                           taglen;
-       char *                          tag;
--      u32                             opcnt;
--      u32 *                           tagp; /* where to encode tag and  opcount */
-+      __u32                           opcnt;
-+      __u32 *                         tagp; /* where to encode tag and  opcount */
- };
- #define NFS4_SVC_XDRSIZE              sizeof(struct nfsd4_compoundargs)
-@@ -418,16 +418,16 @@
-       cinfo->after_ctime_nsec = fhp->fh_post_ctime.tv_nsec;
- }
--int nfs4svc_encode_voidres(struct svc_rqst *, u32 *, void *);
--int nfs4svc_decode_compoundargs(struct svc_rqst *, u32 *, 
-+int nfs4svc_encode_voidres(struct svc_rqst *, __u32 *, void *);
-+int nfs4svc_decode_compoundargs(struct svc_rqst *, __u32 *, 
-               struct nfsd4_compoundargs *);
--int nfs4svc_encode_compoundres(struct svc_rqst *, u32 *, 
-+int nfs4svc_encode_compoundres(struct svc_rqst *, __u32 *, 
-               struct nfsd4_compoundres *);
- void nfsd4_encode_operation(struct nfsd4_compoundres *, struct nfsd4_op *);
- void nfsd4_encode_replay(struct nfsd4_compoundres *resp, struct nfsd4_op *op);
- int nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp,
--                     struct dentry *dentry, u32 *buffer, int *countp, 
--                     u32 *bmval, struct svc_rqst *);
-+                     struct dentry *dentry, __u32 *buffer, int *countp, 
-+                     __u32 *bmval, struct svc_rqst *);
- extern int nfsd4_setclientid(struct svc_rqst *rqstp, 
-               struct nfsd4_setclientid *setclid);
- extern int nfsd4_setclientid_confirm(struct svc_rqst *rqstp, 
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/pmu.h linux-libc-headers-2.6.8.0/include/linux/pmu.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/pmu.h        2004-01-17 17:04:31.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/pmu.h     2004-08-26 05:42:08.000000000 -0500
-@@ -120,15 +120,15 @@
- /* no param */
- #define PMU_IOC_SLEEP         _IO('B', 0)
--/* out param: u32*    backlight value: 0 to 15 */
-+/* out param: __u32*  backlight value: 0 to 15 */
- #define PMU_IOC_GET_BACKLIGHT _IOR('B', 1, size_t)
--/* in param: u32      backlight value: 0 to 15 */
-+/* in param: __u32    backlight value: 0 to 15 */
- #define PMU_IOC_SET_BACKLIGHT _IOW('B', 2, size_t)
--/* out param: u32*    PMU model */
-+/* out param: __u32*  PMU model */
- #define PMU_IOC_GET_MODEL     _IOR('B', 3, size_t)
--/* out param: u32*    has_adb: 0 or 1 */
-+/* out param: __u32*  has_adb: 0 or 1 */
- #define PMU_IOC_HAS_ADB               _IOR('B', 4, size_t) 
--/* out param: u32*    can_sleep: 0 or 1 */
-+/* out param: __u32*  can_sleep: 0 or 1 */
- #define PMU_IOC_CAN_SLEEP     _IOR('B', 5, size_t) 
- /* no param, but historically was _IOR('B', 6, 0), meaning 4 bytes */
- #define PMU_IOC_GRAB_BACKLIGHT        _IOR('B', 6, size_t) 
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/reiserfs_fs.h linux-libc-headers-2.6.8.0/include/linux/reiserfs_fs.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/reiserfs_fs.h        2004-08-18 13:16:04.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/reiserfs_fs.h     2004-08-26 13:26:06.000000000 -0500
-@@ -1821,7 +1821,7 @@
-  * to use for a new object underneat it.  The locality is returned
-  * in disk byte order (le).
-  */
--u32 reiserfs_choose_packing(struct inode *dir);
-+__u32 reiserfs_choose_packing(struct inode *dir);
- int is_reusable (struct super_block * s, b_blocknr_t block, int bit_value);
- void reiserfs_free_block (struct reiserfs_transaction_handle *th, struct inode *, b_blocknr_t, int for_unformatted);
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/scx200_gpio.h linux-libc-headers-2.6.8.0/include/linux/scx200_gpio.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/scx200_gpio.h        2004-01-17 17:04:32.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/scx200_gpio.h     2004-08-26 13:26:01.000000000 -0500
-@@ -1,5 +1,5 @@
--u32 scx200_gpio_configure(int index, u32 set, u32 clear);
-+__u32 scx200_gpio_configure(int index, __u32 set, __u32 clear);
- void scx200_gpio_dump(unsigned index);
- extern unsigned scx200_gpio_base;
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sdladrv.h linux-libc-headers-2.6.8.0/include/linux/sdladrv.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/sdladrv.h    2003-12-15 12:46:58.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/sdladrv.h 2004-08-26 05:42:08.000000000 -0500
-@@ -55,8 +55,8 @@
- extern int sdla_inten (sdlahw_t* hw);
- extern int sdla_intde (sdlahw_t* hw);
- extern int sdla_intack        (sdlahw_t* hw);
--extern void S514_intack  (sdlahw_t* hw, u32 int_status);
--extern void read_S514_int_stat (sdlahw_t* hw, u32* int_status);
-+extern void S514_intack  (sdlahw_t* hw, __u32 int_status);
-+extern void read_S514_int_stat (sdlahw_t* hw, __u32* int_status);
- extern int sdla_intr  (sdlahw_t* hw);
- extern int sdla_mapmem        (sdlahw_t* hw, unsigned long addr);
- extern int sdla_peek  (sdlahw_t* hw, unsigned long addr, void* buf,
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/selection.h linux-libc-headers-2.6.8.0/include/linux/selection.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/selection.h  2004-06-23 16:52:56.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/selection.h       2004-08-26 05:42:08.000000000 -0500
-@@ -32,14 +32,14 @@
- extern int default_blu[];
- extern unsigned short *screen_pos(int currcons, int w_offset, int viewed);
--extern u16 screen_glyph(int currcons, int offset);
-+extern __u16 screen_glyph(int currcons, int offset);
- extern void complement_pos(int currcons, int offset);
- extern void invert_screen(int currcons, int offset, int count, int shift);
- extern void getconsxy(int currcons, unsigned char *p);
- extern void putconsxy(int currcons, unsigned char *p);
--extern u16 vcs_scr_readw(int currcons, const u16 *org);
--extern void vcs_scr_writew(int currcons, u16 val, u16 *org);
-+extern __u16 vcs_scr_readw(int currcons, const __u16 *org);
-+extern void vcs_scr_writew(int currcons, __u16 val, __u16 *org);
- #endif
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/serialP.h linux-libc-headers-2.6.8.0/include/linux/serialP.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/serialP.h    2004-08-18 13:16:04.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/serialP.h 2004-08-26 05:42:08.000000000 -0500
-@@ -39,8 +39,8 @@
-       int     xmit_fifo_size;
-       int     custom_divisor;
-       int     count;
--      u8      *iomem_base;
--      u16     iomem_reg_shift;
-+      __u8    *iomem_base;
-+      __u16   iomem_reg_shift;
-       unsigned short  close_delay;
-       unsigned short  closing_wait; /* time to wait before closing */
-       struct async_icount     icount; 
-@@ -75,8 +75,8 @@
-       int                     blocked_open; /* # of blocked opens */
-       struct circ_buf         xmit;
-       spinlock_t              xmit_lock;
--      u8                      *iomem_base;
--      u16                     iomem_reg_shift;
-+      __u8                    *iomem_base;
-+      __u16                   iomem_reg_shift;
-       int                     io_type;
-       struct work_struct                      work;
-       struct tasklet_struct   tlet;
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/clnt.h linux-libc-headers-2.6.8.0/include/linux/sunrpc/clnt.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/clnt.h        2004-02-29 10:36:05.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/sunrpc/clnt.h     2004-08-26 05:42:08.000000000 -0500
-@@ -36,7 +36,7 @@
-       atomic_t                cl_users;       /* number of references */
-       struct rpc_xprt *       cl_xprt;        /* transport */
-       struct rpc_procinfo *   cl_procinfo;    /* procedure info */
--      u32                     cl_maxproc;     /* max procedure number */
-+      __u32                   cl_maxproc;     /* max procedure number */
-       char *                  cl_server;      /* server machine name */
-       char *                  cl_protname;    /* protocol name */
-@@ -75,7 +75,7 @@
- #define RPC_MAXVERSION                4
- struct rpc_program {
-       char *                  name;           /* protocol name */
--      u32                     number;         /* program number */
-+      __u32                   number;         /* program number */
-       unsigned int            nrvers;         /* number of versions */
-       struct rpc_version **   version;        /* version array */
-       struct rpc_stat *       stats;          /* statistics */
-@@ -83,7 +83,7 @@
- };
- struct rpc_version {
--      u32                     number;         /* version number */
-+      __u32                   number;         /* version number */
-       unsigned int            nrprocs;        /* number of procs */
-       struct rpc_procinfo *   procs;          /* procedure array */
- };
-@@ -92,7 +92,7 @@
-  * Procedure information
-  */
- struct rpc_procinfo {
--      u32                     p_proc;         /* RPC procedure number */
-+      __u32                   p_proc;         /* RPC procedure number */
-       kxdrproc_t              p_encode;       /* XDR encode function */
-       kxdrproc_t              p_decode;       /* XDR decode function */
-       unsigned int            p_bufsiz;       /* req. buffer size */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/gss_asn1.h linux-libc-headers-2.6.8.0/include/linux/sunrpc/gss_asn1.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/gss_asn1.h    2004-06-23 16:52:58.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/sunrpc/gss_asn1.h 2004-08-26 13:26:25.000000000 -0500
-@@ -64,14 +64,14 @@
-    (((o1)->len == (o2)->len) && \
-     (memcmp((o1)->data,(o2)->data,(int) (o1)->len) == 0))
--u32 g_verify_token_header(
-+__u32 g_verify_token_header(
-      struct xdr_netobj *mech,
-      int *body_size,
-      unsigned char **buf_in,
-      int tok_type,
-      int toksize);
--u32 g_get_mech_oid(struct xdr_netobj *mech, struct xdr_netobj * in_buf);
-+__u32 g_get_mech_oid(struct xdr_netobj *mech, struct xdr_netobj * in_buf);
- int g_token_size(
-      struct xdr_netobj *mech,
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/gss_krb5.h linux-libc-headers-2.6.8.0/include/linux/sunrpc/gss_krb5.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/gss_krb5.h    2004-06-23 16:52:58.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/sunrpc/gss_krb5.h 2004-08-26 13:26:21.000000000 -0500
-@@ -46,8 +46,8 @@
-       int                     sealalg;
-       struct crypto_tfm       *enc;
-       struct crypto_tfm       *seq;
--      s32                     endtime;
--      u32                     seq_send;
-+      __s32                   endtime;
-+      __u32                   seq_send;
-       struct xdr_netobj       mech_used;
- };
-@@ -112,35 +112,35 @@
- #define ENCTYPE_DES3_CBC_SHA1   0x0010
- #define ENCTYPE_UNKNOWN         0x01ff
--s32
--make_checksum(s32 cksumtype, char *header, int hdrlen, struct xdr_buf *body,
-+__s32
-+make_checksum(__s32 cksumtype, char *header, int hdrlen, struct xdr_buf *body,
-                  struct xdr_netobj *cksum);
--u32
-+__u32
- krb5_make_token(struct krb5_ctx *context_handle, int qop_req,
-       struct xdr_buf *input_message_buffer,
-       struct xdr_netobj *output_message_buffer, int toktype);
--u32
-+__u32
- krb5_read_token(struct krb5_ctx *context_handle,
-         struct xdr_netobj *input_token_buffer,
-         struct xdr_buf *message_buffer,
-         int *qop_state, int toktype);
--u32
-+__u32
- krb5_encrypt(struct crypto_tfm * key,
-            void *iv, void *in, void *out, int length);
--u32
-+__u32
- krb5_decrypt(struct crypto_tfm * key,
-            void *iv, void *in, void *out, int length); 
--s32
-+__s32
- krb5_make_seq_num(struct crypto_tfm * key,
-               int direction,
--              s32 seqnum, unsigned char *cksum, unsigned char *buf);
-+              __s32 seqnum, unsigned char *cksum, unsigned char *buf);
--s32
-+__s32
- krb5_get_seq_num(struct crypto_tfm * key,
-              unsigned char *cksum,
--             unsigned char *buf, int *direction, s32 * seqnum);
-+             unsigned char *buf, int *direction, __s32 * seqnum);
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/svc.h linux-libc-headers-2.6.8.0/include/linux/sunrpc/svc.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/svc.h 2004-08-18 13:16:07.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/sunrpc/svc.h      2004-08-26 05:42:08.000000000 -0500
-@@ -75,20 +75,20 @@
-  */
- #define RPCSVC_MAXPAGES               ((RPCSVC_MAXPAYLOAD+PAGE_SIZE-1)/PAGE_SIZE + 2)
--static inline u32 svc_getu32(struct kvec *iov)
-+static inline __u32 svc_getu32(struct kvec *iov)
- {
--      u32 val, *vp;
-+      __u32 val, *vp;
-       vp = iov->iov_base;
-       val = *vp++;
-       iov->iov_base = (void*)vp;
--      iov->iov_len -= sizeof(u32);
-+      iov->iov_len -= sizeof(__u32);
-       return val;
- }
--static inline void svc_putu32(struct kvec *iov, u32 val)
-+static inline void svc_putu32(struct kvec *iov, __u32 val)
- {
--      u32 *vp = iov->iov_base + iov->iov_len;
-+      __u32 *vp = iov->iov_base + iov->iov_len;
-       *vp = val;
--      iov->iov_len += sizeof(u32);
-+      iov->iov_len += sizeof(__u32);
- }
-       
-@@ -119,11 +119,11 @@
-       short                   rq_arghi;       /* pages available in argument page list */
-       short                   rq_resused;     /* pages used for result */
--      u32                     rq_xid;         /* transmission id */
--      u32                     rq_prog;        /* program number */
--      u32                     rq_vers;        /* program version */
--      u32                     rq_proc;        /* procedure number */
--      u32                     rq_prot;        /* IP protocol */
-+      __u32                   rq_xid;         /* transmission id */
-+      __u32                   rq_prog;        /* program number */
-+      __u32                   rq_vers;        /* program version */
-+      __u32                   rq_proc;        /* procedure number */
-+      __u32                   rq_prot;        /* IP protocol */
-       unsigned short
-                               rq_secure  : 1; /* secure port */
-@@ -156,7 +156,7 @@
-  * Check buffer bounds after decoding arguments
-  */
- static inline int
--xdr_argsize_check(struct svc_rqst *rqstp, u32 *p)
-+xdr_argsize_check(struct svc_rqst *rqstp, __u32 *p)
- {
-       char *cp = (char *)p;
-       struct kvec *vec = &rqstp->rq_arg.head[0];
-@@ -164,7 +164,7 @@
- }
- static inline int
--xdr_ressize_check(struct svc_rqst *rqstp, u32 *p)
-+xdr_ressize_check(struct svc_rqst *rqstp, __u32 *p)
- {
-       struct kvec *vec = &rqstp->rq_res.head[0];
-       char *cp = (char*)p;
-@@ -220,19 +220,19 @@
- }
- struct svc_deferred_req {
--      u32                     prot;   /* protocol (UDP or TCP) */
-+      __u32                   prot;   /* protocol (UDP or TCP) */
-       struct sockaddr_in      addr;
-       struct svc_sock         *svsk;  /* where reply must go */
-       struct cache_deferred_req handle;
-       int                     argslen;
--      u32                     args[0];
-+      __u32                   args[0];
- };
- /*
-  * RPC program
-  */
- struct svc_program {
--      u32                     pg_prog;        /* program number */
-+      __u32                   pg_prog;        /* program number */
-       unsigned int            pg_lovers;      /* lowest version */
-       unsigned int            pg_hivers;      /* lowest version */
-       unsigned int            pg_nvers;       /* number of versions */
-@@ -246,16 +246,16 @@
-  * RPC program version
-  */
- struct svc_version {
--      u32                     vs_vers;        /* version number */
--      u32                     vs_nproc;       /* number of procedures */
-+      __u32                   vs_vers;        /* version number */
-+      __u32                   vs_nproc;       /* number of procedures */
-       struct svc_procedure *  vs_proc;        /* per-procedure info */
--      u32                     vs_xdrsize;     /* xdrsize needed for this version */
-+      __u32                   vs_xdrsize;     /* xdrsize needed for this version */
-       /* Override dispatch function (e.g. when caching replies).
-        * A return value of 0 means drop the request. 
-        * vs_dispatch == NULL means use default dispatcher.
-        */
--      int                     (*vs_dispatch)(struct svc_rqst *, u32 *);
-+      int                     (*vs_dispatch)(struct svc_rqst *, __u32 *);
- };
- /*
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/xprt.h linux-libc-headers-2.6.8.0/include/linux/sunrpc/xprt.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/xprt.h        2004-06-23 16:52:58.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/sunrpc/xprt.h     2004-08-26 05:42:08.000000000 -0500
-@@ -93,7 +93,7 @@
-       __u32                   rq_xid;         /* request XID */
-       int                     rq_cong;        /* has incremented xprt->cong */
-       int                     rq_received;    /* receive completed */
--      u32                     rq_seqno;       /* gss seq no. used on req. */
-+      __u32                   rq_seqno;       /* gss seq no. used on req. */
-       struct list_head        rq_list;
-@@ -106,13 +106,13 @@
-       /*
-        * For authentication (e.g. auth_des)
-        */
--      u32                     rq_creddata[2];
-+      __u32                   rq_creddata[2];
-       
-       /*
-        * Partial send handling
-        */
-       
--      u32                     rq_bytes_sent;  /* Bytes we have sent */
-+      __u32                   rq_bytes_sent;  /* Bytes we have sent */
-       unsigned long           rq_xtime;       /* when transmitted */
-       int                     rq_ntrans;
-@@ -160,7 +160,7 @@
-       /*
-        * State of TCP reply receive stuff
-        */
--      u32                     tcp_recm,       /* Fragment header */
-+      __u32                   tcp_recm,       /* Fragment header */
-                               tcp_xid,        /* Current XID */
-                               tcp_reclen,     /* fragment length */
-                               tcp_offset;     /* fragment offset */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/suspend.h linux-libc-headers-2.6.8.0/include/linux/suspend.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/suspend.h    2004-08-18 13:16:05.000000000 -0500
-+++ linux-libc-headers-2.6.8.0/include/linux/suspend.h 2004-08-26 05:42:08.000000000 -0500
-@@ -23,7 +23,7 @@
- #define SWAP_FILENAME_MAXLENGTH       32
- struct suspend_header {
--      u32 version_code;
-+      __u32 version_code;
-       unsigned long num_physpages;
-       char machine[8];
-       char version[20];
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sysdev.h linux-libc-headers-2.6.8.0/include/linux/sysdev.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/sysdev.h     2004-03-28 07:52:11.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/sysdev.h  2004-08-26 05:42:08.000000000 -0500
-@@ -31,7 +31,7 @@
-       /* Default operations for these types of devices */
-       int     (*shutdown)(struct sys_device *);
--      int     (*suspend)(struct sys_device *, u32 state);
-+      int     (*suspend)(struct sys_device *, __u32 state);
-       int     (*resume)(struct sys_device *);
-       struct kset             kset;
- };
-@@ -50,7 +50,7 @@
-       int     (*add)(struct sys_device *);
-       int     (*remove)(struct sys_device *);
-       int     (*shutdown)(struct sys_device *);
--      int     (*suspend)(struct sys_device *, u32 state);
-+      int     (*suspend)(struct sys_device *, __u32 state);
-       int     (*resume)(struct sys_device *);
- };
-@@ -65,7 +65,7 @@
-  */
- struct sys_device {
--      u32             id;
-+      __u32           id;
-       struct sysdev_class     * cls;
-       struct kobject          kobj;
- };
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sysv_fs.h linux-libc-headers-2.6.8.0/include/linux/sysv_fs.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/sysv_fs.h    2003-12-15 12:46:58.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/sysv_fs.h 2004-08-26 05:42:08.000000000 -0500
-@@ -9,12 +9,12 @@
- /* inode numbers are 16 bit */
--typedef u16 sysv_ino_t;
-+typedef __u16 sysv_ino_t;
- /* Block numbers are 24 bit, sometimes stored in 32 bit.
-    On Coherent FS, they are always stored in PDP-11 manner: the least
-    significant 16 bits come last. */
--typedef u32 sysv_zone_t;
-+typedef __u32 sysv_zone_t;
- /* 0 is non-existent */
- #define SYSV_BADBL_INO        1       /* inode of bad blocks file */
-@@ -25,29 +25,29 @@
- #define XENIX_NICINOD 100     /* number of inode cache entries */
- #define XENIX_NICFREE 100     /* number of free block list chunk entries */
- struct xenix_super_block {
--      u16             s_isize; /* index of first data zone */
--      u32             s_fsize __packed2__; /* total number of zones of this fs */
-+      __u16           s_isize; /* index of first data zone */
-+      __u32           s_fsize __packed2__; /* total number of zones of this fs */
-       /* the start of the free block list: */
--      u16             s_nfree;        /* number of free blocks in s_free, <= XENIX_NICFREE */
--      u32             s_free[XENIX_NICFREE]; /* first free block list chunk */
-+      __u16           s_nfree;        /* number of free blocks in s_free, <= XENIX_NICFREE */
-+      __u32           s_free[XENIX_NICFREE]; /* first free block list chunk */
-       /* the cache of free inodes: */
--      u16             s_ninode; /* number of free inodes in s_inode, <= XENIX_NICINOD */
-+      __u16           s_ninode; /* number of free inodes in s_inode, <= XENIX_NICINOD */
-       sysv_ino_t      s_inode[XENIX_NICINOD]; /* some free inodes */
-       /* locks, not used by Linux: */
-       char            s_flock;        /* lock during free block list manipulation */
-       char            s_ilock;        /* lock during inode cache manipulation */
-       char            s_fmod;         /* super-block modified flag */
-       char            s_ronly;        /* flag whether fs is mounted read-only */
--      u32             s_time __packed2__; /* time of last super block update */
--      u32             s_tfree __packed2__; /* total number of free zones */
--      u16             s_tinode;       /* total number of free inodes */
--      s16             s_dinfo[4];     /* device information ?? */
-+      __u32           s_time __packed2__; /* time of last super block update */
-+      __u32           s_tfree __packed2__; /* total number of free zones */
-+      __u16           s_tinode;       /* total number of free inodes */
-+      __s16           s_dinfo[4];     /* device information ?? */
-       char            s_fname[6];     /* file system volume name */
-       char            s_fpack[6];     /* file system pack name */
-       char            s_clean;        /* set to 0x46 when filesystem is properly unmounted */
-       char            s_fill[371];
--      s32             s_magic;        /* version of file system */
--      s32             s_type;         /* type of file system: 1 for 512 byte blocks
-+      __s32           s_magic;        /* version of file system */
-+      __s32           s_type;         /* type of file system: 1 for 512 byte blocks
-                                                               2 for 1024 byte blocks
-                                                               3 for 2048 byte blocks */
-                                                               
-@@ -63,61 +63,61 @@
- /* SystemV4 super-block data on disk */
- struct sysv4_super_block {
--      u16     s_isize;        /* index of first data zone */
--      u16     s_pad0;
--      u32     s_fsize;        /* total number of zones of this fs */
-+      __u16   s_isize;        /* index of first data zone */
-+      __u16   s_pad0;
-+      __u32   s_fsize;        /* total number of zones of this fs */
-       /* the start of the free block list: */
--      u16     s_nfree;        /* number of free blocks in s_free, <= SYSV_NICFREE */
--      u16     s_pad1;
--      u32     s_free[SYSV_NICFREE]; /* first free block list chunk */
-+      __u16   s_nfree;        /* number of free blocks in s_free, <= SYSV_NICFREE */
-+      __u16   s_pad1;
-+      __u32   s_free[SYSV_NICFREE]; /* first free block list chunk */
-       /* the cache of free inodes: */
--      u16     s_ninode;       /* number of free inodes in s_inode, <= SYSV_NICINOD */
--      u16     s_pad2;
-+      __u16   s_ninode;       /* number of free inodes in s_inode, <= SYSV_NICINOD */
-+      __u16   s_pad2;
-       sysv_ino_t     s_inode[SYSV_NICINOD]; /* some free inodes */
-       /* locks, not used by Linux: */
-       char    s_flock;        /* lock during free block list manipulation */
-       char    s_ilock;        /* lock during inode cache manipulation */
-       char    s_fmod;         /* super-block modified flag */
-       char    s_ronly;        /* flag whether fs is mounted read-only */
--      u32     s_time;         /* time of last super block update */
--      s16     s_dinfo[4];     /* device information ?? */
--      u32     s_tfree;        /* total number of free zones */
--      u16     s_tinode;       /* total number of free inodes */
--      u16     s_pad3;
-+      __u32   s_time;         /* time of last super block update */
-+      __s16   s_dinfo[4];     /* device information ?? */
-+      __u32   s_tfree;        /* total number of free zones */
-+      __u16   s_tinode;       /* total number of free inodes */
-+      __u16   s_pad3;
-       char    s_fname[6];     /* file system volume name */
-       char    s_fpack[6];     /* file system pack name */
--      s32     s_fill[12];
--      s32     s_state;        /* file system state: 0x7c269d38-s_time means clean */
--      s32     s_magic;        /* version of file system */
--      s32     s_type;         /* type of file system: 1 for 512 byte blocks
-+      __s32   s_fill[12];
-+      __s32   s_state;        /* file system state: 0x7c269d38-s_time means clean */
-+      __s32   s_magic;        /* version of file system */
-+      __s32   s_type;         /* type of file system: 1 for 512 byte blocks
-                                                               2 for 1024 byte blocks */
- };
- /* SystemV2 super-block data on disk */
- struct sysv2_super_block {
--      u16     s_isize;                /* index of first data zone */
--      u32     s_fsize __packed2__;    /* total number of zones of this fs */
-+      __u16   s_isize;                /* index of first data zone */
-+      __u32   s_fsize __packed2__;    /* total number of zones of this fs */
-       /* the start of the free block list: */
--      u16     s_nfree;                /* number of free blocks in s_free, <= SYSV_NICFREE */
--      u32     s_free[SYSV_NICFREE];   /* first free block list chunk */
-+      __u16   s_nfree;                /* number of free blocks in s_free, <= SYSV_NICFREE */
-+      __u32   s_free[SYSV_NICFREE];   /* first free block list chunk */
-       /* the cache of free inodes: */
--      u16     s_ninode;               /* number of free inodes in s_inode, <= SYSV_NICINOD */
-+      __u16   s_ninode;               /* number of free inodes in s_inode, <= SYSV_NICINOD */
-       sysv_ino_t     s_inode[SYSV_NICINOD]; /* some free inodes */
-       /* locks, not used by Linux: */
-       char    s_flock;                /* lock during free block list manipulation */
-       char    s_ilock;                /* lock during inode cache manipulation */
-       char    s_fmod;                 /* super-block modified flag */
-       char    s_ronly;                /* flag whether fs is mounted read-only */
--      u32     s_time __packed2__;     /* time of last super block update */
--      s16     s_dinfo[4];             /* device information ?? */
--      u32     s_tfree __packed2__;    /* total number of free zones */
--      u16     s_tinode;               /* total number of free inodes */
-+      __u32   s_time __packed2__;     /* time of last super block update */
-+      __s16   s_dinfo[4];             /* device information ?? */
-+      __u32   s_tfree __packed2__;    /* total number of free zones */
-+      __u16   s_tinode;               /* total number of free inodes */
-       char    s_fname[6];             /* file system volume name */
-       char    s_fpack[6];             /* file system pack name */
--      s32     s_fill[14];
--      s32     s_state;                /* file system state: 0xcb096f43 means clean */
--      s32     s_magic;                /* version of file system */
--      s32     s_type;                 /* type of file system: 1 for 512 byte blocks
-+      __s32   s_fill[14];
-+      __s32   s_state;                /* file system state: 0xcb096f43 means clean */
-+      __s32   s_magic;                /* version of file system */
-+      __s32   s_type;                 /* type of file system: 1 for 512 byte blocks
-                                                               2 for 1024 byte blocks */
- };
-@@ -125,25 +125,25 @@
- #define V7_NICINOD     100     /* number of inode cache entries */
- #define V7_NICFREE     50      /* number of free block list chunk entries */
- struct v7_super_block {
--      u16    s_isize;        /* index of first data zone */
--      u32    s_fsize __packed2__; /* total number of zones of this fs */
-+      __u16    s_isize;        /* index of first data zone */
-+      __u32    s_fsize __packed2__; /* total number of zones of this fs */
-       /* the start of the free block list: */
--      u16    s_nfree;        /* number of free blocks in s_free, <= V7_NICFREE */
--      u32    s_free[V7_NICFREE]; /* first free block list chunk */
-+      __u16    s_nfree;        /* number of free blocks in s_free, <= V7_NICFREE */
-+      __u32    s_free[V7_NICFREE]; /* first free block list chunk */
-       /* the cache of free inodes: */
--      u16    s_ninode;       /* number of free inodes in s_inode, <= V7_NICINOD */
-+      __u16    s_ninode;       /* number of free inodes in s_inode, <= V7_NICINOD */
-       sysv_ino_t      s_inode[V7_NICINOD]; /* some free inodes */
-       /* locks, not used by Linux or V7: */
-       char    s_flock;        /* lock during free block list manipulation */
-       char    s_ilock;        /* lock during inode cache manipulation */
-       char    s_fmod;         /* super-block modified flag */
-       char    s_ronly;        /* flag whether fs is mounted read-only */
--      u32     s_time __packed2__; /* time of last super block update */
-+      __u32     s_time __packed2__; /* time of last super block update */
-       /* the following fields are not maintained by V7: */
--      u32     s_tfree __packed2__; /* total number of free zones */
--      u16     s_tinode;       /* total number of free inodes */
--      u16     s_m;            /* interleave factor */
--      u16     s_n;            /* interleave factor */
-+      __u32     s_tfree __packed2__; /* total number of free zones */
-+      __u16     s_tinode;       /* total number of free inodes */
-+      __u16     s_m;            /* interleave factor */
-+      __u16     s_n;            /* interleave factor */
-       char    s_fname[6];     /* file system name */
-       char    s_fpack[6];     /* file system pack name */
- };
-@@ -152,41 +152,41 @@
- #define COH_NICINOD   100     /* number of inode cache entries */
- #define COH_NICFREE   64      /* number of free block list chunk entries */
- struct coh_super_block {
--      u16             s_isize;        /* index of first data zone */
--      u32             s_fsize __packed2__; /* total number of zones of this fs */
-+      __u16           s_isize;        /* index of first data zone */
-+      __u32           s_fsize __packed2__; /* total number of zones of this fs */
-       /* the start of the free block list: */
--      u16 s_nfree;    /* number of free blocks in s_free, <= COH_NICFREE */
--      u32             s_free[COH_NICFREE] __packed2__; /* first free block list chunk */
-+      __u16 s_nfree;  /* number of free blocks in s_free, <= COH_NICFREE */
-+      __u32           s_free[COH_NICFREE] __packed2__; /* first free block list chunk */
-       /* the cache of free inodes: */
--      u16             s_ninode;       /* number of free inodes in s_inode, <= COH_NICINOD */
-+      __u16           s_ninode;       /* number of free inodes in s_inode, <= COH_NICINOD */
-       sysv_ino_t      s_inode[COH_NICINOD]; /* some free inodes */
-       /* locks, not used by Linux: */
-       char            s_flock;        /* lock during free block list manipulation */
-       char            s_ilock;        /* lock during inode cache manipulation */
-       char            s_fmod;         /* super-block modified flag */
-       char            s_ronly;        /* flag whether fs is mounted read-only */
--      u32             s_time __packed2__; /* time of last super block update */
--      u32             s_tfree __packed2__; /* total number of free zones */
--      u16             s_tinode;       /* total number of free inodes */
--      u16             s_interleave_m; /* interleave factor */
--      u16             s_interleave_n;
-+      __u32           s_time __packed2__; /* time of last super block update */
-+      __u32           s_tfree __packed2__; /* total number of free zones */
-+      __u16           s_tinode;       /* total number of free inodes */
-+      __u16           s_interleave_m; /* interleave factor */
-+      __u16           s_interleave_n;
-       char            s_fname[6];     /* file system volume name */
-       char            s_fpack[6];     /* file system pack name */
--      u32             s_unique;       /* zero, not used */
-+      __u32           s_unique;       /* zero, not used */
- };
- /* SystemV/Coherent inode data on disk */
- struct sysv_inode {
--      u16 i_mode;
--      u16 i_nlink;
--      u16 i_uid;
--      u16 i_gid;
--      u32 i_size;
--      u8  i_data[3*(10+1+1+1)];
--      u8  i_gen;
--      u32 i_atime;    /* time of last access */
--      u32 i_mtime;    /* time of last modification */
--      u32 i_ctime;    /* time of creation */
-+      __u16 i_mode;
-+      __u16 i_nlink;
-+      __u16 i_uid;
-+      __u16 i_gid;
-+      __u32 i_size;
-+      __u8  i_data[3*(10+1+1+1)];
-+      __u8  i_gen;
-+      __u32 i_atime;  /* time of last access */
-+      __u32 i_mtime;  /* time of last modification */
-+      __u32 i_ctime;  /* time of creation */
- };
- /* SystemV/Coherent directory entry on disk */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/tiocl.h linux-libc-headers-2.6.8.0/include/linux/tiocl.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/tiocl.h      2003-12-15 12:46:58.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/tiocl.h   2004-08-26 05:42:08.000000000 -0500
-@@ -23,7 +23,7 @@
- #define TIOCL_SELLOADLUT      5
-       /* set characters to be considered alphabetic when selecting */
--      /* u32[8] bit array, 4 bytes-aligned with type */
-+      /* __u32[8] bit array, 4 bytes-aligned with type */
- /* these two don't return a value: they write it back in the type */
- #define TIOCL_GETSHIFTSTATE   6       /* write shift state */
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/umem.h linux-libc-headers-2.6.8.0/include/linux/umem.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/umem.h       2003-12-15 12:46:58.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/umem.h    2004-08-26 05:42:08.000000000 -0500
-@@ -110,19 +110,19 @@
- #define DMA_WRITE_TO_HOST 1
- struct mm_dma_desc {
--      u64     pci_addr;
--      u64     local_addr;
--      u32     transfer_size;
--      u32     zero1;
--      u64     next_desc_addr;
--      u64     sem_addr;
--      u32     control_bits;
--      u32     zero2;
-+      __u64   pci_addr;
-+      __u64   local_addr;
-+      __u32   transfer_size;
-+      __u32   zero1;
-+      __u64   next_desc_addr;
-+      __u64   sem_addr;
-+      __u32   control_bits;
-+      __u32   zero2;
-       dma_addr_t data_dma_handle;
-       /* Copy of the bits */
--      u64     sem_control_bits;
-+      __u64   sem_control_bits;
- } __attribute__((aligned(8)));
- #define PCI_VENDOR_ID_MICRO_MEMORY            0x1332
-diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/vt_buffer.h linux-libc-headers-2.6.8.0/include/linux/vt_buffer.h
---- linux-libc-headers-2.6.8.0-dist/include/linux/vt_buffer.h  2004-01-17 17:04:33.000000000 -0600
-+++ linux-libc-headers-2.6.8.0/include/linux/vt_buffer.h       2004-08-26 05:42:08.000000000 -0500
-@@ -28,7 +28,7 @@
- #endif
- #ifndef VT_BUF_HAVE_MEMSETW
--static inline void scr_memsetw(u16 *s, u16 c, unsigned int count)
-+static inline void scr_memsetw(__u16 *s, __u16 c, unsigned int count)
- {
-       count /= 2;
-       while (count--)
-@@ -37,7 +37,7 @@
- #endif
- #ifndef VT_BUF_HAVE_MEMCPYW
--static inline void scr_memcpyw(u16 *d, const u16 *s, unsigned int count)
-+static inline void scr_memcpyw(__u16 *d, const __u16 *s, unsigned int count)
- {
-       count /= 2;
-       while (count--)
-@@ -46,7 +46,7 @@
- #endif
- #ifndef VT_BUF_HAVE_MEMMOVEW
--static inline void scr_memmovew(u16 *d, const u16 *s, unsigned int count)
-+static inline void scr_memmovew(__u16 *d, const __u16 *s, unsigned int count)
- {
-       if (d < s)
-               scr_memcpyw(d, s, count);
diff --git a/sources/linux.config b/sources/linux.config
deleted file mode 100644 (file)
index d268d77..0000000
+++ /dev/null
@@ -1,879 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-CONFIG_X86=y
-# CONFIG_SBUS is not set
-CONFIG_UID16=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-# CONFIG_MODVERSIONS is not set
-CONFIG_KMOD=y
-
-#
-# Processor type and features
-#
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-CONFIG_MELAN=y
-# CONFIG_MCRUSOE is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP2 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_CMPXCHG=y
-CONFIG_X86_XADD=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_X86_L1_CACHE_SHIFT=4
-CONFIG_X86_USE_STRING_486=y
-CONFIG_X86_ALIGNMENT_16=y
-CONFIG_X86_F00F_WORKS_OK=y
-# CONFIG_X86_MCE is not set
-# CONFIG_TOSHIBA is not set
-# CONFIG_I8K is not set
-# CONFIG_MICROCODE is not set
-# CONFIG_X86_MSR is not set
-# CONFIG_X86_CPUID is not set
-# CONFIG_EDD is not set
-CONFIG_NOHIGHMEM=y
-# CONFIG_HIGHMEM4G is not set
-# CONFIG_HIGHMEM64G is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_MATH_EMULATION=y
-CONFIG_MTRR=y
-# CONFIG_SMP is not set
-# CONFIG_X86_UP_APIC is not set
-# CONFIG_X86_UP_IOAPIC is not set
-# CONFIG_X86_TSC_DISABLE is not set
-
-#
-# General setup
-#
-CONFIG_NET=y
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_ISA=y
-CONFIG_PCI_NAMES=y
-CONFIG_EISA=y
-CONFIG_MCA=y
-CONFIG_HOTPLUG=y
-
-#
-# PCMCIA/CardBus support
-#
-CONFIG_PCMCIA=m
-CONFIG_CARDBUS=y
-CONFIG_TCIC=y
-CONFIG_I82092=y
-CONFIG_I82365=y
-
-#
-# PCI Hotplug Support
-#
-CONFIG_HOTPLUG_PCI=y
-# CONFIG_HOTPLUG_PCI_COMPAQ is not set
-# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-CONFIG_SYSVIPC=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-CONFIG_KCORE_ELF=y
-# CONFIG_KCORE_AOUT is not set
-# CONFIG_BINFMT_AOUT is not set
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_OOM_KILLER is not set
-CONFIG_PM=y
-CONFIG_APM=y
-# CONFIG_APM_IGNORE_USER_SUSPEND is not set
-CONFIG_APM_DO_ENABLE=y
-# CONFIG_APM_CPU_IDLE is not set
-# CONFIG_APM_DISPLAY_BLANK is not set
-CONFIG_APM_RTC_IS_GMT=y
-CONFIG_APM_ALLOW_INTS=y
-CONFIG_APM_REAL_MODE_POWER_OFF=y
-
-#
-# ACPI Support
-#
-# CONFIG_ACPI is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-# CONFIG_MTD is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play configuration
-#
-# CONFIG_PNP is not set
-# CONFIG_ISAPNP is not set
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_DEV_PS2 is not set
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_CISS_SCSI_TAPE is not set
-# CONFIG_CISS_MONITOR_THREAD is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_NBD is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=8192
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_BLK_STATS is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_MD_LINEAR is not set
-# CONFIG_MD_RAID0 is not set
-# CONFIG_MD_RAID1 is not set
-# CONFIG_MD_RAID5 is not set
-# CONFIG_MD_MULTIPATH is not set
-# CONFIG_BLK_DEV_LVM is not set
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-# CONFIG_PACKET_MMAP is not set
-CONFIG_NETLINK_DEV=y
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_FILTER=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_FWMARK=y
-CONFIG_IP_ROUTE_NAT=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_TOS=y
-# CONFIG_IP_ROUTE_VERBOSE is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-CONFIG_INET_ECN=y
-# CONFIG_SYN_COOKIES is not set
-
-#
-#   IP: Netfilter Configuration
-#
-CONFIG_IP_NF_CONNTRACK=y
-CONFIG_IP_NF_FTP=y
-# CONFIG_IP_NF_AMANDA is not set
-CONFIG_IP_NF_TFTP=y
-CONFIG_IP_NF_IRC=y
-CONFIG_IP_NF_QUEUE=y
-CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_MATCH_LIMIT=y
-CONFIG_IP_NF_MATCH_MAC=y
-CONFIG_IP_NF_MATCH_PKTTYPE=y
-CONFIG_IP_NF_MATCH_MARK=y
-CONFIG_IP_NF_MATCH_MULTIPORT=y
-CONFIG_IP_NF_MATCH_TOS=y
-CONFIG_IP_NF_MATCH_RECENT=y
-CONFIG_IP_NF_MATCH_ECN=y
-CONFIG_IP_NF_MATCH_DSCP=y
-CONFIG_IP_NF_MATCH_AH_ESP=y
-CONFIG_IP_NF_MATCH_LENGTH=y
-CONFIG_IP_NF_MATCH_TTL=y
-CONFIG_IP_NF_MATCH_TCPMSS=y
-CONFIG_IP_NF_MATCH_HELPER=y
-CONFIG_IP_NF_MATCH_STATE=y
-CONFIG_IP_NF_MATCH_CONNTRACK=y
-CONFIG_IP_NF_MATCH_UNCLEAN=y
-CONFIG_IP_NF_MATCH_OWNER=y
-CONFIG_IP_NF_FILTER=y
-CONFIG_IP_NF_TARGET_REJECT=y
-CONFIG_IP_NF_TARGET_MIRROR=y
-CONFIG_IP_NF_NAT=y
-CONFIG_IP_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=y
-CONFIG_IP_NF_TARGET_REDIRECT=y
-CONFIG_IP_NF_NAT_LOCAL=y
-CONFIG_IP_NF_NAT_SNMP_BASIC=y
-CONFIG_IP_NF_NAT_IRC=y
-CONFIG_IP_NF_NAT_FTP=y
-CONFIG_IP_NF_NAT_TFTP=y
-CONFIG_IP_NF_MANGLE=y
-CONFIG_IP_NF_TARGET_TOS=y
-CONFIG_IP_NF_TARGET_ECN=y
-CONFIG_IP_NF_TARGET_DSCP=y
-CONFIG_IP_NF_TARGET_MARK=y
-CONFIG_IP_NF_TARGET_LOG=y
-CONFIG_IP_NF_TARGET_ULOG=y
-CONFIG_IP_NF_TARGET_TCPMSS=y
-CONFIG_IP_NF_ARPTABLES=y
-CONFIG_IP_NF_ARPFILTER=y
-CONFIG_IP_NF_ARP_MANGLE=y
-
-#
-#   IP: Virtual Server Configuration
-#
-# CONFIG_IP_VS is not set
-# CONFIG_IPV6 is not set
-# CONFIG_KHTTPD is not set
-
-#
-#    SCTP Configuration (EXPERIMENTAL)
-#
-CONFIG_IPV6_SCTP__=y
-# CONFIG_IP_SCTP is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-CONFIG_SCTP_HMAC_SHA1=y
-# CONFIG_SCTP_HMAC_MD5 is not set
-# CONFIG_ATM is not set
-# CONFIG_VLAN_8021Q is not set
-
-#
-#  
-#
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-
-#
-# Appletalk devices
-#
-# CONFIG_DEV_APPLETALK is not set
-# CONFIG_DECNET is not set
-CONFIG_BRIDGE=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_LLC is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_FASTROUTE is not set
-# CONFIG_NET_HW_FLOWCONTROL is not set
-
-#
-# QoS and/or fair queueing
-#
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBQ=y
-CONFIG_NET_SCH_HTB=y
-CONFIG_NET_SCH_CSZ=y
-CONFIG_NET_SCH_HFSC=y
-CONFIG_NET_SCH_PRIO=y
-CONFIG_NET_SCH_RED=y
-CONFIG_NET_SCH_SFQ=y
-CONFIG_NET_SCH_TEQL=y
-CONFIG_NET_SCH_TBF=y
-CONFIG_NET_SCH_GRED=y
-CONFIG_NET_SCH_DELAY=y
-CONFIG_NET_SCH_DSMARK=y
-CONFIG_NET_SCH_INGRESS=y
-CONFIG_NET_QOS=y
-CONFIG_NET_ESTIMATOR=y
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_TCINDEX=y
-CONFIG_NET_CLS_ROUTE4=y
-CONFIG_NET_CLS_ROUTE=y
-CONFIG_NET_CLS_FW=y
-CONFIG_NET_CLS_U32=y
-CONFIG_NET_CLS_RSVP=y
-CONFIG_NET_CLS_RSVP6=y
-CONFIG_NET_CLS_POLICE=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-
-#
-# Telephony Support
-#
-# CONFIG_PHONE is not set
-# CONFIG_PHONE_IXJ is not set
-# CONFIG_PHONE_IXJ_PCMCIA is not set
-
-#
-# ATA/IDE/MFM/RLL support
-#
-CONFIG_IDE=y
-
-#
-# IDE, ATA and ATAPI Block devices
-#
-CONFIG_BLK_DEV_IDE=y
-
-#
-# Please see Documentation/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_HD_IDE is not set
-# CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_IDEDISK=y
-CONFIG_IDEDISK_MULTI_MODE=y
-CONFIG_IDEDISK_STROKE=y
-CONFIG_BLK_DEV_IDECS=m
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDEFLOPPY is not set
-# CONFIG_BLK_DEV_IDESCSI is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_CMD640 is not set
-# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-# CONFIG_BLK_DEV_ISAPNP is not set
-CONFIG_BLK_DEV_IDEPCI=y
-CONFIG_BLK_DEV_GENERIC=y
-CONFIG_IDEPCI_SHARE_IRQ=y
-CONFIG_BLK_DEV_IDEDMA_PCI=y
-# CONFIG_BLK_DEV_OFFBOARD is not set
-# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
-CONFIG_IDEDMA_PCI_AUTO=y
-# CONFIG_IDEDMA_ONLYDISK is not set
-CONFIG_BLK_DEV_IDEDMA=y
-CONFIG_IDEDMA_PCI_WIP=y
-# CONFIG_BLK_DEV_ADMA100 is not set
-# CONFIG_BLK_DEV_AEC62XX is not set
-# CONFIG_BLK_DEV_ALI15X3 is not set
-# CONFIG_WDC_ALI15X3 is not set
-# CONFIG_BLK_DEV_AMD74XX is not set
-# CONFIG_BLK_DEV_ATIIXP is not set
-# CONFIG_AMD74XX_OVERRIDE is not set
-# CONFIG_BLK_DEV_CMD64X is not set
-# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_CY82C693 is not set
-# CONFIG_BLK_DEV_CS5530 is not set
-# CONFIG_BLK_DEV_HPT34X is not set
-# CONFIG_HPT34X_AUTODMA is not set
-# CONFIG_BLK_DEV_HPT366 is not set
-# CONFIG_BLK_DEV_PIIX is not set
-# CONFIG_BLK_DEV_NS87415 is not set
-# CONFIG_BLK_DEV_OPTI621 is not set
-# CONFIG_BLK_DEV_PDC202XX_OLD is not set
-# CONFIG_PDC202XX_BURST is not set
-# CONFIG_BLK_DEV_PDC202XX_NEW is not set
-# CONFIG_BLK_DEV_RZ1000 is not set
-# CONFIG_BLK_DEV_SC1200 is not set
-# CONFIG_BLK_DEV_SVWKS is not set
-# CONFIG_BLK_DEV_SIIMAGE is not set
-# CONFIG_BLK_DEV_SIS5513 is not set
-# CONFIG_BLK_DEV_SLC90E66 is not set
-# CONFIG_BLK_DEV_TRM290 is not set
-# CONFIG_BLK_DEV_VIA82CXXX is not set
-# CONFIG_IDE_CHIPSETS is not set
-CONFIG_IDEDMA_AUTO=y
-# CONFIG_IDEDMA_IVB is not set
-# CONFIG_DMA_NONPCI is not set
-# CONFIG_BLK_DEV_ATARAID is not set
-# CONFIG_BLK_DEV_ATARAID_PDC is not set
-# CONFIG_BLK_DEV_ATARAID_HPT is not set
-# CONFIG_BLK_DEV_ATARAID_MEDLEY is not set
-# CONFIG_BLK_DEV_ATARAID_SII is not set
-
-#
-# SCSI support
-#
-# CONFIG_SCSI is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_BOOT is not set
-# CONFIG_FUSION_ISENSE is not set
-# CONFIG_FUSION_CTL is not set
-# CONFIG_FUSION_LAN is not set
-
-#
-# IEEE 1394 (FireWire) support (EXPERIMENTAL)
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-# CONFIG_I2O_PCI is not set
-# CONFIG_I2O_BLOCK is not set
-# CONFIG_I2O_LAN is not set
-# CONFIG_I2O_SCSI is not set
-# CONFIG_I2O_PROC is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-CONFIG_DUMMY=m
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=y
-# CONFIG_ETHERTAP is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-# CONFIG_SUNLANCE is not set
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNBMAC is not set
-# CONFIG_SUNQE is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_LANCE is not set
-# CONFIG_NET_VENDOR_SMC is not set
-# CONFIG_NET_VENDOR_RACAL is not set
-# CONFIG_AT1700 is not set
-# CONFIG_DEPCA is not set
-# CONFIG_HP100 is not set
-# CONFIG_NET_ISA is not set
-# CONFIG_SKMC is not set
-# CONFIG_NE2_MCA is not set
-# CONFIG_IBMLANA is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_AC3200 is not set
-# CONFIG_APRICOT is not set
-# CONFIG_B44 is not set
-# CONFIG_CS89x0 is not set
-# CONFIG_TULIP is not set
-# CONFIG_DE4X5 is not set
-# CONFIG_DGRS is not set
-# CONFIG_DM9102 is not set
-# CONFIG_EEPRO100 is not set
-# CONFIG_EEPRO100_PIO is not set
-# CONFIG_E100 is not set
-# CONFIG_LNE390 is not set
-# CONFIG_FEALNX is not set
-CONFIG_NATSEMI=y
-# CONFIG_NE2K_PCI is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_NE3210 is not set
-# CONFIG_ES3210 is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_8139TOO_PIO is not set
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-# CONFIG_8139TOO_8129 is not set
-# CONFIG_8139_OLD_RX_RESET is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_SUNDANCE_MMIO is not set
-# CONFIG_TLAN is not set
-# CONFIG_VIA_RHINE is not set
-# CONFIG_VIA_RHINE_MMIO is not set
-# CONFIG_WINBOND_840 is not set
-# CONFIG_NET_POCKET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_MYRI_SBUS is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-# CONFIG_STRIP is not set
-# CONFIG_WAVELAN is not set
-# CONFIG_ARLAN is not set
-# CONFIG_AIRONET4500 is not set
-# CONFIG_AIRONET4500_NONCS is not set
-# CONFIG_AIRONET4500_PROC is not set
-# CONFIG_AIRO is not set
-CONFIG_HERMES=m
-CONFIG_HOSTAP=m
-# CONFIG_PLX_HERMES is not set
-# CONFIG_TMD_HERMES is not set
-# CONFIG_PCI_HERMES is not set
-# CONFIG_HOSTAP_PLX is not set
-# CONFIG_HOSTAP_PCI is not set
-
-#
-# Wireless Pcmcia cards support
-#
-CONFIG_PCMCIA_HERMES=m
-CONFIG_HOSTAP_CS=m
-# CONFIG_AIRO_CS is not set
-# CONFIG_PCMCIA_ATMEL is not set
-CONFIG_NET_WIRELESS=y
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-# CONFIG_NET_FC is not set
-# CONFIG_RCPCI is not set
-# CONFIG_SHAPER is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-
-#
-# PCMCIA network device support
-#
-# CONFIG_NET_PCMCIA is not set
-
-#
-# Amateur Radio support
-#
-# CONFIG_HAMRADIO is not set
-
-#
-# IrDA (infrared) support
-#
-# CONFIG_IRDA is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Old CD-ROM drivers (not SCSI, not IDE)
-#
-# CONFIG_CD_NO_IDESCSI is not set
-
-#
-# Input core support
-#
-# CONFIG_INPUT is not set
-# CONFIG_INPUT_KEYBDEV is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_UINPUT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_SERIAL=y
-CONFIG_SERIAL_CONSOLE=y
-# CONFIG_SERIAL_EXTENDED is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX98_PTY_COUNT=256
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# Mice
-#
-# CONFIG_BUSMOUSE is not set
-# CONFIG_MOUSE is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_GAMEPORT is not set
-
-#
-# Input core support is needed for gameports
-#
-
-#
-# Input core support is needed for joysticks
-#
-# CONFIG_QIC02_TAPE is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_IPMI_PANIC_EVENT is not set
-# CONFIG_IPMI_DEVICE_INTERFACE is not set
-# CONFIG_IPMI_KCS is not set
-# CONFIG_IPMI_WATCHDOG is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-# CONFIG_SCx200 is not set
-# CONFIG_SCx200_GPIO is not set
-CONFIG_AMD_RNG=y
-# CONFIG_INTEL_RNG is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_AMD_PM768 is not set
-# CONFIG_NVRAM is not set
-CONFIG_RTC=y
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_FTAPE is not set
-# CONFIG_AGP is not set
-
-#
-# Direct Rendering Manager (XFree86 DRI support)
-#
-# CONFIG_DRM is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_PCMCIA_SERIAL_CS is not set
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_MWAVE is not set
-# CONFIG_OBMOUSE is not set
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# File systems
-#
-# CONFIG_QUOTA is not set
-# CONFIG_QFMT_V2 is not set
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADFS_FS_RW is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BEFS_DEBUG is not set
-# CONFIG_BFS_FS is not set
-CONFIG_EXT3_FS=y
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-# CONFIG_UMSDOS_FS is not set
-CONFIG_VFAT_FS=y
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-# CONFIG_JFFS2_FS is not set
-# CONFIG_CRAMFS is not set
-CONFIG_TMPFS=y
-CONFIG_RAMFS=y
-# CONFIG_ISO9660_FS is not set
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_NTFS_FS is not set
-# CONFIG_NTFS_RW is not set
-# CONFIG_HPFS_FS is not set
-CONFIG_PROC_FS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVFS_MOUNT is not set
-# CONFIG_DEVFS_DEBUG is not set
-CONFIG_DEVPTS_FS=y
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX4FS_RW is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_EXT2_FS=y
-# CONFIG_SYSV_FS is not set
-# CONFIG_UDF_FS is not set
-# CONFIG_UDF_RW is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_TRACE is not set
-# CONFIG_XFS_DEBUG is not set
-
-#
-# Network File Systems
-#
-# CONFIG_CODA_FS is not set
-# CONFIG_INTERMEZZO_FS is not set
-# CONFIG_NFS_FS is not set
-# CONFIG_NFS_V3 is not set
-# CONFIG_NFS_DIRECTIO is not set
-# CONFIG_ROOT_NFS is not set
-# CONFIG_NFSD is not set
-# CONFIG_NFSD_V3 is not set
-# CONFIG_NFSD_TCP is not set
-# CONFIG_SUNRPC is not set
-# CONFIG_LOCKD is not set
-# CONFIG_SMB_FS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-# CONFIG_ZISOFS_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_SMB_NLS is not set
-CONFIG_NLS=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS_DEFAULT="iso8859-1"
-# CONFIG_NLS_CODEPAGE_437 is not set
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ISO8859_1 is not set
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_UTF8 is not set
-
-#
-# Console drivers
-#
-# CONFIG_VGA_CONSOLE is not set
-# CONFIG_VIDEO_SELECT is not set
-# CONFIG_MDA_CONSOLE is not set
-
-#
-# Frame-buffer support
-#
-# CONFIG_FB is not set
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# USB support
-#
-# CONFIG_USB is not set
-
-#
-# Support for USB gadgets
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# Bluetooth support
-#
-# CONFIG_BLUEZ is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_DEBUG_KERNEL is not set
-CONFIG_LOG_BUF_SHIFT=0
-
-#
-# Cryptographic options
-#
-# CONFIG_CRYPTO is not set
-
-#
-# Library routines
-#
-CONFIG_OPTIMIZE_FOR_SIZE=y
-CONFIG_CRC32=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-# CONFIG_FW_LOADER is not set
diff --git a/sources/ltp-testsuite.patch b/sources/ltp-testsuite.patch
deleted file mode 100644 (file)
index baad6d6..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -urN ltp-full-20040506.orig/testcases/kernel/syscalls/fmtmsg/Makefile ltp-full-20040506/testcases/kernel/syscalls/fmtmsg/Makefile
---- ltp-full-20040506.orig/testcases/kernel/syscalls/fmtmsg/Makefile   2003-03-04 09:15:27.000000000 -0700
-+++ ltp-full-20040506/testcases/kernel/syscalls/fmtmsg/Makefile        2004-05-12 14:03:56.000000000 -0600
-@@ -24,7 +24,7 @@
- LOADLIBES+=   -L../../../../lib -lltp
- SRCS=$(wildcard *.c)
--TARGETS=$(patsubst %.c,%,$(SRCS))
-+TARGETS=#$(patsubst %.c,%,$(SRCS))
- all: $(TARGETS)
-diff -urN ltp-full-20040506.orig/testcases/kernel/syscalls/profil/Makefile ltp-full-20040506/testcases/kernel/syscalls/profil/Makefile
---- ltp-full-20040506.orig/testcases/kernel/syscalls/profil/Makefile   2003-03-04 09:16:26.000000000 -0700
-+++ ltp-full-20040506/testcases/kernel/syscalls/profil/Makefile        2004-05-12 14:03:56.000000000 -0600
-@@ -23,7 +23,7 @@
- LOADLIBES+=   -L../../../../lib -lltp 
- SRCS=$(wildcard *.c)
--TARGETS=$(patsubst %.c,%,$(SRCS))
-+TARGETS=#$(patsubst %.c,%,$(SRCS))
- all: $(TARGETS)
-diff -urN ltp-full-20040506.orig/testcases/kernel/syscalls/swapon/swapon02.c ltp-full-20040506/testcases/kernel/syscalls/swapon/swapon02.c
---- ltp-full-20040506.orig/testcases/kernel/syscalls/swapon/swapon02.c 2004-04-23 12:13:20.000000000 -0600
-+++ ltp-full-20040506/testcases/kernel/syscalls/swapon/swapon02.c      2004-05-12 23:02:50.000000000 -0600
-@@ -85,9 +85,7 @@
- #include <sys/swap.h>
- #include <asm/page.h>
- #include <asm/atomic.h>
--#ifdef OLDER_DISTRO_RELEASE
--#include <linux/swap.h>
--#endif
-+#define MAX_SWAPFILES 32
- #include <fcntl.h>
- #include <pwd.h>
- #include <string.h>
-@@ -96,10 +94,6 @@
- #include "test.h"
- #include "usctest.h"
--#ifndef OLDER_DISTRO_RELEASE
--#define MAX_SWAPFILES 32 
--#endif
--
- static void setup();
- static void cleanup();
- static int setup01();
diff --git a/sources/lzo-cross-compile.patch b/sources/lzo-cross-compile.patch
deleted file mode 100644 (file)
index 68a3d04..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-For some reason the lzo autoconf script uses a local macro that does
-a test for cross-compiles, and assumes that if the build target name
-and the host target name are the same that --host was not specified to
-the configure script. In the uClibc buildroot, this is not the case.
-
---- lzo-1.08/aclocal.m4        2002-07-12 18:31:52.000000000 -0700
-+++ lzo-1.08/aclocal.m4.new    2004-03-10 15:32:42.000000000 -0700
-@@ -205,12 +205,6 @@
- [
- AC_REQUIRE([AC_PROG_CC])
--if test "X$cross_compiling" = Xyes; then
--  if test "X$build" = "X$host"; then
--    AC_MSG_ERROR([you are cross compiling - please use the \`--host=' option])
--  fi
--fi
--
- ])
---- lzo-1.08/configure-dist    2004-03-11 02:18:28.000000000 -0600
-+++ lzo-1.08/configure 2004-03-11 02:19:16.000000000 -0600
-@@ -2282,13 +2282,13 @@
--if test "X$cross_compiling" = Xyes; then
--  if test "X$build" = "X$host"; then
--    { { echo "$as_me:$LINENO: error: you are cross compiling - please use the \`--host=' option" >&5
--echo "$as_me: error: you are cross compiling - please use the \`--host=' option" >&2;}
--   { (exit 1); exit 1; }; }
--  fi
--fi
-+#if test "X$cross_compiling" = Xyes; then
-+#  if test "X$build" = "X$host"; then
-+#    { { echo "$as_me:$LINENO: error: you are cross compiling - please use the \`--host=' option" >&5
-+#echo "$as_me: error: you are cross compiling - please use the \`--host=' option" >&2;}
-+#   { (exit 1); exit 1; }; }
-+#  fi
-+#fi
diff --git a/sources/mime.types b/sources/mime.types
deleted file mode 100644 (file)
index 53f6ea1..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-###############################################################################
-#
-#  MIME-TYPES and the extensions that represent them
-#
-#  This file is part of the "mime-support" package.  Please send email (not a
-#  bug report) to mime-support@packages.debian.org if you would like new types
-#  and/or extensions to be added.
-#
-#  Note: Compression schemes like "gzip", "bzip", and "compress" are not
-#  actually "mime-types".  They are "encodings" and hence must _not_ have
-#  entries in this file to map their extensions.  The "mime-type" of an
-#  encoded file refers to the type of data that has been encoded, not the
-#  type of the encoding.
-#
-###############################################################################
-
-
-application/activemessage
-application/andrew-inset
-application/applefile
-application/atomicmail
-application/cu-seeme                           csm cu
-application/dca-rft
-application/dec-dx
-application/dsptype                            tsp
-application/futuresplash                       spl
-application/ghostview
-application/mac-binhex40                       hqx
-application/macwriteii
-application/msaccess                           mdb
-application/msword                             doc dot
-application/news-message-id
-application/news-transmission
-application/octet-stream                       bin
-application/oda                                        oda
-application/pdf                                        pdf
-application/pgp-signature                      pgp
-application/postscript                         ps ai eps
-application/remote-printing
-application/rtf                                        rtf
-application/slate
-application/vnd.ms-excel                       xls xlb
-application/vnd.ms-powerpoint                  ppt pps pot
-application/vnd.wap.wmlc                       wmlc
-application/vnd.wap.wmlscriptc                 wmlsc
-application/wita
-application/wordperfect5.1                     wp5
-application/zip                                        zip
-application/x-123                              wk
-application/x-bcpio                            bcpio
-application/x-chess-pgn                                pgn
-application/x-core
-application/x-cpio                             cpio
-application/x-csh
-application/x-debian-package                   deb
-application/x-director                         dcr dir dxr
-application/x-dms                              dms
-application/x-dvi                              dvi
-application/x-executable
-application/x-font                             pfa pfb gsf pcf pcf.Z
-application/x-gnumeric                         gnumeric
-application/x-gtar                             gtar tgz
-application/x-hdf                              hdf
-application/x-httpd-php                                phtml pht php
-application/x-httpd-php3                       php3
-application/x-httpd-php3-source                        phps
-application/x-httpd-php3-preprocessed          php3p
-application/x-httpd-php4                       php4
-application/x-ica                              ica
-application/x-java                             class
-application/x-javascript                       js
-application/x-kdelnk
-application/x-kchart                           chrt
-application/x-killustrator                     kil
-application/x-kpresenter                       kpr kpt
-application/x-kspread                          ksp
-application/x-kword                            kwd kwt
-application/x-latex                            latex
-application/x-lha                              lha
-application/x-lzh                              lzh
-application/x-lzx                              lzx
-application/x-maker                            frm maker frame fm fb book fbdoc
-application/x-mif                              mif
-application/x-msdos-program                    com exe bat dll
-application/x-msi                              msi
-application/x-netcdf                           nc cdf
-application/x-ns-proxy-autoconfig              pac
-application/x-object                           o
-application/x-ogg                              ogg
-application/x-oz-application                   oza
-application/x-perl                             pl pm
-application/x-redhat-package-manager           rpm
-application/x-rx
-application/x-sh
-application/x-shar                             shar
-application/x-shellscript
-application/x-shockwave-flash                  swf swfl
-application/x-stuffit                          sit
-application/x-sv4cpio                          sv4cpio
-application/x-sv4crc                           sv4crc
-application/x-tar                              tar
-application/x-tcl
-application/x-tex
-application/x-tex-gf                           gf
-application/x-tex-pk                           pk PK
-application/x-texinfo                          texinfo texi
-application/x-trash                            ~ % bak old sik
-application/x-troff                            t tr roff
-application/x-troff-man                                man
-application/x-troff-me                         me
-application/x-troff-ms                         ms
-application/x-ustar                            ustar
-application/x-wais-source                      src
-application/x-wingz                            wz
-
-audio/basic                                    au snd
-audio/midi                                     mid midi
-audio/mpeg                                     mpga mpega mp2 mp3
-audio/mpegurl                                  m3u
-audio/prs.sid                                  sid
-audio/x-aiff                                   aif aiff aifc
-audio/x-gsm                                    gsm
-audio/x-pn-realaudio                           ra rm ram
-audio/x-wav                                    wav
-
-image/bitmap                                   bmp
-image/gif                                      gif
-image/ief                                      ief
-image/jpeg                                     jpeg jpg jpe
-image/pcx                                      pcx
-image/png                                      png
-image/tiff                                     tiff tif
-image/vnd.wap.wbmp                             wbmp
-image/x-cmu-raster                             ras
-image/x-coreldraw                              cdr
-image/x-coreldrawpattern                       pat
-image/x-coreldrawtemplate                      cdt
-image/x-corelphotopaint                                cpt
-image/x-jng                                    jng
-image/x-portable-anymap                                pnm
-image/x-portable-bitmap                                pbm
-image/x-portable-graymap                       pgm
-image/x-portable-pixmap                                ppm
-image/x-rgb                                    rgb
-image/x-xbitmap                                        xbm
-image/x-xpixmap                                        xpm
-image/x-xwindowdump                            xwd
-
-inode/chardevice
-inode/blockdevice
-inode/directory-locked
-inode/directory
-inode/fifo
-inode/socket
-
-message/external-body
-message/news
-message/partial
-message/rfc822
-
-multipart/alternative
-multipart/appledouble
-multipart/digest
-multipart/mixed
-multipart/parallel
-
-text/comma-separated-values                    csv
-text/css                                       css
-text/english
-text/html                                      htm html xhtml
-text/mathml                                    mml
-text/plain                                     txt text diff
-text/richtext                                  rtx
-text/tab-separated-values                      tsv
-text/vnd.wap.wml                               wml
-text/vnd.wap.wmlscript                         wmls
-text/xml                                       xml
-text/x-c++hdr                                  h++ hpp hxx hh
-text/x-c++src                                  c++ cpp cxx cc
-text/x-chdr                                    h
-text/x-crontab
-text/x-csh                                     csh
-text/x-csrc                                    c
-text/x-java                                    java
-text/x-makefile
-text/x-moc                                     moc
-text/x-pascal                                  p pas
-text/x-setext                                  etx
-text/x-sh                                      sh
-text/x-tcl                                     tcl tk
-text/x-tex                                     tex ltx sty cls
-text/x-vcalendar                               vcs
-text/x-vcard                                   vcf
-
-video/dl                                       dl
-video/fli                                      fli
-video/gl                                       gl
-video/mpeg                                     mpeg mpg mpe
-video/quicktime                                        qt mov
-video/x-mng                                    mng
-video/x-ms-asf                                 asf asx
-video/x-msvideo                                        avi
-video/x-sgi-movie                              movie
-
-x-world/x-vrml                                 vrm vrml wrl
diff --git a/sources/mrouted-sys_errlist.patch b/sources/mrouted-sys_errlist.patch
deleted file mode 100644 (file)
index 8498dc7..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-Patches from Kevin P. Fleming <kpfleming@backtobasicsmgmt.com>.
-
---- mrouted-3.9-beta3.orig/main.c~     2004-03-10 19:00:38.000000000 -0700
-+++ mrouted-3.9-beta3.orig/main.c      2004-03-10 19:02:33.000000000 -0700
-@@ -1001,10 +1001,8 @@
-                   thyme->tm_min, thyme->tm_sec, now.tv_usec / 1000, msg);
-       if (syserr == 0)
-           fprintf(stderr, "\n");
--      else if (syserr < sys_nerr)
--          fprintf(stderr, ": %s\n", sys_errlist[syserr]);
-       else
--          fprintf(stderr, ": errno %d\n", syserr);
-+          fprintf(stderr, ": %s\n", strerror(syserr));
-     }
-     /*
---- mrouted-3.9-beta3.orig/mrinfo.c~   1998-02-28 20:05:20.000000000 -0700
-+++ mrouted-3.9-beta3.orig/mrinfo.c    2004-03-10 19:01:49.000000000 -0700
-@@ -159,10 +159,8 @@
-               vfprintf(stderr, fmt, ap);
-               if (syserr == 0)
-                       fprintf(stderr, "\n");
--              else if (syserr < sys_nerr)
--                      fprintf(stderr, ": %s\n", sys_errlist[syserr]);
-               else
--                      fprintf(stderr, ": errno %d\n", syserr);
-+                      fprintf(stderr, ": %s\n", strerror(syserr));
-       }
-       if (severity <= LOG_ERR)
---- mrouted-3.9-beta3.orig/mapper.c~   1998-01-05 18:57:47.000000000 -0700
-+++ mrouted-3.9-beta3.orig/mapper.c    2004-03-10 19:02:04.000000000 -0700
-@@ -197,10 +197,8 @@
-           vfprintf(stderr, fmt, ap);
-           if (syserr == 0)
-               fprintf(stderr, "\n");
--          else if (syserr < sys_nerr)
--              fprintf(stderr, ": %s\n", sys_errlist[syserr]);
-           else
--              fprintf(stderr, ": errno %d\n", syserr);
-+              fprintf(stderr, ": %s\n", strerror(syserr));
-     }
-     if (severity <= LOG_ERR)
diff --git a/sources/ncurses-100-hostccflags.patch b/sources/ncurses-100-hostccflags.patch
deleted file mode 100644 (file)
index a3743d8..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- ncurses-5.2/ncurses/Makefile.in.orig       2000-10-14 17:55:35.000000000 -0500
-+++ ncurses-5.2/ncurses/Makefile.in    2004-08-09 11:34:13.000000000 -0500
-@@ -85,7 +85,7 @@
- CCFLAGS               = $(CPPFLAGS) $(CFLAGS)
- HOSTCC                = @BUILD_CC@
--HOSTCCFLAGS   = @CFLAGS@ $(CPPFLAGS)
-+HOSTCCFLAGS   = $(CPPFLAGS)
- HOSTLDFLAGS   = @LDFLAGS@ @LIBS@
- CFLAGS_LIBTOOL        = $(CCFLAGS)
diff --git a/sources/netkittelnet.patch b/sources/netkittelnet.patch
deleted file mode 100644 (file)
index c894c2a..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
---- netkit-telnet-0.17/configure       Thu Apr 11 10:40:58 2002
-+++ FIXEDnetkittelnet/configure        Thu Apr 11 10:39:59 2002
-@@ -78,7 +78,6 @@
-     for TRY in egcs gcc g++ CC c++ cc; do
-        (
-            $TRY __conftest.c -o __conftest || exit 1;
--           ./__conftest || exit 1;
-        ) >/dev/null 2>&1 || continue;
-        CC=$TRY
-        break;
-@@ -94,7 +93,6 @@
-     echo -n 'Checking if C compiler works... '
-     if (
-           $CC __conftest.c -o __conftest || exit 1
--          ./__conftest || exit 1
-        ) >/dev/null 2>&1; then
-          echo 'yes'
-      else
-@@ -125,7 +123,6 @@
-     for TRY in egcs gcc g++ CC c++ cc; do
-        (
-            $TRY __conftest.cc -o __conftest || exit 1;
--           ./__conftest || exit 1;
-        ) >/dev/null 2>&1 || continue;
-        CXX=$TRY
-        break;
-@@ -141,7 +138,6 @@
-     echo -n 'Checking if C++ compiler works... '
-     if (
-           $CXX __conftest.cc -o __conftest || exit 1
--          ./__conftest || exit 1
-        ) >/dev/null 2>&1; then
-          echo 'yes'
-      else
-@@ -278,13 +274,11 @@
- EOF
- if (
-       $CXX $CXXFLAGS  __conftest.cc  -o __conftest || exit 1
--      ./__conftest || exit 1
-    ) >/dev/null 2>&1; then
-     echo 'yes'
- else
-     if (
-           $CXX $CXXFLAGS -D__USE_BSD_SIGNAL __conftest.cc  -o __conftest || exit 1
--          ./__conftest || exit 1
-        ) >/dev/null 2>&1; then
-         echo '-D__USE_BSD_SIGNAL'
-         CFLAGS="$CFLAGS -D__USE_BSD_SIGNAL"
-@@ -292,6 +286,7 @@
-     else
-         echo 'no'
-         echo 'This package needs BSD signal semantics to run.'
-+              echo "$CXX $CXXFLAGS  -D__USE_BSD_SIGNAL __conftest.cc  -o __conftest failed"
-         rm -f __conftest*
-         exit
-     fi
-@@ -330,31 +325,6 @@
-         echo 'no'
-     fi
- fi
--
--if [ x$NCURSES != x ]; then
--    LIBTERMCAP=-lncurses
--else
--    echo -n 'Checking for traditional termcap... '
--cat <<EOF >__conftest.cc
--#include <stdio.h>
--#include <termcap.h>
--int main(void) {
--    tgetent(NULL, NULL); return 0;
--}
--
--EOF
--    if (
--          $CXX $CXXFLAGS  __conftest.cc -ltermcap -o __conftest || exit 1
--       ) >/dev/null 2>&1; then
--        echo '-ltermcap'
--        LIBTERMCAP=-ltermcap
--    else
--        echo 'not found'
--        echo 'This package needs termcap to run.'
--        rm -f __conftest*
--        exit
--    fi
--fi
- rm -f __conftest*
- ##################################################
-@@ -468,7 +438,6 @@
- else
-     if (
-           $CXX $CXXFLAGS -D_GNU_SOURCE __conftest.cc  -o __conftest || exit 1
--          ./__conftest || exit 1
-        ) >/dev/null 2>&1; then
-         echo '-D_GNU_SOURCE'
-         CFLAGS="$CFLAGS -D_GNU_SOURCE"
-@@ -501,20 +470,17 @@
- EOF
- if (
-       $CXX $CXXFLAGS  __conftest.cc $LIBBSD -o __conftest || exit 1
--      ./__conftest || exit 1
-    ) >/dev/null 2>&1; then
-     echo 'ok'
- else
-     if (
-           $CXX $CXXFLAGS  __conftest.cc -lsnprintf $LIBBSD -o __conftest || exit 1
--          ./__conftest || exit 1
-        ) >/dev/null 2>&1; then
-         echo '-lsnprintf'
-         LIBS="$LIBS -lsnprintf"
-     else
-         if (
-               $CXX $CXXFLAGS  __conftest.cc -ldb $LIBBSD -o __conftest || exit 1
--              ./__conftest || exit 1
-            ) >/dev/null 2>&1; then
-             echo '-ldb'
-             LIBS="$LIBS -ldb"
-diff -urN netkit-telnet-0.17/telnetd/state.c netkit-telnet-0.17-dm/telnetd/state.c
---- netkit-telnet-0.17/telnetd/state.c 1999-12-12 11:41:44.000000000 -0800
-+++ netkit-telnet-0.17-dm/telnetd/state.c      2003-07-23 19:20:38.000000000 -0700
-@@ -43,10 +43,10 @@
- static int envvarok(char *varp);
--static unsigned char doopt[] = { IAC, DO, '%', 'c', 0 };
--static unsigned char dont[] = { IAC, DONT, '%', 'c', 0 };
--unsigned char will[] = { IAC, WILL, '%', 'c', 0 };
--unsigned char wont[] = { IAC, WONT, '%', 'c', 0 };
-+//static unsigned char doopt[] = { IAC, DO, '%', 'c', 0 };
-+//static unsigned char dont[] = { IAC, DONT, '%', 'c', 0 };
-+//unsigned char       will[] = { IAC, WILL, '%', 'c', 0 };
-+//unsigned char       wont[] = { IAC, WONT, '%', 'c', 0 };
- /*
-  * Buffer for sub-options, and macros
-@@ -422,7 +422,7 @@
-           set_his_want_state_will(option);
-       do_dont_resp[option]++;
-     }
--    netoprintf((char *)doopt, option);
-+    netoprintf( "%c%c%c", IAC, DO, option );
-     
-     DIAG(TD_OPTIONS, printoption("td: send do", option));
- }
-@@ -632,7 +632,7 @@
-       set_his_want_state_wont(option);
-       do_dont_resp[option]++;
-     }
--    netoprintf((char *) dont, option);
-+    netoprintf ( "%c%c%c", IAC, DONT, option );
-     DIAG(TD_OPTIONS, printoption("td: send dont", option));
- }
-@@ -769,7 +769,7 @@
-       set_my_want_state_will(option);
-       will_wont_resp[option]++;
-     }
--    netoprintf((char *) will, option);
-+    netoprintf( "%c%c%c", IAC, WILL, option);
-     DIAG(TD_OPTIONS, printoption("td: send will", option));
- }
-@@ -917,7 +917,7 @@
-       set_my_want_state_wont(option);
-       will_wont_resp[option]++;
-     }
--    netoprintf((char *)wont, option);
-+    netoprintf( "%c%c%c", IAC, WONT, option);
-     
-     DIAG(TD_OPTIONS, printoption("td: send wont", option));
- }
diff --git a/sources/netsnmp.patch b/sources/netsnmp.patch
deleted file mode 100644 (file)
index 076592b..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -urN net-snmp-5.1-dist/agent/mibgroup/host/hr_system.c net-snmp-5.1/agent/mibgroup/host/hr_system.c
---- net-snmp-5.1-dist/agent/mibgroup/host/hr_system.c  2003-02-28 22:35:13.000000000 -0600
-+++ net-snmp-5.1/agent/mibgroup/host/hr_system.c       2004-03-31 22:06:05.000000000 -0600
-@@ -286,7 +286,11 @@
-                current user */
-             if (kill(utmp_p->ut_pid, 0) == -1 && errno == ESRCH) {
-                 utmp_p->ut_type = DEAD_PROCESS;
-+#if HAVE_UTMPX_H
-                 pututxline(utmp_p);
-+#else
-+                pututline(utmp_p);
-+#endif
-                 continue;
-             }
-             ++total;
-diff -urN net-snmp-5.1-dist/configure.in net-snmp-5.1/configure.in
---- net-snmp-5.1-dist/configure.in     2004-03-31 21:59:14.000000000 -0600
-+++ net-snmp-5.1/configure.in  2004-03-31 22:06:05.000000000 -0600
-@@ -1865,13 +1865,8 @@
- if test $cross_compiling = yes; then
-   if test $with_endianness = "big"; then
-     AC_DEFINE(WORDS_BIGENDIAN)
--  elif test -z $with_endianness; then
--    AC_MSG_ERROR([You are cross-compiling, but you have not specified the target's endianness])
-   fi
- else
--  if test $with_endianness; then
--    AC_MSG_ERROR([Endianness has been specified, but you are not cross-compiling.])
--  fi
-   AC_C_BIGENDIAN
- fi
diff --git a/sources/openssh.patch b/sources/openssh.patch
deleted file mode 100644 (file)
index 7d85a04..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
---- openssh-3.6.1p1/Makefile.in.orig   2003-03-20 17:34:34.000000000 -0700
-+++ openssh-3.6.1p1/Makefile.in        2003-04-25 17:09:00.000000000 -0600
-@@ -27,7 +27,7 @@
- RAND_HELPER=$(libexecdir)/ssh-rand-helper
- PRIVSEP_PATH=@PRIVSEP_PATH@
- SSH_PRIVSEP_USER=@SSH_PRIVSEP_USER@
--STRIP_OPT=@STRIP_OPT@
-+STRIP_OPT=
- PATHS= -DSSHDIR=\"$(sysconfdir)\" \
-       -D_PATH_SSH_PROGRAM=\"$(SSH_PROGRAM)\" \
---- openssh-3.8p1/configure.ac.orig    2004-02-23 22:47:04.000000000 -0700
-+++ openssh-3.8p1/configure.ac 2004-03-19 01:41:47.000000000 -0700
-@@ -481,6 +481,9 @@
-       [
-               AC_MSG_RESULT(no)
-               AC_MSG_ERROR([*** compiler cannot create working executables, check config.log ***])
-+      ],
-+      [AC_MSG_RESULT(yes)
-+      AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
-       ]
- )
-@@ -632,6 +635,9 @@
-         else
-               AC_MSG_WARN([zlib version may have security problems])
-         fi
-+      ],
-+      [AC_MSG_RESULT(yes)
-+      AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
-       ]
- )
-@@ -696,6 +702,9 @@
-       [
-               AC_MSG_RESULT(no)
-               AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME)
-+      ],
-+      [AC_MSG_RESULT(yes)
-+      AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
-       ]
- )
-@@ -727,6 +736,9 @@
-                               [
-                                       AC_MSG_RESULT(no)
-                                       AC_MSG_ERROR([** Incomplete or missing s/key libraries.])
-+                              ],
-+                              [AC_MSG_RESULT(yes)
-+                              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
-                               ])
-               fi
-       ]
-@@ -840,7 +852,11 @@
-               ],
-               [AC_MSG_RESULT(yes)],
-               [AC_DEFINE(BROKEN_SETRESUID)
--               AC_MSG_RESULT(not implemented)]
-+               AC_MSG_RESULT(not implemented)
-+               ],
-+               [AC_MSG_RESULT(yes)
-+               AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
-+               ]
-       )
- ])
-@@ -854,7 +870,11 @@
-               ],
-               [AC_MSG_RESULT(yes)],
-               [AC_DEFINE(BROKEN_SETRESGID)
--               AC_MSG_RESULT(not implemented)]
-+               AC_MSG_RESULT(not implemented)
-+               ],
-+               [AC_MSG_RESULT(yes)
-+               AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
-+               ]
-       )
- ])
-@@ -890,6 +910,9 @@
-                       AC_MSG_RESULT(no)
-                       AC_DEFINE(BROKEN_SNPRINTF)
-                       AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor])
-+              ],
-+              [AC_MSG_RESULT(yes)
-+              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
-               ]
-       )
- fi
-@@ -963,7 +986,10 @@
-               [
-                       AC_MSG_RESULT(no)
-                       AC_DEFINE(SSHD_ACQUIRES_CTTY)
--              ]
-+              ],
-+               [AC_MSG_RESULT(yes)
-+               AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
-+               ]
-       )
- fi
-@@ -1096,6 +1122,10 @@
-       [
-               AC_MSG_RESULT(not found)
-               AC_MSG_ERROR(OpenSSL version header not found.)
-+      ],
-+      [
-+              ssl_header_ver="0x0090704fL (OpenSSL 0.9.7d 17 Mar 2004)"
-+              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to $ssl_header_ver])
-       ]
- )
-@@ -1129,6 +1159,10 @@
-       [
-               AC_MSG_RESULT(not found)
-               AC_MSG_ERROR(OpenSSL library not found.)
-+      ],
-+      [
-+              ssl_header_ver="0x0090704fL (OpenSSL 0.9.7d 17 Mar 2004)"
-+              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to $ssl_library_ver])
-       ]
- )
-@@ -1148,7 +1182,11 @@
-               AC_MSG_ERROR([Your OpenSSL headers do not match your library.
- Check config.log for details.
- Also see contrib/findssl.sh for help identifying header/library mismatches.])
--      ]
-+      ],
-+      [
-+              AC_MSG_RESULT(yes)
-+              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
-+      ]
- )
- # Some systems want crypt() from libcrypt, *not* the version in OpenSSL,
-@@ -1183,6 +1221,11 @@
-               # Default to use of the rand helper if OpenSSL doesn't
-               # seed itself
-               USE_RAND_HELPER=yes
-+      ],
-+      [
-+              OPENSSL_SEEDS_ITSELF=yes
-+              AC_MSG_RESULT(yes)
-+              AC_MSG_WARN([Cannot run test when crosscompiling, defaulted to yes.])
-       ]
- )
-@@ -1773,7 +1816,8 @@
- #else
- main() { exit(0); }
- #endif
--              ], [ true ], [ AC_DEFINE(BROKEN_SNPRINTF) ]
-+              ], [ true ], [ AC_DEFINE(BROKEN_SNPRINTF) ],
-+              [ true ]
-       )
- fi
-@@ -1893,6 +1937,7 @@
- }
-               ],
-               [ ac_cv_have_accrights_in_msghdr="yes" ],
-+              [ ac_cv_have_accrights_in_msghdr="no" ],
-               [ ac_cv_have_accrights_in_msghdr="no" ]
-       )
- ])
-@@ -1917,7 +1962,8 @@
- }
-               ],
-               [ ac_cv_have_control_in_msghdr="yes" ],
--              [ ac_cv_have_control_in_msghdr="no" ]
-+              [ ac_cv_have_control_in_msghdr="no" ],
-+              [ ac_cv_have_control_in_msghdr="yes" ]
-       )
- ])
- if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then
-@@ -2229,12 +2275,9 @@
-               )
-       fi
- fi
--AC_CHECK_FILE("/dev/ptc",
--      [
--              AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC)
--              have_dev_ptc=1
--      ]
--)
-+AC_MSG_CHECKING([for "/dev/ptc"])
-+AC_MSG_RESULT(no)
-+have_dev_ptc=0
- # Options from here on. Some of these are preset by platform above
- AC_ARG_WITH(mantype,
-@@ -2329,15 +2372,8 @@
- fi
- # check for /etc/default/login and use it if present.
--AC_ARG_ENABLE(etc-default-login,
--      [  --disable-etc-default-login       Disable using PATH from /etc/default/login [no]],,
--[
--AC_CHECK_FILE("/etc/default/login", [ external_path_file=/etc/default/login ])
--
--if test "x$external_path_file" = "x/etc/default/login"; then
--      AC_DEFINE(HAVE_ETC_DEFAULT_LOGIN)
--fi
--])
-+AC_MSG_CHECKING([for "/etc/default/login"])
-+AC_MSG_RESULT(no)
- dnl BSD systems use /etc/login.conf so --with-default-path= has no effect
- if test $ac_cv_func_login_getcapbool = "yes" -a \
---- openssh-3.8p1.orig/sshd_config     Fri Sep 27 05:21:58 2002
-+++ openssh-3.8p1/sshd_config  Mon Mar 17 14:55:00 2003
-@@ -89,5 +89,8 @@
- #Banner /some/path
- #VerifyReverseMapping no
-+ClientAliveInterval 15
-+ClientAliveCountMax 4
-+
- # override default of no subsystems
--Subsystem     sftp    /usr/libexec/sftp-server
-+Subsystem     sftp    /usr/sbin/sftp-server
---- openssh-3.6.1p1/S50sshd    Fri Sep 27 05:21:58 2002
-+++ openssh-3.6.1p1/S50sshd    Mon Mar 17 14:55:00 2003
-@@ -0,0 +1,64 @@
-+#!/bin/sh
-+#
-+# sshd        Starts sshd.
-+#
-+
-+# Make sure the ssh-keygen progam exists
-+[ -f /usr/bin/ssh-keygen ] || exit 0
-+
-+# Check for the SSH1 RSA key
-+if [ ! -f /etc/ssh_host_key ] ; then
-+      echo Generating RSA Key...
-+      /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh_host_key -C '' -N ''
-+fi
-+
-+# Check for the SSH2 RSA key
-+if [ ! -f /etc/ssh_host_rsa_key ] ; then
-+      echo Generating RSA Key...
-+      /usr/bin/ssh-keygen -t rsa -f /etc/ssh_host_rsa_key -C '' -N ''
-+fi
-+
-+# Check for the SSH2 DSA key
-+if [ ! -f /etc/ssh_host_dsa_key ] ; then
-+      echo Generating DSA Key...
-+      echo THIS CAN TAKE A MINUTE OR TWO DEPENDING ON YOUR PROCESSOR!
-+      echo
-+        /usr/bin/ssh-keygen -t dsa -f /etc/ssh_host_dsa_key -C '' -N ''
-+fi
-+                
-+umask 077
-+
-+start() {
-+      echo -n "Starting sshd: "
-+      /usr/sbin/sshd
-+      touch /var/lock/sshd
-+      echo "OK"
-+}     
-+stop() {
-+      echo -n "Stopping sshd: "
-+        killall       sshd 
-+      rm -f /var/lock/sshd
-+      echo "OK" 
-+}
-+restart() {
-+      stop
-+      start
-+}     
-+
-+case "$1" in
-+  start)
-+      start
-+      ;;
-+  stop)
-+      stop
-+      ;;
-+  restart|reload)
-+      restart
-+      ;;
-+  *)
-+      echo $"Usage: $0 {start|stop|restart}"
-+      exit 1
-+esac
-+
-+exit $?
-+
diff --git a/sources/openssl.patch b/sources/openssl.patch
deleted file mode 100644 (file)
index 1ed2326..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
---- openssl-0.9.7.orig/Configure
-+++ openssl-0.9.7/Configure
-@@ -1,4 +1,4 @@
--:
-+#!/usr/bin/perl
- eval 'exec perl -S $0 ${1+"$@"}'
-     if $running_under_some_shell;
- ##
-@@ -373,6 +373,41 @@
- # assembler versions -- currently defunct:
- ##"OpenBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer:::(unknown):SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:${alpha_asm}",
-+# Sane Linux configuration values, stolen from the Debian package....
-+"linux-alpha","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-alpha-ev4","gcc:-DTERMIO -O3 -mcpu=ev4 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-alpha-ev5","gcc:-DTERMIO -O3 -mcpu=ev5 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-arm","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-armeb","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-freebsd-alpha","gcc:-DTERMIOS -O -fomit-frame-pointer::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-freebsd-i386",  "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::-pthread -D_REENTRANT -D_THREAD_SAFE -D_THREADSAFE:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-hppa","gcc:-DB_ENDIAN -DTERMIO -O2 -Wall::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-hurd-i386","gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-ia64","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:asm/ia64.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+#"linux-i386","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:linux-shared:-fPIC",
-+"linux-i386","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-i386-i486","gcc:-DL_ENDIAN -DTERMIO -O3 -march=i486 -mcpu=i486 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-i386-i586","gcc:-DL_ENDIAN -DTERMIO -O3 -march=i586 -mcpu=i586 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-i386-i686/cmov","gcc:-DL_ENDIAN -DTERMIO -O3 -march=i686 -mcpu=i686 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-m68k","gcc:-DB_ENDIAN -DTERMIO -O2 -Wall::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-mips",   "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-mipsel",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-netbsd-i386",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-netbsd-m68k",  "gcc:-DB_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-netbsd-sparc", "gcc:-DB_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-openbsd-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown):::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-openbsd-i386",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-openbsd-mips","gcc:-O2 -DL_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-powerpc","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_UNROLL DES_RISC2 DES_PTR MD2_CHAR RC4_INDEX::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-s390","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 
-+"linux-sh3",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-sh4",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-sh3eb",   "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-sh4eb",   "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-sparc","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-sparc-v8","gcc:-DB_ENDIAN -DTERMIO -O3 -mcpu=v8 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-sparc-v9","gcc:-DB_ENDIAN -DTERMIO -O3 -mcpu=v9 -Wa,-Av8plus -fomit-frame-pointer -Wall -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-cris", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- # The intel boxes :-), It would be worth seeing if bsdi-gcc can use the
- # bn86-elf.o file file since it is hand tweaked assembler.
- "linux-elf",  "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-@@ -416,6 +451,7 @@
- # Linux on ARM
- "linux-elf-arm","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:::BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-elf-armeb","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:::BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- # SCO/Caldera targets.
- #
---- openssl-0.9.7.orig/crypto/md5/asm/md5-sparcv9.S
-+++ openssl-0.9.7/crypto/md5/asm/md5-sparcv9.S
-@@ -72,14 +72,14 @@
- #define Dval  R8
- #if defined(MD5_BLOCK_DATA_ORDER)
--# if defined(OPENSSL_SYSNAME_ULTRASPARC)
-+/*# if defined(OPENSSL_SYSNAME_ULTRASPARC)*/
- #  define     LOAD                    lda
- #  define     X(i)                    [%i1+i*4]%asi
- #  define     md5_block               md5_block_asm_data_order_aligned
- #  define     ASI_PRIMARY_LITTLE      0x88
--# else
-+/*# else
- #  error "MD5_BLOCK_DATA_ORDER is supported only on UltraSPARC!"
--# endif
-+# endif*/
- #else
- # define      LOAD                    ld
- # define      X(i)                    [%i1+i*4]
---- openssl-0.9.7.orig/crypto/opensslconf.h
-+++ openssl-0.9.7/crypto/opensslconf.h
-@@ -4,17 +4,38 @@
- /* OpenSSL was configured with the following options: */
- #ifndef OPENSSL_DOING_MAKEDEPEND
-+#ifndef OPENSSL_NO_IDEA
-+# define OPENSSL_NO_IDEA
-+#endif
-+#ifndef OPENSSL_NO_MDC2
-+# define OPENSSL_NO_MDC2
-+#endif
-+#ifndef OPENSSL_NO_RC5
-+# define OPENSSL_NO_RC5
-+#endif
- #ifndef OPENSSL_NO_KRB5
- # define OPENSSL_NO_KRB5
- #endif
- #endif /* OPENSSL_DOING_MAKEDEPEND */
-+#ifndef OPENSSL_THREADS
-+# define OPENSSL_THREADS
-+#endif
- /* The OPENSSL_NO_* macros are also defined as NO_* if the application
-    asks for it.  This is a transient feature that is provided for those
-    who haven't had the time to do the appropriate changes in their
-    applications.  */
- #ifdef OPENSSL_ALGORITHM_DEFINES
-+# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
-+#  define NO_IDEA
-+# endif
-+# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
-+#  define NO_MDC2
-+# endif
-+# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
-+#  define NO_RC5
-+# endif
- # if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
- #  define NO_KRB5
- # endif
-@@ -27,7 +48,7 @@
- #if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
- #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
--#define OPENSSLDIR "/usr/local/ssl"
-+#define OPENSSLDIR "/usr/lib/ssl"
- #endif
- #endif
-@@ -79,7 +100,7 @@
- #if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
- #define CONFIG_HEADER_BN_H
--#undef BN_LLONG
-+#define BN_LLONG
- /* Should we define BN_DIV2W here? */
-@@ -98,7 +119,7 @@
- #define CONFIG_HEADER_RC4_LOCL_H
- /* if this is defined data[i] is used instead of *data, this is a %20
-  * speedup on x86 */
--#undef RC4_INDEX
-+#define RC4_INDEX
- #endif
- #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
-@@ -112,14 +133,14 @@
- /* the following is tweaked from a config script, that is why it is a
-  * protected undef/define */
- #ifndef DES_PTR
--#undef DES_PTR
-+#define DES_PTR
- #endif
- /* This helps C compiler generate the correct code for multiple functional
-  * units.  It reduces register dependancies at the expense of 2 more
-  * registers */
- #ifndef DES_RISC1
--#undef DES_RISC1
-+#define DES_RISC1
- #endif
- #ifndef DES_RISC2
-@@ -133,7 +154,7 @@
- /* Unroll the inner loop, this sometimes helps, sometimes hinders.
-  * Very mucy CPU dependant */
- #ifndef DES_UNROLL
--#undef DES_UNROLL
-+#define DES_UNROLL
- #endif
- /* These default values were supplied by
---- openssl-0.9.7.orig/ssl/ssl_algs.c
-+++ openssl-0.9.7/ssl/ssl_algs.c
-@@ -109,3 +109,8 @@
-       return(1);
-       }
-+#undef SSLeay_add_ssl_algorithms
-+int SSLeay_add_ssl_algorithms(void)
-+    {
-+         return SSL_library_init();
-+    }
---- openssl-0.9.7.orig/tools/c_rehash.in
-+++ openssl-0.9.7/tools/c_rehash.in
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/perl
-+#!/usr/bin/perl
- # Perl c_rehash script, scan all files in a directory
---- openssl-0.9.7.orig/util/clean-depend.pl
-+++ openssl-0.9.7/util/clean-depend.pl
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/perl -w
-+#!/usr/bin/perl
- # Clean the dependency list in a makefile of standard includes...
- # Written by Ben Laurie <ben@algroup.co.uk> 19 Jan 1999
---- openssl-0.9.7.orig/util/extract-names.pl
-+++ openssl-0.9.7/util/extract-names.pl
-@@ -1,4 +1,4 @@
--#!/usr/bin/perl
-+#!/usr/bin/perl
- $/ = "";                      # Eat a paragraph at once.
- while(<STDIN>) {
---- openssl-0.9.7.orig/util/mkdef.pl
-+++ openssl-0.9.7/util/mkdef.pl
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/perl -w
-+#!/usr/bin/perl
- #
- # generate a .def file
- #
---- openssl-0.9.7.orig/util/mkerr.pl
-+++ openssl-0.9.7/util/mkerr.pl
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/perl -w
-+#!/usr/bin/perl
- my $config = "crypto/err/openssl.ec";
- my $debug = 0;
---- openssl-0.9.7.orig/util/mkstack.pl
-+++ openssl-0.9.7/util/mkstack.pl
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/perl -w
-+#!/usr/bin/perl
- # This is a utility that searches out "DECLARE_STACK_OF()"
- # declarations in .h and .c files, and updates/creates/replaces
---- openssl-0.9.7.orig/util/pod2man.pl
-+++ openssl-0.9.7/util/pod2man.pl
-@@ -1,4 +1,4 @@
--: #!/usr/bin/perl-5.005
-+#!/usr/bin/perl
-     eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
-       if $running_under_some_shell;
---- openssl-0.9.7.orig/util/selftest.pl
-+++ openssl-0.9.7/util/selftest.pl
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/perl -w
-+#!/usr/bin/perl
- #
- # Run the test suite and generate a report
- #
diff --git a/sources/openvpn b/sources/openvpn
deleted file mode 100755 (executable)
index 94bdc60..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/sh -e
-#
-# Original version by Robert Leslie
-# <rob@mars.org>, edited by iwj and cs
-# Modified for openvpn by Alberto Gonzalez Iniesta <agi@agi.as>
-# Modified for restarting / starting / stopping single tunnels by Richard Mueller <mueller@teamix.net>
-
-test $DEBIAN_SCRIPT_DEBUG && set -v -x
-
-DAEMON=/usr/sbin/openvpn
-CONFIG_DIR=/etc/openvpn
-test -x $DAEMON || exit 0
-test -d $CONFIG_DIR || exit 0
-
-start_vpn () {
-    $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \
-            --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->"
-    echo -n " $NAME"
-}
-stop_vpn () {
-   kill `cat $PIDFILE` || true
-  rm $PIDFILE
-}
-
-case "$1" in
-start)
-  echo -n "Starting openvpn:"
-
-  if test -z $2 ; then
-    for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do
-      NAME=${CONFIG%%.conf}
-      start_vpn
-    done
-  else
-    if test -e $CONFIG_DIR/$2.conf ; then
-      NAME=$2
-      start_vpn
-    else
-      echo -n " No such VPN: $2"
-    fi
-  fi
-  echo "."
-
-  ;;
-stop)
-  echo -n "Stopping openvpn:"
-
-  if test -z $2 ; then
-    for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
-      NAME=`echo $PIDFILE | cut -c18-`
-      NAME=${NAME%%.pid}
-      stop_vpn
-      echo -n " $NAME"
-    done
-  else
-    if test -e /var/run/openvpn.$2.pid ; then
-      PIDFILE=`ls /var/run/openvpn.$2.pid 2> /dev/null`
-      NAME=`echo $PIDFILE | cut -c18-`
-      NAME=${NAME%%.pid}
-      stop_vpn
-      echo -n " $NAME"
-    else
-      echo -n " No such VPN: $2"
-    fi
-  fi
-  echo "."
-  ;;
-# We only 'reload' for running VPNs. New ones will only start with 'start' or 'restart'.
-reload|force-reload)
-  echo -n "Reloading openvpn:"
-  for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
-    NAME=`echo $PIDFILE | cut -c18-`
-    NAME=${NAME%%.pid}
-# If openvpn if running under a different user than root we'll need to restart
-    if egrep '^( |\t)*user' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then
-      stop_vpn
-      sleep 1
-      start_vpn
-      echo -n "(restarted)"
-    else
-      kill -HUP `cat $PIDFILE` || true
-#    start-stop-daemon --stop --signal HUP --quiet --oknodo \
-#      --exec $DAEMON --pidfile $PIDFILE
-    echo -n " $NAME"
-    fi
-  done
-  echo "."
-  ;;
-
-restart)
-  $0 stop $2
-  sleep 1
-  $0 start $2
-  ;;
-*)
-  echo "Usage: $0 {start|stop|reload|restart|force-reload}" >&2
-  exit 1
-  ;;
-esac
-
-exit 0
-
-# vim:set ai et sts=2 sw=2 tw=0:
diff --git a/sources/patch-kernel.sh b/sources/patch-kernel.sh
deleted file mode 100755 (executable)
index 79401c2..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /bin/sh
-# A little script I whipped up to make it easy to
-# patch source trees and have sane error handling
-# -Erik
-#
-# (c) 2002 Erik Andersen <andersen@codepoet.org>
-
-# Set directories from arguments, or use defaults.
-targetdir=${1-.}
-patchdir=${2-../kernel-patches}
-patchpattern=${3-*}
-
-if [ ! -d "${targetdir}" ] ; then
-    echo "Aborting.  '${targetdir}' is not a directory."
-    exit 1
-fi
-if [ ! -d "${patchdir}" ] ; then
-    echo "Aborting.  '${patchdir}' is not a directory."
-    exit 1
-fi
-    
-for i in ${patchdir}/${patchpattern} ; do 
-    case "$i" in
-       *.gz)
-       type="gzip"; uncomp="gunzip -dc"; ;; 
-       *.bz)
-       type="bzip"; uncomp="bunzip -dc"; ;; 
-       *.bz2)
-       type="bzip2"; uncomp="bunzip2 -dc"; ;; 
-       *.zip)
-       type="zip"; uncomp="unzip -d"; ;; 
-       *.Z)
-       type="compress"; uncomp="uncompress -c"; ;; 
-       *)
-       type="plaintext"; uncomp="cat"; ;; 
-    esac
-    echo ""
-    echo "Applying ${i} using ${type}: " 
-    ${uncomp} ${i} | patch -p1 -E -d ${targetdir} 
-    if [ $? != 0 ] ; then
-        echo "Patch failed!  Please fix $i!"
-       exit 1
-    fi
-done
-
-# Check for rejects...
-if [ "`find $targetdir/ '(' -name '*.rej' -o -name '.*.rej' ')' -print`" ] ; then
-    echo "Aborting.  Reject files found."
-    exit 1
-fi
-
-# Remove backup files
-find $targetdir/ '(' -name '*.orig' -o -name '.*.orig' ')' -exec rm -f {} \;
diff --git a/sources/pciutils.patch b/sources/pciutils.patch
deleted file mode 100644 (file)
index 7718b25..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -ur pciutils-2.1.11.orig/lib/configure pciutils-2.1.11/lib/configure
---- pciutils-2.1.11.orig/lib/configure 2004-10-08 11:56:42.876316816 -0400
-+++ pciutils-2.1.11/lib/configure      2004-10-08 11:57:04.965958680 -0400
-@@ -25,7 +25,6 @@
- echo " $sys/$cpu $rel"
- c=config.h
--echo >$c "#define ARCH_`echo $cpu | tr 'a-z' 'A-Z'`"
- echo >>$c "#define OS_`echo $sys | tr 'a-z' 'A-Z'`"
- echo_n "Looking for access methods..."
-@@ -40,17 +39,6 @@
-                                               ok=1
-                                               ;;
-               esac
--              case $cpu in
--                              i386)           echo_n " i386-ports"
--                                              echo >>$c '#define HAVE_PM_INTEL_CONF'
--                                              ok=1
--                                              ;;
--                              alpha|ia64)     echo >>$c '#define HAVE_64BIT_ADDRESS'
--                                              ;;
--                              sparc|sparc64)  echo >>$c '#define HAVE_64BIT_ADDRESS'
--                                              echo >>$c '#define HAVE_LONG_ADDRESS'
--                                              ;;
--              esac
-               ;;
-       FreeBSD)
-               echo_n " fbsd-device"
diff --git a/sources/pcmcia.patch b/sources/pcmcia.patch
deleted file mode 100644 (file)
index 121435f..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
---- pcmcia-cs-3.1.34/etc/config.opts.orig      Tue Jul  9 09:36:23 2002
-+++ pcmcia-cs-3.1.34/etc/config.opts   Tue Jul  9 09:37:47 2002
-@@ -5,7 +5,7 @@
- # System resources available for PCMCIA devices
--include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff
-+include port 0x100-0x4ff, port 0xc00-0xcff
- include memory 0xc0000-0xfffff
- include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff
-diff -urN pcmcia-cs-3.2.3.orig/etc/shared pcmcia-cs-3.2.3/etc/shared
---- pcmcia-cs-3.2.3.orig/etc/shared    2002-08-18 21:21:11.000000000 -0600
-+++ pcmcia-cs-3.2.3/etc/shared 2003-02-14 05:05:07.000000000 -0700
-@@ -2,6 +2,8 @@
- # shared 1.31 2002/08/19 03:21:11 (David Hinds)
- #
-+umask 022
-+
- usage ()
- {
-     echo "usage: $0 [action] [device name]"
---- /dev/null  2003-01-21 22:14:35.000000000 -0700
-+++ pcmcia-cs-3.2.4/etc/pcmcia 2003-06-09 12:04:02.000000000 -0600
-@@ -0,0 +1,6 @@
-+# Defaults for pcmcia (sourced by /etc/init.d/S30pcmcia)
-+PCMCIA=yes
-+PCIC=yenta_socket
-+PCIC_OPTS=
-+CORE_OPTS=
-+CARDMGR_OPTS=
---- pcmcia-cs-3.2.4/etc/rc.pcmcia.orig 2002-08-08 00:43:43.000000000 -0600
-+++ pcmcia-cs-3.2.4/etc/rc.pcmcia      2003-06-09 15:17:28.000000000 -0600
-@@ -4,6 +4,8 @@
- #
- # This is designed to work in BSD as well as SysV init setups.  See
- # the HOWTO for customization instructions.
-+# Modified to comply with Debian's standards by Brian Mays
-+# <brian@debian.org>.
- # Tags for Red Hat init configuration tools
- #
-@@ -26,9 +28,9 @@
- done
- # Source PCMCIA configuration, if available
--if [ -f /etc/pcmcia.conf ] ; then
-+if [ -f /etc/default/pcmcia ] ; then
-     # Debian startup option file
--    . /etc/pcmcia.conf
-+    . /etc/default/pcmcia
- elif [ -f /etc/sysconfig/pcmcia ] ; then
-     # Red Hat startup option file
-     . /etc/sysconfig/pcmcia
-@@ -50,9 +52,22 @@
- done
- if [ "$PCMCIA" -a "$PCMCIA" != "yes" ] ; then exit 0 ; fi
-+# Debian modification: Fix PCIC for stand-alone modules.
-+# yenta_socket -> i82365 on these systems.
-+# Existence of a standalone module implies that it is preferred.
-+if [ -d /lib/modules/preferred ] ; then
-+    PC=/lib/modules/preferred/pcmcia
-+else
-+    PC=/lib/modules/`uname -r`/pcmcia
-+fi
-+if [ "$PCIC" = yenta_socket -a -e $PC/i82365.o \
-+    -a ! -L $PC/i82365.o ]; then
-+    PCIC=i82365
-+fi
-+
- usage()
- {
--    echo "Usage: $0 {start|stop|status|restart|reload}"
-+    echo "Usage: $0 {start|stop|status|restart|reload|force-reload}"
- }
- cleanup()
-@@ -84,7 +99,7 @@
-           SC=/var/lib/pcmcia/scheme
-           RUN=/var/lib/pcmcia
-       else
--          SC=/var/run/pcmcia-scheme
-+          SC=/var/lib/misc/pcmcia-scheme
-           RUN=/var/run
-       fi
-       if [ -L $SC -o ! -O $SC ] ; then rm -f $SC ; fi
-@@ -154,7 +172,7 @@
-       ;;
-     status)
--      pid=`/sbin/pidof cardmgr`
-+      pid=`/bin/pidof cardmgr`
-       if [ "$pid" != "" ] ; then
-           echo "cardmgr (pid $pid) is running..."
-           EXITCODE=0
-@@ -164,12 +182,18 @@
-       fi
-       ;;
--    restart|reload)
-+    restart)
-       $0 stop
-       $0 start
-       EXITCODE=$?
-       ;;
-+    reload|force-reload)
-+      echo "Reloading $DESC configuration files."
-+      kill -1 `cat /var/run/cardmgr.pid` 2>/dev/null
-+      EXITCODE=0
-+      ;;
-+
-     *)
-       usage
-       ;;
-@@ -179,4 +203,4 @@
- done
- # Only exit if we're in our own subshell
--case $0 in *rc.pcmcia) exit $EXITCODE ;; esac
-+case $0 in *pcmcia) exit $EXITCODE ;; esac
diff --git a/sources/perl-cross-0.1.tar.gz b/sources/perl-cross-0.1.tar.gz
deleted file mode 100644 (file)
index d0c553d..0000000
Binary files a/sources/perl-cross-0.1.tar.gz and /dev/null differ
diff --git a/sources/perl.patch b/sources/perl.patch
deleted file mode 100644 (file)
index 0e9ab19..0000000
+++ /dev/null
@@ -1,996 +0,0 @@
-diff -urN cross.o/Makefile cross.x/Makefile
---- Makefile   2003-04-15 14:35:51.000000000 -0600
-+++ perl-5.8.0.uclibc/cross/Makefile   2003-06-27 16:38:23.000000000 -0600
-@@ -49,8 +49,8 @@
-       @echo toolchain: $(CC), $(CXX), $(LD), $(STRIP), $(AR), $(RANLIB)
-       @echo Optimizations: $(FULL_OPTIMIZATION)
--      $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
--      $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh-arse
-+      $(TOPDIR)/generate_config_sh config.sh.uclibc > $(TOPDIR)/../config.sh
-+      $(TOPDIR)/generate_config_sh config.sh.uclibc > $(TOPDIR)/../config.sh-arse
-       cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
-       cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm fake_config_library
-       cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
-diff -urN cross.o/config.sh.uclibc cross.x/config.sh.uclibc
---- /dev/null
-+++ perl-5.8.0.uclibc/cross/config.sh.uclibc   2003-06-27 16:53:28.000000000 -0600
-@@ -0,0 +1,978 @@
-+#!/bin/sh
-+#
-+# This file was produced by running the Configure script. It holds all the
-+# definitions figured out by Configure. Should you modify one of these values,
-+# do not forget to propagate your changes by running "Configure -der". You may
-+# instead choose to run each of the .SH files by yourself, or "Configure -S".
-+#
-+
-+# Package name      : perl5
-+# Source directory  : .
-+# Configuration time: Fri Jun 27 16:41:22 MDT 2003
-+# Configured by     : root
-+# Target system     : <whatever>
-+
-+Author=''
-+Date='$Date'
-+Header=''
-+Id='$Id'
-+Locker=''
-+Log='$Log'
-+Mcc='Mcc'
-+RCSfile='$RCSfile'
-+Revision='$Revision'
-+Source=''
-+State=''
-+_a='.a'
-+_exe=''
-+_o='.o'
-+afs='false'
-+afsroot='/afs'
-+alignbytes='4'
-+ansi2knr=''
-+aphostname='/bin/hostname'
-+api_revision='5'
-+api_subversion='0'
-+api_version='8'
-+api_versionstring='5.8.0'
-+ar='TARGET_CROSSar'
-+archlib='/usr/lib/perl/5.8.0/TARGET_ARCH-linux'
-+archlibexp='/usr/lib/perl/5.8.0/TARGET_ARCH-linux'
-+archname64=''
-+archname='TARGET_ARCH-linux'
-+archobjs=''
-+asctime_r_proto='0'
-+awk='awk'
-+baserev='5.0'
-+bash=''
-+bin='/usr/bin'
-+binexp='/usr/bin'
-+bison='bison'
-+byacc='byacc'
-+byteorder='1234'
-+c=''
-+castflags='0'
-+cat='cat'
-+cc='TARGET_CROSScc'
-+cccdlflags='-fpic'
-+ccdlflags='-rdynamic'
-+ccflags='-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
-+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
-+ccname='gcc'
-+ccsymbols='__ARM_ARCH_4T__=1 __GNUC_MINOR__=3 __GNUC_PATCHLEVEL__=0'
-+ccversion=''
-+cf_by='root'
-+charsize='1'
-+chgrp=''
-+chmod='chmod'
-+chown=''
-+clocktype='clock_t'
-+comm='comm'
-+compress=''
-+contains='grep'
-+cp='cp'
-+cpio=''
-+cpp='cpp'
-+cpp_stuff='42'
-+cppccsymbols='__GNUC__=3'
-+cppflags='-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
-+cpplast='-'
-+cppminus='-'
-+cpprun='TARGET_CROSScc -E'
-+cppstdin='TARGET_CROSScc -E'
-+cppsymbols='BIG_ENDIAN=4321 __BIG_ENDIAN=4321 __ELF__=1 _FILE_OFFSET_BITS=64 __GLIBC__=2 __GLIBC_MINOR__=2 __GNUC_MINOR__=3 __GNU_LIBRARY__=6 _LARGEFILE_SOURCE=1 LITTLE_ENDIAN=1234 __LITTLE_ENDIAN=1234 _POSIX_C_SOURCE=199506 _POSIX_SOURCE=1 __STDC__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_SVID=1 linux=1 __linux=1 __linux__=1 unix=1 __unix=1 __unix__=1'
-+crypt_r_proto='0'
-+cryptlib=''
-+csh='csh'
-+ctermid_r_proto='0'
-+ctime_r_proto='0'
-+d_Gconvert='gcvt((x),(n),(b))'
-+d_PRIEUldbl='define'
-+d_PRIFUldbl='define'
-+d_PRIGUldbl='define'
-+d_PRIXU64='define'
-+d_PRId64='define'
-+d_PRIeldbl='define'
-+d_PRIfldbl='define'
-+d_PRIgldbl='define'
-+d_PRIi64='define'
-+d_PRIo64='define'
-+d_PRIu64='define'
-+d_PRIx64='define'
-+d_SCNfldbl='define'
-+d__fwalk='undef'
-+d_access='define'
-+d_accessx='undef'
-+d_alarm='define'
-+d_archlib='define'
-+d_asctime_r='undef'
-+d_atolf='undef'
-+d_atoll='define'
-+d_attribut='define'
-+d_bcmp='define'
-+d_bcopy='define'
-+d_bsd='undef'
-+d_bsdgetpgrp='undef'
-+d_bsdsetpgrp='undef'
-+d_bzero='define'
-+d_casti32='define'
-+d_castneg='define'
-+d_charvspr='define'
-+d_chown='define'
-+d_chroot='define'
-+d_chsize='undef'
-+d_class='undef'
-+d_closedir='define'
-+d_cmsghdr_s='define'
-+d_const='define'
-+d_crypt='define'
-+d_crypt_r='undef'
-+d_csh='undef'
-+d_ctermid_r='undef'
-+d_ctime_r='undef'
-+d_cuserid='undef'
-+d_dbl_dig='define'
-+d_dbminitproto='undef'
-+d_difftime='define'
-+d_dirfd='define'
-+d_dirnamlen='undef'
-+d_dlerror='define'
-+d_dlopen='define'
-+d_dlsymun='undef'
-+d_dosuid='undef'
-+d_drand48_r='undef'
-+d_drand48proto='define'
-+d_dup2='define'
-+d_eaccess='undef'
-+d_endgrent='define'
-+d_endgrent_r='undef'
-+d_endhent='define'
-+d_endhostent_r='undef'
-+d_endnent='define'
-+d_endnetent_r='undef'
-+d_endpent='define'
-+d_endprotoent_r='undef'
-+d_endpwent='define'
-+d_endpwent_r='undef'
-+d_endsent='define'
-+d_endservent_r='undef'
-+d_eofnblk='define'
-+d_eunice='undef'
-+d_fchdir='define'
-+d_fchmod='define'
-+d_fchown='define'
-+d_fcntl='define'
-+d_fcntl_can_lock='define'
-+d_fd_macros='define'
-+d_fd_set='define'
-+d_fds_bits='undef'
-+d_fgetpos='define'
-+d_finite='define'
-+d_finitel='undef'
-+d_flexfnam='define'
-+d_flock='define'
-+d_flockproto='define'
-+d_fork='define'
-+d_fp_class='undef'
-+d_fpathconf='define'
-+d_fpclass='undef'
-+d_fpclassify='define'
-+d_fpclassl='undef'
-+d_fpos64_t='undef'
-+d_frexpl='undef'
-+d_fs_data_s='undef'
-+d_fseeko='define'
-+d_fsetpos='define'
-+d_fstatfs='define'
-+d_fstatvfs='define'
-+d_fsync='define'
-+d_ftello='define'
-+d_ftime='undef'
-+d_getcwd='define'
-+d_getespwnam='undef'
-+d_getfsstat='undef'
-+d_getgrent='define'
-+d_getgrent_r='undef'
-+d_getgrgid_r='undef'
-+d_getgrnam_r='undef'
-+d_getgrps='define'
-+d_gethbyaddr='define'
-+d_gethbyname='define'
-+d_gethent='define'
-+d_gethname='define'
-+d_gethostbyaddr_r='undef'
-+d_gethostbyname_r='undef'
-+d_gethostent_r='undef'
-+d_gethostprotos='define'
-+d_getitimer='define'
-+d_getlogin='define'
-+d_getlogin_r='undef'
-+d_getmnt='undef'
-+d_getmntent='define'
-+d_getnbyaddr='define'
-+d_getnbyname='define'
-+d_getnent='define'
-+d_getnetbyaddr_r='undef'
-+d_getnetbyname_r='undef'
-+d_getnetent_r='undef'
-+d_getnetprotos='define'
-+d_getpagsz='define'
-+d_getpbyname='define'
-+d_getpbynumber='define'
-+d_getpent='define'
-+d_getpgid='define'
-+d_getpgrp2='undef'
-+d_getpgrp='define'
-+d_getppid='define'
-+d_getprior='define'
-+d_getprotobyname_r='undef'
-+d_getprotobynumber_r='undef'
-+d_getprotoent_r='undef'
-+d_getprotoprotos='define'
-+d_getprpwnam='undef'
-+d_getpwent='define'
-+d_getpwent_r='undef'
-+d_getpwnam_r='undef'
-+d_getpwuid_r='undef'
-+d_getsbyname='define'
-+d_getsbyport='define'
-+d_getsent='define'
-+d_getservbyname_r='undef'
-+d_getservbyport_r='undef'
-+d_getservent_r='undef'
-+d_getservprotos='define'
-+d_getspnam='define'
-+d_getspnam_r='undef'
-+d_gettimeod='define'
-+d_gmtime_r='undef'
-+d_gnulibc='undef'
-+d_grpasswd='define'
-+d_hasmntopt='define'
-+d_htonl='define'
-+d_index='undef'
-+d_inetaton='define'
-+d_int64_t='define'
-+d_isascii='define'
-+d_isfinite='undef'
-+d_isinf='define'
-+d_isnan='define'
-+d_isnanl='define'
-+d_killpg='define'
-+d_lchown='define'
-+d_ldbl_dig='define'
-+d_link='define'
-+d_localtime_r='undef'
-+d_locconv='define'
-+d_lockf='define'
-+d_longdbl='define'
-+d_longlong='define'
-+d_lseekproto='define'
-+d_lstat='define'
-+d_madvise='define'
-+d_mblen='define'
-+d_mbstowcs='define'
-+d_mbtowc='define'
-+d_memchr='define'
-+d_memcmp='define'
-+d_memcpy='define'
-+d_memmove='define'
-+d_memset='define'
-+d_mkdir='define'
-+d_mkdtemp='define'
-+d_mkfifo='define'
-+d_mkstemp='define'
-+d_mkstemps='undef'
-+d_mktime='define'
-+d_mmap='define'
-+d_modfl='undef'
-+d_modfl_pow32_bug='undef'
-+d_mprotect='define'
-+d_msg='define'
-+d_msg_ctrunc='define'
-+d_msg_dontroute='define'
-+d_msg_oob='define'
-+d_msg_peek='define'
-+d_msg_proxy='define'
-+d_msgctl='define'
-+d_msgget='define'
-+d_msghdr_s='define'
-+d_msgrcv='define'
-+d_msgsnd='define'
-+d_msync='define'
-+d_munmap='define'
-+d_mymalloc='undef'
-+d_nice='define'
-+d_nl_langinfo='define'
-+d_nv_preserves_uv='define'
-+d_off64_t='undef'
-+d_old_pthread_create_joinable='undef'
-+d_oldpthreads='undef'
-+d_oldsock='undef'
-+d_open3='define'
-+d_pathconf='define'
-+d_pause='define'
-+d_perl_otherlibdirs='undef'
-+d_phostname='undef'
-+d_pipe='define'
-+d_poll='define'
-+d_portable='define'
-+d_procselfexe='define'
-+d_pthread_atfork='undef'
-+d_pthread_yield='undef'
-+d_pwage='undef'
-+d_pwchange='undef'
-+d_pwclass='undef'
-+d_pwcomment='undef'
-+d_pwexpire='undef'
-+d_pwgecos='define'
-+d_pwpasswd='define'
-+d_pwquota='undef'
-+d_qgcvt='undef'
-+d_quad='define'
-+d_random_r='undef'
-+d_readdir64_r='undef'
-+d_readdir='define'
-+d_readdir_r='undef'
-+d_readlink='define'
-+d_readv='define'
-+d_recvmsg='define'
-+d_rename='define'
-+d_rewinddir='define'
-+d_rmdir='define'
-+d_safebcpy='undef'
-+d_safemcpy='undef'
-+d_sanemcmp='define'
-+d_sbrkproto='define'
-+d_sched_yield='define'
-+d_scm_rights='define'
-+d_seekdir='define'
-+d_select='define'
-+d_sem='define'
-+d_semctl='define'
-+d_semctl_semid_ds='define'
-+d_semctl_semun='define'
-+d_semget='define'
-+d_semop='define'
-+d_sendmsg='define'
-+d_setegid='define'
-+d_seteuid='define'
-+d_setgrent='define'
-+d_setgrent_r='undef'
-+d_setgrps='define'
-+d_sethent='define'
-+d_sethostent_r='undef'
-+d_setitimer='define'
-+d_setlinebuf='define'
-+d_setlocale='define'
-+d_setlocale_r='undef'
-+d_setnent='define'
-+d_setnetent_r='undef'
-+d_setpent='define'
-+d_setpgid='define'
-+d_setpgrp2='undef'
-+d_setpgrp='define'
-+d_setprior='define'
-+d_setproctitle='undef'
-+d_setprotoent_r='undef'
-+d_setpwent='define'
-+d_setpwent_r='undef'
-+d_setregid='define'
-+d_setresgid='define'
-+d_setresuid='define'
-+d_setreuid='define'
-+d_setrgid='undef'
-+d_setruid='undef'
-+d_setsent='define'
-+d_setservent_r='undef'
-+d_setsid='define'
-+d_setvbuf='define'
-+d_sfio='undef'
-+d_shm='define'
-+d_shmat='define'
-+d_shmatprototype='define'
-+d_shmctl='define'
-+d_shmdt='define'
-+d_shmget='define'
-+d_sigaction='define'
-+d_sigprocmask='define'
-+d_sigsetjmp='define'
-+d_sockatmark='undef'
-+d_sockatmarkproto='undef'
-+d_socket='define'
-+d_socklen_t='define'
-+d_sockpair='define'
-+d_socks5_init='undef'
-+d_sqrtl='undef'
-+d_srand48_r='undef'
-+d_srandom_r='undef'
-+d_sresgproto='undef'
-+d_sresuproto='undef'
-+d_statblks='define'
-+d_statfs_f_flags='undef'
-+d_statfs_s='define'
-+d_statvfs='define'
-+d_stdio_cnt_lval='undef'
-+d_stdio_ptr_lval='undef'
-+d_stdio_ptr_lval_nochange_cnt='undef'
-+d_stdio_ptr_lval_sets_cnt='undef'
-+d_stdio_stream_array='undef'
-+d_stdiobase='undef'
-+d_stdstdio='undef'
-+d_strchr='define'
-+d_strcoll='define'
-+d_strctcpy='define'
-+d_strerrm='strerror(e)'
-+d_strerror='define'
-+d_strerror_r='undef'
-+d_strftime='define'
-+d_strtod='define'
-+d_strtol='define'
-+d_strtold='define'
-+d_strtoll='define'
-+d_strtoq='define'
-+d_strtoul='define'
-+d_strtoull='define'
-+d_strtouq='define'
-+d_strxfrm='define'
-+d_suidsafe='undef'
-+d_symlink='define'
-+d_syscall='define'
-+d_syscallproto='define'
-+d_sysconf='define'
-+d_sysernlst=''
-+d_syserrlst='define'
-+d_system='define'
-+d_tcgetpgrp='define'
-+d_tcsetpgrp='define'
-+d_telldir='define'
-+d_telldirproto='define'
-+d_time='define'
-+d_times='define'
-+d_tm_tm_gmtoff='define'
-+d_tm_tm_zone='define'
-+d_tmpnam_r='undef'
-+d_truncate='define'
-+d_ttyname_r='undef'
-+d_tzname='define'
-+d_u32align='undef'
-+d_ualarm='undef'
-+d_umask='define'
-+d_uname='define'
-+d_union_semun='undef'
-+d_unordered='undef'
-+d_usleep='define'
-+d_usleepproto='define'
-+d_ustat='undef'
-+d_vendorarch='undef'
-+d_vendorbin='undef'
-+d_vendorlib='undef'
-+d_vfork='undef'
-+d_void_closedir='undef'
-+d_voidsig='define'
-+d_voidtty=''
-+d_volatile='define'
-+d_vprintf='define'
-+d_wait4='define'
-+d_waitpid='define'
-+d_wcstombs='define'
-+d_wctomb='define'
-+d_writev='define'
-+d_xenix='undef'
-+date='date'
-+db_hashtype='u_int32_t'
-+db_prefixtype='size_t'
-+db_version_major=''
-+db_version_minor=''
-+db_version_patch=''
-+defvoidused='15'
-+direntrytype='struct dirent'
-+dlext='so'
-+dlsrc='dl_dlopen.xs'
-+doublesize='8'
-+drand01='drand48()'
-+drand48_r_proto='0'
-+dynamic_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
-+eagain='EAGAIN'
-+ebcdic='undef'
-+echo='echo'
-+egrep='egrep'
-+emacs=''
-+endgrent_r_proto='0'
-+endhostent_r_proto='0'
-+endnetent_r_proto='0'
-+endprotoent_r_proto='0'
-+endpwent_r_proto='0'
-+endservent_r_proto='0'
-+eunicefix=':'
-+exe_ext=''
-+expr='expr'
-+extensions='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared Errno'
-+extras=''
-+fflushNULL='define'
-+fflushall='undef'
-+find=''
-+firstmakefile='makefile'
-+flex=''
-+fpossize='16'
-+fpostype='fpos_t'
-+freetype='void'
-+from=':'
-+full_ar='/usr/bin/ar'
-+full_csh='csh'
-+full_sed='/bin/sed'
-+gccosandvers=''
-+gccversion='3.3'
-+getgrent_r_proto='0'
-+getgrgid_r_proto='0'
-+getgrnam_r_proto='0'
-+gethostbyaddr_r_proto='0'
-+gethostbyname_r_proto='0'
-+gethostent_r_proto='0'
-+getlogin_r_proto='0'
-+getnetbyaddr_r_proto='0'
-+getnetbyname_r_proto='0'
-+getnetent_r_proto='0'
-+getprotobyname_r_proto='0'
-+getprotobynumber_r_proto='0'
-+getprotoent_r_proto='0'
-+getpwent_r_proto='0'
-+getpwnam_r_proto='0'
-+getpwuid_r_proto='0'
-+getservbyname_r_proto='0'
-+getservbyport_r_proto='0'
-+getservent_r_proto='0'
-+getspnam_r_proto='0'
-+gidformat='"lu"'
-+gidsign='1'
-+gidsize='4'
-+gidtype='gid_t'
-+glibpth='/usr/shlib  /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
-+gmake='gmake'
-+gmtime_r_proto='0'
-+gnulibc_version=''
-+grep='grep'
-+groupcat='cat /etc/group'
-+groupstype='gid_t'
-+gzip='gzip'
-+h_fcntl='false'
-+h_sysfile='true'
-+hint='previous'
-+hostcat='cat /etc/hosts'
-+i16size='2'
-+i16type='short'
-+i32size='4'
-+i32type='long'
-+i64size='8'
-+i64type='long long'
-+i8size='1'
-+i8type='char'
-+i_arpainet='define'
-+i_bsdioctl=''
-+i_crypt='define'
-+i_db='undef'
-+i_dbm='undef'
-+i_dirent='define'
-+i_dld='undef'
-+i_dlfcn='define'
-+i_fcntl='undef'
-+i_float='define'
-+i_fp='undef'
-+i_fp_class='undef'
-+i_gdbm='undef'
-+i_grp='define'
-+i_ieeefp='undef'
-+i_inttypes='define'
-+i_langinfo='define'
-+i_libutil='undef'
-+i_limits='define'
-+i_locale='define'
-+i_machcthr='undef'
-+i_malloc='define'
-+i_math='define'
-+i_memory='undef'
-+i_mntent='define'
-+i_ndbm='undef'
-+i_netdb='define'
-+i_neterrno='undef'
-+i_netinettcp='define'
-+i_niin='define'
-+i_poll='define'
-+i_prot='undef'
-+i_pthread='define'
-+i_pwd='define'
-+i_rpcsvcdbm='undef'
-+i_sfio='undef'
-+i_sgtty='undef'
-+i_shadow='define'
-+i_socks='undef'
-+i_stdarg='define'
-+i_stddef='define'
-+i_stdlib='define'
-+i_string='define'
-+i_sunmath='undef'
-+i_sysaccess='undef'
-+i_sysdir='define'
-+i_sysfile='define'
-+i_sysfilio='undef'
-+i_sysin='undef'
-+i_sysioctl='define'
-+i_syslog='define'
-+i_sysmman='define'
-+i_sysmode='undef'
-+i_sysmount='define'
-+i_sysndir='undef'
-+i_sysparam='define'
-+i_sysresrc='define'
-+i_syssecrt='undef'
-+i_sysselct='define'
-+i_syssockio='undef'
-+i_sysstat='define'
-+i_sysstatfs='define'
-+i_sysstatvfs='define'
-+i_systime='define'
-+i_systimek='undef'
-+i_systimes='define'
-+i_systypes='define'
-+i_sysuio='define'
-+i_sysun='define'
-+i_sysutsname='define'
-+i_sysvfs='define'
-+i_syswait='define'
-+i_termio='undef'
-+i_termios='define'
-+i_time='define'
-+i_unistd='define'
-+i_ustat='undef'
-+i_utime='define'
-+i_values='define'
-+i_varargs='undef'
-+i_varhdr='stdarg.h'
-+i_vfork='undef'
-+ignore_versioned_solibs='y'
-+inc_version_list=' '
-+inc_version_list_init='0'
-+incpath=''
-+inews=''
-+installarchlib='./install_me_here/usr/lib/perl/5.8.0/TARGET_ARCH-linux'
-+installbin='./install_me_here/usr/bin'
-+installman1dir=''
-+installman3dir=''
-+installprefix='./install_me_here/usr/lib/perl/5.8.0'
-+installprefixexp='./install_me_here/usr/lib/perl/5.8.0'
-+installprivlib='./install_me_here/usr/lib/perl/5.8.0'
-+installscript='./install_me_here/usr/bin'
-+installsitearch='./install_me_here/usr/lib/perl/5.8.0/TARGET_ARCH-linux'
-+installsitebin='./install_me_here/usr/bin'
-+installsitelib='./install_me_here/usr/lib/perl/5.8.0'
-+installstyle='lib'
-+installusrbinperl='undef'
-+installvendorarch=''
-+installvendorbin=''
-+installvendorlib=''
-+intsize='4'
-+issymlink='/usr/bin/test -h'
-+ivdformat='"ld"'
-+ivsize='4'
-+ivtype='long'
-+known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
-+ksh=''
-+ld='TARGET_CROSScc'
-+lddlflags='-shared'
-+ldflags=''
-+ldflags_uselargefiles=''
-+ldlibpthname='LD_LIBRARY_PATH'
-+less='less'
-+lib_ext='.a'
-+libc='/lib/libc.so.0'
-+libperl='libperl.a'
-+libpth='/lib /usr/lib'
-+libs='-ldl -lm -lpthread -lc -lcrypt'
-+libsdirs=''
-+libsfiles=''
-+libsfound=''
-+libspath=' /lib /usr/lib'
-+libswanted='sfio socket bind inet nm ndbm gdbm dbm db malloc dl dld ld sun m c cposix posix ndir dir crypt sec ucb BSD PW x util'
-+libswanted_uselargefiles=''
-+line=''
-+lint=''
-+lkflags=''
-+ln='ln'
-+lns='/bin/ln -s'
-+localtime_r_proto='0'
-+locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
-+loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
-+longdblsize='8'
-+longlongsize='8'
-+longsize='4'
-+lp=''
-+lpr=''
-+ls='ls'
-+lseeksize='8'
-+lseektype='off_t'
-+mail=''
-+mailx=''
-+make='make'
-+make_set_make='#'
-+mallocobj=''
-+mallocsrc=''
-+malloctype='void *'
-+man1dir=' '
-+man1direxp=''
-+man1ext='0'
-+man3dir=' '
-+man3direxp=''
-+man3ext='0'
-+mips_type=''
-+mkdir='mkdir'
-+mmaptype='void *'
-+modetype='mode_t'
-+more='more'
-+multiarch='undef'
-+mv=''
-+myarchname='TARGET_ARCH-linux'
-+n='-n'
-+need_va_copy='undef'
-+netdb_hlen_type='size_t'
-+netdb_host_type='const void *'
-+netdb_name_type='const char *'
-+netdb_net_type='in_addr_t'
-+nm='TARGET_CROSSnm'
-+nm_opt=''
-+nm_so_opt='--dynamic'
-+nonxs_ext='Errno'
-+nroff='nroff'
-+nvEUformat='"E"'
-+nvFUformat='"F"'
-+nvGUformat='"G"'
-+nv_preserves_uv_bits='32'
-+nveformat='"e"'
-+nvfformat='"f"'
-+nvgformat='"g"'
-+nvsize='8'
-+nvtype='double'
-+o_nonblock='O_NONBLOCK'
-+obj_ext='.o'
-+old_pthread_create_joinable=''
-+optimize='-O2'
-+orderlib='false'
-+osname='linux'
-+otherlibdirs=' '
-+package='perl5'
-+pager='/bin/more'
-+passcat='cat /etc/passwd'
-+patchlevel='8'
-+path_sep=':'
-+perl5=''
-+perl=''
-+perl_patchlevel=''
-+perllibs='-ldl -lm -lpthread -lc -lcrypt'
-+perlpath='/usr/bin/perl'
-+pg='pg'
-+phostname='hostname'
-+pidtype='pid_t'
-+plibpth=''
-+pm_apiversion='5.005'
-+pmake=''
-+pr=''
-+prefix='/usr/lib/perl/5.8.0'
-+prefixexp='/usr/lib/perl/5.8.0'
-+privlib='/usr/lib/perl/5.8.0'
-+privlibexp='/usr/lib/perl/5.8.0'
-+procselfexe='"/proc/self/exe"'
-+prototype='define'
-+ptrsize='4'
-+quadkind='3'
-+quadtype='long long'
-+randbits='48'
-+randfunc='drand48'
-+random_r_proto='0'
-+randseedtype='long'
-+ranlib='TARGET_CROSSranlib'
-+rd_nodata='-1'
-+readdir64_r_proto='0'
-+readdir_r_proto='0'
-+revision='5'
-+rm='rm'
-+rmail=''
-+run=''
-+runnm='true'
-+sPRIEUldbl='"E"'
-+sPRIFUldbl='"F"'
-+sPRIGUldbl='"G"'
-+sPRIXU64='"LX"'
-+sPRId64='"Ld"'
-+sPRIeldbl='"e"'
-+sPRIfldbl='"f"'
-+sPRIgldbl='"g"'
-+sPRIi64='"Li"'
-+sPRIo64='"Lo"'
-+sPRIu64='"Lu"'
-+sPRIx64='"Lx"'
-+sSCNfldbl='"f"'
-+sched_yield='sched_yield()'
-+scriptdir='/usr/bin'
-+scriptdirexp='/usr/bin'
-+sed='sed'
-+seedfunc='srand48'
-+selectminbits='32'
-+selecttype='fd_set *'
-+sendmail=''
-+setgrent_r_proto='0'
-+sethostent_r_proto='0'
-+setlocale_r_proto='0'
-+setnetent_r_proto='0'
-+setprotoent_r_proto='0'
-+setpwent_r_proto='0'
-+setservent_r_proto='0'
-+sh='/bin/sh'
-+shar=''
-+sharpbang='#!'
-+shmattype='void *'
-+shortsize='2'
-+shrpenv=''
-+shsharp='true'
-+sig_count='64'
-+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS RTMIN NUM33 NUM34 NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 RTMAX IOT CLD POLL UNUSED '
-+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "RTMIN", "NUM33", "NUM34", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
-+sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 6 17 29 31 '
-+sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0'
-+sig_size='68'
-+signal_t='void'
-+sitearch='/usr/lib/perl/5.8.0/TARGET_ARCH-linux'
-+sitearchexp='/usr/lib/perl/5.8.0/TARGET_ARCH-linux'
-+sitebin='/usr/bin'
-+sitebinexp='/usr/bin'
-+sitelib='/usr/lib/perl/5.8.0'
-+sitelib_stem='/usr/lib/perl/5.8.0/lib/site_perl'
-+sitelibexp='/usr/lib/perl/5.8.0'
-+siteprefix='/usr/lib/perl/5.8.0'
-+siteprefixexp='/usr/lib/perl/5.8.0'
-+sizesize='4'
-+sizetype='size_t'
-+sleep=''
-+smail=''
-+so='so'
-+sockethdr=''
-+socketlib=''
-+socksizetype='socklen_t'
-+sort='sort'
-+spackage='Perl5'
-+spitshell='cat'
-+srand48_r_proto='0'
-+srandom_r_proto='0'
-+src='.'
-+ssizetype='ssize_t'
-+startperl='#!/usr/bin/perl'
-+startsh='#!/bin/sh'
-+static_ext=' '
-+stdchar='char'
-+stdio_base='((fp)->_base)'
-+stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)'
-+stdio_cnt='((fp)->_cnt)'
-+stdio_filbuf=''
-+stdio_ptr='((fp)->_ptr)'
-+stdio_stream_array=''
-+strerror_r_proto='0'
-+strings='/usr/include/string.h'
-+submit=''
-+subversion='0'
-+sysman='/usr/man/man1'
-+tail=''
-+tar=''
-+targetarch=''
-+tbl=''
-+tee=''
-+test='test'
-+timeincl='/usr/include/sys/time.h /usr/include/time.h '
-+timetype='time_t'
-+tmpnam_r_proto='0'
-+to=':'
-+touch='touch'
-+tr='tr'
-+trnl='\n'
-+troff=''
-+ttyname_r_proto='0'
-+u16size='2'
-+u16type='unsigned short'
-+u32size='4'
-+u32type='unsigned long'
-+u64size='8'
-+u64type='unsigned long long'
-+u8size='1'
-+u8type='unsigned char'
-+uidformat='"lu"'
-+uidsign='1'
-+uidsize='4'
-+uidtype='uid_t'
-+uname='uname'
-+uniq='uniq'
-+uquadtype='unsigned long long'
-+use5005threads='undef'
-+use64bitall='undef'
-+use64bitint='undef'
-+usecrosscompile='undef'
-+usedl='define'
-+useithreads='undef'
-+uselargefiles='define'
-+uselongdouble='undef'
-+usemorebits='undef'
-+usemultiplicity='undef'
-+usemymalloc='n'
-+usenm='true'
-+useopcode='true'
-+useperlio='define'
-+useposix='true'
-+usereentrant='undef'
-+usesfio='false'
-+useshrplib='false'
-+usesocks='undef'
-+usethreads='undef'
-+usevendorprefix='undef'
-+usevfork='false'
-+usrinc='/usr/include'
-+uuname=''
-+uvXUformat='"lX"'
-+uvoformat='"lo"'
-+uvsize='4'
-+uvtype='unsigned long'
-+uvuformat='"lu"'
-+uvxformat='"lx"'
-+vendorarch=''
-+vendorarchexp=''
-+vendorbin=''
-+vendorbinexp=''
-+vendorlib=''
-+vendorlib_stem=''
-+vendorlibexp=''
-+vendorprefix=''
-+vendorprefixexp=''
-+version='5.8.0'
-+version_patchlevel_string='version 8 subversion 0'
-+versiononly='undef'
-+vi=''
-+voidflags='15'
-+xlibpth='/usr/lib/386 /lib/386'
-+xs_apiversion='5.8.0'
-+yacc='yacc'
-+yaccflags=''
-+zcat=''
-+zip='zip'
-+# Configure command line arguments.
-+config_arg0='./Configure'
-+config_args='-Dprefix=/usr/lib/perl/5.8.0 -Uinstallusrbinperl -des'
-+config_argc=3
-+config_arg1='-Dprefix=/usr/lib/perl/5.8.0'
-+config_arg2='-Uinstallusrbinperl'
-+config_arg3='-des'
-+PERL_REVISION=5
-+PERL_VERSION=8
-+PERL_SUBVERSION=0
-+PERL_API_REVISION=5
-+PERL_API_VERSION=8
-+PERL_API_SUBVERSION=0
-+PERL_PATCHLEVEL=
-+PERL_CONFIG_SH=true
-+# Variables propagated from previous config.sh file.
-+siteman1=''
-+siteman3=''
-+sitescript=''
diff --git a/sources/python-cross-compile.patch b/sources/python-cross-compile.patch
deleted file mode 100644 (file)
index f7465cc..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
---- Python-2.3.4/Makefile.pre.in.orig  2003-11-18 14:54:00.000000000 -0500
-+++ Python-2.3.4/Makefile.pre.in       2004-07-29 21:44:47.075924464 -0400
-@@ -159,6 +159,7 @@
- PYTHON=               python$(EXE)
- BUILDPYTHON=  python$(BUILDEXE)
-+HOSTPYTHON=   ./$(BUILDPYTHON)
- # === Definitions added by makesetup ===
-@@ -186,6 +187,8 @@
- # Parser
- PGEN=         Parser/pgen$(EXE)
-+HOSTPGEN=     $(PGEN)
-+
- POBJS=                \
-               Parser/acceler.o \
-               Parser/grammar1.o \
-@@ -314,8 +317,8 @@
- # Build the shared modules
- sharedmods: $(BUILDPYTHON)
-       case $$MAKEFLAGS in \
--      *-s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
--      *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
-+      *-s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' CROSS_COMPILE='yes' OPT='$(OPT)' DESTDIR='$(DESTDIR)'  $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
-+      *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' CROSS_COMPILE='yes' OPT='$(OPT)' DESTDIR='$(DESTDIR)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
-       esac
- # buildno should really depend on something like LIBRARY_SRC
-@@ -432,7 +435,7 @@
- $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
--              -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
-+              -$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
- $(PGEN):      $(PGENOBJS)
-               $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
-@@ -705,19 +708,19 @@
-       done
-       $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
-       PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
--              ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
-+              $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
-               -d $(LIBDEST) -f \
-               -x 'badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
-       PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
--              ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
-+              $(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
-               -d $(LIBDEST) -f \
-               -x 'badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
-       PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
--              ./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
-+              $(HOSTPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
-               -d $(LIBDEST)/site-packages -f \
-               -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-       PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
--              ./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
-+              $(HOSTPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
-               -d $(LIBDEST)/site-packages -f \
-               -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-@@ -812,7 +815,8 @@
- # Install the dynamically loadable modules
- # This goes into $(exec_prefix)
- sharedinstall:
--      $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
-+      CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILE='$(CROSS_COMPILE)' \
-+              $(HOSTPYTHON) -E $(srcdir)/setup.py install \
-               --prefix=$(prefix) \
-               --install-scripts=$(BINDIR) \
-               --install-platlib=$(DESTSHARED) \
---- Python-2.3.4/setup.py.orig 2004-07-29 21:32:12.993562408 -0400
-+++ Python-2.3.4/setup.py      2004-07-29 21:47:12.174866072 -0400
-@@ -213,6 +213,7 @@
-         try:
-             imp.load_dynamic(ext.name, ext_filename)
-         except ImportError, why:
-+          if os.environ.get('CROSS_COMPILE') != "yes":
-             self.announce('*** WARNING: renaming "%s" since importing it'
-                           ' failed: %s' % (ext.name, why), level=3)
-             assert not self.inplace
-@@ -233,6 +234,9 @@
-                     os.remove(filename)
-             except AttributeError:
-                 self.announce('unable to remove files (ignored)')
-+          else:
-+            self.announce('WARNING: "%s" failed importing, but we leave it because we are cross-compiling' %
-+                          ext.name)
-         except:
-             exc_type, why, tb = sys.exc_info()
-             self.announce('*** WARNING: importing extension "%s" '
-@@ -245,8 +245,9 @@
-     def detect_modules(self):
-         # Ensure that /usr/local is always used
--        add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
--        add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
-+        add_dir_to_list(self.compiler.library_dirs, os.getenv('DESTDIR') + '/lib')
-+        add_dir_to_list(self.compiler.library_dirs, os.getenv('DESTDIR') + '/usr/lib')
-+        add_dir_to_list(self.compiler.include_dirs, os.getenv('DESTDIR') + '/usr/include')
-         # fink installs lots of goodies in /sw/... - make sure we
-         # check there
-@@ -254,11 +255,6 @@
-             add_dir_to_list(self.compiler.library_dirs, '/sw/lib')
-             add_dir_to_list(self.compiler.include_dirs, '/sw/include')
--        if os.path.normpath(sys.prefix) != '/usr':
--            add_dir_to_list(self.compiler.library_dirs,
--                            sysconfig.get_config_var("LIBDIR"))
--            add_dir_to_list(self.compiler.include_dirs,
--                            sysconfig.get_config_var("INCLUDEDIR"))
-         try:
-             have_unicode = unicode
diff --git a/sources/sedcheck.sh b/sources/sedcheck.sh
deleted file mode 100755 (executable)
index 4d645b6..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-if [ -x /usr/bin/sed ]; then 
-    SED="/usr/bin/sed";
-else
-    if [ -x /bin/sed ]; then 
-       SED="/bin/sed";
-    fi;
-fi;
-
-echo "HELLO" > .sedtest
-$SED -i -e "s/HELLO/GOODBYE/" .sedtest >/dev/null 2>&1
-
-if [ $? != 0 ] ; then
-       echo build-sed-host-binary
-else
-       echo use-sed-host-binary
-fi;
-rm -f .sedtest
-
-
diff --git a/sources/skel.tar.gz b/sources/skel.tar.gz
deleted file mode 100644 (file)
index 301c5cf..0000000
Binary files a/sources/skel.tar.gz and /dev/null differ
diff --git a/sources/squashfs.patch b/sources/squashfs.patch
deleted file mode 100644 (file)
index ea75a7f..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-This is a stupid little patch adding an option to change all uid/gid to
-root/root in the generated filesystem.  We really need to teach mksquashfs
-about device tables though...
-
---- squashfs1.3r3/squashfs-tools/mksquashfs.c-dist     2004-03-29 20:35:37.000000000 -0600
-+++ squashfs1.3r3/squashfs-tools/mksquashfs.c  2004-03-29 22:28:51.000000000 -0600
-@@ -136,6 +136,8 @@
-       stotal_bytes, stotal_inode_bytes, stotal_directory_bytes, sinode_count, sfile_count, ssym_count, sdev_count, sdir_count, sdup_files;
- int restore = 0;
-+unsigned int root_owned = 0;
-+
- /*flag whether destination file is a block device */
- int block_device = 0;
-@@ -421,6 +423,11 @@
-               return SQUASHFS_INVALID;
-       }
-+      if (root_owned) {
-+              buf.st_uid = 0;
-+              buf.st_gid = 0;
-+      }
-+
-       base->mode = SQUASHFS_MODE(buf.st_mode);
-       base->uid = get_uid(&file_type, (squashfs_uid) buf.st_uid);
-       base->inode_type = file_type;
-@@ -1268,6 +1275,8 @@
-                       root_name = argv[i];
-               } else if(strcmp(argv[i], "-version") == 0) {
-                       VERSION();
-+              } else if (strcmp(argv[i], "-root-owned") == 0) {
-+                      root_owned = TRUE;
-               } else {
-                       ERROR("%s: invalid option\n\n", argv[0]);
- printOptions:
diff --git a/sources/target_skeleton/etc/TZ b/sources/target_skeleton/etc/TZ
deleted file mode 100644 (file)
index 9fcb2a3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-MST7MDT
diff --git a/sources/target_skeleton/etc/fstab b/sources/target_skeleton/etc/fstab
deleted file mode 100644 (file)
index 6d33629..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# /etc/fstab: static file system information.
-#
-# <file system> <mount pt>     <type>  <options>         <dump> <pass>
-/dev/root       /              ext2    rw,noauto         0      1
-proc           /proc          proc     defaults          0      0
-devpts         /dev/pts       devpts   defaults,gid=5,mode=620   0      0
-tmpfs           /tmp           tmpfs    defaults          0      0
-
diff --git a/sources/target_skeleton/etc/group b/sources/target_skeleton/etc/group
deleted file mode 100644 (file)
index a21ef0f..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-root:x:0:
-daemon:x:1:
-bin:x:2:
-sys:x:3:
-adm:x:4:
-tty:x:5:
-disk:x:6:
-utmp:x:43:
-staff:x:50:
-default:x:1000:
diff --git a/sources/target_skeleton/etc/hostname b/sources/target_skeleton/etc/hostname
deleted file mode 100644 (file)
index 52e67d6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-uclibc
diff --git a/sources/target_skeleton/etc/hosts b/sources/target_skeleton/etc/hosts
deleted file mode 100644 (file)
index ba712fe..0000000
+++ /dev/null
@@ -1 +0,0 @@
-127.0.0.1      localhost
diff --git a/sources/target_skeleton/etc/init.d/S20urandom b/sources/target_skeleton/etc/init.d/S20urandom
deleted file mode 100755 (executable)
index 433fafe..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /bin/sh
-#
-# urandom      This script saves the random seed between reboots.
-#              It is called from the boot, halt and reboot scripts.
-#
-# Version:     @(#)urandom  1.33  22-Jun-1998  miquels@cistron.nl
-#
-
-[ -c /dev/urandom ] || exit 0
-#. /etc/default/rcS
-
-case "$1" in
-       start|"")
-               if [ "$VERBOSE" != no ]
-               then
-                       echo -n "Initializing random number generator... "
-               fi
-               # Load and then save 512 bytes,
-               # which is the size of the entropy pool
-               if [ -f /etc/random-seed ]
-               then
-                       cat /etc/random-seed >/dev/urandom
-               fi
-               rm -f /etc/random-seed
-               umask 077
-               dd if=/dev/urandom of=/etc/random-seed count=1 \
-                       >/dev/null 2>&1 || echo "urandom start: failed."
-               umask 022
-               [ "$VERBOSE" != no ] && echo "done."
-               ;;
-       stop)
-               # Carry a random seed from shut-down to start-up;
-               # see documentation in linux/drivers/char/random.c
-               [ "$VERBOSE" != no ] && echo -n "Saving random seed... "
-               umask 077
-               dd if=/dev/urandom of=/etc/random-seed count=1 \
-                       >/dev/null 2>&1 || echo "urandom stop: failed."
-               [ "$VERBOSE" != no ] && echo "done."
-               ;;
-       *)
-               echo "Usage: urandom {start|stop}" >&2
-               exit 1
-               ;;
-esac
diff --git a/sources/target_skeleton/etc/init.d/S40network b/sources/target_skeleton/etc/init.d/S40network
deleted file mode 100755 (executable)
index d835d9c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-#
-# Start the network....
-#
-
-start() {
-       echo "Starting network..."
-       /sbin/ifup -a
-}      
-stop() {
-       echo -n "Stopping network..."
-       /sbin/ifdown -a
-}
-restart() {
-       stop
-       start
-}      
-
-case "$1" in
-  start)
-       start
-       ;;
-  stop)
-       stop
-       ;;
-  restart|reload)
-       restart
-       ;;
-  *)
-       echo $"Usage: $0 {start|stop|restart}"
-       exit 1
-esac
-
-exit $?
-
diff --git a/sources/target_skeleton/etc/init.d/rcS b/sources/target_skeleton/etc/init.d/rcS
deleted file mode 100755 (executable)
index de41153..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-
-# Start all init scripts in /etc/init.d
-# executing them in numerical order.
-#
-for i in /etc/init.d/S??* ;do
-
-     # Ignore dangling symlinks (if any).
-     [ ! -f "$i" ] && continue
-
-     case "$i" in
-       *.sh)
-           # Source shell script for speed.
-           (
-               trap - INT QUIT TSTP
-               set start
-               . $i
-           )
-           ;;
-       *)
-           # No sh extension, so fork subprocess.
-           $i start
-           ;;
-    esac
-done
-
diff --git a/sources/target_skeleton/etc/inittab b/sources/target_skeleton/etc/inittab
deleted file mode 100644 (file)
index a6c014e..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-# /etc/inittab
-#
-# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
-#
-# Note: BusyBox init doesn't support runlevels.  The runlevels field is
-# completely ignored by BusyBox init. If you want runlevels, use
-# sysvinit.
-#
-# Format for each entry: <id>:<runlevels>:<action>:<process>
-#
-# id        == tty to run on, or empty for /dev/console
-# runlevels == ignored
-# action    == one of sysinit, respawn, askfirst, wait, and once
-# process   == program to run
-
-# Startup the system
-null::sysinit:/bin/mount -o remount,rw /
-null::sysinit:/bin/mount -t proc proc /proc
-null::sysinit:/bin/mount -a
-null::sysinit:/bin/hostname -F /etc/hostname
-null::sysinit:/sbin/ifconfig lo 127.0.0.1 up
-null::sysinit:/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
-# now run any rc scripts
-::sysinit:/etc/init.d/rcS
-
-# Set up a couple of getty's
-tty1::respawn:/sbin/getty 38400 tty1
-tty2::respawn:/sbin/getty 38400 tty2
-
-# Put a getty on the serial port
-#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
-
-# Logging junk
-null::sysinit:/bin/touch /var/log/messages
-null::respawn:/sbin/syslogd -n -m 0
-null::respawn:/sbin/klogd -n
-tty3::respawn:/usr/bin/tail -f /var/log/messages
-
-# Stuff to do for the 3-finger salute
-::ctrlaltdel:/sbin/reboot
-
-# Stuff to do before rebooting
-null::shutdown:/usr/bin/killall klogd
-null::shutdown:/usr/bin/killall syslogd
-null::shutdown:/bin/umount -a -r
-null::shutdown:/sbin/swapoff -a
-
diff --git a/sources/target_skeleton/etc/inputrc b/sources/target_skeleton/etc/inputrc
deleted file mode 100644 (file)
index 2f1cb60..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# /etc/inputrc - global inputrc for libreadline
-# See readline(3readline) and `info readline' for more information.
-
-# Be 8 bit clean.
-set input-meta on
-set output-meta on
-set bell-style visible
-
-# To allow the use of 8bit-characters like the german umlauts, comment out
-# the line below. However this makes the meta key not work as a meta key,
-# which is annoying to those which don't need to type in 8-bit characters.
-
-# set convert-meta off
-
-"\e0d": backward-word
-"\e0c": forward-word
-"\e[h": beginning-of-line
-"\e[f": end-of-line
-"\e[1~": beginning-of-line
-"\e[4~": end-of-line
-#"\e[5~": beginning-of-history
-#"\e[6~": end-of-history
-"\e[3~": delete-char
-"\e[2~": quoted-insert
-
-# Common standard keypad and cursor
-# (codes courtsey Werner Fink, <werner@suse.de>)
-#"\e[1~": history-search-backward
-"\e[2~": yank
-"\e[3~": delete-char
-#"\e[4~": set-mark
-"\e[5~": history-search-backward
-"\e[6~": history-search-forward
-# Normal keypad and cursor of xterm
-"\e[F": end-of-line
-"\e[H": beginning-of-line
-# Application keypad and cursor of xterm
-"\eOA": previous-history
-"\eOC": forward-char
-"\eOB": next-history
-"\eOD": backward-char
-"\eOF": end-of-line
-"\eOH": beginning-of-line
-
diff --git a/sources/target_skeleton/etc/issue b/sources/target_skeleton/etc/issue
deleted file mode 100644 (file)
index f24b862..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-Welcome to the Erik's uClibc development environment.
-
diff --git a/sources/target_skeleton/etc/network/interfaces b/sources/target_skeleton/etc/network/interfaces
deleted file mode 100644 (file)
index 218b82c..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# Configure Loopback
-auto lo
-iface lo inet loopback
-
diff --git a/sources/target_skeleton/etc/passwd b/sources/target_skeleton/etc/passwd
deleted file mode 100644 (file)
index e0f473f..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-root:x:0:0:root:/root:/bin/sh
-daemon:x:1:1:daemon:/usr/sbin:/bin/sh
-bin:x:2:2:bin:/bin:/bin/sh
-sys:x:3:3:sys:/dev:/bin/sh
-sync:x:4:100:sync:/bin:/bin/sync
-mail:x:8:8:mail:/var/spool/mail:/bin/sh
-proxy:x:13:13:proxy:/bin:/bin/sh
-www-data:x:33:33:www-data:/var/www:/bin/sh
-backup:x:34:34:backup:/var/backups:/bin/sh
-operator:x:37:37:Operator:/var:/bin/sh
-sshd:x:103:99:Operator:/var:/bin/sh
-nobody:x:99:99:nobody:/home:/bin/sh
-default:x:1000:1000:Default non-root user:/home/default:/bin/sh
diff --git a/sources/target_skeleton/etc/profile b/sources/target_skeleton/etc/profile
deleted file mode 100644 (file)
index cc2e0be..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# ~/.bashrc: executed by bash(1) for non-login interactive shells.
-
-export PATH=\
-/bin:\
-/sbin:\
-/usr/bin:\
-/usr/sbin:\
-/usr/bin/X11:\
-/usr/local/bin
-
-# If running interactively, then:
-if [ "$PS1" ]; then
-
-    if [ "$BASH" ]; then
-       export PS1="[\u@\h \W]\\$ "
-       alias ll='/bin/ls --color=tty -laFh'
-       alias ls='/bin/ls --color=tty -F'
-       export LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:';
-    else
-      if [ "`id -u`" -eq 0 ]; then 
-       export PS1='# '
-      else
-       export PS1='$ '
-      fi
-    fi
-
-    export USER=`id -un`
-    export LOGNAME=$USER
-    export HOSTNAME=`/bin/hostname`
-    export HISTSIZE=1000
-    export HISTFILESIZE=1000
-    export PAGER='/bin/more '
-    export EDITOR='/bin/vi'
-    export INPUTRC=/etc/inputrc
-    export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
-
-    ### Some aliases
-    alias ps2='ps facux '
-    alias ps1='ps faxo "%U %t %p %a" '
-    alias af='ps af'
-    alias cls='clear'
-    alias df='df -h'
-    alias indent='indent -bad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0 -cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs -npsl -nsc -nsob -nss -ts4 '
-    #alias bc='bc -l'
-    alias minicom='minicom -c on'
-    alias calc='calc -Cd '
-    alias bc='calc -Cd '
-fi;
diff --git a/sources/target_skeleton/etc/protocols b/sources/target_skeleton/etc/protocols
deleted file mode 100644 (file)
index e717657..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# /etc/protocols:
-# $Id: protocols,v 1.3 2002/04/26 22:01:41 andersen Exp $
-#
-# Internet (IP) protocols
-#
-#      from: @(#)protocols     5.1 (Berkeley) 4/17/89
-#
-# Updated for NetBSD based on RFC 1340, Assigned Numbers (July 1992).
-
-ip     0       IP              # internet protocol, pseudo protocol number
-icmp   1       ICMP            # internet control message protocol
-igmp   2       IGMP            # Internet Group Management
-ggp    3       GGP             # gateway-gateway protocol
-ipencap        4       IP-ENCAP        # IP encapsulated in IP (officially ``IP'')
-st     5       ST              # ST datagram mode
-tcp    6       TCP             # transmission control protocol
-egp    8       EGP             # exterior gateway protocol
-pup    12      PUP             # PARC universal packet protocol
-udp    17      UDP             # user datagram protocol
-hmp    20      HMP             # host monitoring protocol
-xns-idp        22      XNS-IDP         # Xerox NS IDP
-rdp    27      RDP             # "reliable datagram" protocol
-iso-tp4        29      ISO-TP4         # ISO Transport Protocol class 4
-xtp    36      XTP             # Xpress Tranfer Protocol
-ddp    37      DDP             # Datagram Delivery Protocol
-idpr-cmtp      39      IDPR-CMTP       # IDPR Control Message Transport
-rspf   73      RSPF            #Radio Shortest Path First.
-vmtp   81      VMTP            # Versatile Message Transport
-ospf   89      OSPFIGP         # Open Shortest Path First IGP
-ipip   94      IPIP            # Yet Another IP encapsulation
-encap  98      ENCAP           # Yet Another IP encapsulation
diff --git a/sources/target_skeleton/etc/random-seed b/sources/target_skeleton/etc/random-seed
deleted file mode 100644 (file)
index f26038a..0000000
Binary files a/sources/target_skeleton/etc/random-seed and /dev/null differ
diff --git a/sources/target_skeleton/etc/resolv.conf b/sources/target_skeleton/etc/resolv.conf
deleted file mode 100644 (file)
index 71a86dd..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-domain dev.null
-nameserver 127.0.0.1
diff --git a/sources/target_skeleton/etc/securetty b/sources/target_skeleton/etc/securetty
deleted file mode 100644 (file)
index 81616f3..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-tty1
-tty2
-tty3
-tty4
-tty5
-tty6
-tty7
-tty8
-ttyS0
-ttyS1
-ttyS2
-ttyS3
diff --git a/sources/target_skeleton/etc/services b/sources/target_skeleton/etc/services
deleted file mode 100644 (file)
index ebe7ab2..0000000
+++ /dev/null
@@ -1,302 +0,0 @@
-# /etc/services:
-# $Id: services,v 1.4 2003/06/14 00:47:20 andersen Exp $
-#
-# Network services, Internet style
-#
-# Note that it is presently the policy of IANA to assign a single well-known
-# port number for both TCP and UDP; hence, most entries here have two entries
-# even if the protocol doesn't support UDP operations.
-# Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
-# are included, only the more common ones.
-
-tcpmux         1/tcp                           # TCP port service multiplexer
-echo           7/tcp
-echo           7/udp
-discard                9/tcp           sink null
-discard                9/udp           sink null
-systat         11/tcp          users
-daytime                13/tcp
-daytime                13/udp
-netstat                15/tcp
-qotd           17/tcp          quote
-msp            18/tcp                          # message send protocol
-msp            18/udp                          # message send protocol
-chargen                19/tcp          ttytst source
-chargen                19/udp          ttytst source
-ftp-data       20/tcp
-ftp            21/tcp
-fsp            21/udp          fspd
-ssh            22/tcp                          # SSH Remote Login Protocol
-ssh            22/udp                          # SSH Remote Login Protocol
-telnet         23/tcp
-# 24 - private
-smtp           25/tcp          mail
-# 26 - unassigned
-time           37/tcp          timserver
-time           37/udp          timserver
-rlp            39/udp          resource        # resource location
-nameserver     42/tcp          name            # IEN 116
-whois          43/tcp          nicname
-re-mail-ck     50/tcp                          # Remote Mail Checking Protocol
-re-mail-ck     50/udp                          # Remote Mail Checking Protocol
-domain         53/tcp          nameserver      # name-domain server
-domain         53/udp          nameserver
-mtp            57/tcp                          # deprecated
-bootps         67/tcp                          # BOOTP server
-bootps         67/udp
-bootpc         68/tcp                          # BOOTP client
-bootpc         68/udp
-tftp           69/udp
-gopher         70/tcp                          # Internet Gopher
-gopher         70/udp
-rje            77/tcp          netrjs
-finger         79/tcp
-www            80/tcp          http            # WorldWideWeb HTTP
-www            80/udp                          # HyperText Transfer Protocol
-link           87/tcp          ttylink
-kerberos       88/tcp          kerberos5 krb5  # Kerberos v5
-kerberos       88/udp          kerberos5 krb5  # Kerberos v5
-supdup         95/tcp
-# 100 - reserved
-hostnames      101/tcp         hostname        # usually from sri-nic
-iso-tsap       102/tcp         tsap            # part of ISODE.
-csnet-ns       105/tcp         cso-ns          # also used by CSO name server
-csnet-ns       105/udp         cso-ns
-# unfortunately the poppassd (Eudora) uses a port which has already
-# been assigned to a different service. We list the poppassd as an
-# alias here. This should work for programs asking for this service.
-# (due to a bug in inetd the 3com-tsmux line is disabled)
-#3com-tsmux    106/tcp         poppassd
-#3com-tsmux    106/udp         poppassd
-rtelnet                107/tcp                         # Remote Telnet
-rtelnet                107/udp
-pop-2          109/tcp         postoffice      # POP version 2
-pop-2          109/udp
-pop-3          110/tcp                         # POP version 3
-pop-3          110/udp
-sunrpc         111/tcp         portmapper      # RPC 4.0 portmapper TCP
-sunrpc         111/udp         portmapper      # RPC 4.0 portmapper UDP
-auth           113/tcp         authentication tap ident
-sftp           115/tcp
-uucp-path      117/tcp
-nntp           119/tcp         readnews untp   # USENET News Transfer Protocol
-ntp            123/tcp
-ntp            123/udp                         # Network Time Protocol
-netbios-ns     137/tcp                         # NETBIOS Name Service
-netbios-ns     137/udp
-netbios-dgm    138/tcp                         # NETBIOS Datagram Service
-netbios-dgm    138/udp
-netbios-ssn    139/tcp                         # NETBIOS session service
-netbios-ssn    139/udp
-imap2          143/tcp                         # Interim Mail Access Proto v2
-imap2          143/udp
-snmp           161/udp                         # Simple Net Mgmt Proto
-snmp-trap      162/udp         snmptrap        # Traps for SNMP
-cmip-man       163/tcp                         # ISO mgmt over IP (CMOT)
-cmip-man       163/udp
-cmip-agent     164/tcp
-cmip-agent     164/udp
-xdmcp          177/tcp                         # X Display Mgr. Control Proto
-xdmcp          177/udp
-nextstep       178/tcp         NeXTStep NextStep       # NeXTStep window
-nextstep       178/udp         NeXTStep NextStep       # server
-bgp            179/tcp                         # Border Gateway Proto.
-bgp            179/udp
-prospero       191/tcp                         # Cliff Neuman's Prospero
-prospero       191/udp
-irc            194/tcp                         # Internet Relay Chat
-irc            194/udp
-smux           199/tcp                         # SNMP Unix Multiplexer
-smux           199/udp
-at-rtmp                201/tcp                         # AppleTalk routing
-at-rtmp                201/udp
-at-nbp         202/tcp                         # AppleTalk name binding
-at-nbp         202/udp
-at-echo                204/tcp                         # AppleTalk echo
-at-echo                204/udp
-at-zis         206/tcp                         # AppleTalk zone information
-at-zis         206/udp
-qmtp           209/tcp                         # The Quick Mail Transfer Protocol
-qmtp           209/udp                         # The Quick Mail Transfer Protocol
-z3950          210/tcp         wais            # NISO Z39.50 database
-z3950          210/udp         wais
-ipx            213/tcp                         # IPX
-ipx            213/udp
-imap3          220/tcp                         # Interactive Mail Access
-imap3          220/udp                         # Protocol v3
-ulistserv      372/tcp                         # UNIX Listserv
-ulistserv      372/udp
-https          443/tcp                         # MCom
-https          443/udp                         # MCom
-snpp           444/tcp                         # Simple Network Paging Protocol
-snpp           444/udp                         # Simple Network Paging Protocol
-saft           487/tcp                         # Simple Asynchronous File Transfer
-saft           487/udp                         # Simple Asynchronous File Transfer
-npmp-local     610/tcp         dqs313_qmaster  # npmp-local / DQS
-npmp-local     610/udp         dqs313_qmaster  # npmp-local / DQS
-npmp-gui       611/tcp         dqs313_execd    # npmp-gui / DQS
-npmp-gui       611/udp         dqs313_execd    # npmp-gui / DQS
-hmmp-ind       612/tcp         dqs313_intercell# HMMP Indication / DQS
-hmmp-ind       612/udp         dqs313_intercell# HMMP Indication / DQS
-#
-# UNIX specific services
-#
-exec           512/tcp
-biff           512/udp         comsat
-login          513/tcp
-who            513/udp         whod
-shell          514/tcp         cmd             # no passwords used
-syslog         514/udp
-printer                515/tcp         spooler         # line printer spooler
-talk           517/udp
-ntalk          518/udp
-route          520/udp         router routed   # RIP
-timed          525/udp         timeserver
-tempo          526/tcp         newdate
-courier                530/tcp         rpc
-conference     531/tcp         chat
-netnews                532/tcp         readnews
-netwall                533/udp                         # -for emergency broadcasts
-uucp           540/tcp         uucpd           # uucp daemon
-afpovertcp     548/tcp                         # AFP over TCP
-afpovertcp     548/udp                         # AFP over TCP
-remotefs       556/tcp         rfs_server rfs  # Brunhoff remote filesystem
-klogin         543/tcp                         # Kerberized `rlogin' (v5)
-kshell         544/tcp         krcmd           # Kerberized `rsh' (v5)
-kerberos-adm   749/tcp                         # Kerberos `kadmin' (v5)
-#
-webster                765/tcp                         # Network dictionary
-webster                765/udp
-#
-# From ``Assigned Numbers'':
-#
-#> The Registered Ports are not controlled by the IANA and on most systems
-#> can be used by ordinary user processes or programs executed by ordinary
-#> users.
-#
-#> Ports are used in the TCP [45,106] to name the ends of logical
-#> connections which carry long term conversations.  For the purpose of
-#> providing services to unknown callers, a service contact port is
-#> defined.  This list specifies the port used by the server process as its
-#> contact port.  While the IANA can not control uses of these ports it
-#> does register or list uses of these ports as a convienence to the
-#> community.
-#
-nfsdstatus     1110/tcp
-nfsd-keepalive 1110/udp
-
-ingreslock     1524/tcp
-ingreslock     1524/udp
-prospero-np    1525/tcp                        # Prospero non-privileged
-prospero-np    1525/udp
-datametrics    1645/tcp        old-radius      # datametrics / old radius entry
-datametrics    1645/udp        old-radius      # datametrics / old radius entry
-sa-msg-port    1646/tcp        old-radacct     # sa-msg-port / old radacct entry
-sa-msg-port    1646/udp        old-radacct     # sa-msg-port / old radacct entry
-radius         1812/tcp                        # Radius
-radius         1812/udp                        # Radius
-radacct                1813/tcp                        # Radius Accounting
-radacct                1813/udp                        # Radius Accounting
-nfsd           2049/tcp        nfs
-nfsd           2049/udp        nfs
-cvspserver     2401/tcp                        # CVS client/server operations
-cvspserver     2401/udp                        # CVS client/server operations
-mysql          3306/tcp                        # MySQL
-mysql          3306/udp                        # MySQL
-rfe            5002/tcp                        # Radio Free Ethernet
-rfe            5002/udp                        # Actually uses UDP only
-cfengine       5308/tcp                        # CFengine
-cfengine       5308/udp                        # CFengine
-bbs            7000/tcp                        # BBS service
-#
-#
-# Kerberos (Project Athena/MIT) services
-# Note that these are for Kerberos v4, and are unofficial.  Sites running
-# v4 should uncomment these and comment out the v5 entries above.
-#
-kerberos4      750/udp         kerberos-iv kdc # Kerberos (server) udp
-kerberos4      750/tcp         kerberos-iv kdc # Kerberos (server) tcp
-kerberos_master        751/udp                         # Kerberos authentication
-kerberos_master        751/tcp                         # Kerberos authentication
-passwd_server  752/udp                         # Kerberos passwd server
-krb_prop       754/tcp                         # Kerberos slave propagation
-krbupdate      760/tcp         kreg            # Kerberos registration
-kpasswd                761/tcp         kpwd            # Kerberos "passwd"
-kpop           1109/tcp                        # Pop with Kerberos
-knetd          2053/tcp                        # Kerberos de-multiplexor
-zephyr-srv     2102/udp                        # Zephyr server
-zephyr-clt     2103/udp                        # Zephyr serv-hm connection
-zephyr-hm      2104/udp                        # Zephyr hostmanager
-eklogin                2105/tcp                        # Kerberos encrypted rlogin
-#
-# Unofficial but necessary (for NetBSD) services
-#
-supfilesrv     871/tcp                         # SUP server
-supfiledbg     1127/tcp                        # SUP debugging
-#
-# Datagram Delivery Protocol services
-#
-rtmp           1/ddp                           # Routing Table Maintenance Protocol
-nbp            2/ddp                           # Name Binding Protocol
-echo           4/ddp                           # AppleTalk Echo Protocol
-zip            6/ddp                           # Zone Information Protocol
-#
-# Services added for the Debian GNU/Linux distribution
-poppassd       106/tcp                         # Eudora
-poppassd       106/udp                         # Eudora
-mailq          174/tcp                         # Mailer transport queue for Zmailer
-mailq          174/tcp                         # Mailer transport queue for Zmailer
-omirr          808/tcp         omirrd          # online mirror
-omirr          808/udp         omirrd          # online mirror
-rmtcfg         1236/tcp                        # Gracilis Packeten remote config server
-xtel           1313/tcp                        # french minitel
-coda_opcons    1355/udp                        # Coda opcons            (Coda fs)
-coda_venus     1363/udp                        # Coda venus             (Coda fs)
-coda_auth      1357/udp                        # Coda auth              (Coda fs)
-coda_udpsrv    1359/udp                        # Coda udpsrv            (Coda fs)
-coda_filesrv   1361/udp                        # Coda filesrv           (Coda fs)
-codacon                1423/tcp        venus.cmu       # Coda Console           (Coda fs)
-coda_aux1      1431/tcp                        # coda auxiliary service (Coda fs)
-coda_aux1      1431/udp                        # coda auxiliary service (Coda fs)
-coda_aux2      1433/tcp                        # coda auxiliary service (Coda fs)
-coda_aux2      1433/udp                        # coda auxiliary service (Coda fs)
-coda_aux3      1435/tcp                        # coda auxiliary service (Coda fs)
-coda_aux3      1435/udp                        # coda auxiliary service (Coda fs)
-cfinger                2003/tcp                        # GNU Finger
-afbackup       2988/tcp                        # Afbackup system
-afbackup       2988/udp                        # Afbackup system
-icp            3130/tcp                        # Internet Cache Protocol (Squid)
-icp            3130/udp                        # Internet Cache Protocol (Squid)
-postgres       5432/tcp                        # POSTGRES
-postgres       5432/udp                        # POSTGRES
-fax            4557/tcp                        # FAX transmission service        (old)
-hylafax                4559/tcp                        # HylaFAX client-server protocol  (new)
-noclog         5354/tcp                        # noclogd with TCP (nocol)
-noclog         5354/udp                        # noclogd with UDP (nocol)
-hostmon                5355/tcp                        # hostmon uses TCP (nocol)
-hostmon                5355/udp                        # hostmon uses TCP (nocol)
-ircd           6667/tcp                        # Internet Relay Chat
-ircd           6667/udp                        # Internet Relay Chat
-webcache       8080/tcp                        # WWW caching service
-webcache       8080/udp                        # WWW caching service
-tproxy         8081/tcp                        # Transparent Proxy
-tproxy         8081/udp                        # Transparent Proxy
-mandelspawn    9359/udp        mandelbrot      # network mandelbrot
-amanda         10080/udp                       # amanda backup services
-amandaidx      10082/tcp                       # amanda backup services
-amidxtape      10083/tcp                       # amanda backup services
-isdnlog                20011/tcp                       # isdn logging system
-isdnlog                20011/udp                       # isdn logging system
-vboxd          20012/tcp                       # voice box system
-vboxd          20012/udp                       # voice box system
-binkp           24554/tcp                      # Binkley
-binkp           24554/udp                      # Binkley
-asp            27374/tcp                       # Address Search Protocol
-asp            27374/udp                       # Address Search Protocol
-tfido           60177/tcp                      # Ifmail
-tfido           60177/udp                      # Ifmail
-fido            60179/tcp                      # Ifmail
-fido            60179/udp                      # Ifmail
-
-# Local services
-
diff --git a/sources/target_skeleton/etc/shadow b/sources/target_skeleton/etc/shadow
deleted file mode 100644 (file)
index 4941a1a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-root::10933:0:99999:7:::
-bin:*:10933:0:99999:7:::
-daemon:*:10933:0:99999:7:::
-adm:*:10933:0:99999:7:::
-lp:*:10933:0:99999:7:::
-sync:*:10933:0:99999:7:::
-shutdown:*:10933:0:99999:7:::
-halt:*:10933:0:99999:7:::
-uucp:*:10933:0:99999:7:::
-operator:*:10933:0:99999:7:::
-nobody:*:10933:0:99999:7:::
-default::10933:0:99999:7:::
diff --git a/sources/target_skeleton/root/.bash_history b/sources/target_skeleton/root/.bash_history
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/sources/target_skeleton/root/.bash_logout b/sources/target_skeleton/root/.bash_logout
deleted file mode 100644 (file)
index 77ef1f9..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# ~/.bash_logout: executed by bash(1) when login shell exits.
-
-# when leaving the console clear the screen to increase privacy
-
-case "`tty`" in
-    /dev/tty[0-9]*) clear
-esac
diff --git a/sources/target_skeleton/root/.bash_profile b/sources/target_skeleton/root/.bash_profile
deleted file mode 100644 (file)
index 27bf149..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# .bash_profile
-
-export PATH=\
-/bin:\
-/sbin:\
-/usr/bin:\
-/usr/sbin:\
-/usr/bin/X11:\
-/usr/local/bin
-
-umask 022
-
-if [ -f ~/.bashrc ]; then
-    source ~/.bashrc
-fi
diff --git a/sources/target_skeleton/root/.bashrc b/sources/target_skeleton/root/.bashrc
deleted file mode 100644 (file)
index d13c8f9..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# ~/.bashrc: executed by bash(1) for non-login interactive shells.
-
-export PATH=\
-/bin:\
-/sbin:\
-/usr/bin:\
-/usr/sbin:\
-/usr/bin/X11:\
-/usr/local/bin
-
-# If running interactively, then:
-if [ "$PS1" ]; then
-
-    if [ "$BASH" ]; then
-       export PS1="[\u@\h \W]\\$ "
-    else
-      if [ "`id -u`" -eq 0 ]; then 
-       export PS1='# '
-      else
-       export PS1='$ '
-      fi
-    fi
-
-    export USER=`id -un`
-    export LOGNAME=$USER
-    export HOSTNAME=`/bin/hostname`
-    export HISTSIZE=1000
-    export HISTFILESIZE=1000
-    export PAGER='/bin/more '
-    export EDITOR='/bin/vi'
-    export INPUTRC=/etc/inputrc
-    export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
-    export LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:';
-
-    ### Some aliases
-    alias ps2='ps facux '
-    alias ps1='ps faxo "%U %t %p %a" '
-    alias af='ps af'
-    alias cls='clear'
-    alias ll='/bin/ls --color=tty -laFh'
-    alias ls='/bin/ls --color=tty -F'
-    alias df='df -h'
-    alias indent='indent -bad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0 -cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs -npsl -nsc -nsob -nss -ts4 '
-    #alias bc='bc -l'
-    alias minicom='minicom -c on'
-    alias calc='calc -Cd '
-    alias bc='calc -Cd '
-fi;
diff --git a/sources/target_skeleton/usr/share/terminfo/a/ansi b/sources/target_skeleton/usr/share/terminfo/a/ansi
deleted file mode 100644 (file)
index 3884fae..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/a/ansi and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/terminfo/d/dumb b/sources/target_skeleton/usr/share/terminfo/d/dumb
deleted file mode 100644 (file)
index fd4091a..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/d/dumb and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/terminfo/l/linux b/sources/target_skeleton/usr/share/terminfo/l/linux
deleted file mode 100644 (file)
index 7f5844c..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/l/linux and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/terminfo/r/rxvt b/sources/target_skeleton/usr/share/terminfo/r/rxvt
deleted file mode 100644 (file)
index 359465f..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/r/rxvt and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/terminfo/s/screen b/sources/target_skeleton/usr/share/terminfo/s/screen
deleted file mode 100644 (file)
index b837750..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/s/screen and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/terminfo/s/screen-w b/sources/target_skeleton/usr/share/terminfo/s/screen-w
deleted file mode 100644 (file)
index 8533897..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/s/screen-w and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/terminfo/s/sun b/sources/target_skeleton/usr/share/terminfo/s/sun
deleted file mode 100644 (file)
index 77aaa3a..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/s/sun and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/terminfo/v/vt100 b/sources/target_skeleton/usr/share/terminfo/v/vt100
deleted file mode 100644 (file)
index 647ca5c..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/v/vt100 and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/terminfo/v/vt220 b/sources/target_skeleton/usr/share/terminfo/v/vt220
deleted file mode 100644 (file)
index f10553a..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/v/vt220 and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/terminfo/v/vt52 b/sources/target_skeleton/usr/share/terminfo/v/vt52
deleted file mode 100644 (file)
index 61a8ad0..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/v/vt52 and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/terminfo/x/xterm b/sources/target_skeleton/usr/share/terminfo/x/xterm
deleted file mode 100644 (file)
index 310a7fb..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/x/xterm and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/terminfo/x/xterm-xfree86 b/sources/target_skeleton/usr/share/terminfo/x/xterm-xfree86
deleted file mode 100644 (file)
index e4d9966..0000000
Binary files a/sources/target_skeleton/usr/share/terminfo/x/xterm-xfree86 and /dev/null differ
diff --git a/sources/target_skeleton/usr/share/udhcpc/default.script b/sources/target_skeleton/usr/share/udhcpc/default.script
deleted file mode 100755 (executable)
index a52a7f8..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# udhcpc script edited by Tim Riker <Tim@Rikers.org>
-
-[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
-
-RESOLV_CONF="/etc/resolv.conf"
-[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
-[ -n "$subnet" ] && NETMASK="netmask $subnet"
-
-case "$1" in
-       deconfig)
-               /sbin/ifconfig $interface 0.0.0.0
-               ;;
-
-       renew|bound)
-               /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
-
-               if [ -n "$router" ] ; then
-                       echo "deleting routers"
-                       while route del default gw 0.0.0.0 dev $interface ; do
-                               :
-                       done
-
-                       for i in $router ; do
-                               route add default gw $i dev $interface
-                       done
-               fi
-
-               echo -n > $RESOLV_CONF
-               [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
-               for i in $dns ; do
-                       echo adding dns $i
-                       echo nameserver $i >> $RESOLV_CONF
-               done
-               ;;
-esac
-
-exit 0
diff --git a/sources/tinyx-011010.patch b/sources/tinyx-011010.patch
deleted file mode 100644 (file)
index 3040b3d..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-diff -Nur --exclude=CVS xc-011010.src/include/extensions/lbxstr.h xc-011010/include/extensions/lbxstr.h
---- xc-011010.src/include/extensions/lbxstr.h  Tue Jul 31 20:44:35 2001
-+++ xc-011010/include/extensions/lbxstr.h      Sun Apr 21 12:35:05 2002
-@@ -25,7 +25,7 @@
- #ifndef _LBXSTR_H_
- #define _LBXSTR_H_
--#include <X11/extensions/XLbx.h>
-+#include "XLbx.h"
- #define LBXNAME "LBX"
-diff -Nur --exclude=CVS xc-011010.src/programs/Xserver/hw/kdrive/fbdev/fbdev.h xc-011010/programs/Xserver/hw/kdrive/fbdev/fbdev.h
---- xc-011010.src/programs/Xserver/hw/kdrive/fbdev/fbdev.h     Sun Jun  3 17:52:45 2001
-+++ xc-011010/programs/Xserver/hw/kdrive/fbdev/fbdev.h Sun Apr 21 12:36:25 2002
-@@ -29,6 +29,7 @@
- #include <linux/fb.h>
- #include <unistd.h>
- #include <sys/mman.h>
-+#include <sys/types.h>
- #include "kdrive.h"
- #include "layer.h"
-
-diff -Nur xc-011010.src2/lib/X11/Xlib.h xc-011010/lib/X11/Xlib.h
---- xc-011010.src/programs/Xserver/hw/kdrive/linux/ts.c        Tue Jul 10 22:58:19 2001
-+++ xc-011010/programs/Xserver/hw/kdrive/linux/ts.c    Tue Apr 23 20:16:23 2002
-@@ -33,65 +33,48 @@
- #include "kdrive.h"
- #include "Xpoll.h"
- #include <sys/ioctl.h>
--#include <linux/h3600_ts.h>   /* touch screen events */
-+
-+typedef struct {
-+  unsigned short          pressure;
-+  unsigned short          x;
-+  unsigned short          y;
-+  unsigned short          pad;
-+  struct timeval  stamp;
-+} TS_EVENT;
- static long lastx = 0, lasty = 0;
- int TsScreen;
- extern int TsFbdev;
--void
--TsRead (int tsPort, void *closure)
--{
--    TS_EVENT      event;
--    long          buf[3];
--    int                   n;
--    long          pressure;
--    long          x, y;
--    unsigned long   flags;
--    unsigned long   buttons;
--
--    n = Ps2ReadBytes (tsPort, (char *) &event, 
--                       sizeof (event), sizeof (event));
--    if (n == sizeof (event))  
--    {
--      if (event.pressure) 
--      {
--          /* 
--           * HACK ATTACK.  (static global variables used !)
--           * Here we test for the touch screen driver actually being on the
--           * touch screen, if it is we send absolute coordinates. If not,
--           * then we send delta's so that we can track the entire vga screen.
--           */
--          if (TsScreen == TsFbdev) {
--              flags = KD_BUTTON_1;
--              x = event.x;
--              y = event.y;
--          } else {
--              flags = /* KD_BUTTON_1 |*/ KD_MOUSE_DELTA;
--              if ((lastx == 0) || (lasty == 0)) {
--                  x = 0;
--                  y = 0;
--              } else {
--                  x = event.x - lastx;
--                  y = event.y - lasty;
--              }
--              lastx = event.x;
--              lasty = event.y;
--          }
--      } else {
--          flags = KD_MOUSE_DELTA;
--          x = 0;
--          y = 0;
--          lastx = 0;
--          lasty = 0;
--      }
--      KdEnqueueMouseEvent (flags, x, y);
-+void TsRead (int tsPort, void *closure) {
-+  TS_EVENT        event;
-+  long            buf[3];
-+  int             n;
-+  long            pressure;
-+  long            x, y;
-+  unsigned long   flags;
-+  unsigned long   buttons;
-+
-+  n = Ps2ReadBytes(tsPort, (char *) &event, sizeof (event), sizeof (event));
-+  if (n >= sizeof (event)) {
-+    if (event.pressure >= 100) {
-+      flags = KD_BUTTON_1;
-+      x = (960 - event.x) * 640 / (920);
-+      y = (960 - event.y) * 480 / (920);
-+      //ErrorF("flags %d x %d y %dn",flags,event.x,event.y);
-+    }
-+    else {
-+      flags = KD_MOUSE_DELTA;
-+      x = lastx;
-+      y = lasty;
-     }
-+    KdEnqueueMouseEvent(flags, x, y);
-+  }
- }
- char  *TsNames[] = {
--  "/dev/ts",  
--  "/dev/h3600_ts" /* temporary name; note this code can try
-+  "/dev/ucb1x00-ts",
-+  "/dev/ts" /* temporary name; note this code can try
-                          to open more than one device */
- };
-@@ -99,9 +82,7 @@
- int TsInputType;
--int
--TsInit (void)
--{
-+int TsInit (void) {
-     int           i;
-     int           TsPort;
-diff -Nur xc-011010.src/startx xc-011010/startx
---- ../../buildroot-tux.Apr25-1/build/xc-011010.src/startx     Thu Apr 25 05:20:35 2002
-+++ xc-011010/startx   Sun Apr 28 05:35:35 2002
-@@ -0,0 +1,11 @@
-+#!/bin/sh
-+killall Xfbdev
-+sleep 1
-+export DISPLAY=":0"
-+/usr/X11R6/bin/Xfbdev -ac &
-+sleep 4
-+/usr/X11R6/bin/matchbox &
-+sleep 1
-+/usr/X11R6/bin/minisys &
-+/usr/X11R6/bin/minitime &
-+/usr/X11R6/bin/rxvt &
-diff -Nur xc-011010.src/lib/Xft/xftgram.y xc-011010/lib/Xft/xftgram.y
---- ../../buildroot-tux.Apr25-1/build/xc-011010/lib/Xft/xftgram.y      Thu Apr 25 05:20:35 2002
-+++ xc-011010/lib/Xft/xftgram.y        Sun Apr 28 05:35:35 2002
-@@ -165,6 +165,7 @@
-                   matrix.yx = $4;
-                   matrix.__REALLY_YY__ = $5;
-               }
-+      ;
- number        :   INTEGER
-               { $$ = (double) $1; }
-       |   DOUBLE
-diff -Nur xc-011010.src/programs/twm/gram.y xc-011010/programs/twm/gram.y
---- ../../buildroot-tux.Apr25-1/build/xc-011010/programs/twm/gram.y    Thu Apr 25 05:20:35 2002
-+++ xc-011010/programs/twm/gram.y      Sun Apr 28 05:35:35 2002
-@@ -650,6 +650,7 @@
-                                         RemoveDQuote(ptr);
-                                         $$ = ptr;
-                                       }
-+              ;
- number                : NUMBER                { $$ = $1; }
-               ;
diff --git a/sources/util-linux.patch b/sources/util-linux.patch
deleted file mode 100644 (file)
index 601e7dc..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---- util-linux-2.11z/mount/fstab.c.orig        2003-12-03 15:28:22.000000000 -0700
-+++ util-linux-2.11z/mount/fstab.c     2003-12-03 15:28:41.000000000 -0700
-@@ -342,7 +342,7 @@
- /* Ensure that the lock is released if we are interrupted.  */
- static void
- handler (int sig) {
--     die (EX_USER, "%s", sys_siglist[sig]);
-+     die (EX_USER, "%s", strsignal(sig));
- }
- static void
---- /dev/null  2003-09-07 01:55:59.000000000 -0600
-+++ util-linux-2.11z/mount/swapargs.h  2003-12-03 15:44:50.000000000 -0700
-@@ -0,0 +1,3 @@
-+#define SWAPON_HAS_TWO_ARGS
-+#include <asm/page.h>
-+#include <sys/swap.h>
---- util-linux-2.11z/mount/swap.configure.orig 2003-12-03 15:43:24.000000000 -0700
-+++ util-linux-2.11z/mount/swap.configure      2003-12-03 15:45:33.000000000 -0700
-@@ -1,6 +1,8 @@
- # Find out whether we can include <sys/swap.h>
- # and whether libc thinks that swapon() has two arguments.
-+exit 0
-+
- # Prepare test
- CC=${CC-cc}
- compile="$CC -o conftest conftest.c >/dev/null 2>&1"
diff --git a/sources/valgrind.patch b/sources/valgrind.patch
deleted file mode 100644 (file)
index d0946bd..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
---- valgrind-2.1.1.orig/coregrind/vg_syscalls.c        2004-02-24 17:07:10.000000000 -0700
-+++ valgrind-2.1.1/coregrind/vg_syscalls.c     2004-04-16 18:13:11.000000000 -0600
-@@ -3231,6 +3245,93 @@
-    case CDROM_CLEAR_OPTIONS: /* 0x5321 */
-       break;
-+      /* Stuff added by Erik Andersen for general device probing/handling */
-+#define BLKSSZGET  _IO(0x12,104)
-+   case BLKSSZGET:
-+      SYSCALL_TRACK( pre_mem_write, tid, "ioctl(BLKSSZGET)", arg3,
-+            sizeof(int));
-+      break;
-+#undef _IOR
-+#define _IOR(type,nr,size)      _IOC(_IOC_READ,(type),(nr),sizeof(size))
-+#define BLKGETSIZE64 _IOR(0x12,114,sizeof(uint64_t))
-+   case BLKGETSIZE64:
-+      SYSCALL_TRACK( pre_mem_write, tid, "ioctl(BLKGETSIZE64)", arg3,
-+            sizeof(uint64_t));
-+      break;
-+#define HDIO_GETGEO             0x0301  /* get device geometry */
-+   case HDIO_GETGEO:
-+      {
-+        struct hd_geometry {
-+            unsigned char heads;
-+            unsigned char sectors;
-+            unsigned short cylinders;
-+            unsigned long start;
-+        };
-+
-+        SYSCALL_TRACK( pre_mem_write, tid, "ioctl(HDIO_GETGEO)", arg3,
-+                sizeof(struct hd_geometry));
-+      }
-+      break;
-+#define HDIO_GET_IDENTITY     0x030d  /* get IDE identification info */
-+#define struct_hd_driveid_size        256     /* ATA6 specifies words 0-255 */
-+   case HDIO_GET_IDENTITY:
-+      SYSCALL_TRACK( pre_mem_write, tid, "ioctl(HDIO_GET_IDENTITY)", arg3,
-+            struct_hd_driveid_size);
-+      break;
-+#define SCSI_IOCTL_GET_IDLUN 0x5382
-+   case SCSI_IOCTL_GET_IDLUN:
-+      {
-+        struct scsi_idlun
-+        {
-+            int mux4;
-+            int host_unique_id;
-+
-+        };
-+
-+        SYSCALL_TRACK( pre_mem_write, tid, "ioctl(SCSI_IOCTL_GET_IDLUN)", arg3,
-+                sizeof(struct scsi_idlun));
-+      }
-+      break;
-+#define SCSI_IOCTL_SEND_COMMAND 1
-+   case SCSI_IOCTL_SEND_COMMAND:
-+      SYSCALL_TRACK( pre_mem_write, tid, "ioctl(SCSI_IOCTL_SEND_COMMAND)", arg3,
-+            ((2 * sizeof(unsigned int)) + 6 + 512));
-+      break;
-+#define SCSI_IOCTL_GET_BUS_NUMBER 0x5386
-+   case SCSI_IOCTL_GET_BUS_NUMBER:
-+      SYSCALL_TRACK( pre_mem_write, tid, "ioctl(SCSI_IOCTL_GET_BUS_NUMBER)", arg3,
-+            sizeof(int));
-+      break;
-+#define SCSI_IOCTL_PROBE_HOST 0x5385
-+   case SCSI_IOCTL_PROBE_HOST:
-+      {
-+        int xxxx;
-+        char *array = (char*)arg3;
-+        xxxx = array[0] + (array[1]<<8) + (array[2]<<16) + (array[3]<<24);
-+        SYSCALL_TRACK( pre_mem_write, tid, "ioctl(SCSI_IOCTL_PROBE_HOST)", arg3,
-+                sizeof(int));
-+      }
-+      break;
-+#define BLKFLSBUF  _IO(0x12,97)
-+   case BLKFLSBUF:
-+      break;
-+#define BLKRRPART  _IO(0x12,95)
-+   case BLKRRPART:
-+      break;
-+#define MTIOCTOP  _IO(0x6d,0x1)
-+   case MTIOCTOP:
-+      {
-+        struct mtop
-+        {
-+            short int mt_op;          /* Operations defined below.  */
-+            int mt_count;             /* How many of them.  */
-+        };
-+        SYSCALL_TRACK( pre_mem_write, tid, "ioctl(MTIOCTOP)", arg3, 
-+                sizeof(struct mtop));
-+      }
-+      break;
-+
-+
-       /* We don't have any specific information on it, so
-        try to do something reasonable based on direction and
-        size bits.  The encoding scheme is described in
---- valgrind-2.1.1.orig/coregrind/vg_libpthread.c      2004-03-08 08:57:17.000000000 -0700
-+++ valgrind-2.1.1/coregrind/vg_libpthread.c   2004-04-16 17:58:31.000000000 -0600
-@@ -3175,6 +3175,8 @@
-    pthread_mutex).  So basically, this is completely broken on recent
-    glibcs. */
-+#ifndef __UCLIBC__
-+
- #undef _IO_flockfile
- void _IO_flockfile ( _IO_FILE * file )
- {
-@@ -3192,6 +3194,7 @@
- weak_alias(_IO_funlockfile, funlockfile);
- #endif
-+#endif
- /* This doesn't seem to be needed to simulate libpthread.so's external
-    interface, but many people complain about its absence. */
diff --git a/sources/vtun.patch b/sources/vtun.patch
deleted file mode 100644 (file)
index 00a1245..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-diff -urN vtun/Makefile.in vtun-2.6/Makefile.in
---- vtun/Makefile.in   2002-12-20 09:55:47.000000000 -0700
-+++ vtun-2.6/Makefile.in       2003-06-05 12:38:31.000000000 -0600
-@@ -28,7 +28,7 @@
- LEXFLAGS = -t 
- INSTALL = @INSTALL@
--INSTALL_OWNER = -o root -g 0
-+INSTALL_OWNER =
- prefix = @prefix@
- exec_prefix = @exec_prefix@
-@@ -86,15 +86,15 @@
- install_config: 
-       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(ETC_DIR)
--      if [ ! -f $(ETC_DIR)/vtund.conf ]; then \
--        $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR); \
--      fi
-+      $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR);
-+      $(INSTALL) -m 600 $(INSTALL_OWNER) scripts/vtund-start.conf $(DESTDIR)$(ETC_DIR);
- install: vtund install_config install_man
--      $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(VAR_DIR)/run
-       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(STAT_DIR)
-       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(LOCK_DIR)
-       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(SBIN_DIR)
-       $(INSTALL) -m 755 $(INSTALL_OWNER) vtund $(DESTDIR)$(SBIN_DIR)
-+      $(INSTALL) -m 755 $(INSTALL_OWNER) scripts/vtund.rc.debian \
-+              $(DESTDIR)$(ETC_DIR)/init.d/S90vtun
- # DO NOT DELETE THIS LINE -- make depend depends on it.
-diff -urN vtun/scripts/vtund.rc.debian vtun-2.6/scripts/vtund.rc.debian
---- vtun/scripts/vtund.rc.debian       2000-03-26 10:06:37.000000000 -0700
-+++ vtun-2.6/scripts/vtund.rc.debian   2003-06-05 12:38:46.000000000 -0600
-@@ -1,92 +1,48 @@
--#! /usr/bin/perl -w
-+#! /bin/sh
-+#
--### vtund-start
--###
--### script to start vtund as either a server or a client, according to
--### the config file /etc/vtund-start.conf
--###
--### Copyright 1999 Craig Sanders <cas@taz.net.au>
--###
--### Written for the Debian GNU/Linux distribution.  This script is free
--### software licensed under the terms of the GNU General Public License.
--
--$DAEMON="/usr/sbin/vtund" ;
--
--$do_what = shift ;
--$args="start|stop|reload|force-reload|restart" ;
--if ( $do_what !~ /^($args)$/i ) {
--    print "Usage: /etc/init.d/vtun {$args}\n" ;
--        exit 0 ;
--}
--
--$SSD="/sbin/start-stop-daemon" ;
--$SSDARGS="--verbose --exec $DAEMON" ;
--
--$sconf="/etc/vtund-start.conf" ;
--open(SCONF,"<$sconf") || die "couldn't open $sconf: $!\n" ;
--while (<SCONF>) {
--        chomp ;
--        s/#.*//;
--        s/^ +| +$//;
--        next if (/^$/) ;
--
--        @line = split ;
--        $host = shift(@line) ;
--        $server = shift(@line) ;
--        $args = "" ;
--        foreach (@line) { $args .= " $_" } ;
--
--        $host='' if ($host =~ /--server--/i ) ;
--
--        if ( $do_what eq 'start' ) {
--                &start($host,$server,$args) ;
--        } elsif ( $do_what eq 'stop' ) {
--                &stop($host,$server,$args) ;
--        } elsif ( $do_what eq 'restart' ) {
--                &stop($pidfile) ;
--                &start($host,$server,$args) ;
--        } elsif ( $do_what =~ /^(reload|force-reload)$/ ) {
--                &reload($host,$server) ;
--        }
--}
--close (SCONF);
--
--
--sub start {
--        my($host,$server,$args) = @_ ;
--    print "  Starting vtun " ;
--        if ($host eq '') {
--                print "server\n" ;
--        system "$SSD --start $SSDARGS -- $args -s -P $server" ;
--        } else {
--                print "client $host to $server\n" ;
--                $pidfile="/var/run/vtun.$host.$server" ;
--        system "$SSD --start $SSDARGS --pidfile $pidfile -- $args $host $server" ;
--        }
--} ;
--
--sub stop {
--        my($host,$server,$args) = @_ ;
--    print "  Stopping vtun " ;
--        if ($host eq '') {
--                print "server\n" ;
--        system "$SSD --stop $SSDARGS" ;
--        } else {
--                print "client $host to $server\n" ;
--                $pidfile="/var/run/vtun.$host.$server" ;
--        system "$SSD --stop $SSDARGS --pidfile $pidfile" ;
--        }
--} ;
--
--sub reload {
--        my($host,$server) = @_ ;
--    print "  Reloading vtun " ;
--        if ($host eq '') {
--                print "server\n" ;
--        system "$SSD --stop $SSDARGS --signal 1" ;
--        } else {
--                print "client $host to $server\n" ;
--                $pidfile="/var/run/vtun.$host.$server" ;
--        system "$SSD --stop $SSDARGS --signal 1 --pidfile $pidfile" ;
--        }
--}
-+PATH=/bin:/usr/bin:/sbin:/usr/sbin
-+DAEMON=/usr/sbin/vtund
-+CONFFILE=/etc/vtund-start.conf
-+PIDPREFIX=/var/run/vtund
-+  
-+test -f $DAEMON || exit 0
-+  
-+case "$1" in 
-+       start)
-+      # find all the defined tunnels
-+      egrep -v '^[:space:]*(#.*)?$' $CONFFILE | while true;
-+      do
-+          read i
-+          # no more lines available? done, then.
-+          if [ $? != 0 ] ; then break; fi
-+              SARGS=`echo $i|sed -ne 's/--server--\s*/-s -P /p'`;
-+              if [ -n "$SARGS" ];
-+              then
-+                 echo "Starting vtund server."
-+                  start-stop-daemon -S -x $DAEMON -- $SARGS;
-+              else
-+                  # split args into host and rest
-+                  HOST=`echo $i|cut -f 1 -d " "`;
-+                  TARGET=`echo $i|cut -f 2 -d " "`;
-+                  echo  "Starting vtund client $HOST to $TARGET.";
-+                  start-stop-daemon -S -x $DAEMON -- $i;
-+              fi
-+          done
-+              ;;
-+       stop) 
-+         echo "Stopping vtund.";
-+         start-stop-daemon -K -x vtund;
-+         ;;
-+
-+       restart|reload|force-reload) 
-+         $0 stop
-+         sleep 1;
-+         $0 start
-+         ;;
-+   *)
-+      echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
-+       exit 1
-+               ;;
-+esac
-+exit 0
---- vtun-2.6/configure.dist    2004-03-11 10:39:10.000000000 -0600
-+++ vtun-2.6/configure 2004-03-11 10:45:52.000000000 -0600
-@@ -2112,7 +2112,7 @@
-     echo $ac_n "checking "for blowfish.h"""... $ac_c" 1>&6
- echo "configure:2114: checking "for blowfish.h"" >&5 
-     ac_hdr_found=no
--    for p in $BLOWFISH_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include  /usr/include/crypto; do
-+    for p in $BLOWFISH_HDR_DIR $SSL_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include  /usr/include/crypto; do
-       if test -n "$p"; then
-         dir="$p"
-       else
diff --git a/sources/yacc b/sources/yacc
deleted file mode 100755 (executable)
index aed120e..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec /usr/bin/bison -y "$@"
diff --git a/target/Config.in b/target/Config.in
new file mode 100644 (file)
index 0000000..dbc6317
--- /dev/null
@@ -0,0 +1,8 @@
+#
+
+menu "Target Options"
+
+source "target/cramfs/Config.in"
+
+endmenu
+
diff --git a/target/Makefile.in b/target/Makefile.in
new file mode 100644 (file)
index 0000000..c01ade2
--- /dev/null
@@ -0,0 +1 @@
+# Nothing
diff --git a/target/cramfs/Config.in b/target/cramfs/Config.in
new file mode 100644 (file)
index 0000000..2ba1cde
--- /dev/null
@@ -0,0 +1,6 @@
+config BR2_TARGET_ROOTFS_CRAMFS
+       bool "Build a cramfs root filesystem for the target device"
+       default n
+       help
+         Build a cramfs root filesystem
+
diff --git a/target/cramfs/Makefile.in b/target/cramfs/Makefile.in
new file mode 100644 (file)
index 0000000..45d9b67
--- /dev/null
@@ -0,0 +1,3 @@
+ifeq ($(strip $(BR2_TARGET_ROOTFS_CRAMFS)),y)
+TARGETS+=cramfsroot
+endif
diff --git a/target/cramfs/cramfs.mk b/target/cramfs/cramfs.mk
new file mode 100644 (file)
index 0000000..0f1204a
--- /dev/null
@@ -0,0 +1,52 @@
+#############################################################
+#
+# mkcramfs to build to target cramfs filesystems
+#
+#############################################################
+CRAMFS_DIR=$(BUILD_DIR)/cramfs-1.1
+CRAMFS_SOURCE=cramfs-1.1.tar.gz
+CRAMFS_SITE=http://aleron.dl.sourceforge.net/sourceforge/cramfs
+CRAMFS_PATCH=$(SOURCE_DIR)/cramfs.patch
+
+$(DL_DIR)/$(CRAMFS_SOURCE):
+        $(WGET) -P $(DL_DIR) $(CRAMFS_SITE)/$(CRAMFS_SOURCE)
+
+$(CRAMFS_DIR): $(DL_DIR)/$(CRAMFS_SOURCE) $(CRAMFS_PATCH)
+       zcat $(DL_DIR)/$(CRAMFS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
+       cat $(CRAMFS_PATCH) | patch -p1 -d $(CRAMFS_DIR)
+
+$(CRAMFS_DIR)/mkcramfs: $(CRAMFS_DIR)
+       $(MAKE) CFLAGS="-Wall -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" -C $(CRAMFS_DIR);
+       touch -c $(CRAMFS_DIR)/mkcramfs
+
+cramfs: $(CRAMFS_DIR)/mkcramfs
+
+cramfs-source: $(DL_DIR)/$(CRAMFS_SOURCE)
+
+cramfs-clean:
+       -$(MAKE) -C $(CRAMFS_DIR) clean
+
+cramfs-dirclean:
+       rm -rf $(CRAMFS_DIR)
+
+#############################################################
+#
+# Build the cramfs root filesystem image
+#
+#############################################################
+
+cramfsroot: cramfs
+       #-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true;
+       -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
+       @rm -rf $(TARGET_DIR)/usr/man
+       @rm -rf $(TARGET_DIR)/usr/info
+       $(CRAMFS_DIR)/mkcramfs -q -D $(SOURCE_DIR)/device_table.txt $(TARGET_DIR) $(IMAGE)
+
+cramfsroot-source: cramfs-source
+
+cramfsroot-clean:
+       -$(MAKE) -C $(CRAMFS_DIR) clean
+
+cramfsroot-dirclean:
+       rm -rf $(CRAMFS_DIR)
+
diff --git a/target/cramfs/cramfs.patch b/target/cramfs/cramfs.patch
new file mode 100644 (file)
index 0000000..884eb8c
--- /dev/null
@@ -0,0 +1,1269 @@
+--- cramfs-1.1.orig/cramfsck.c 2002-02-22 17:00:42.000000000 -0700
++++ cramfs-1.1/cramfsck.c      2002-12-21 01:25:17.000000000 -0700
+@@ -51,10 +51,11 @@
+ #include <utime.h>
+ #include <sys/ioctl.h>
+ #define _LINUX_STRING_H_
+-#include <linux/fs.h>
+-#include <linux/cramfs_fs.h>
++#include "linux/cramfs_fs.h"
+ #include <zlib.h>
++#define BLKGETSIZE    _IO(0x12,96) /* return device size /512 (long *arg) */
++
+ /* Exit codes used by fsck-type programs */
+ #define FSCK_OK          0    /* No errors */
+ #define FSCK_NONDESTRUCT 1    /* File system errors corrected */
+@@ -75,7 +76,7 @@
+ static int opt_verbose = 0;   /* 1 = verbose (-v), 2+ = very verbose (-vv) */
+ #ifdef INCLUDE_FS_TESTS
+ static int opt_extract = 0;           /* extract cramfs (-x) */
+-static char *extract_dir = "root";    /* extraction directory (-x) */
++static char *extract_dir = "/";       /* extraction directory (-x) */
+ static uid_t euid;                    /* effective UID */
+ /* (cramfs_super + start) <= start_dir < end_dir <= start_data <= end_data */
+@@ -155,7 +156,7 @@
+       }
+       if (*length < sizeof(struct cramfs_super)) {
+-              die(FSCK_UNCORRECTED, 0, "file length too short");
++              die(FSCK_UNCORRECTED, 0, "filesystem smaller than a cramfs superblock!");
+       }
+       /* find superblock */
+@@ -190,7 +191,8 @@
+                       die(FSCK_UNCORRECTED, 0, "zero file count");
+               }
+               if (*length < super.size) {
+-                      die(FSCK_UNCORRECTED, 0, "file length too short");
++                      die(FSCK_UNCORRECTED, 0, "file length too short, %lu is smaller than %lu",
++                              *length, super.size);
+               }
+               else if (*length > super.size) {
+                       fprintf(stderr, "warning: file extends past end of filesystem\n");
+@@ -267,11 +269,11 @@
+ #ifdef INCLUDE_FS_TESTS
+ static void print_node(char type, struct cramfs_inode *i, char *name)
+ {
+-      char info[10];
++      char info[11];
+       if (S_ISCHR(i->mode) || (S_ISBLK(i->mode))) {
+               /* major/minor numbers can be as high as 2^12 or 4096 */
+-              snprintf(info, 10, "%4d,%4d", major(i->size), minor(i->size));
++              snprintf(info, 11, "%4d,%4d", major(i->size), minor(i->size));
+       }
+       else {
+               /* size be as high as 2^24 or 16777216 */
+@@ -445,8 +447,10 @@
+       }
+       /* TODO: Do we need to check end_dir for empty case? */
+       memcpy(newpath, path, pathlen);
+-      newpath[pathlen] = '/';
+-      pathlen++;
++      if (pathlen > 1) {
++          newpath[pathlen] = '/';
++          pathlen++;
++      }
+       if (opt_verbose) {
+               print_node('d', i, path);
+       }
+--- cramfs-1.1.orig/device_table.txt   1969-12-31 17:00:00.000000000 -0700
++++ cramfs-1.1/device_table.txt        2003-01-01 05:13:44.000000000 -0700
+@@ -0,0 +1,129 @@
++# When building a target filesystem, it is desirable to not have to
++# become root and then run 'mknod' a thousand times.  Using a device 
++# table you can create device nodes and directories "on the fly".
++#
++# This is a sample device table file for use with mkcramfs.  You can
++# do all sorts of interesting things with a device table file.  For
++# example, if you want to adjust the permissions on a particular file
++# you can just add an entry like:
++#   /sbin/foobar      f       2755    0       0       -       -       -       -       -
++# and (assuming the file /sbin/foobar exists) it will be made setuid
++# root (regardless of what its permissions are on the host filesystem.
++# Furthermore, you can use a single table entry to create a many device
++# minors.  For example, if I wanted to create /dev/hda and /dev/hda[0-15]
++# I could just use the following two table entries:
++#   /dev/hda  b       640     0       0       3       0       0       0       -
++#   /dev/hda  b       640     0       0       3       1       1       1       15
++# 
++# Device table entries take the form of:
++# <name>    <type>    <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
++# where name is the file name,  type can be one of: 
++#     f       A regular file
++#     d       Directory
++#     c       Character special device file
++#     b       Block special device file
++#     p       Fifo (named pipe)
++# uid is the user id for the target file, gid is the group id for the
++# target file.  The rest of the entries (major, minor, etc) apply only 
++# to device special files.
++
++# Have fun
++# -Erik Andersen <andersen@codepoet.org>
++#
++
++#<name>               <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
++/dev          d       755     0       0       -       -       -       -       -
++/dev/mem      c       640     0       0       1       1       0       0       -
++/dev/kmem     c       640     0       0       1       2       0       0       -
++/dev/null     c       640     0       0       1       3       0       0       -
++/dev/zero     c       640     0       0       1       5       0       0       -
++/dev/random   c       640     0       0       1       8       0       0       -
++/dev/urandom  c       640     0       0       1       9       0       0       -
++/dev/tty      c       666     0       0       5       0       0       0       -
++/dev/tty      c       666     0       0       4       0       0       1       6
++/dev/console  c       640     0       0       5       1       0       0       -
++/dev/ram      b       640     0       0       1       1       0       0       -
++/dev/ram      b       640     0       0       1       0       0       1       4
++/dev/loop     b       640     0       0       7       0       0       1       2
++/dev/ptmx     c       666     0       0       5       2       0       0       -
++#/dev/ttyS    c       640     0       0       4       64      0       1       4
++#/dev/psaux   c       640     0       0       10      1       0       0       -
++#/dev/rtc     c       640     0       0       10      135     0       0       -
++
++# Adjust permissions on some normal files
++#/etc/shadow  f       600     0       0       -       -       -       -       -
++#/bin/tinylogin       f       4755    0       0       -       -       -       -       -
++
++# User-mode Linux stuff
++/dev/ubda     b       640     0       0       98      0       0       0       -
++/dev/ubda     b       640     0       0       98      1       1       1       15
++
++# IDE Devices
++/dev/hda      b       640     0       0       3       0       0       0       -
++/dev/hda      b       640     0       0       3       1       1       1       15
++/dev/hdb      b       640     0       0       3       64      0       0       -
++/dev/hdb      b       640     0       0       3       65      1       1       15
++#/dev/hdc     b       640     0       0       22      0       0       0       -
++#/dev/hdc     b       640     0       0       22      1       1       1       15
++#/dev/hdd     b       640     0       0       22      64      0       0       -
++#/dev/hdd     b       640     0       0       22      65      1       1       15
++#/dev/hde     b       640     0       0       33      0       0       0       -
++#/dev/hde     b       640     0       0       33      1       1       1       15
++#/dev/hdf     b       640     0       0       33      64      0       0       -
++#/dev/hdf     b       640     0       0       33      65      1       1       15
++#/dev/hdg     b       640     0       0       34      0       0       0       -
++#/dev/hdg     b       640     0       0       34      1       1       1       15
++#/dev/hdh     b       640     0       0       34      64      0       0       -
++#/dev/hdh     b       640     0       0       34      65      1       1       15
++
++# SCSI Devices
++#/dev/sda     b       640     0       0       8       0       0       0       -
++#/dev/sda     b       640     0       0       8       1       1       1       15
++#/dev/sdb     b       640     0       0       8       16      0       0       -
++#/dev/sdb     b       640     0       0       8       17      1       1       15
++#/dev/sdc     b       640     0       0       8       32      0       0       -
++#/dev/sdc     b       640     0       0       8       33      1       1       15
++#/dev/sdd     b       640     0       0       8       48      0       0       -
++#/dev/sdd     b       640     0       0       8       49      1       1       15
++#/dev/sde     b       640     0       0       8       64      0       0       -
++#/dev/sde     b       640     0       0       8       65      1       1       15
++#/dev/sdf     b       640     0       0       8       80      0       0       -
++#/dev/sdf     b       640     0       0       8       81      1       1       15
++#/dev/sdg     b       640     0       0       8       96      0       0       -
++#/dev/sdg     b       640     0       0       8       97      1       1       15
++#/dev/sdh     b       640     0       0       8       112     0       0       -
++#/dev/sdh     b       640     0       0       8       113     1       1       15
++#/dev/sg              c       640     0       0       21      0       0       1       15
++#/dev/scd     b       640     0       0       11      0       0       1       15
++#/dev/st              c       640     0       0       9       0       0       1       8
++#/dev/nst     c       640     0       0       9       128     0       1       8
++#/dev/st      c       640     0       0       9       32      1       1       4
++#/dev/st      c       640     0       0       9       64      1       1       4
++#/dev/st      c       640     0       0       9       96      1       1       4
++
++# Floppy disk devices
++#/dev/fd              b       640     0       0       2       0       0       1       2
++#/dev/fd0d360 b       640     0       0       2       4       0       0       -
++#/dev/fd1d360 b       640     0       0       2       5       0       0       -
++#/dev/fd0h1200        b       640     0       0       2       8       0       0       -
++#/dev/fd1h1200        b       640     0       0       2       9       0       0       -
++#/dev/fd0u1440        b       640     0       0       2       28      0       0       -
++#/dev/fd1u1440        b       640     0       0       2       29      0       0       -
++#/dev/fd0u2880        b       640     0       0       2       32      0       0       -
++#/dev/fd1u2880        b       640     0       0       2       33      0       0       -
++
++# All the proprietary cdrom devices in the world
++#/dev/aztcd   b       640     0       0       29      0       0       0       -
++#/dev/bpcd    b       640     0       0       41      0       0       0       -
++#/dev/capi20  c       640     0       0       68      0       0       1       2
++#/dev/cdu31a  b       640     0       0       15      0       0       0       -
++#/dev/cdu535  b       640     0       0       24      0       0       0       -
++#/dev/cm206cd b       640     0       0       32      0       0       0       -
++#/dev/sjcd    b       640     0       0       18      0       0       0       -
++#/dev/sonycd  b       640     0       0       15      0       0       0       -
++#/dev/gscd    b       640     0       0       16      0       0       0       -
++#/dev/sbpcd   b       640     0       0       25      0       0       0       -
++#/dev/sbpcd   b       640     0       0       25      0       0       1       4
++#/dev/mcd     b       640     0       0       23      0       0       0       -
++#/dev/optcd   b       640     0       0       17      0       0       0       -
++
+--- cramfs-1.1.orig/mkcramfs.c 2002-02-20 01:03:32.000000000 -0700
++++ cramfs-1.1/mkcramfs.c      2002-12-21 01:25:17.000000000 -0700
+@@ -1,3 +1,4 @@
++/* vi: set sw=8 ts=8: */
+ /*
+  * mkcramfs - make a cramfs file system
+  *
+@@ -16,12 +17,21 @@
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
++ *
++ * Added device table support (code taken from mkfs.jffs2.c, credit to
++ * Erik Andersen <andersen@codepoet.org>) as well as an option to squash
++ * permissions. - Russ Dill <Russ.Dill@asu.edu> September 2002
++ *
++ * Reworked, cleaned up, and updated for cramfs-1.1, December 2002
++ *  - Erik Andersen <andersen@codepoet.org>
++ *
+  */
+ /*
+  * If you change the disk format of cramfs, please update fs/cramfs/README.
+  */
++#define _GNU_SOURCE
+ #include <sys/types.h>
+ #include <stdio.h>
+ #include <sys/stat.h>
+@@ -33,8 +43,15 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <stdarg.h>
++#include <libgen.h>
++#include <ctype.h>
++#include <assert.h>
++#include <getopt.h>
+ #include <linux/cramfs_fs.h>
+ #include <zlib.h>
++#ifdef DMALLOC
++#include <dmalloc.h>
++#endif
+ /* Exit codes used by mkfs-type programs */
+ #define MKFS_OK          0    /* No errors */
+@@ -71,11 +88,17 @@
+                 + (1 << CRAMFS_SIZE_WIDTH) - 1 /* filesize */ \
+                 + (1 << CRAMFS_SIZE_WIDTH) * 4 / PAGE_CACHE_SIZE /* block pointers */ )
++
++/* The kernel assumes PAGE_CACHE_SIZE as block size. */
++#define PAGE_CACHE_SIZE (4096)
++
++
+ static const char *progname = "mkcramfs";
+ static unsigned int blksize = PAGE_CACHE_SIZE;
+ static long total_blocks = 0, total_nodes = 1; /* pre-count the root node */
+ static int image_length = 0;
++
+ /*
+  * If opt_holes is set, then mkcramfs can create explicit holes in the
+  * data, which saves 26 bytes per hole (which is a lot smaller a
+@@ -91,10 +114,12 @@
+ static int opt_holes = 0;
+ static int opt_pad = 0;
+ static int opt_verbose = 0;
++static int opt_squash = 0;
+ static char *opt_image = NULL;
+ static char *opt_name = NULL;
+ static int warn_dev, warn_gid, warn_namelen, warn_skip, warn_size, warn_uid;
++static const char *const memory_exhausted = "memory exhausted";
+ /* In-core version of inode / directory entry. */
+ struct entry {
+@@ -123,7 +148,7 @@
+ {
+       FILE *stream = status ? stderr : stdout;
+-      fprintf(stream, "usage: %s [-h] [-e edition] [-i file] [-n name] dirname outfile\n"
++      fprintf(stream, "usage: %s [-h] [-e edition] [-i file] [-n name] [-D file] dirname outfile\n"
+               " -h         print this help\n"
+               " -E         make all warnings errors (non-zero exit status)\n"
+               " -e edition set edition number (part of fsid)\n"
+@@ -133,39 +158,157 @@
+               " -s         sort directory entries (old option, ignored)\n"
+               " -v         be more verbose\n"
+               " -z         make explicit holes (requires >= 2.3.39)\n"
+-              " dirname    root of the directory tree to be compressed\n"
++              " -D         Use the named FILE as a device table file\n"
++              " -q         squash permissions (make everything owned by root)\n"
++              " dirname    root of the filesystem to be compressed\n"
+               " outfile    output file\n", progname, PAD_SIZE);
+       exit(status);
+ }
+-static void die(int status, int syserr, const char *fmt, ...)
++static void verror_msg(const char *s, va_list p)
++{
++      fflush(stdout);
++      fprintf(stderr, "mkcramfs: ");
++      vfprintf(stderr, s, p);
++}
++
++static void vperror_msg(const char *s, va_list p)
++{
++      int err = errno;
++
++      if (s == 0)
++              s = "";
++      verror_msg(s, p);
++      if (*s)
++              s = ": ";
++      fprintf(stderr, "%s%s\n", s, strerror(err));
++}
++
++static void perror_msg(const char *s, ...)
++{
++      va_list p;
++
++      va_start(p, s);
++      vperror_msg(s, p);
++      va_end(p);
++}
++
++static void error_msg_and_die(const char *s, ...)
++{
++      va_list p;
++
++      va_start(p, s);
++      verror_msg(s, p);
++      va_end(p);
++      putc('\n', stderr);
++      exit(MKFS_ERROR);
++}
++
++static void perror_msg_and_die(const char *s, ...)
++{
++      va_list p;
++
++      va_start(p, s);
++      vperror_msg(s, p);
++      va_end(p);
++      exit(MKFS_ERROR);
++}
++#ifndef DMALLOC
++extern char *xstrdup(const char *s)
++{
++      char *t;
++
++      if (s == NULL)
++              return NULL;
++      t = strdup(s);
++      if (t == NULL)
++              error_msg_and_die(memory_exhausted);
++      return t;
++}
++
++extern void *xmalloc(size_t size)
++{
++      void *ptr = malloc(size);
++
++      if (ptr == NULL && size != 0)
++              error_msg_and_die(memory_exhausted);
++      return ptr;
++}
++
++extern void *xcalloc(size_t nmemb, size_t size)
++{
++      void *ptr = calloc(nmemb, size);
++
++      if (ptr == NULL && nmemb != 0 && size != 0)
++              error_msg_and_die(memory_exhausted);
++      return ptr;
++}
++
++extern void *xrealloc(void *ptr, size_t size)
++{
++      ptr = realloc(ptr, size);
++      if (ptr == NULL && size != 0)
++              error_msg_and_die(memory_exhausted);
++      return ptr;
++}
++#endif
++
++static FILE *xfopen(const char *path, const char *mode)
+ {
+-      va_list arg_ptr;
+-      int save = errno;
++      FILE *fp;
++
++      if ((fp = fopen(path, mode)) == NULL)
++              perror_msg_and_die("%s", path);
++      return fp;
++}
+-      fflush(0);
+-      va_start(arg_ptr, fmt);
+-      fprintf(stderr, "%s: ", progname);
+-      vfprintf(stderr, fmt, arg_ptr);
+-      if (syserr) {
+-              fprintf(stderr, ": %s", strerror(save));
++extern int xopen(const char *pathname, int flags, mode_t mode)
++{
++      int ret;
++      
++      if (flags & O_CREAT)
++              ret = open(pathname, flags, mode);
++      else
++              ret = open(pathname, flags);
++      if (ret == -1) {
++              perror_msg_and_die("%s", pathname);
+       }
+-      fprintf(stderr, "\n");
+-      va_end(arg_ptr);
+-      exit(status);
++      return ret;
+ }
++extern char *xreadlink(const char *path)
++{                       
++      static const int GROWBY = 80; /* how large we will grow strings by */
++
++      char *buf = NULL;   
++      int bufsize = 0, readsize = 0;
++
++      do {
++              buf = xrealloc(buf, bufsize += GROWBY);
++              readsize = readlink(path, buf, bufsize); /* 1st try */
++              if (readsize == -1) {
++                  perror_msg("%s:%s", progname, path);
++                  return NULL;
++              }
++      }           
++      while (bufsize < readsize + 1);
++
++      buf[readsize] = '\0';
++
++      return buf;
++}       
++
+ static void map_entry(struct entry *entry)
+ {
+       if (entry->path) {
+               entry->fd = open(entry->path, O_RDONLY);
+               if (entry->fd < 0) {
+-                      die(MKFS_ERROR, 1, "open failed: %s", entry->path);
++                      error_msg_and_die("open failed: %s", entry->path);
+               }
+               entry->uncompressed = mmap(NULL, entry->size, PROT_READ, MAP_PRIVATE, entry->fd, 0);
+               if (entry->uncompressed == MAP_FAILED) {
+-                      die(MKFS_ERROR, 1, "mmap failed: %s", entry->path);
++                      error_msg_and_die("mmap failed: %s", entry->path);
+               }
+       }
+ }
+@@ -174,8 +317,9 @@
+ {
+       if (entry->path) {
+               if (munmap(entry->uncompressed, entry->size) < 0) {
+-                      die(MKFS_ERROR, 1, "munmap failed: %s", entry->path);
++                      error_msg_and_die("munmap failed: %s", entry->path);
+               }
++              entry->uncompressed=NULL;
+               close(entry->fd);
+       }
+ }
+@@ -204,7 +348,8 @@
+               find_identical_file(orig->next, newfile));
+ }
+-static void eliminate_doubles(struct entry *root, struct entry *orig) {
++static void eliminate_doubles(struct entry *root, struct entry *orig) 
++{
+       if (orig) {
+               if (orig->size && (orig->path || orig->uncompressed))
+                       find_identical_file(root, orig);
+@@ -232,10 +377,7 @@
+       /* Set up the path. */
+       /* TODO: Reuse the parent's buffer to save memcpy'ing and duplication. */
+-      path = malloc(len + 1 + MAX_INPUT_NAMELEN + 1);
+-      if (!path) {
+-              die(MKFS_ERROR, 1, "malloc failed");
+-      }
++      path = xmalloc(len + 1 + MAX_INPUT_NAMELEN + 1);
+       memcpy(path, name, len);
+       endpath = path + len;
+       *endpath = '/';
+@@ -245,7 +387,7 @@
+       dircount = scandir(name, &dirlist, 0, cramsort);
+       if (dircount < 0) {
+-              die(MKFS_ERROR, 1, "scandir failed: %s", name);
++              error_msg_and_die("scandir failed: %s", name);
+       }
+       /* process directory */
+@@ -269,25 +411,20 @@
+               }
+               namelen = strlen(dirent->d_name);
+               if (namelen > MAX_INPUT_NAMELEN) {
+-                      die(MKFS_ERROR, 0,
+-                              "very long (%u bytes) filename found: %s\n"
+-                              "please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile",
++                      error_msg_and_die(
++                              "Very long (%u bytes) filename `%s' found.\n"
++                              " Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n",
+                               namelen, dirent->d_name);
+               }
+               memcpy(endpath, dirent->d_name, namelen + 1);
+               if (lstat(path, &st) < 0) {
++                      perror(endpath);
+                       warn_skip = 1;
+                       continue;
+               }
+-              entry = calloc(1, sizeof(struct entry));
+-              if (!entry) {
+-                      die(MKFS_ERROR, 1, "calloc failed");
+-              }
+-              entry->name = strdup(dirent->d_name);
+-              if (!entry->name) {
+-                      die(MKFS_ERROR, 1, "strdup failed");
+-              }
++              entry = xcalloc(1, sizeof(struct entry));
++              entry->name = xstrdup(dirent->d_name);
+               /* truncate multi-byte UTF-8 filenames on character boundary */
+               if (namelen > CRAMFS_MAXPATHLEN) {
+                       namelen = CRAMFS_MAXPATHLEN;
+@@ -297,24 +434,25 @@
+                               namelen--;
+                               /* are we reasonably certain it was UTF-8 ? */
+                               if (entry->name[namelen] < 0x80 || !namelen) {
+-                                      die(MKFS_ERROR, 0, "cannot truncate filenames not encoded in UTF-8");
++                                      error_msg_and_die("cannot truncate filenames not encoded in UTF-8");
+                               }
+                       }
+                       entry->name[namelen] = '\0';
+               }
+               entry->mode = st.st_mode;
+               entry->size = st.st_size;
+-              entry->uid = st.st_uid;
++              entry->uid = opt_squash ? 0 : st.st_uid;
+               if (entry->uid >= 1 << CRAMFS_UID_WIDTH)
+                       warn_uid = 1;
+-              entry->gid = st.st_gid;
+-              if (entry->gid >= 1 << CRAMFS_GID_WIDTH)
++              entry->gid = opt_squash ? 0 : st.st_gid;
++              if (entry->gid >= 1 << CRAMFS_GID_WIDTH) {
+                       /* TODO: We ought to replace with a default
+                          gid instead of truncating; otherwise there
+                          are security problems.  Maybe mode should
+                          be &= ~070.  Same goes for uid once Linux
+                          supports >16-bit uids. */
+                       warn_gid = 1;
++              }
+               size = sizeof(struct cramfs_inode) + ((namelen + 3) & ~3);
+               *fslen_ub += size;
+               if (S_ISDIR(st.st_mode)) {
+@@ -325,21 +463,15 @@
+                                       warn_skip = 1;
+                                       continue;
+                               }
+-                              entry->path = strdup(path);
+-                              if (!entry->path) {
+-                                      die(MKFS_ERROR, 1, "strdup failed");
+-                              }
++                              entry->path = xstrdup(path);
+                               if ((entry->size >= 1 << CRAMFS_SIZE_WIDTH)) {
+                                       warn_size = 1;
+                                       entry->size = (1 << CRAMFS_SIZE_WIDTH) - 1;
+                               }
+                       }
+               } else if (S_ISLNK(st.st_mode)) {
+-                      entry->uncompressed = malloc(entry->size);
++                      entry->uncompressed = xreadlink(path);
+                       if (!entry->uncompressed) {
+-                              die(MKFS_ERROR, 1, "malloc failed");
+-                      }
+-                      if (readlink(path, entry->uncompressed, entry->size) < 0) {
+                               warn_skip = 1;
+                               continue;
+                       }
+@@ -351,7 +483,7 @@
+                       if (entry->size & -(1<<CRAMFS_SIZE_WIDTH))
+                               warn_dev = 1;
+               } else {
+-                      die(MKFS_ERROR, 0, "bogus file type: %s", entry->name);
++                      error_msg_and_die("bogus file type: %s", entry->name);
+               }
+               if (S_ISREG(st.st_mode) || S_ISLNK(st.st_mode)) {
+@@ -378,7 +510,9 @@
+       struct cramfs_super *super = (struct cramfs_super *) base;
+       unsigned int offset = sizeof(struct cramfs_super) + image_length;
+-      offset += opt_pad;      /* 0 if no padding */
++      if (opt_pad) {
++              offset += opt_pad;      /* 0 if no padding */
++      }
+       super->magic = CRAMFS_MAGIC;
+       super->flags = CRAMFS_FLAG_FSID_VERSION_2 | CRAMFS_FLAG_SORTED_DIRS;
+@@ -414,10 +548,10 @@
+       struct cramfs_inode *inode = (struct cramfs_inode *) (base + entry->dir_offset);
+       if ((offset & 3) != 0) {
+-              die(MKFS_ERROR, 0, "illegal offset of %lu bytes", offset);
++              error_msg_and_die("illegal offset of %lu bytes", offset);
+       }
+       if (offset >= (1 << (2 + CRAMFS_OFFSET_WIDTH))) {
+-              die(MKFS_ERROR, 0, "filesystem too big");
++              error_msg_and_die("filesystem too big");
+       }
+       inode->offset = (offset >> 2);
+ }
+@@ -429,7 +563,7 @@
+  */
+ static void print_node(struct entry *e)
+ {
+-      char info[10];
++      char info[12];
+       char type = '?';
+       if (S_ISREG(e->mode)) type = 'f';
+@@ -442,11 +576,11 @@
+       if (S_ISCHR(e->mode) || (S_ISBLK(e->mode))) {
+               /* major/minor numbers can be as high as 2^12 or 4096 */
+-              snprintf(info, 10, "%4d,%4d", major(e->size), minor(e->size));
++              snprintf(info, 11, "%4d,%4d", major(e->size), minor(e->size));
+       }
+       else {
+               /* size be as high as 2^24 or 16777216 */
+-              snprintf(info, 10, "%9d", e->size);
++              snprintf(info, 11, "%9d", e->size);
+       }
+       printf("%c %04o %s %5d:%-3d %s\n",
+@@ -462,17 +596,9 @@
+ {
+       int stack_entries = 0;
+       int stack_size = 64;
+-      struct entry **entry_stack;
+-
+-      entry_stack = malloc(stack_size * sizeof(struct entry *));
+-      if (!entry_stack) {
+-              die(MKFS_ERROR, 1, "malloc failed");
+-      }
+-
+-      if (opt_verbose) {
+-              printf("root:\n");
+-      }
++      struct entry **entry_stack = NULL;
++      entry_stack = xmalloc(stack_size * sizeof(struct entry *));
+       for (;;) {
+               int dir_start = stack_entries;
+               while (entry) {
+@@ -506,10 +632,7 @@
+                       if (entry->child) {
+                               if (stack_entries >= stack_size) {
+                                       stack_size *= 2;
+-                                      entry_stack = realloc(entry_stack, stack_size * sizeof(struct entry *));
+-                                      if (!entry_stack) {
+-                                              die(MKFS_ERROR, 1, "realloc failed");
+-                                      }
++                                      entry_stack = xrealloc(entry_stack, stack_size * sizeof(struct entry *));
+                               }
+                               entry_stack[stack_entries] = entry;
+                               stack_entries++;
+@@ -543,7 +666,7 @@
+               set_data_offset(entry, base, offset);
+               if (opt_verbose) {
+-                      printf("%s:\n", entry->name);
++                  printf("'%s':\n", entry->name);
+               }
+               entry = entry->child;
+       }
+@@ -553,16 +676,21 @@
+ static int is_zero(char const *begin, unsigned len)
+ {
+-      /* Returns non-zero iff the first LEN bytes from BEGIN are all NULs. */
+-      return (len-- == 0 ||
+-              (begin[0] == '\0' &&
+-               (len-- == 0 ||
+-                (begin[1] == '\0' &&
+-                 (len-- == 0 ||
+-                  (begin[2] == '\0' &&
+-                   (len-- == 0 ||
+-                    (begin[3] == '\0' &&
+-                     memcmp(begin, begin + 4, len) == 0))))))));
++      if (opt_holes)
++              /* Returns non-zero iff the first LEN bytes from BEGIN are
++                 all NULs. */
++              return (len-- == 0 ||
++                      (begin[0] == '\0' &&
++                       (len-- == 0 ||
++                        (begin[1] == '\0' &&
++                         (len-- == 0 ||
++                          (begin[2] == '\0' &&
++                           (len-- == 0 ||
++                            (begin[3] == '\0' &&
++                             memcmp(begin, begin + 4, len) == 0))))))));
++      else
++              /* Never create holes. */
++              return 0;
+ }
+ /*
+@@ -575,37 +703,34 @@
+  * Note that size > 0, as a zero-sized file wouldn't ever
+  * have gotten here in the first place.
+  */
+-static unsigned int do_compress(char *base, unsigned int offset, char const *name, char *uncompressed, unsigned int size)
++static unsigned int do_compress(char *base, unsigned int offset, struct entry *entry)
+ {
++      unsigned int size = entry->size;
+       unsigned long original_size = size;
+       unsigned long original_offset = offset;
+       unsigned long new_size;
+       unsigned long blocks = (size - 1) / blksize + 1;
+       unsigned long curr = offset + 4 * blocks;
+       int change;
++      char *uncompressed = entry->uncompressed;
+-      total_blocks += blocks;
++      total_blocks += blocks; 
+       do {
+               unsigned long len = 2 * blksize;
+               unsigned int input = size;
+-              int err;
+-
+               if (input > blksize)
+                       input = blksize;
+               size -= input;
+-              if (!(opt_holes && is_zero (uncompressed, input))) {
+-                      err = compress2(base + curr, &len, uncompressed, input, Z_BEST_COMPRESSION);
+-                      if (err != Z_OK) {
+-                              die(MKFS_ERROR, 0, "compression error: %s", zError(err));
+-                      }
++              if (!is_zero (uncompressed, input)) {
++                      compress(base + curr, &len, uncompressed, input);
+                       curr += len;
+               }
+               uncompressed += input;
+               if (len > blksize*2) {
+                       /* (I don't think this can happen with zlib.) */
+-                      die(MKFS_ERROR, 0, "AIEEE: block \"compressed\" to > 2*blocklength (%ld)", len);
++                      error_msg_and_die("AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n", len);
+               }
+               *(u32 *) (base + offset) = curr;
+@@ -618,10 +743,12 @@
+          st_blocks * 512.  But if you say that then perhaps
+          administrative data should also be included in both. */
+       change = new_size - original_size;
+-      if (opt_verbose > 1) {
+-              printf("%6.2f%% (%+d bytes)\t%s\n",
+-                     (change * 100) / (double) original_size, change, name);
++#if 0
++      if (opt_verbose) {
++          printf("%6.2f%% (%+d bytes)\t%s\n",
++                  (change * 100) / (double) original_size, change, entry->name);
+       }
++#endif
+       return curr;
+ }
+@@ -644,7 +771,7 @@
+                               set_data_offset(entry, base, offset);
+                               entry->offset = offset;
+                               map_entry(entry);
+-                              offset = do_compress(base, offset, entry->name, entry->uncompressed, entry->size);
++                              offset = do_compress(base, offset, entry);
+                               unmap_entry(entry);
+                       }
+               }
+@@ -660,13 +787,10 @@
+       int fd;
+       char *buf;
+-      fd = open(file, O_RDONLY);
+-      if (fd < 0) {
+-              die(MKFS_ERROR, 1, "open failed: %s", file);
+-      }
++      fd = xopen(file, O_RDONLY, 0);
+       buf = mmap(NULL, image_length, PROT_READ, MAP_PRIVATE, fd, 0);
+       if (buf == MAP_FAILED) {
+-              die(MKFS_ERROR, 1, "mmap failed");
++              error_msg_and_die("mmap failed");
+       }
+       memcpy(base + offset, buf, image_length);
+       munmap(buf, image_length);
+@@ -679,6 +803,328 @@
+       return (offset + image_length);
+ }
++static struct entry *find_filesystem_entry(struct entry *dir, char *name, mode_t type)
++{
++      struct entry *e = dir;
++
++      if (S_ISDIR(dir->mode)) {
++              e = dir->child;
++      }
++      while (e) {
++              /* Only bother to do the expensive strcmp on matching file types */
++              if (type == (e->mode & S_IFMT) && e->name) {
++                      if (S_ISDIR(e->mode)) {
++                              int len = strlen(e->name);
++
++                              /* Check if we are a parent of the correct path */
++                              if (strncmp(e->name, name, len) == 0) {
++                                      /* Is this an _exact_ match? */
++                                      if (strcmp(name, e->name) == 0) {
++                                              return (e);
++                                      }
++                                      /* Looks like we found a parent of the correct path */
++                                      if (name[len] == '/') {
++                                              if (e->child) {
++                                                      return (find_filesystem_entry (e, name + len + 1, type));
++                                              } else {
++                                                      return NULL;
++                                              }
++                                      }
++                              }
++                      } else {
++                              if (strcmp(name, e->name) == 0) {
++                                      return (e);
++                              }
++                      }
++              }
++              e = e->next;
++      }
++      return (NULL);
++}
++
++void modify_entry(char *full_path, unsigned long uid, unsigned long gid, 
++      unsigned long mode, unsigned long rdev, struct entry *root, loff_t *fslen_ub)
++{
++      char *name, *path, *full;
++      struct entry *curr, *parent, *entry, *prev;
++      
++      full = xstrdup(full_path);
++      path = xstrdup(dirname(full));
++      name = full_path + strlen(path) + 1;
++      free(full);
++      if (strcmp(path, "/") == 0) {
++              parent = root;
++              name = full_path + 1;
++      } else {
++              if (!(parent = find_filesystem_entry(root, path+1, S_IFDIR)))
++                      error_msg_and_die("%s/%s: could not find parent\n", path, name);
++      }
++      if ((entry = find_filesystem_entry(parent, name, (mode & S_IFMT)))) {
++              /* its there, just modify permissions */
++              entry->mode = mode;
++              entry->uid = uid;
++              entry->gid = gid;
++      } else { /* make a new entry */
++      
++              /* code partially replicated from parse_directory() */
++              size_t namelen;
++              if (S_ISREG(mode)) {
++                      error_msg_and_die("%s: regular file from device_table file must exist on disk!", full_path);
++              }
++
++              namelen = strlen(name);
++              if (namelen > MAX_INPUT_NAMELEN) {
++                      error_msg_and_die(
++                              "Very long (%u bytes) filename `%s' found.\n"
++                              " Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n",
++                              namelen, name);
++              }
++              entry = xcalloc(1, sizeof(struct entry));
++              entry->name = xstrdup(name);
++              /* truncate multi-byte UTF-8 filenames on character boundary */
++              if (namelen > CRAMFS_MAXPATHLEN) {
++                      namelen = CRAMFS_MAXPATHLEN;
++                      warn_namelen = 1;
++                      /* the first lost byte must not be a trail byte */
++                      while ((entry->name[namelen] & 0xc0) == 0x80) {
++                              namelen--;
++                              /* are we reasonably certain it was UTF-8 ? */
++                              if (entry->name[namelen] < 0x80 || !namelen) {
++                                      error_msg_and_die("cannot truncate filenames not encoded in UTF-8");
++                              }
++                      }
++                      entry->name[namelen] = '\0';
++              }
++              entry->mode = mode;
++              entry->uid = uid;
++              entry->gid = gid;
++              entry->size = 0;
++              if (S_ISBLK(mode) || S_ISCHR(mode)) {
++                      entry->size = rdev;
++                      if (entry->size & -(1<<CRAMFS_SIZE_WIDTH))
++                              warn_dev = 1;
++              }
++              
++              /* ok, now we have to backup and correct the size of all the entries above us */
++              *fslen_ub += sizeof(struct cramfs_inode) + ((namelen + 3) & ~3);
++              parent->size += sizeof(struct cramfs_inode) + ((namelen + 3) & ~3);
++
++              /* alright, time to link us in */
++              curr = parent->child;
++              prev = NULL;
++              while (curr && strcmp(name, curr->name) > 0) {
++                      prev = curr;
++                      curr = curr->next;
++              }
++              if (!prev) parent->child = entry;
++              else prev->next = entry;
++              entry->next = curr;
++              entry->child = NULL;
++      }
++      if (entry->uid >= 1 << CRAMFS_UID_WIDTH)
++              warn_uid = 1;
++      if (entry->gid >= 1 << CRAMFS_GID_WIDTH) {
++              /* TODO: We ought to replace with a default
++                 gid instead of truncating; otherwise there
++                 are security problems.  Maybe mode should
++                 be &= ~070.  Same goes for uid once Linux
++                 supports >16-bit uids. */
++              warn_gid = 1;
++      }
++      free(path);
++}
++
++/* the GNU C library has a wonderful scanf("%as", string) which will
++ allocate the string with the right size, good to avoid buffer overruns. 
++ the following macros use it if available or use a hacky workaround...
++ */
++
++#ifdef __GNUC__
++#define SCANF_PREFIX "a"
++#define SCANF_STRING(s) (&s)
++#define GETCWD_SIZE 0
++#else
++#define SCANF_PREFIX "511"
++#define SCANF_STRING(s) (s = xmalloc(512))
++#define GETCWD_SIZE -1
++inline int snprintf(char *str, size_t n, const char *fmt, ...)
++{
++      int ret;
++      va_list ap;
++
++      va_start(ap, fmt);
++      ret = vsprintf(str, fmt, ap);
++      va_end(ap);
++      return ret;
++}
++#endif
++
++/*  device table entries take the form of:
++    <path>    <type> <mode>   <uid>   <gid>   <major> <minor> <start> <inc>   <count>
++    /dev/mem     c    640       0       0         1       1       0     0         -
++
++    type can be one of: 
++      f       A regular file
++      d       Directory
++      c       Character special device file
++      b       Block special device file
++      p       Fifo (named pipe)
++
++    I don't bother with symlinks (permissions are irrelevant), hard
++    links (special cases of regular files), or sockets (why bother).
++
++    Regular files must exist in the target root directory.  If a char,
++    block, fifo, or directory does not exist, it will be created.
++*/
++
++static int interpret_table_entry(char *line, struct entry *root, loff_t *fslen_ub)
++{
++      char type, *name = NULL;
++      unsigned long mode = 0755, uid = 0, gid = 0, major = 0, minor = 0;
++      unsigned long start = 0, increment = 1, count = 0;
++
++      if (sscanf (line, "%" SCANF_PREFIX "s %c %lo %lu %lu %lu %lu %lu %lu %lu",
++               SCANF_STRING(name), &type, &mode, &uid, &gid, &major, &minor,
++               &start, &increment, &count) < 0) 
++      {
++              return 1;
++      }
++
++      if (!strcmp(name, "/")) {
++              error_msg_and_die("Device table entries require absolute paths");
++      }
++
++      switch (type) {
++      case 'd':
++              mode |= S_IFDIR;
++              modify_entry(name, uid, gid, mode, 0, root, fslen_ub);
++              break;
++      case 'f':
++              mode |= S_IFREG;
++              modify_entry(name, uid, gid, mode, 0, root, fslen_ub);
++              break;
++      case 'p':
++              mode |= S_IFIFO;
++              modify_entry(name, uid, gid, mode, 0, root, fslen_ub);
++              break;
++      case 'c':
++      case 'b':
++              mode |= (type == 'c') ? S_IFCHR : S_IFBLK;
++              if (count > 0) {
++                      char *buf;
++                      unsigned long i;
++                      dev_t rdev;
++
++                      for (i = start; i < count; i++) {
++                              asprintf(&buf, "%s%lu", name, i);
++                              rdev = makedev(major, minor + (i * increment - start));
++                              modify_entry(buf, uid, gid, mode, rdev, root, fslen_ub);
++                              free(buf);
++                      }
++              } else {
++                      dev_t rdev = makedev(major, minor);
++                      modify_entry(name, uid, gid, mode, rdev, root, fslen_ub);
++              }
++              break;
++      default:
++              error_msg_and_die("Unsupported file type");
++      }
++      free(name);
++      return 0;
++}
++
++static int parse_device_table(FILE *file, struct entry *root, loff_t *fslen_ub)
++{
++      char *line;
++      int status = 0;
++      size_t length = 0;
++
++      /* Turn off squash, since we must ensure that values
++       * entered via the device table are not squashed */
++      opt_squash = 0;
++
++      /* Looks ok so far.  The general plan now is to read in one
++       * line at a time, check for leading comment delimiters ('#'),
++       * then try and parse the line as a device table.  If we fail
++       * to parse things, try and help the poor fool to fix their
++       * device table with a useful error msg... */
++      line = NULL;
++      while (getline(&line, &length, file) != -1) {
++              /* First trim off any whitespace */
++              int len = strlen(line);
++
++              /* trim trailing whitespace */
++              while (len > 0 && isspace(line[len - 1]))
++                      line[--len] = '\0';
++              /* trim leading whitespace */
++              memmove(line, &line[strspn(line, " \n\r\t\v")], len);
++
++              /* How long are we after trimming? */
++              len = strlen(line);
++
++              /* If this is NOT a comment line, try to interpret it */
++              if (len && *line != '#') {
++                      if (interpret_table_entry(line, root, fslen_ub))
++                              status = 1;
++              }
++
++              free(line);
++              line = NULL;
++      }
++      free(line);
++      fclose(file);
++
++      return status;
++}
++
++void traverse(struct entry *entry, int depth)
++{
++      struct entry *curr = entry;
++      int i;
++
++      while (curr) {
++              for (i = 0; i < depth; i++) putchar(' ');
++              printf("%s: size=%d mode=%d same=%p\n",
++                      (curr->name)? (char*)curr->name : "/", 
++                      curr->size, curr->mode, curr->same);
++              if (curr->child) traverse(curr->child, depth + 4);
++              curr = curr->next;
++      }
++}
++
++static void free_filesystem_entry(struct entry *dir)
++{
++      struct entry *e = dir, *last;
++
++      if (S_ISDIR(dir->mode)) {
++              e = dir->child;
++      }
++      while (e) {
++              if (e->name)
++                      free(e->name);
++              if (e->path)
++                      free(e->path);
++              if (e->uncompressed)
++                      free(e->uncompressed);
++              last = e;
++              if (e->child) {
++                      free_filesystem_entry(e);
++              }
++              e = e->next;
++              free(last);
++      }
++}
++
++
++/*
++ * Usage:
++ *
++ *      mkcramfs directory-name outfile
++ *
++ * where "directory-name" is simply the root of the directory
++ * tree that we want to generate a compressed filesystem out
++ * of.
++ */
+ int main(int argc, char **argv)
+ {
+       struct stat st;         /* used twice... */
+@@ -692,6 +1138,7 @@
+       u32 crc;
+       int c;                  /* for getopt */
+       char *ep;               /* for strtoul */
++      FILE *devtable = NULL;
+       total_blocks = 0;
+@@ -699,7 +1146,7 @@
+               progname = argv[0];
+       /* command line options */
+-      while ((c = getopt(argc, argv, "hEe:i:n:psvz")) != EOF) {
++      while ((c = getopt(argc, argv, "hEe:i:n:psvzD:q")) != EOF) {
+               switch (c) {
+               case 'h':
+                       usage(MKFS_OK);
+@@ -715,7 +1162,7 @@
+               case 'i':
+                       opt_image = optarg;
+                       if (lstat(opt_image, &st) < 0) {
+-                              die(MKFS_ERROR, 1, "lstat failed: %s", opt_image);
++                              error_msg_and_die("lstat failed: %s", opt_image);
+                       }
+                       image_length = st.st_size; /* may be padded later */
+                       fslen_ub += (image_length + 3); /* 3 is for padding */
+@@ -736,6 +1183,16 @@
+               case 'z':
+                       opt_holes = 1;
+                       break;
++              case 'q':
++                      opt_squash = 1;
++                      break;
++              case 'D':
++                      devtable = xfopen(optarg, "r");
++                      if (fstat(fileno(devtable), &st) < 0)
++                              perror_msg_and_die(optarg);
++                      if (st.st_size < 10)
++                              error_msg_and_die("%s: not a proper device table file\n", optarg);
++                      break;
+               }
+       }
+@@ -745,25 +1202,23 @@
+       outfile = argv[optind + 1];
+       if (stat(dirname, &st) < 0) {
+-              die(MKFS_USAGE, 1, "stat failed: %s", dirname);
+-      }
+-      fd = open(outfile, O_WRONLY | O_CREAT | O_TRUNC, 0666);
+-      if (fd < 0) {
+-              die(MKFS_USAGE, 1, "open failed: %s", outfile);
++              error_msg_and_die("stat failed: %s", dirname);
+       }
++      fd = xopen(outfile, O_WRONLY | O_CREAT | O_TRUNC, 0666);
+-      root_entry = calloc(1, sizeof(struct entry));
+-      if (!root_entry) {
+-              die(MKFS_ERROR, 1, "calloc failed");
+-      }
++      root_entry = xcalloc(1, sizeof(struct entry));
+       root_entry->mode = st.st_mode;
+       root_entry->uid = st.st_uid;
+       root_entry->gid = st.st_gid;
+       root_entry->size = parse_directory(root_entry, dirname, &root_entry->child, &fslen_ub);
++      if (devtable) {
++              parse_device_table(devtable, root_entry, &fslen_ub);
++      }
++
+       /* always allocate a multiple of blksize bytes because that's
+-         what we're going to write later on */
++           what we're going to write later on */
+       fslen_ub = ((fslen_ub - 1) | (blksize - 1)) + 1;
+       if (fslen_ub > MAXFSLEN) {
+@@ -790,7 +1245,7 @@
+       rom_image = mmap(NULL, fslen_ub?fslen_ub:1, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+       if (rom_image == MAP_FAILED) {
+-              die(MKFS_ERROR, 1, "mmap failed");
++              error_msg_and_die("mmap failed");
+       }
+       /* Skip the first opt_pad bytes for boot loader code */
+@@ -807,6 +1262,7 @@
+       }
+       offset = write_directory_structure(root_entry->child, rom_image, offset);
++      if (opt_verbose)
+       printf("Directory data: %d bytes\n", offset);
+       offset = write_data(root_entry, rom_image, offset);
+@@ -814,30 +1270,38 @@
+       /* We always write a multiple of blksize bytes, so that
+          losetup works. */
+       offset = ((offset - 1) | (blksize - 1)) + 1;
++      if (opt_verbose)
+       printf("Everything: %d kilobytes\n", offset >> 10);
+       /* Write the superblock now that we can fill in all of the fields. */
+       write_superblock(root_entry, rom_image+opt_pad, offset);
++      if (opt_verbose)
+       printf("Super block: %d bytes\n", sizeof(struct cramfs_super));
+       /* Put the checksum in. */
+       crc = crc32(0L, Z_NULL, 0);
+       crc = crc32(crc, (rom_image+opt_pad), (offset-opt_pad));
+       ((struct cramfs_super *) (rom_image+opt_pad))->fsid.crc = crc;
++      if (opt_verbose)
+       printf("CRC: %x\n", crc);
+       /* Check to make sure we allocated enough space. */
+       if (fslen_ub < offset) {
+-              die(MKFS_ERROR, 0, "not enough space allocated for ROM image (%Ld allocated, %d used)", fslen_ub, offset);
++              error_msg_and_die("not enough space allocated for ROM "
++                      "image (%Ld allocated, %d used)", fslen_ub, offset);
+       }
+       written = write(fd, rom_image, offset);
+       if (written < 0) {
+-              die(MKFS_ERROR, 1, "write failed");
++              error_msg_and_die("write failed");
+       }
+       if (offset != written) {
+-              die(MKFS_ERROR, 0, "ROM image write failed (wrote %d of %d bytes)", written, offset);
++              error_msg_and_die("ROM image write failed (wrote %d of %d bytes)", written, offset);
+       }
++      
++      /* Free up memory */
++      free_filesystem_entry(root_entry);
++      free(root_entry);
+       /* (These warnings used to come at the start, but they scroll off the
+          screen too quickly.) */
diff --git a/target/default/device_table.txt b/target/default/device_table.txt
new file mode 100644 (file)
index 0000000..8b46ca0
--- /dev/null
@@ -0,0 +1,162 @@
+# When building a target filesystem, it is desirable to not have to
+# become root and then run 'mknod' a thousand times.  Using a device 
+# table you can create device nodes and directories "on the fly".
+#
+# This is a sample device table file for use with genext2fs.  You can
+# do all sorts of interesting things with a device table file.  For
+# example, if you want to adjust the permissions on a particular file
+# you can just add an entry like:
+#   /sbin/foobar        f       2755    0       0       -       -       -       -       -
+# and (assuming the file /sbin/foobar exists) it will be made setuid
+# root (regardless of what its permissions are on the host filesystem.
+# Furthermore, you can use a single table entry to create a many device
+# minors.  For example, if I wanted to create /dev/hda and /dev/hda[0-15]
+# I could just use the following two table entries:
+#   /dev/hda    b       640     0       0       3       0       0       0       -
+#   /dev/hda    b       640     0       0       3       1       1       1       15
+# 
+# Device table entries take the form of:
+# <name>    <type>      <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
+# where name is the file name,  type can be one of: 
+#       f       A regular file
+#       d       Directory
+#       c       Character special device file
+#       b       Block special device file
+#       p       Fifo (named pipe)
+# uid is the user id for the target file, gid is the group id for the
+# target file.  The rest of the entries (major, minor, etc) apply only 
+# to device special files.
+
+# Have fun
+# -Erik Andersen <andersen@codepoet.org>
+#
+
+#<name>                <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
+/dev           d       755     0       0       -       -       -       -       -
+/dev/pts       d       755     0       0       -       -       -       -       -
+/tmp           d       1777    0       0       -       -       -       -       -
+/etc           d       755     0       0       -       -       -       -       -
+/home/default  d       2755    1000    1000    -       -       -       -       -
+#<name>                                        <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
+/bin/busybox                           f       4755    0       0       -       -       -       -       -
+/etc/shadow                            f       600     0       0       -       -       -       -       -
+/etc/passwd                            f       644     0       0       -       -       -       -       -
+/etc/network/if-up.d                   d       755     0       0       -       -       -       -       -
+/etc/network/if-pre-up.d               d       755     0       0       -       -       -       -       -
+/etc/network/if-down.d                 d       755     0       0       -       -       -       -       -
+/etc/network/if-post-down.d            d       755     0       0       -       -       -       -       -
+/usr/share/udhcpc/default.script       f       755     0       0       -       -       -       -       -
+# uncomment this to allow starting x as non-root
+#/usr/X11R6/bin/Xfbdev         f       4755    0       0       -       -       -       -       -
+# Normal system devices
+/dev/mem       c       640     0       0       1       1       0       0       -
+/dev/kmem      c       640     0       0       1       2       0       0       -
+/dev/null      c       666     0       0       1       3       0       0       -
+/dev/zero      c       666     0       0       1       5       0       0       -
+/dev/random    c       666     0       0       1       8       0       0       -
+/dev/urandom   c       666     0       0       1       9       0       0       -
+/dev/ram       b       640     0       0       1       1       0       0       -
+/dev/ram       b       640     0       0       1       0       0       1       4
+/dev/loop      b       640     0       0       7       0       0       1       2
+/dev/rtc       c       640     0       0       10      135     -       -       -
+/dev/console   c       666     0       0       5       1       -       -       -
+/dev/tty       c       666     0       0       5       0       -       -       -
+/dev/tty       c       666     0       0       4       0       0       1       8
+/dev/ttyp      c       666     0       0       3       0       0       1       10
+/dev/ptyp      c       666     0       0       2       0       0       1       10
+/dev/ptmx      c       666     0       0       5       2       -       -       -
+/dev/ttyP      c       666     0       0       57      0       0       1       4
+/dev/ttyS      c       666     0       0       4       64      0       1       4
+/dev/fb                c       640     0       5       29      0       0       32      4
+#/dev/ttySA    c       666     0       0       204     5       0       1       3
+/dev/psaux     c       666     0       0       10      1       0       0       -
+#/dev/ppp      c       666     0       0       108     0       -       -       -
+
+# MTD stuff
+/dev/mtd       c       640     0       0       90      0       0       2       4
+/dev/mtdblock  b       640     0       0       31      0       0       1       4
+
+#Tun/tap driver
+/dev/net       d       755     0       0       -       -       -       -       -
+/dev/net/tun   c       660     0       0       10      200     -       -       -
+
+# Audio stuff
+#/dev/audio    c       666     0       29      14      4       -       -       -
+#/dev/audio1   c       666     0       29      14      20      -       -       -
+#/dev/dsp      c       666     0       29      14      3       -       -       -
+#/dev/dsp1     c       666     0       29      14      19      -       -       -
+#/dev/sndstat  c       666     0       29      14      6       -       -       -
+
+# User-mode Linux stuff
+/dev/ubda      b       640     0       0       98      0       0       0       -
+/dev/ubda      b       640     0       0       98      1       1       1       15
+
+# IDE Devices
+/dev/hda       b       640     0       0       3       0       0       0       -
+/dev/hda       b       640     0       0       3       1       1       1       15
+/dev/hdb       b       640     0       0       3       64      0       0       -
+/dev/hdb       b       640     0       0       3       65      1       1       15
+#/dev/hdc      b       640     0       0       22      0       0       0       -
+#/dev/hdc      b       640     0       0       22      1       1       1       15
+#/dev/hdd      b       640     0       0       22      64      0       0       -
+#/dev/hdd      b       640     0       0       22      65      1       1       15
+#/dev/hde      b       640     0       0       33      0       0       0       -
+#/dev/hde      b       640     0       0       33      1       1       1       15
+#/dev/hdf      b       640     0       0       33      64      0       0       -
+#/dev/hdf      b       640     0       0       33      65      1       1       15
+#/dev/hdg      b       640     0       0       34      0       0       0       -
+#/dev/hdg      b       640     0       0       34      1       1       1       15
+#/dev/hdh      b       640     0       0       34      64      0       0       -
+#/dev/hdh      b       640     0       0       34      65      1       1       15
+
+# SCSI Devices
+#/dev/sda      b       640     0       0       8       0       0       0       -
+#/dev/sda      b       640     0       0       8       1       1       1       15
+#/dev/sdb      b       640     0       0       8       16      0       0       -
+#/dev/sdb      b       640     0       0       8       17      1       1       15
+#/dev/sdc      b       640     0       0       8       32      0       0       -
+#/dev/sdc      b       640     0       0       8       33      1       1       15
+#/dev/sdd      b       640     0       0       8       48      0       0       -
+#/dev/sdd      b       640     0       0       8       49      1       1       15
+#/dev/sde      b       640     0       0       8       64      0       0       -
+#/dev/sde      b       640     0       0       8       65      1       1       15
+#/dev/sdf      b       640     0       0       8       80      0       0       -
+#/dev/sdf      b       640     0       0       8       81      1       1       15
+#/dev/sdg      b       640     0       0       8       96      0       0       -
+#/dev/sdg      b       640     0       0       8       97      1       1       15
+#/dev/sdh      b       640     0       0       8       112     0       0       -
+#/dev/sdh      b       640     0       0       8       113     1       1       15
+#/dev/sg       c       640     0       0       21      0       0       1       15
+#/dev/scd      b       640     0       0       11      0       0       1       15
+#/dev/st       c       640     0       0       9       0       0       1       8
+#/dev/nst      c       640     0       0       9       128     0       1       8
+#/dev/st       c       640     0       0       9       32      1       1       4
+#/dev/st       c       640     0       0       9       64      1       1       4
+#/dev/st       c       640     0       0       9       96      1       1       4
+
+# Floppy disk devices
+#/dev/fd       b       640     0       0       2       0       0       1       2
+#/dev/fd0d360  b       640     0       0       2       4       0       0       -
+#/dev/fd1d360  b       640     0       0       2       5       0       0       -
+#/dev/fd0h1200 b       640     0       0       2       8       0       0       -
+#/dev/fd1h1200 b       640     0       0       2       9       0       0       -
+#/dev/fd0u1440 b       640     0       0       2       28      0       0       -
+#/dev/fd1u1440 b       640     0       0       2       29      0       0       -
+#/dev/fd0u2880 b       640     0       0       2       32      0       0       -
+#/dev/fd1u2880 b       640     0       0       2       33      0       0       -
+
+# All the proprietary cdrom devices in the world
+#/dev/aztcd    b       640     0       0       29      0       0       0       -
+#/dev/bpcd     b       640     0       0       41      0       0       0       -
+#/dev/capi20   c       640     0       0       68      0       0       1       2
+#/dev/cdu31a   b       640     0       0       15      0       0       0       -
+#/dev/cdu535   b       640     0       0       24      0       0       0       -
+#/dev/cm206cd  b       640     0       0       32      0       0       0       -
+#/dev/sjcd     b       640     0       0       18      0       0       0       -
+#/dev/sonycd   b       640     0       0       15      0       0       0       -
+#/dev/gscd     b       640     0       0       16      0       0       0       -
+#/dev/sbpcd    b       640     0       0       25      0       0       0       -
+#/dev/sbpcd    b       640     0       0       25      0       0       1       4
+#/dev/mcd      b       640     0       0       23      0       0       0       -
+#/dev/optcd    b       640     0       0       17      0       0       0       -
+
diff --git a/target/default/skel.tar.gz b/target/default/skel.tar.gz
new file mode 100644 (file)
index 0000000..301c5cf
Binary files /dev/null and b/target/default/skel.tar.gz differ
diff --git a/target/default/target_skeleton/etc/TZ b/target/default/target_skeleton/etc/TZ
new file mode 100644 (file)
index 0000000..9fcb2a3
--- /dev/null
@@ -0,0 +1 @@
+MST7MDT
diff --git a/target/default/target_skeleton/etc/fstab b/target/default/target_skeleton/etc/fstab
new file mode 100644 (file)
index 0000000..6d33629
--- /dev/null
@@ -0,0 +1,8 @@
+# /etc/fstab: static file system information.
+#
+# <file system> <mount pt>     <type>  <options>         <dump> <pass>
+/dev/root       /              ext2    rw,noauto         0      1
+proc           /proc          proc     defaults          0      0
+devpts         /dev/pts       devpts   defaults,gid=5,mode=620   0      0
+tmpfs           /tmp           tmpfs    defaults          0      0
+
diff --git a/target/default/target_skeleton/etc/group b/target/default/target_skeleton/etc/group
new file mode 100644 (file)
index 0000000..a21ef0f
--- /dev/null
@@ -0,0 +1,10 @@
+root:x:0:
+daemon:x:1:
+bin:x:2:
+sys:x:3:
+adm:x:4:
+tty:x:5:
+disk:x:6:
+utmp:x:43:
+staff:x:50:
+default:x:1000:
diff --git a/target/default/target_skeleton/etc/hostname b/target/default/target_skeleton/etc/hostname
new file mode 100644 (file)
index 0000000..52e67d6
--- /dev/null
@@ -0,0 +1 @@
+uclibc
diff --git a/target/default/target_skeleton/etc/hosts b/target/default/target_skeleton/etc/hosts
new file mode 100644 (file)
index 0000000..ba712fe
--- /dev/null
@@ -0,0 +1 @@
+127.0.0.1      localhost
diff --git a/target/default/target_skeleton/etc/init.d/S20urandom b/target/default/target_skeleton/etc/init.d/S20urandom
new file mode 100755 (executable)
index 0000000..433fafe
--- /dev/null
@@ -0,0 +1,44 @@
+#! /bin/sh
+#
+# urandom      This script saves the random seed between reboots.
+#              It is called from the boot, halt and reboot scripts.
+#
+# Version:     @(#)urandom  1.33  22-Jun-1998  miquels@cistron.nl
+#
+
+[ -c /dev/urandom ] || exit 0
+#. /etc/default/rcS
+
+case "$1" in
+       start|"")
+               if [ "$VERBOSE" != no ]
+               then
+                       echo -n "Initializing random number generator... "
+               fi
+               # Load and then save 512 bytes,
+               # which is the size of the entropy pool
+               if [ -f /etc/random-seed ]
+               then
+                       cat /etc/random-seed >/dev/urandom
+               fi
+               rm -f /etc/random-seed
+               umask 077
+               dd if=/dev/urandom of=/etc/random-seed count=1 \
+                       >/dev/null 2>&1 || echo "urandom start: failed."
+               umask 022
+               [ "$VERBOSE" != no ] && echo "done."
+               ;;
+       stop)
+               # Carry a random seed from shut-down to start-up;
+               # see documentation in linux/drivers/char/random.c
+               [ "$VERBOSE" != no ] && echo -n "Saving random seed... "
+               umask 077
+               dd if=/dev/urandom of=/etc/random-seed count=1 \
+                       >/dev/null 2>&1 || echo "urandom stop: failed."
+               [ "$VERBOSE" != no ] && echo "done."
+               ;;
+       *)
+               echo "Usage: urandom {start|stop}" >&2
+               exit 1
+               ;;
+esac
diff --git a/target/default/target_skeleton/etc/init.d/S40network b/target/default/target_skeleton/etc/init.d/S40network
new file mode 100755 (executable)
index 0000000..d835d9c
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# Start the network....
+#
+
+start() {
+       echo "Starting network..."
+       /sbin/ifup -a
+}      
+stop() {
+       echo -n "Stopping network..."
+       /sbin/ifdown -a
+}
+restart() {
+       stop
+       start
+}      
+
+case "$1" in
+  start)
+       start
+       ;;
+  stop)
+       stop
+       ;;
+  restart|reload)
+       restart
+       ;;
+  *)
+       echo $"Usage: $0 {start|stop|restart}"
+       exit 1
+esac
+
+exit $?
+
diff --git a/target/default/target_skeleton/etc/init.d/rcS b/target/default/target_skeleton/etc/init.d/rcS
new file mode 100755 (executable)
index 0000000..de41153
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+
+# Start all init scripts in /etc/init.d
+# executing them in numerical order.
+#
+for i in /etc/init.d/S??* ;do
+
+     # Ignore dangling symlinks (if any).
+     [ ! -f "$i" ] && continue
+
+     case "$i" in
+       *.sh)
+           # Source shell script for speed.
+           (
+               trap - INT QUIT TSTP
+               set start
+               . $i
+           )
+           ;;
+       *)
+           # No sh extension, so fork subprocess.
+           $i start
+           ;;
+    esac
+done
+
diff --git a/target/default/target_skeleton/etc/inittab b/target/default/target_skeleton/etc/inittab
new file mode 100644 (file)
index 0000000..a6c014e
--- /dev/null
@@ -0,0 +1,47 @@
+# /etc/inittab
+#
+# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
+#
+# Note: BusyBox init doesn't support runlevels.  The runlevels field is
+# completely ignored by BusyBox init. If you want runlevels, use
+# sysvinit.
+#
+# Format for each entry: <id>:<runlevels>:<action>:<process>
+#
+# id        == tty to run on, or empty for /dev/console
+# runlevels == ignored
+# action    == one of sysinit, respawn, askfirst, wait, and once
+# process   == program to run
+
+# Startup the system
+null::sysinit:/bin/mount -o remount,rw /
+null::sysinit:/bin/mount -t proc proc /proc
+null::sysinit:/bin/mount -a
+null::sysinit:/bin/hostname -F /etc/hostname
+null::sysinit:/sbin/ifconfig lo 127.0.0.1 up
+null::sysinit:/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
+# now run any rc scripts
+::sysinit:/etc/init.d/rcS
+
+# Set up a couple of getty's
+tty1::respawn:/sbin/getty 38400 tty1
+tty2::respawn:/sbin/getty 38400 tty2
+
+# Put a getty on the serial port
+#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
+
+# Logging junk
+null::sysinit:/bin/touch /var/log/messages
+null::respawn:/sbin/syslogd -n -m 0
+null::respawn:/sbin/klogd -n
+tty3::respawn:/usr/bin/tail -f /var/log/messages
+
+# Stuff to do for the 3-finger salute
+::ctrlaltdel:/sbin/reboot
+
+# Stuff to do before rebooting
+null::shutdown:/usr/bin/killall klogd
+null::shutdown:/usr/bin/killall syslogd
+null::shutdown:/bin/umount -a -r
+null::shutdown:/sbin/swapoff -a
+
diff --git a/target/default/target_skeleton/etc/inputrc b/target/default/target_skeleton/etc/inputrc
new file mode 100644 (file)
index 0000000..2f1cb60
--- /dev/null
@@ -0,0 +1,44 @@
+# /etc/inputrc - global inputrc for libreadline
+# See readline(3readline) and `info readline' for more information.
+
+# Be 8 bit clean.
+set input-meta on
+set output-meta on
+set bell-style visible
+
+# To allow the use of 8bit-characters like the german umlauts, comment out
+# the line below. However this makes the meta key not work as a meta key,
+# which is annoying to those which don't need to type in 8-bit characters.
+
+# set convert-meta off
+
+"\e0d": backward-word
+"\e0c": forward-word
+"\e[h": beginning-of-line
+"\e[f": end-of-line
+"\e[1~": beginning-of-line
+"\e[4~": end-of-line
+#"\e[5~": beginning-of-history
+#"\e[6~": end-of-history
+"\e[3~": delete-char
+"\e[2~": quoted-insert
+
+# Common standard keypad and cursor
+# (codes courtsey Werner Fink, <werner@suse.de>)
+#"\e[1~": history-search-backward
+"\e[2~": yank
+"\e[3~": delete-char
+#"\e[4~": set-mark
+"\e[5~": history-search-backward
+"\e[6~": history-search-forward
+# Normal keypad and cursor of xterm
+"\e[F": end-of-line
+"\e[H": beginning-of-line
+# Application keypad and cursor of xterm
+"\eOA": previous-history
+"\eOC": forward-char
+"\eOB": next-history
+"\eOD": backward-char
+"\eOF": end-of-line
+"\eOH": beginning-of-line
+
diff --git a/target/default/target_skeleton/etc/issue b/target/default/target_skeleton/etc/issue
new file mode 100644 (file)
index 0000000..f24b862
--- /dev/null
@@ -0,0 +1,4 @@
+
+
+Welcome to the Erik's uClibc development environment.
+
diff --git a/target/default/target_skeleton/etc/network/interfaces b/target/default/target_skeleton/etc/network/interfaces
new file mode 100644 (file)
index 0000000..218b82c
--- /dev/null
@@ -0,0 +1,4 @@
+# Configure Loopback
+auto lo
+iface lo inet loopback
+
diff --git a/target/default/target_skeleton/etc/passwd b/target/default/target_skeleton/etc/passwd
new file mode 100644 (file)
index 0000000..e0f473f
--- /dev/null
@@ -0,0 +1,13 @@
+root:x:0:0:root:/root:/bin/sh
+daemon:x:1:1:daemon:/usr/sbin:/bin/sh
+bin:x:2:2:bin:/bin:/bin/sh
+sys:x:3:3:sys:/dev:/bin/sh
+sync:x:4:100:sync:/bin:/bin/sync
+mail:x:8:8:mail:/var/spool/mail:/bin/sh
+proxy:x:13:13:proxy:/bin:/bin/sh
+www-data:x:33:33:www-data:/var/www:/bin/sh
+backup:x:34:34:backup:/var/backups:/bin/sh
+operator:x:37:37:Operator:/var:/bin/sh
+sshd:x:103:99:Operator:/var:/bin/sh
+nobody:x:99:99:nobody:/home:/bin/sh
+default:x:1000:1000:Default non-root user:/home/default:/bin/sh
diff --git a/target/default/target_skeleton/etc/profile b/target/default/target_skeleton/etc/profile
new file mode 100644 (file)
index 0000000..cc2e0be
--- /dev/null
@@ -0,0 +1,48 @@
+# ~/.bashrc: executed by bash(1) for non-login interactive shells.
+
+export PATH=\
+/bin:\
+/sbin:\
+/usr/bin:\
+/usr/sbin:\
+/usr/bin/X11:\
+/usr/local/bin
+
+# If running interactively, then:
+if [ "$PS1" ]; then
+
+    if [ "$BASH" ]; then
+       export PS1="[\u@\h \W]\\$ "
+       alias ll='/bin/ls --color=tty -laFh'
+       alias ls='/bin/ls --color=tty -F'
+       export LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:';
+    else
+      if [ "`id -u`" -eq 0 ]; then 
+       export PS1='# '
+      else
+       export PS1='$ '
+      fi
+    fi
+
+    export USER=`id -un`
+    export LOGNAME=$USER
+    export HOSTNAME=`/bin/hostname`
+    export HISTSIZE=1000
+    export HISTFILESIZE=1000
+    export PAGER='/bin/more '
+    export EDITOR='/bin/vi'
+    export INPUTRC=/etc/inputrc
+    export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
+
+    ### Some aliases
+    alias ps2='ps facux '
+    alias ps1='ps faxo "%U %t %p %a" '
+    alias af='ps af'
+    alias cls='clear'
+    alias df='df -h'
+    alias indent='indent -bad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0 -cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs -npsl -nsc -nsob -nss -ts4 '
+    #alias bc='bc -l'
+    alias minicom='minicom -c on'
+    alias calc='calc -Cd '
+    alias bc='calc -Cd '
+fi;
diff --git a/target/default/target_skeleton/etc/protocols b/target/default/target_skeleton/etc/protocols
new file mode 100644 (file)
index 0000000..1ac8a40
--- /dev/null
@@ -0,0 +1,31 @@
+# /etc/protocols:
+# $Id: protocols,v 1.1 2004/10/09 02:49:18 andersen Exp $
+#
+# Internet (IP) protocols
+#
+#      from: @(#)protocols     5.1 (Berkeley) 4/17/89
+#
+# Updated for NetBSD based on RFC 1340, Assigned Numbers (July 1992).
+
+ip     0       IP              # internet protocol, pseudo protocol number
+icmp   1       ICMP            # internet control message protocol
+igmp   2       IGMP            # Internet Group Management
+ggp    3       GGP             # gateway-gateway protocol
+ipencap        4       IP-ENCAP        # IP encapsulated in IP (officially ``IP'')
+st     5       ST              # ST datagram mode
+tcp    6       TCP             # transmission control protocol
+egp    8       EGP             # exterior gateway protocol
+pup    12      PUP             # PARC universal packet protocol
+udp    17      UDP             # user datagram protocol
+hmp    20      HMP             # host monitoring protocol
+xns-idp        22      XNS-IDP         # Xerox NS IDP
+rdp    27      RDP             # "reliable datagram" protocol
+iso-tp4        29      ISO-TP4         # ISO Transport Protocol class 4
+xtp    36      XTP             # Xpress Tranfer Protocol
+ddp    37      DDP             # Datagram Delivery Protocol
+idpr-cmtp      39      IDPR-CMTP       # IDPR Control Message Transport
+rspf   73      RSPF            #Radio Shortest Path First.
+vmtp   81      VMTP            # Versatile Message Transport
+ospf   89      OSPFIGP         # Open Shortest Path First IGP
+ipip   94      IPIP            # Yet Another IP encapsulation
+encap  98      ENCAP           # Yet Another IP encapsulation
diff --git a/target/default/target_skeleton/etc/random-seed b/target/default/target_skeleton/etc/random-seed
new file mode 100644 (file)
index 0000000..f26038a
Binary files /dev/null and b/target/default/target_skeleton/etc/random-seed differ
diff --git a/target/default/target_skeleton/etc/resolv.conf b/target/default/target_skeleton/etc/resolv.conf
new file mode 100644 (file)
index 0000000..71a86dd
--- /dev/null
@@ -0,0 +1,2 @@
+domain dev.null
+nameserver 127.0.0.1
diff --git a/target/default/target_skeleton/etc/securetty b/target/default/target_skeleton/etc/securetty
new file mode 100644 (file)
index 0000000..81616f3
--- /dev/null
@@ -0,0 +1,12 @@
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+tty7
+tty8
+ttyS0
+ttyS1
+ttyS2
+ttyS3
diff --git a/target/default/target_skeleton/etc/services b/target/default/target_skeleton/etc/services
new file mode 100644 (file)
index 0000000..b287b63
--- /dev/null
@@ -0,0 +1,302 @@
+# /etc/services:
+# $Id: services,v 1.1 2004/10/09 02:49:18 andersen Exp $
+#
+# Network services, Internet style
+#
+# Note that it is presently the policy of IANA to assign a single well-known
+# port number for both TCP and UDP; hence, most entries here have two entries
+# even if the protocol doesn't support UDP operations.
+# Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
+# are included, only the more common ones.
+
+tcpmux         1/tcp                           # TCP port service multiplexer
+echo           7/tcp
+echo           7/udp
+discard                9/tcp           sink null
+discard                9/udp           sink null
+systat         11/tcp          users
+daytime                13/tcp
+daytime                13/udp
+netstat                15/tcp
+qotd           17/tcp          quote
+msp            18/tcp                          # message send protocol
+msp            18/udp                          # message send protocol
+chargen                19/tcp          ttytst source
+chargen                19/udp          ttytst source
+ftp-data       20/tcp
+ftp            21/tcp
+fsp            21/udp          fspd
+ssh            22/tcp                          # SSH Remote Login Protocol
+ssh            22/udp                          # SSH Remote Login Protocol
+telnet         23/tcp
+# 24 - private
+smtp           25/tcp          mail
+# 26 - unassigned
+time           37/tcp          timserver
+time           37/udp          timserver
+rlp            39/udp          resource        # resource location
+nameserver     42/tcp          name            # IEN 116
+whois          43/tcp          nicname
+re-mail-ck     50/tcp                          # Remote Mail Checking Protocol
+re-mail-ck     50/udp                          # Remote Mail Checking Protocol
+domain         53/tcp          nameserver      # name-domain server
+domain         53/udp          nameserver
+mtp            57/tcp                          # deprecated
+bootps         67/tcp                          # BOOTP server
+bootps         67/udp
+bootpc         68/tcp                          # BOOTP client
+bootpc         68/udp
+tftp           69/udp
+gopher         70/tcp                          # Internet Gopher
+gopher         70/udp
+rje            77/tcp          netrjs
+finger         79/tcp
+www            80/tcp          http            # WorldWideWeb HTTP
+www            80/udp                          # HyperText Transfer Protocol
+link           87/tcp          ttylink
+kerberos       88/tcp          kerberos5 krb5  # Kerberos v5
+kerberos       88/udp          kerberos5 krb5  # Kerberos v5
+supdup         95/tcp
+# 100 - reserved
+hostnames      101/tcp         hostname        # usually from sri-nic
+iso-tsap       102/tcp         tsap            # part of ISODE.
+csnet-ns       105/tcp         cso-ns          # also used by CSO name server
+csnet-ns       105/udp         cso-ns
+# unfortunately the poppassd (Eudora) uses a port which has already
+# been assigned to a different service. We list the poppassd as an
+# alias here. This should work for programs asking for this service.
+# (due to a bug in inetd the 3com-tsmux line is disabled)
+#3com-tsmux    106/tcp         poppassd
+#3com-tsmux    106/udp         poppassd
+rtelnet                107/tcp                         # Remote Telnet
+rtelnet                107/udp
+pop-2          109/tcp         postoffice      # POP version 2
+pop-2          109/udp
+pop-3          110/tcp                         # POP version 3
+pop-3          110/udp
+sunrpc         111/tcp         portmapper      # RPC 4.0 portmapper TCP
+sunrpc         111/udp         portmapper      # RPC 4.0 portmapper UDP
+auth           113/tcp         authentication tap ident
+sftp           115/tcp
+uucp-path      117/tcp
+nntp           119/tcp         readnews untp   # USENET News Transfer Protocol
+ntp            123/tcp
+ntp            123/udp                         # Network Time Protocol
+netbios-ns     137/tcp                         # NETBIOS Name Service
+netbios-ns     137/udp
+netbios-dgm    138/tcp                         # NETBIOS Datagram Service
+netbios-dgm    138/udp
+netbios-ssn    139/tcp                         # NETBIOS session service
+netbios-ssn    139/udp
+imap2          143/tcp                         # Interim Mail Access Proto v2
+imap2          143/udp
+snmp           161/udp                         # Simple Net Mgmt Proto
+snmp-trap      162/udp         snmptrap        # Traps for SNMP
+cmip-man       163/tcp                         # ISO mgmt over IP (CMOT)
+cmip-man       163/udp
+cmip-agent     164/tcp
+cmip-agent     164/udp
+xdmcp          177/tcp                         # X Display Mgr. Control Proto
+xdmcp          177/udp
+nextstep       178/tcp         NeXTStep NextStep       # NeXTStep window
+nextstep       178/udp         NeXTStep NextStep       # server
+bgp            179/tcp                         # Border Gateway Proto.
+bgp            179/udp
+prospero       191/tcp                         # Cliff Neuman's Prospero
+prospero       191/udp
+irc            194/tcp                         # Internet Relay Chat
+irc            194/udp
+smux           199/tcp                         # SNMP Unix Multiplexer
+smux           199/udp
+at-rtmp                201/tcp                         # AppleTalk routing
+at-rtmp                201/udp
+at-nbp         202/tcp                         # AppleTalk name binding
+at-nbp         202/udp
+at-echo                204/tcp                         # AppleTalk echo
+at-echo                204/udp
+at-zis         206/tcp                         # AppleTalk zone information
+at-zis         206/udp
+qmtp           209/tcp                         # The Quick Mail Transfer Protocol
+qmtp           209/udp                         # The Quick Mail Transfer Protocol
+z3950          210/tcp         wais            # NISO Z39.50 database
+z3950          210/udp         wais
+ipx            213/tcp                         # IPX
+ipx            213/udp
+imap3          220/tcp                         # Interactive Mail Access
+imap3          220/udp                         # Protocol v3
+ulistserv      372/tcp                         # UNIX Listserv
+ulistserv      372/udp
+https          443/tcp                         # MCom
+https          443/udp                         # MCom
+snpp           444/tcp                         # Simple Network Paging Protocol
+snpp           444/udp                         # Simple Network Paging Protocol
+saft           487/tcp                         # Simple Asynchronous File Transfer
+saft           487/udp                         # Simple Asynchronous File Transfer
+npmp-local     610/tcp         dqs313_qmaster  # npmp-local / DQS
+npmp-local     610/udp         dqs313_qmaster  # npmp-local / DQS
+npmp-gui       611/tcp         dqs313_execd    # npmp-gui / DQS
+npmp-gui       611/udp         dqs313_execd    # npmp-gui / DQS
+hmmp-ind       612/tcp         dqs313_intercell# HMMP Indication / DQS
+hmmp-ind       612/udp         dqs313_intercell# HMMP Indication / DQS
+#
+# UNIX specific services
+#
+exec           512/tcp
+biff           512/udp         comsat
+login          513/tcp
+who            513/udp         whod
+shell          514/tcp         cmd             # no passwords used
+syslog         514/udp
+printer                515/tcp         spooler         # line printer spooler
+talk           517/udp
+ntalk          518/udp
+route          520/udp         router routed   # RIP
+timed          525/udp         timeserver
+tempo          526/tcp         newdate
+courier                530/tcp         rpc
+conference     531/tcp         chat
+netnews                532/tcp         readnews
+netwall                533/udp                         # -for emergency broadcasts
+uucp           540/tcp         uucpd           # uucp daemon
+afpovertcp     548/tcp                         # AFP over TCP
+afpovertcp     548/udp                         # AFP over TCP
+remotefs       556/tcp         rfs_server rfs  # Brunhoff remote filesystem
+klogin         543/tcp                         # Kerberized `rlogin' (v5)
+kshell         544/tcp         krcmd           # Kerberized `rsh' (v5)
+kerberos-adm   749/tcp                         # Kerberos `kadmin' (v5)
+#
+webster                765/tcp                         # Network dictionary
+webster                765/udp
+#
+# From ``Assigned Numbers'':
+#
+#> The Registered Ports are not controlled by the IANA and on most systems
+#> can be used by ordinary user processes or programs executed by ordinary
+#> users.
+#
+#> Ports are used in the TCP [45,106] to name the ends of logical
+#> connections which carry long term conversations.  For the purpose of
+#> providing services to unknown callers, a service contact port is
+#> defined.  This list specifies the port used by the server process as its
+#> contact port.  While the IANA can not control uses of these ports it
+#> does register or list uses of these ports as a convienence to the
+#> community.
+#
+nfsdstatus     1110/tcp
+nfsd-keepalive 1110/udp
+
+ingreslock     1524/tcp
+ingreslock     1524/udp
+prospero-np    1525/tcp                        # Prospero non-privileged
+prospero-np    1525/udp
+datametrics    1645/tcp        old-radius      # datametrics / old radius entry
+datametrics    1645/udp        old-radius      # datametrics / old radius entry
+sa-msg-port    1646/tcp        old-radacct     # sa-msg-port / old radacct entry
+sa-msg-port    1646/udp        old-radacct     # sa-msg-port / old radacct entry
+radius         1812/tcp                        # Radius
+radius         1812/udp                        # Radius
+radacct                1813/tcp                        # Radius Accounting
+radacct                1813/udp                        # Radius Accounting
+nfsd           2049/tcp        nfs
+nfsd           2049/udp        nfs
+cvspserver     2401/tcp                        # CVS client/server operations
+cvspserver     2401/udp                        # CVS client/server operations
+mysql          3306/tcp                        # MySQL
+mysql          3306/udp                        # MySQL
+rfe            5002/tcp                        # Radio Free Ethernet
+rfe            5002/udp                        # Actually uses UDP only
+cfengine       5308/tcp                        # CFengine
+cfengine       5308/udp                        # CFengine
+bbs            7000/tcp                        # BBS service
+#
+#
+# Kerberos (Project Athena/MIT) services
+# Note that these are for Kerberos v4, and are unofficial.  Sites running
+# v4 should uncomment these and comment out the v5 entries above.
+#
+kerberos4      750/udp         kerberos-iv kdc # Kerberos (server) udp
+kerberos4      750/tcp         kerberos-iv kdc # Kerberos (server) tcp
+kerberos_master        751/udp                         # Kerberos authentication
+kerberos_master        751/tcp                         # Kerberos authentication
+passwd_server  752/udp                         # Kerberos passwd server
+krb_prop       754/tcp                         # Kerberos slave propagation
+krbupdate      760/tcp         kreg            # Kerberos registration
+kpasswd                761/tcp         kpwd            # Kerberos "passwd"
+kpop           1109/tcp                        # Pop with Kerberos
+knetd          2053/tcp                        # Kerberos de-multiplexor
+zephyr-srv     2102/udp                        # Zephyr server
+zephyr-clt     2103/udp                        # Zephyr serv-hm connection
+zephyr-hm      2104/udp                        # Zephyr hostmanager
+eklogin                2105/tcp                        # Kerberos encrypted rlogin
+#
+# Unofficial but necessary (for NetBSD) services
+#
+supfilesrv     871/tcp                         # SUP server
+supfiledbg     1127/tcp                        # SUP debugging
+#
+# Datagram Delivery Protocol services
+#
+rtmp           1/ddp                           # Routing Table Maintenance Protocol
+nbp            2/ddp                           # Name Binding Protocol
+echo           4/ddp                           # AppleTalk Echo Protocol
+zip            6/ddp                           # Zone Information Protocol
+#
+# Services added for the Debian GNU/Linux distribution
+poppassd       106/tcp                         # Eudora
+poppassd       106/udp                         # Eudora
+mailq          174/tcp                         # Mailer transport queue for Zmailer
+mailq          174/tcp                         # Mailer transport queue for Zmailer
+omirr          808/tcp         omirrd          # online mirror
+omirr          808/udp         omirrd          # online mirror
+rmtcfg         1236/tcp                        # Gracilis Packeten remote config server
+xtel           1313/tcp                        # french minitel
+coda_opcons    1355/udp                        # Coda opcons            (Coda fs)
+coda_venus     1363/udp                        # Coda venus             (Coda fs)
+coda_auth      1357/udp                        # Coda auth              (Coda fs)
+coda_udpsrv    1359/udp                        # Coda udpsrv            (Coda fs)
+coda_filesrv   1361/udp                        # Coda filesrv           (Coda fs)
+codacon                1423/tcp        venus.cmu       # Coda Console           (Coda fs)
+coda_aux1      1431/tcp                        # coda auxiliary service (Coda fs)
+coda_aux1      1431/udp                        # coda auxiliary service (Coda fs)
+coda_aux2      1433/tcp                        # coda auxiliary service (Coda fs)
+coda_aux2      1433/udp                        # coda auxiliary service (Coda fs)
+coda_aux3      1435/tcp                        # coda auxiliary service (Coda fs)
+coda_aux3      1435/udp                        # coda auxiliary service (Coda fs)
+cfinger                2003/tcp                        # GNU Finger
+afbackup       2988/tcp                        # Afbackup system
+afbackup       2988/udp                        # Afbackup system
+icp            3130/tcp                        # Internet Cache Protocol (Squid)
+icp            3130/udp                        # Internet Cache Protocol (Squid)
+postgres       5432/tcp                        # POSTGRES
+postgres       5432/udp                        # POSTGRES
+fax            4557/tcp                        # FAX transmission service        (old)
+hylafax                4559/tcp                        # HylaFAX client-server protocol  (new)
+noclog         5354/tcp                        # noclogd with TCP (nocol)
+noclog         5354/udp                        # noclogd with UDP (nocol)
+hostmon                5355/tcp                        # hostmon uses TCP (nocol)
+hostmon                5355/udp                        # hostmon uses TCP (nocol)
+ircd           6667/tcp                        # Internet Relay Chat
+ircd           6667/udp                        # Internet Relay Chat
+webcache       8080/tcp                        # WWW caching service
+webcache       8080/udp                        # WWW caching service
+tproxy         8081/tcp                        # Transparent Proxy
+tproxy         8081/udp                        # Transparent Proxy
+mandelspawn    9359/udp        mandelbrot      # network mandelbrot
+amanda         10080/udp                       # amanda backup services
+amandaidx      10082/tcp                       # amanda backup services
+amidxtape      10083/tcp                       # amanda backup services
+isdnlog                20011/tcp                       # isdn logging system
+isdnlog                20011/udp                       # isdn logging system
+vboxd          20012/tcp                       # voice box system
+vboxd          20012/udp                       # voice box system
+binkp           24554/tcp                      # Binkley
+binkp           24554/udp                      # Binkley
+asp            27374/tcp                       # Address Search Protocol
+asp            27374/udp                       # Address Search Protocol
+tfido           60177/tcp                      # Ifmail
+tfido           60177/udp                      # Ifmail
+fido            60179/tcp                      # Ifmail
+fido            60179/udp                      # Ifmail
+
+# Local services
+
diff --git a/target/default/target_skeleton/etc/shadow b/target/default/target_skeleton/etc/shadow
new file mode 100644 (file)
index 0000000..4941a1a
--- /dev/null
@@ -0,0 +1,12 @@
+root::10933:0:99999:7:::
+bin:*:10933:0:99999:7:::
+daemon:*:10933:0:99999:7:::
+adm:*:10933:0:99999:7:::
+lp:*:10933:0:99999:7:::
+sync:*:10933:0:99999:7:::
+shutdown:*:10933:0:99999:7:::
+halt:*:10933:0:99999:7:::
+uucp:*:10933:0:99999:7:::
+operator:*:10933:0:99999:7:::
+nobody:*:10933:0:99999:7:::
+default::10933:0:99999:7:::
diff --git a/target/default/target_skeleton/root/.bash_history b/target/default/target_skeleton/root/.bash_history
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/target/default/target_skeleton/root/.bash_logout b/target/default/target_skeleton/root/.bash_logout
new file mode 100644 (file)
index 0000000..77ef1f9
--- /dev/null
@@ -0,0 +1,7 @@
+# ~/.bash_logout: executed by bash(1) when login shell exits.
+
+# when leaving the console clear the screen to increase privacy
+
+case "`tty`" in
+    /dev/tty[0-9]*) clear
+esac
diff --git a/target/default/target_skeleton/root/.bash_profile b/target/default/target_skeleton/root/.bash_profile
new file mode 100644 (file)
index 0000000..27bf149
--- /dev/null
@@ -0,0 +1,15 @@
+# .bash_profile
+
+export PATH=\
+/bin:\
+/sbin:\
+/usr/bin:\
+/usr/sbin:\
+/usr/bin/X11:\
+/usr/local/bin
+
+umask 022
+
+if [ -f ~/.bashrc ]; then
+    source ~/.bashrc
+fi
diff --git a/target/default/target_skeleton/root/.bashrc b/target/default/target_skeleton/root/.bashrc
new file mode 100644 (file)
index 0000000..d13c8f9
--- /dev/null
@@ -0,0 +1,48 @@
+# ~/.bashrc: executed by bash(1) for non-login interactive shells.
+
+export PATH=\
+/bin:\
+/sbin:\
+/usr/bin:\
+/usr/sbin:\
+/usr/bin/X11:\
+/usr/local/bin
+
+# If running interactively, then:
+if [ "$PS1" ]; then
+
+    if [ "$BASH" ]; then
+       export PS1="[\u@\h \W]\\$ "
+    else
+      if [ "`id -u`" -eq 0 ]; then 
+       export PS1='# '
+      else
+       export PS1='$ '
+      fi
+    fi
+
+    export USER=`id -un`
+    export LOGNAME=$USER
+    export HOSTNAME=`/bin/hostname`
+    export HISTSIZE=1000
+    export HISTFILESIZE=1000
+    export PAGER='/bin/more '
+    export EDITOR='/bin/vi'
+    export INPUTRC=/etc/inputrc
+    export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
+    export LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:';
+
+    ### Some aliases
+    alias ps2='ps facux '
+    alias ps1='ps faxo "%U %t %p %a" '
+    alias af='ps af'
+    alias cls='clear'
+    alias ll='/bin/ls --color=tty -laFh'
+    alias ls='/bin/ls --color=tty -F'
+    alias df='df -h'
+    alias indent='indent -bad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0 -cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs -npsl -nsc -nsob -nss -ts4 '
+    #alias bc='bc -l'
+    alias minicom='minicom -c on'
+    alias calc='calc -Cd '
+    alias bc='calc -Cd '
+fi;
diff --git a/target/default/target_skeleton/usr/share/terminfo/a/ansi b/target/default/target_skeleton/usr/share/terminfo/a/ansi
new file mode 100644 (file)
index 0000000..3884fae
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/a/ansi differ
diff --git a/target/default/target_skeleton/usr/share/terminfo/d/dumb b/target/default/target_skeleton/usr/share/terminfo/d/dumb
new file mode 100644 (file)
index 0000000..fd4091a
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/d/dumb differ
diff --git a/target/default/target_skeleton/usr/share/terminfo/l/linux b/target/default/target_skeleton/usr/share/terminfo/l/linux
new file mode 100644 (file)
index 0000000..7f5844c
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/l/linux differ
diff --git a/target/default/target_skeleton/usr/share/terminfo/r/rxvt b/target/default/target_skeleton/usr/share/terminfo/r/rxvt
new file mode 100644 (file)
index 0000000..359465f
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/r/rxvt differ
diff --git a/target/default/target_skeleton/usr/share/terminfo/s/screen b/target/default/target_skeleton/usr/share/terminfo/s/screen
new file mode 100644 (file)
index 0000000..b837750
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/s/screen differ
diff --git a/target/default/target_skeleton/usr/share/terminfo/s/screen-w b/target/default/target_skeleton/usr/share/terminfo/s/screen-w
new file mode 100644 (file)
index 0000000..8533897
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/s/screen-w differ
diff --git a/target/default/target_skeleton/usr/share/terminfo/s/sun b/target/default/target_skeleton/usr/share/terminfo/s/sun
new file mode 100644 (file)
index 0000000..77aaa3a
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/s/sun differ
diff --git a/target/default/target_skeleton/usr/share/terminfo/v/vt100 b/target/default/target_skeleton/usr/share/terminfo/v/vt100
new file mode 100644 (file)
index 0000000..647ca5c
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/v/vt100 differ
diff --git a/target/default/target_skeleton/usr/share/terminfo/v/vt220 b/target/default/target_skeleton/usr/share/terminfo/v/vt220
new file mode 100644 (file)
index 0000000..f10553a
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/v/vt220 differ
diff --git a/target/default/target_skeleton/usr/share/terminfo/v/vt52 b/target/default/target_skeleton/usr/share/terminfo/v/vt52
new file mode 100644 (file)
index 0000000..61a8ad0
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/v/vt52 differ
diff --git a/target/default/target_skeleton/usr/share/terminfo/x/xterm b/target/default/target_skeleton/usr/share/terminfo/x/xterm
new file mode 100644 (file)
index 0000000..310a7fb
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/x/xterm differ
diff --git a/target/default/target_skeleton/usr/share/terminfo/x/xterm-xfree86 b/target/default/target_skeleton/usr/share/terminfo/x/xterm-xfree86
new file mode 100644 (file)
index 0000000..e4d9966
Binary files /dev/null and b/target/default/target_skeleton/usr/share/terminfo/x/xterm-xfree86 differ
diff --git a/target/default/target_skeleton/usr/share/udhcpc/default.script b/target/default/target_skeleton/usr/share/udhcpc/default.script
new file mode 100755 (executable)
index 0000000..a52a7f8
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# udhcpc script edited by Tim Riker <Tim@Rikers.org>
+
+[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
+
+RESOLV_CONF="/etc/resolv.conf"
+[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
+[ -n "$subnet" ] && NETMASK="netmask $subnet"
+
+case "$1" in
+       deconfig)
+               /sbin/ifconfig $interface 0.0.0.0
+               ;;
+
+       renew|bound)
+               /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
+
+               if [ -n "$router" ] ; then
+                       echo "deleting routers"
+                       while route del default gw 0.0.0.0 dev $interface ; do
+                               :
+                       done
+
+                       for i in $router ; do
+                               route add default gw $i dev $interface
+                       done
+               fi
+
+               echo -n > $RESOLV_CONF
+               [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
+               for i in $dns ; do
+                       echo adding dns $i
+                       echo nameserver $i >> $RESOLV_CONF
+               done
+               ;;
+esac
+
+exit 0
diff --git a/target/ext2/ext2root.mk b/target/ext2/ext2root.mk
new file mode 100644 (file)
index 0000000..ff28771
--- /dev/null
@@ -0,0 +1,55 @@
+#############################################################
+#
+# genext2fs to build to target ext2 filesystems
+#
+#############################################################
+GENEXT2_DIR=$(BUILD_DIR)/genext2fs-1.3
+GENEXT2_SOURCE=genext2fs_1.3.orig.tar.gz
+GENEXT2_SITE=http://ftp.debian.org/debian/pool/main/g/genext2fs
+GENEXT2_PATCH=$(SOURCE_DIR)/genext2fs.patch
+
+$(DL_DIR)/$(GENEXT2_SOURCE):
+       $(WGET) -P $(DL_DIR) $(GENEXT2_SITE)/$(GENEXT2_SOURCE)
+
+$(GENEXT2_DIR): $(DL_DIR)/$(GENEXT2_SOURCE) $(GENEXT2_PATCH)
+       zcat $(DL_DIR)/$(GENEXT2_SOURCE) | tar -C $(BUILD_DIR) -xvf -
+       mv $(GENEXT2_DIR).orig $(GENEXT2_DIR)
+       cat $(GENEXT2_PATCH) | patch -p1 -d $(GENEXT2_DIR)
+
+$(GENEXT2_DIR)/genext2fs: $(GENEXT2_DIR)
+       $(MAKE) CFLAGS="-Wall -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \
+               -D_FILE_OFFSET_BITS=64" -C $(GENEXT2_DIR);
+       touch -c $(GENEXT2_DIR)/genext2fs
+
+genext2fs: $(GENEXT2_DIR)/genext2fs
+
+
+
+#############################################################
+#
+# Build the ext2 root filesystem image
+#
+#############################################################
+
+# How much KB we want to add to the calculated size for slack space
+GENEXT2_REALSIZE=$(subst total,, $(shell LANG=C du $(TARGET_DIR) -s -c -k | grep total ))
+GENEXT2_ADDTOROOTSIZE=$(shell if [ $(GENEXT2_REALSIZE) -ge 20000 ] ; then echo 16384; else echo 16; fi)
+GENEXT2_SIZE=$(shell expr $(GENEXT2_REALSIZE) + $(GENEXT2_ADDTOROOTSIZE) + 200)
+# We currently add about 400 device nodes, so add that into the total
+GENEXT2_INODES=$(shell expr $(shell find $(TARGET_DIR) | wc -l) + 400)
+#GENEXT2_SIZE=100000
+
+ext2root: genext2fs
+       #-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true;
+       -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
+       $(GENEXT2_DIR)/genext2fs -i $(GENEXT2_INODES) -b $(GENEXT2_SIZE) \
+               -d $(TARGET_DIR) -q -D $(SOURCE_DIR)/device_table.txt $(IMAGE)
+
+ext2root-source: $(DL_DIR)/$(GENEXT2_SOURCE)
+
+ext2root-clean:
+       -$(MAKE) -C $(GENEXT2_DIR) clean
+
+ext2root-dirclean:
+       rm -rf $(GENEXT2_DIR)
+
diff --git a/target/ext2/genext2fs.patch b/target/ext2/genext2fs.patch
new file mode 100644 (file)
index 0000000..73e5ce0
--- /dev/null
@@ -0,0 +1,2457 @@
+diff -urN genext2fs-1.3.orig/Makefile genext2fs-1.3/Makefile
+--- genext2fs-1.3.orig/Makefile        1969-12-31 17:00:00.000000000 -0700
++++ genext2fs-1.3/Makefile     2003-04-21 01:41:42.000000000 -0600
+@@ -0,0 +1,46 @@
++CC=gcc
++CFLAGS=-Wall -O0 -g
++
++SRC=genext2fs.c
++OBJS=$(patsubst %.c,%.o, $(SRC))
++
++all: genext2fs
++INSTALL=install
++
++genext2fs: $(OBJS)
++      $(CC) $(CFLAGS) -o $@ $(OBJS) -o $@
++
++$(OBJS): %.o : %.c
++      $(CC) $(CFLAGS) -c $< -o $@
++
++$(OBJS): Makefile
++
++install:
++      $(INSTALL) -d $(DESTDIR)/usr/bin/
++      $(INSTALL) -m 755 genext2fs $(DESTDIR)/usr/bin/
++      $(INSTALL) -d $(DESTDIR)/usr/share/man/man8/
++      $(INSTALL) -m 644 genext2fs.8 $(DESTDIR)/usr/share/man/man8/
++
++clean:
++      rm -rf *.o *.a core genext2fs
++      rm -rf test ext2.img
++
++check: all
++      mkdir -p test
++      dd if=/dev/zero of=test/zero count=1
++      ./genext2fs -b 4096 -d test ext2.img
++      
++      md5=`md5sum ext2.img | cut -f 1 -d " "`; \
++      if [ "$$md5" != "89471302d95f96a76fbb2cff98182cde" ] ; then \
++              echo "test failed."; \
++      else \
++              echo "test succeeded."; \
++      fi
++      
++# test genext2fs by creating the image and comparing checksums
++test: all
++      sh ./test.sh
++
++# test genext2fs by actually mounting the created image.
++test-mount: all
++      sudo sh ./test-mount.sh
+diff -urN genext2fs-1.3.orig/debian/changelog genext2fs-1.3/debian/changelog
+--- genext2fs-1.3.orig/debian/changelog        1969-12-31 17:00:00.000000000 -0700
++++ genext2fs-1.3/debian/changelog     2003-04-21 01:41:42.000000000 -0600
+@@ -0,0 +1,17 @@
++genext2fs (1.3-2) unstable; urgency=low
++
++  * apply fix from upstream cvs that appears to fix endian bug 
++    (closes: #122411)
++  * mention filesystem size limit in manpage (closes: #122729)
++  * mention that hard links are not supported in manpage 
++    (closes: #155464)
++  * add sanity check at the end of the build
++
++ -- David Kimdon <dwhedon@debian.org>  Fri,  8 Mar 2002 23:17:36 -0800
++
++genext2fs (1.3-1) unstable; urgency=low
++
++  * Initial Release. (closes: #105263)
++
++ -- David Kimdon <dwhedon@debian.org>  Sat, 14 Jul 2001 13:24:49 -0700
++
+diff -urN genext2fs-1.3.orig/debian/control genext2fs-1.3/debian/control
+--- genext2fs-1.3.orig/debian/control  1969-12-31 17:00:00.000000000 -0700
++++ genext2fs-1.3/debian/control       2003-04-21 01:41:42.000000000 -0600
+@@ -0,0 +1,19 @@
++Source: genext2fs
++Section: admin
++Priority: optional
++Maintainer: David Kimdon <dwhedon@debian.org>
++Build-Depends: debhelper (>> 3.0.0)
++Standards-Version: 3.5.2
++
++Package: genext2fs
++Architecture: any
++Depends: ${shlibs:Depends}
++Description: ext2 filesystem generator for embedded systems
++ `genext2fs' is meant to generate an ext2 filesystem
++ as a normal (non-root) user. It doesn't require you to mount
++ the image file to copy files on it. It doesn't even require
++ you to be the superuser to make device nodes.
++ .
++ Warning ! `genext2fs' has been designed for embedded
++ systems. As such, it will generate a filesystem for single-user
++ usage: all files/directories/etc... will belong to UID/GID 0
+diff -urN genext2fs-1.3.orig/debian/copyright genext2fs-1.3/debian/copyright
+--- genext2fs-1.3.orig/debian/copyright        1969-12-31 17:00:00.000000000 -0700
++++ genext2fs-1.3/debian/copyright     2003-04-21 01:41:42.000000000 -0600
+@@ -0,0 +1,15 @@
++This package was debianized by David Kimdon <dwhedon@debian.org> on
++Sat, 14 Jul 2001 13:24:49 -0700.
++
++It was downloaded from http://freshmeat.net/projects/genext2fs/
++Upstream Author(s):   Xavier Bestel <xbestel@aplio.fr>
++
++Copyright (C) 2000 Xavier Bestel <xavier.bestel@free.fr>
++
++This program is free software; you can redistribute it and/or
++modify it under the terms of the GNU General Public License
++as published by the Free Software Foundation; version
++2 of the License.
++
++On Debian systems, the complete text of the GNU General Public
++License can be found in /usr/share/common-licenses/GPL file.
+diff -urN genext2fs-1.3.orig/debian/rules genext2fs-1.3/debian/rules
+--- genext2fs-1.3.orig/debian/rules    1969-12-31 17:00:00.000000000 -0700
++++ genext2fs-1.3/debian/rules 2003-04-21 01:41:42.000000000 -0600
+@@ -0,0 +1,70 @@
++#!/usr/bin/make -f
++# Sample debian/rules that uses debhelper.
++# GNU copyright 1997 to 1999 by Joey Hess.
++
++# Uncomment this to turn on verbose mode.
++#export DH_VERBOSE=1
++
++# This is the debhelper compatability version to use.
++export DH_COMPAT=2
++
++configure: configure-stamp
++configure-stamp:
++      dh_testdir
++      # Add here commands to configure the package.
++      # ./configure --prefix=/usr --mandir=/usr/share/man/
++
++      touch configure-stamp
++
++build: configure-stamp build-stamp
++build-stamp:
++      dh_testdir
++
++      # Add here commands to compile the package.
++      $(MAKE)
++      $(MAKE) check
++
++      touch build-stamp
++
++clean:
++      dh_testdir
++      dh_testroot
++      rm -f build-stamp configure-stamp
++
++      # Add here commands to clean up after the build process.
++      -$(MAKE) clean
++
++      dh_clean
++
++install: build
++      dh_testdir
++      dh_testroot
++      dh_clean -k
++      dh_installdirs
++
++      # Add here commands to install the package into debian/genext2fs.
++      $(MAKE) install DESTDIR=`pwd`/debian/genext2fs
++
++
++# Build architecture-independent files here.
++binary-indep: build install
++# We have nothing to do by default.
++
++# Build architecture-dependent files here.
++binary-arch: build install
++      dh_testdir
++      dh_testroot
++      dh_installdocs
++      dh_installchangelogs 
++      dh_link
++      dh_strip
++      dh_compress
++      dh_fixperms
++      dh_installdeb
++      dh_shlibdeps
++      dh_gencontrol
++      dh_md5sums
++      dh_builddeb
++
++binary: binary-indep binary-arch
++.PHONY: build clean binary-indep binary-arch binary install configure
+diff -urN genext2fs-1.3.orig/dev.txt genext2fs-1.3/dev.txt
+--- genext2fs-1.3.orig/dev.txt 2000-09-28 09:03:19.000000000 -0600
++++ genext2fs-1.3/dev.txt      1969-12-31 17:00:00.000000000 -0700
+@@ -1,94 +0,0 @@
+-drwx          /dev
+-crw-  10,190  /dev/lcd
+-crw-  10,191  /dev/splc781
+-crw-  4,0     /dev/console
+-crw-  5,64    /dev/cua0
+-crw-  5,65    /dev/cua1
+-crw-  5,66    /dev/cua2
+-crw-  5,70    /dev/cua6
+-crw-  5,71    /dev/cua7
+-crw-  5,72    /dev/cua8
+-crw-  5,73    /dev/cua9
+-crw-  29,0    /dev/fb0
+-crw-  29,32   /dev/fb1
+-crw-  1,2     /dev/kmem
+-crw-  1,1     /dev/mem
+-crw-  1,3     /dev/null
+-crw-  2,2     /dev/ptyp2
+-crw-  2,3     /dev/ptyp3
+-crw-  2,5     /dev/ptyp5
+-crw-  2,4     /dev/ptyp4
+-crw-  10,178  /dev/triokb
+-crw-  2,0     /dev/ptyp0
+-crw-  2,6     /dev/ptyp6
+-crw-  2,7     /dev/ptyp7
+-crw-  2,8     /dev/ptyp8
+-crw-  2,9     /dev/ptyp9
+-crw-  2,10    /dev/ptypa
+-crw-  2,11    /dev/ptypb
+-crw-  2,12    /dev/ptypc
+-crw-  2,13    /dev/ptypd
+-crw-  2,14    /dev/ptype
+-crw-  2,15    /dev/ptypf
+-brw-  1,0     /dev/ram0
+-brw-  1,1     /dev/ram1
+-brw-  1,2     /dev/ram2
+-brw-  1,3     /dev/ram3
+-br--  31,0    /dev/rom0
+-brw-  31,1    /dev/rom1
+-brw-  31,2    /dev/rom2
+-brw-  31,3    /dev/rom3
+-crw-  5,0     /dev/tty
+-crw-  4,0     /dev/tty0
+-crwx  4,1     /dev/tty1
+-crwx  4,2     /dev/tty2
+-crwx  4,3     /dev/tty3
+-crwx  4,4     /dev/tty4
+-crw-  4,5     /dev/tty5
+-crwx  4,6     /dev/tty6
+-crw-  4,7     /dev/tty7
+-crw-  4,8     /dev/tty8
+-crw-  4,9     /dev/tty9
+-crw-  4,64    /dev/ttyS0
+-crw-  4,65    /dev/ttyS1
+-crw-  4,66    /dev/ttyS2
+-crw-  4,67    /dev/ttyS3
+-crw-  4,68    /dev/ttyS4
+-crw-  4,69    /dev/ttyS5
+-crw-  4,70    /dev/ttyS6
+-crw-  4,71    /dev/ttyS7
+-crw-  4,72    /dev/ttyS8
+-crw-  4,73    /dev/ttyS9
+-crw-  3,0     /dev/ttyp0
+-crw-  3,1     /dev/ttyp1
+-crw-  3,2     /dev/ttyp2
+-crw-  3,3     /dev/ttyp3
+-crw-  3,4     /dev/ttyp4
+-crw-  3,5     /dev/ttyp5
+-crw-  3,6     /dev/ttyp6
+-crw-  3,7     /dev/ttyp7
+-crw-  3,8     /dev/ttyp8
+-crw-  3,9     /dev/ttyp9
+-crw-  3,10    /dev/ttypa
+-crw-  3,11    /dev/ttypb
+-crw-  3,12    /dev/ttypc
+-crw-  3,13    /dev/ttypd
+-crw-  3,14    /dev/ttype
+-crw-  3,15    /dev/ttypf
+-crw-  1,5     /dev/zero
+-crwx  10,111  /dev/dtedrv
+-crwx  4,110   /dev/ttyM
+-crw-  77,1    /dev/tssnd
+-crw-  77,2    /dev/tstone
+-crw-  2,1     /dev/ptyp1
+-crwx  10,180  /dev/triohook
+-crw-  90,0    /dev/mtd0
+-brw-  44,0    /dev/ftl0
+-crw-  10,175  /dev/tporta
+-crw-  10,176  /dev/tportb
+-crwx  10,100  /dev/softmodem
+-crwx  10,101  /dev/softmodem_signals
+-crwx  10,181  /dev/triovoice
+-crw-  5,67    /dev/cua3
+-crw-  5,68    /dev/cua4
+-crw-  5,69    /dev/cua5
+diff -urN genext2fs-1.3.orig/device_table.txt genext2fs-1.3/device_table.txt
+--- genext2fs-1.3.orig/device_table.txt        1969-12-31 17:00:00.000000000 -0700
++++ genext2fs-1.3/device_table.txt     2003-04-21 01:41:42.000000000 -0600
+@@ -0,0 +1,129 @@
++# When building a target filesystem, it is desirable to not have to
++# become root and then run 'mknod' a thousand times.  Using a device 
++# table you can create device nodes and directories "on the fly".
++#
++# This is a sample device table file for use with genext2fs.  You can
++# do all sorts of interesting things with a device table file.  For
++# example, if you want to adjust the permissions on a particular file
++# you can just add an entry like:
++#   /sbin/foobar        f       2755    0       0       -       -       -       -       -
++# and (assuming the file /sbin/foobar exists) it will be made setuid
++# root (regardless of what its permissions are on the host filesystem.
++# Furthermore, you can use a single table entry to create a many device
++# minors.  For example, if I wanted to create /dev/hda and /dev/hda[0-15]
++# I could just use the following two table entries:
++#   /dev/hda    b       640     0       0       3       0       0       0       -
++#   /dev/hda    b       640     0       0       3       1       1       1       15
++# 
++# Device table entries take the form of:
++# <name>    <type>      <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
++# where name is the file name,  type can be one of: 
++#       f       A regular file
++#       d       Directory
++#       c       Character special device file
++#       b       Block special device file
++#       p       Fifo (named pipe)
++# uid is the user id for the target file, gid is the group id for the
++# target file.  The rest of the entries (major, minor, etc) apply only 
++# to device special files.
++
++# Have fun
++# -Erik Andersen <andersen@codepoet.org>
++#
++
++#<name>               <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
++/dev          d       755     0       0       -       -       -       -       -
++/dev/mem      c       640     0       0       1       1       0       0       -
++/dev/kmem     c       640     0       0       1       2       0       0       -
++/dev/null     c       640     0       0       1       3       0       0       -
++/dev/zero     c       640     0       0       1       5       0       0       -
++/dev/random   c       640     0       0       1       8       0       0       -
++/dev/urandom  c       640     0       0       1       9       0       0       -
++/dev/tty      c       666     0       0       5       0       0       0       -
++/dev/tty      c       666     0       0       4       0       0       1       6
++/dev/console  c       640     0       0       5       1       0       0       -
++/dev/ram      b       640     0       0       1       1       0       0       -
++/dev/ram      b       640     0       0       1       0       0       1       4
++/dev/loop     b       640     0       0       7       0       0       1       2
++/dev/ptmx     c       666     0       0       5       2       0       0       -
++#/dev/ttyS    c       640     0       0       4       64      0       1       4
++#/dev/psaux   c       640     0       0       10      1       0       0       -
++#/dev/rtc     c       640     0       0       10      135     0       0       -
++
++# Adjust permissions on some normal files
++#/etc/shadow  f       600     0       0       -       -       -       -       -
++#/bin/tinylogin       f       4755    0       0       -       -       -       -       -
++
++# User-mode Linux stuff
++/dev/ubda     b       640     0       0       98      0       0       0       -
++/dev/ubda     b       640     0       0       98      1       1       1       15
++
++# IDE Devices
++/dev/hda      b       640     0       0       3       0       0       0       -
++/dev/hda      b       640     0       0       3       1       1       1       15
++/dev/hdb      b       640     0       0       3       64      0       0       -
++/dev/hdb      b       640     0       0       3       65      1       1       15
++#/dev/hdc     b       640     0       0       22      0       0       0       -
++#/dev/hdc     b       640     0       0       22      1       1       1       15
++#/dev/hdd     b       640     0       0       22      64      0       0       -
++#/dev/hdd     b       640     0       0       22      65      1       1       15
++#/dev/hde     b       640     0       0       33      0       0       0       -
++#/dev/hde     b       640     0       0       33      1       1       1       15
++#/dev/hdf     b       640     0       0       33      64      0       0       -
++#/dev/hdf     b       640     0       0       33      65      1       1       15
++#/dev/hdg     b       640     0       0       34      0       0       0       -
++#/dev/hdg     b       640     0       0       34      1       1       1       15
++#/dev/hdh     b       640     0       0       34      64      0       0       -
++#/dev/hdh     b       640     0       0       34      65      1       1       15
++
++# SCSI Devices
++#/dev/sda     b       640     0       0       8       0       0       0       -
++#/dev/sda     b       640     0       0       8       1       1       1       15
++#/dev/sdb     b       640     0       0       8       16      0       0       -
++#/dev/sdb     b       640     0       0       8       17      1       1       15
++#/dev/sdc     b       640     0       0       8       32      0       0       -
++#/dev/sdc     b       640     0       0       8       33      1       1       15
++#/dev/sdd     b       640     0       0       8       48      0       0       -
++#/dev/sdd     b       640     0       0       8       49      1       1       15
++#/dev/sde     b       640     0       0       8       64      0       0       -
++#/dev/sde     b       640     0       0       8       65      1       1       15
++#/dev/sdf     b       640     0       0       8       80      0       0       -
++#/dev/sdf     b       640     0       0       8       81      1       1       15
++#/dev/sdg     b       640     0       0       8       96      0       0       -
++#/dev/sdg     b       640     0       0       8       97      1       1       15
++#/dev/sdh     b       640     0       0       8       112     0       0       -
++#/dev/sdh     b       640     0       0       8       113     1       1       15
++#/dev/sg              c       640     0       0       21      0       0       1       15
++#/dev/scd     b       640     0       0       11      0       0       1       15
++#/dev/st              c       640     0       0       9       0       0       1       8
++#/dev/nst     c       640     0       0       9       128     0       1       8
++#/dev/st      c       640     0       0       9       32      1       1       4
++#/dev/st      c       640     0       0       9       64      1       1       4
++#/dev/st      c       640     0       0       9       96      1       1       4
++
++# Floppy disk devices
++#/dev/fd              b       640     0       0       2       0       0       1       2
++#/dev/fd0d360 b       640     0       0       2       4       0       0       -
++#/dev/fd1d360 b       640     0       0       2       5       0       0       -
++#/dev/fd0h1200        b       640     0       0       2       8       0       0       -
++#/dev/fd1h1200        b       640     0       0       2       9       0       0       -
++#/dev/fd0u1440        b       640     0       0       2       28      0       0       -
++#/dev/fd1u1440        b       640     0       0       2       29      0       0       -
++#/dev/fd0u2880        b       640     0       0       2       32      0       0       -
++#/dev/fd1u2880        b       640     0       0       2       33      0       0       -
++
++# All the proprietary cdrom devices in the world
++#/dev/aztcd   b       640     0       0       29      0       0       0       -
++#/dev/bpcd    b       640     0       0       41      0       0       0       -
++#/dev/capi20  c       640     0       0       68      0       0       1       2
++#/dev/cdu31a  b       640     0       0       15      0       0       0       -
++#/dev/cdu535  b       640     0       0       24      0       0       0       -
++#/dev/cm206cd b       640     0       0       32      0       0       0       -
++#/dev/sjcd    b       640     0       0       18      0       0       0       -
++#/dev/sonycd  b       640     0       0       15      0       0       0       -
++#/dev/gscd    b       640     0       0       16      0       0       0       -
++#/dev/sbpcd   b       640     0       0       25      0       0       0       -
++#/dev/sbpcd   b       640     0       0       25      0       0       1       4
++#/dev/mcd     b       640     0       0       23      0       0       0       -
++#/dev/optcd   b       640     0       0       17      0       0       0       -
++
+diff -urN genext2fs-1.3.orig/genext2fs.8 genext2fs-1.3/genext2fs.8
+--- genext2fs-1.3.orig/genext2fs.8     1969-12-31 17:00:00.000000000 -0700
++++ genext2fs-1.3/genext2fs.8  2003-04-21 01:41:42.000000000 -0600
+@@ -0,0 +1,125 @@
++.\"                                      Hey, EMACS: -*- nroff -*-
++.\" First parameter, NAME, should be all caps
++.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
++.\" other parameters are allowed: see man(7), man(1)
++.TH GENEXT2FS 8 "July 14, 2001"
++.\" Please adjust this date whenever revising the manpage.
++.\"
++.\" Some roff macros, for reference:
++.\" .nh        disable hyphenation
++.\" .hy        enable hyphenation
++.\" .ad l      left justify
++.\" .ad b      justify to both left and right margins
++.\" .nf        disable filling
++.\" .fi        enable filling
++.\" .br        insert line break
++.\" .sp <n>    insert n+1 empty lines
++.\" for manpage-specific macros, see man(7)
++.SH NAME
++genext2fs \- ext2 filesystem generator for embedded systems
++.SH SYNOPSIS
++.B genext2fs
++.RI [ options ]  " image"
++.SH DESCRIPTION
++\fBgenext2fs\fP generates an ext2 filesystem
++as a normal (non-root) user. It doesn't require you to mount
++the image file to copy files on it. It doesn't even require
++you to be the superuser to make device nodes.
++.SH OPTIONS
++.TP
++.BI -x \ image
++Use this image as a starting point
++.TP
++.BI -d \ directory
++Add this directory as source
++.TP
++.BI -f \ FILE
++.TP
++.BI -D \ FILE
++Uses the named FILE as a device table file, to create device 
++nodes and directories "on the fly".
++.TP
++.BI -b \ blocks
++Size in blocks
++.TP
++.BI -i \ inodes
++Number of inodes
++.TP
++.BI -r \ reserved
++Number of reserved blocks
++.TP
++.BI -g \ path
++Generate a block map file for this path
++.TP
++.BI -e \ value
++Fill unallocated blocks with value
++.TP
++.BI -z
++Make files with holes
++.TP
++.BI -U
++Squash owners making all files be owned by root
++.TP
++.BI -P
++Squash permissions on all files
++.TP
++.BI -q
++Squash permissions and owners (same as -P -U)
++.TP
++.BI -v
++Print resulting filesystem structure
++.TP
++.BI -h
++Display help
++.TP
++.SH EXAMPLES
++
++.EX
++.B
++ genext2fs -b 1440 -d src /dev/fd0
++.EE
++
++All files in the 
++.I src
++directory will be written to 
++.B /dev/fd0
++as a new ext2 filesystem image. You can then mount the floppy as
++usual.
++
++.EX
++.B
++ genext2fs -b 1024 -d src -D device_table.txt flashdisk.img
++.EE
++
++This example builds a filesystem from all the files in 
++.I src
++, then device nodes are created based on the content the device_table file
++.I dev.txt.
++An example device file follows:
++
++.EX
++ #<name>              <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
++ /dev         d       755     0       0       -       -       -       -       -
++ /dev/mem     c       640     0       0       1       1       0       0       -
++ /dev/tty     c       666     0       0       5       0       0       0       -
++ /dev/tty     c       666     0       0       4       0       0       1       6
++ /dev/loop    b       640     0       0       7       0       0       1       2
++ /dev/hda     b       640     0       0       3       0       0       0       -
++ /dev/hda     b       640     0       0       3       1       1       1       16
++.EE
++
++This device table creates the /dev directory, a character device
++node /dev/mem (major 1, minor 1), it also creates /dev/tty, 
++/dev/tty[0-5], /dev/loop[0-1], /dev/hda, and /dev/hda0 to /dev/hda15
++.SH BUGS
++\fBgenext2fs\fP does not support hard links.  Hard links present in the input
++tree will be represented as separate files in the ext2 image.
++
++.SH SEE ALSO
++.BR mkfs (8),
++.BR genromfs (8),
++.BR mkisofs (8).
++.br
++.SH AUTHOR
++This manual page was written by David Kimdon <dwhedon@debian.org>,
++for the Debian GNU/Linux system (but may be used by others).
+diff -urN genext2fs-1.3.orig/genext2fs.c genext2fs-1.3/genext2fs.c
+--- genext2fs-1.3.orig/genext2fs.c     2001-06-18 02:11:32.000000000 -0600
++++ genext2fs-1.3/genext2fs.c  2003-04-21 01:48:35.000000000 -0600
+@@ -1,3 +1,4 @@
++/* vi: set sw=8 ts=8: */
+ // genext2fs.c
+ //
+ // ext2 filesystem generator for embedded systems
+@@ -26,6 +27,22 @@
+ //                    Bugfix: getcwd values for Solaris       xavier.gueguen@col.bsf.alcatel.fr
+ //                    Bugfix: ANSI scanf for non-GNU C        xavier.gueguen@col.bsf.alcatel.fr
+ //    28 Jun 2001     Bugfix: getcwd differs for Solaris/GNU  mike@sowbug.com
++//    23 Mar 2002     Bugfix: test for IFCHR or IFBLK was flawed
++//    10 Oct 2002     Added comments,makefile targets,        vsundar@ixiacom.com    
++//                    endianess swap assert check.  
++//                    Copyright (C) 2002 Ixia communications
++//    12 Oct 2002     Added support for triple indirection    vsundar@ixiacom.com
++//                    Copyright (C) 2002 Ixia communications
++//    14 Oct 2002     Added support for groups                vsundar@ixiacom.com
++//                    Copyright (C) 2002 Ixia communications
++//    5 Jan 2003      Bugfixes: reserved inodes should be set vsundar@usc.edu
++//                    only in the first group; directory names
++//                    need to be null padded at the end; and 
++//                    number of blocks per group should be a 
++//                    multiple of 8. Updated md5 values. 
++//    6 Jan 2003      Erik Andersen <andersee@debian.org> added
++//                        mkfs.jffs2 compatible device table support,
++//                        along with -q, -P, -U
+ // `genext2fs' is a mean to generate an ext2 filesystem
+@@ -33,10 +50,6 @@
+ // the image file to copy files on it. It doesn't even require
+ // you to be the superuser to make device nodes.
+ //
+-// Warning ! `genext2fs' has been designed for embedded
+-// systems. As such, it will generate a filesystem for single-user
+-// usage: all files/directories/etc... will belong to UID/GID 0
+-//
+ // Example usage:
+ //
+ // # genext2fs -b 1440 -d srcdir /dev/fd0
+@@ -45,21 +58,15 @@
+ // a new ext2 filesystem image. You can then mount the floppy as
+ // usual.
+ //
+-// # genext2fs -b 1024 -d builddir -f devices.txt flashdisk.img
++// # genext2fs -b 1024 -d builddir -D device_table.txt flashdisk.img
+ //
+ // This one would build a filesystem from all the files in builddir,
+-// then would read a devices list and make apropriate nodes. The
+-// format for the device list is:
+-//
+-// drwx            /dev
+-// crw-    10,190  /dev/lcd
+-// brw-    1,0     /dev/ram0
+-// 
+-// This device list builds the /dev directory, a character device
+-// node /dev/lcd (major 10, minor 190) and a block device node
+-// /dev/ram0 (major 1, minor 0)
++// then would read the device_table.txt file and make apropriate nodes.
++// The format for the device table file is covered in detail in the sample
++// device_table.txt file provided with the genext2fs source.
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -67,6 +74,11 @@
+ #include <stdarg.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
++#include <assert.h>
++#include <time.h>
++#include <ctype.h>
++#include <errno.h>
++#include <fcntl.h>
+@@ -76,10 +88,14 @@
+ #define BLOCKSIZE         1024
+ #define BLOCKS_PER_GROUP  8192
+ #define BYTES_PER_INODE   (8*BLOCKSIZE)
++/* Percentage of blocks that are reserved.*/
+ #define RESERVED_INODES   5/100
+ // inode block size (why is it != BLOCKSIZE ?!?)
++/* The field i_blocks in the ext2 inode stores the number of data blocks
++   but in terms of 512 bytes. That is what INODE_BLOCKSIZE represents.
++   INOBLK is the number of such blocks in an actual disk block            */
+ #define INODE_BLOCKSIZE   512
+ #define INOBLK            (BLOCKSIZE / INODE_BLOCKSIZE)
+@@ -147,6 +163,39 @@
+ #define OP_HOLES     0x01       // make files with holes
++/* Defines for accessing group details */
++
++// Number of groups in the filesystem
++#define GRP_NBGROUPS(fs) ( ((fs)->sb.s_blocks_count-1)/(fs)->sb.s_blocks_per_group )
++
++// Get group block bitmap (bbm) given the group number
++#define GRP_GET_GROUP_BBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_block_bitmap) )
++
++// Get group inode bitmap (ibm) given the group number
++#define GRP_GET_GROUP_IBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_inode_bitmap) )
++              
++// Given an inode number find the group it belongs to
++#define GRP_GROUP_OF_INODE(fs,nod) ( ((nod)-1) / (fs)->sb.s_inodes_per_group)
++
++//Given an inode number get the inode bitmap that covers it
++#define GRP_GET_INODE_BITMAP(fs,nod) \
++      ( GRP_GET_GROUP_IBM((fs),GRP_GROUP_OF_INODE((fs),(nod))) )
++
++//Given an inode number find its offset within the inode bitmap that covers it
++#define GRP_IBM_OFFSET(fs,nod) \
++      ( (nod) - GRP_GROUP_OF_INODE((fs),(nod))*(fs)->sb.s_inodes_per_group )
++
++// Given a block number find the group it belongs to
++#define GRP_GROUP_OF_BLOCK(fs,blk) ( ((blk)-1) / (fs)->sb.s_blocks_per_group)
++      
++//Given a block number get the block bitmap that covers it
++#define GRP_GET_BLOCK_BITMAP(fs,blk) \
++      ( GRP_GET_GROUP_BBM((fs),GRP_GROUP_OF_BLOCK((fs),(blk))) )
++
++//Given a block number find its offset within the block bitmap that covers it
++#define GRP_BBM_OFFSET(fs,blk) \
++      ( (blk) - GRP_GROUP_OF_BLOCK((fs),(blk))*(fs)->sb.s_blocks_per_group )
++
+ // used types
+@@ -287,7 +336,6 @@
+ {
+       groupdescriptor_decl
+       uint32 bg_reserved[3];
+-      uint32 bg_pad_to_bk[(BLOCKSIZE-32)/sizeof(uint32)];
+ } groupdescriptor;
+ typedef struct
+@@ -304,6 +352,32 @@
+ typedef uint8 block[BLOCKSIZE];
++/* blockwalker fields:
++   The blockwalker is used to access all the blocks of a file (including
++   the indirection blocks) through repeated calls to walk_bw.  
++   
++   bpdir -> index into the inode->i_block[]. Indicates level of indirection.
++   bnum -> total number of blocks so far accessed. including indirection
++           blocks.
++   bpind,bpdind,bptind -> index into indirection blocks.
++   
++   bpind, bpdind, bptind do *NOT* index into single, double and triple
++   indirect blocks resp. as you might expect from their names. Instead 
++   they are in order the 1st, 2nd & 3rd index to be used
++   
++   As an example..
++   To access data block number 70000:
++        bpdir: 15 (we are doing triple indirection)
++        bpind: 0 ( index into the triple indirection block)
++        bpdind: 16 ( index into the double indirection block)
++        bptind: 99 ( index into the single indirection block)
++      70000 = 12 + 256 + 256*256 + 16*256 + 100 (indexing starts from zero)
++
++   So,for double indirection bpind will index into the double indirection 
++   block and bpdind into the single indirection block. For single indirection
++   only bpind will be used.
++*/
++   
+ typedef struct
+ {
+       uint32 bnum;
+@@ -313,15 +387,14 @@
+       uint32 bptind;
+ } blockwalker;
++
++/* Filesystem structure that support groups */
+ #if BLOCKSIZE == 1024
+ typedef struct
+ {
+       block zero;          // The famous block 0
+       superblock sb;       // The superblock
+-      groupdescriptor gd;  // The group desciptor
+-      block bbm;           // The block bitmap
+-      block ibm;           // The inode bitmap
+-      inode itab[0];       // The inode table
++      groupdescriptor gd[0]; // The group descriptors
+ } filesystem;
+ #else
+ #error UNHANDLED BLOCKSIZE
+@@ -389,25 +462,113 @@
+ #undef udecl32
+ #undef utdecl32
+-char * argv0;
++static char * app_name;
++static int squash_uids = 0;
++static int squash_perms = 0;
++static const char *const memory_exhausted = "memory exhausted";
+ // error (un)handling
+-inline void errexit(const char *fmt, ...)
++static void verror_msg(const char *s, va_list p)
+ {
+-      va_list ap;
+-      fprintf(stderr, "%s: ", argv0);
+-      va_start(ap, fmt);
+-      vfprintf(stderr, fmt, ap);
+-      va_end(ap);
+-      fprintf(stderr, "\n");
+-      exit(1);
++      fflush(stdout);
++      fprintf(stderr, "%s: ", app_name);
++      vfprintf(stderr, s, p);
++}
++static void error_msg(const char *s, ...)
++{
++      va_list p;
++      va_start(p, s);
++      verror_msg(s, p);
++      va_end(p);
++      putc('\n', stderr);
++}
++
++static void error_msg_and_die(const char *s, ...)
++{
++      va_list p;
++      va_start(p, s);
++      verror_msg(s, p);
++      va_end(p);
++      putc('\n', stderr);
++      exit(EXIT_FAILURE);
++}
++
++static void vperror_msg(const char *s, va_list p)
++{
++      int err = errno;
++      if (s == 0)
++              s = "";
++      verror_msg(s, p);
++      if (*s)
++              s = ": ";
++      fprintf(stderr, "%s%s\n", s, strerror(err));
++}
++
++#if 0
++static void perror_msg(const char *s, ...)
++{
++      va_list p;
++      va_start(p, s);
++      vperror_msg(s, p);
++      va_end(p);
++}
++#endif
++static void perror_msg_and_die(const char *s, ...)
++{
++      va_list p;
++      va_start(p, s);
++      vperror_msg(s, p);
++      va_end(p);
++      exit(EXIT_FAILURE);
+ }
+-inline void pexit(const char * fname)
++static FILE *xfopen(const char *path, const char *mode)
+ {
+-      fprintf(stderr, "%s: ", argv0);
+-      perror(fname);
+-      exit(1);
++      FILE *fp;
++      if ((fp = fopen(path, mode)) == NULL)
++              perror_msg_and_die("%s", path);
++      return fp;
++}
++
++static char *xstrdup(const char *s)
++{
++      char *t;
++
++      if (s == NULL)
++              return NULL;
++      t = strdup(s);
++      if (t == NULL)
++              error_msg_and_die(memory_exhausted);
++      return t;
++}
++
++extern void *xrealloc(void *ptr, size_t size)
++{
++      ptr = realloc(ptr, size);
++      if (ptr == NULL && size != 0)
++              error_msg_and_die(memory_exhausted);
++      return ptr;
++}
++
++static char *xreadlink(const char *path)
++{
++      static const int GROWBY = 80; /* how large we will grow strings by */
++
++      char *buf = NULL;
++      int bufsize = 0, readsize = 0;
++
++      do {
++              buf = xrealloc(buf, bufsize += GROWBY);
++              readsize = readlink(path, buf, bufsize); /* 1st try */
++              if (readsize == -1) {
++                      perror_msg_and_die("%s:%s", app_name, path);
++              }
++      }
++      while (bufsize < readsize + 1);
++
++      buf[readsize] = '\0';
++
++      return buf;
+ }
+ // printf helper macro
+@@ -423,7 +584,7 @@
+ {
+ }
+-// rounds a quantity up to a blocksize
++/* Rounds qty upto a multiple of siz. siz should be a power of 2 */
+ uint32 rndup(uint32 qty, uint32 siz)
+ {
+       return (qty + (siz - 1)) & ~(siz - 1);
+@@ -444,7 +605,13 @@
+ // return a given inode from a filesystem
+ inline inode * get_nod(filesystem *fs, uint32 nod)
+ {
+-      return &fs->itab[nod-1];
++      int grp,offset;
++      inode *itab;
++
++      offset = GRP_IBM_OFFSET(fs,nod);
++      grp = GRP_GROUP_OF_INODE(fs,nod);
++      itab = (inode *)get_blk(fs, fs->gd[grp].bg_inode_table);
++      return itab+offset-1;
+ }
+ // allocate a given block/inode in the bitmap
+@@ -479,29 +646,57 @@
+ }
+ // allocate a block
+-uint32 alloc_blk(filesystem *fs)
++uint32 alloc_blk(filesystem *fs, uint32  nod)
+ {
+-      uint32 bk;
+-      if(!(bk = allocate(fs->bbm, 0)))
+-              errexit("couldn't allocate a block (no free space)");
+-      if(!(fs->gd.bg_free_blocks_count--))
+-              errexit("group descr. free blocks count == 0 (corrupted fs?)");
++      uint32 bk=0;
++      uint32 grp,nbgroups;
++
++      grp = nod/fs->sb.s_inodes_per_group;
++      nbgroups = ( fs->sb.s_blocks_count - fs->sb.s_first_data_block + fs->sb.s_blocks_per_group -1 ) / 
++                                      fs->sb.s_blocks_per_group;
++      if(!(bk = allocate(get_blk(fs,fs->gd[grp].bg_block_bitmap), 0))) {
++              for(grp=0;grp<nbgroups && !bk;grp++)
++                      bk=allocate(get_blk(fs,fs->gd[grp].bg_block_bitmap),0);
++              grp--;
++      }
++      if (!bk)
++              error_msg_and_die("couldn't allocate a block (no free space)");
++      if(!(fs->gd[grp].bg_free_blocks_count--))
++              error_msg_and_die("group descr %d. free blocks count == 0 (corrupted fs?)",grp);
+       if(!(fs->sb.s_free_blocks_count--))
+-              errexit("superblock free blocks count == 0 (corrupted fs?)");
+-      return bk;
++              error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)");
++      return fs->sb.s_blocks_per_group*grp + bk;
+ }
+ // allocate an inode
+ uint32 alloc_nod(filesystem *fs)
+ {
+-      uint32 nod;
+-      if(!(nod = allocate(fs->ibm, 0)))
+-              errexit("couldn't allocate an inode (no free inode)");
+-      if(!(fs->gd.bg_free_inodes_count--))
+-              errexit("group descr. free blocks count == 0 (corrupted fs?)");
++      uint32 nod=0,best_group=0;
++      uint32 grp,nbgroups,avefreei;
++
++      nbgroups = ( fs->sb.s_blocks_count - fs->sb.s_first_data_block + fs->sb.s_blocks_per_group -1 ) / 
++                                      fs->sb.s_blocks_per_group;
++
++      /* Distribute inodes amongst all the blocks                           */
++      /* For every block group with more than average number of free inodes */
++      /* find the one with the most free blocks and allocate node there     */
++      /* Idea from find_group_dir in fs/ext2/ialloc.c in 2.4.19 kernel      */
++      /* We do it for all inodes.                                           */
++      avefreei  =  fs->sb.s_free_inodes_count / nbgroups;
++      for(grp=0;grp<nbgroups && !nod;grp++) {
++              if (fs->gd[grp].bg_free_inodes_count < avefreei)
++                      continue;
++              if (!best_group || 
++                      fs->gd[grp].bg_free_blocks_count > fs->gd[best_group].bg_free_blocks_count)
++                      best_group = grp;
++      }
++      if (!(nod = allocate(get_blk(fs,fs->gd[best_group].bg_inode_bitmap),0)))
++              error_msg_and_die("couldn't allocate an inode (no free inode)");
++      if(!(fs->gd[best_group].bg_free_inodes_count--))
++              error_msg_and_die("group descr. free blocks count == 0 (corrupted fs?)");
+       if(!(fs->sb.s_free_inodes_count--))
+-              errexit("superblock free blocks count == 0 (corrupted fs?)");
+-      return nod;
++              error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)");
++      return fs->sb.s_inodes_per_group*best_group+nod;
+ }
+ // print a bitmap allocation
+@@ -546,14 +741,14 @@
+       {
+               bkref = &get_nod(fs, nod)->i_block[bw->bpdir = 0];
+               if(extend) // allocate first block
+-                      *bkref = hole ? 0 : alloc_blk(fs);
++                      *bkref = hole ? 0 : alloc_blk(fs,nod);
+       }
+       // direct block
+       else if(bw->bpdir < EXT2_NDIR_BLOCKS)
+       {
+               bkref = &get_nod(fs, nod)->i_block[++bw->bpdir];
+               if(extend) // allocate block
+-                      *bkref = hole ? 0 : alloc_blk(fs);
++                      *bkref = hole ? 0 : alloc_blk(fs,nod);
+       }
+       // first block in indirect block
+       else if(bw->bpdir == EXT2_NDIR_BLOCKS)
+@@ -562,11 +757,11 @@
+               bw->bpdir = EXT2_IND_BLOCK;
+               bw->bpind = 0;
+               if(extend) // allocate indirect block
+-                      get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs);
++                      get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod);
+               b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
+               bkref = &b[bw->bpind];
+               if(extend) // allocate first block
+-                      *bkref = hole ? 0 : alloc_blk(fs);
++                      *bkref = hole ? 0 : alloc_blk(fs,nod);
+       }
+       // block in indirect block
+       else if((bw->bpdir == EXT2_IND_BLOCK) && (bw->bpind < BLOCKSIZE/4 - 1))
+@@ -575,7 +770,7 @@
+               b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
+               bkref = &b[bw->bpind];
+               if(extend) // allocate block
+-                      *bkref = hole ? 0 : alloc_blk(fs);
++                      *bkref = hole ? 0 : alloc_blk(fs,nod);
+       }
+       // first block in first indirect block in first double indirect block
+       else if(bw->bpdir == EXT2_IND_BLOCK)
+@@ -585,14 +780,14 @@
+               bw->bpind = 0;
+               bw->bpdind = 0;
+               if(extend) // allocate double indirect block
+-                      get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs);
++                      get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod);
+               b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
+               if(extend) // allocate first indirect block
+-                      b[bw->bpind] = alloc_blk(fs);
++                      b[bw->bpind] = alloc_blk(fs,nod);
+               b = (uint32*)get_blk(fs, b[bw->bpind]);
+               bkref = &b[bw->bpdind];
+               if(extend) // allocate first block
+-                      *bkref = hole ? 0 : alloc_blk(fs);
++                      *bkref = hole ? 0 : alloc_blk(fs,nod);
+       }
+       // block in indirect block in double indirect block
+       else if((bw->bpdir == EXT2_DIND_BLOCK) && (bw->bpdind < BLOCKSIZE/4 - 1))
+@@ -602,7 +797,7 @@
+               b = (uint32*)get_blk(fs, b[bw->bpind]);
+               bkref = &b[bw->bpdind];
+               if(extend) // allocate block
+-                      *bkref = hole ? 0 : alloc_blk(fs);
++                      *bkref = hole ? 0 : alloc_blk(fs,nod);
+       }
+       // first block in indirect block in double indirect block
+       else if((bw->bpdir == EXT2_DIND_BLOCK) && (bw->bpind < BLOCKSIZE/4 - 1))
+@@ -612,20 +807,100 @@
+               bw->bpind++;
+               b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
+               if(extend) // allocate indirect block
+-                      b[bw->bpind] = alloc_blk(fs);
++                      b[bw->bpind] = alloc_blk(fs,nod);
+               b = (uint32*)get_blk(fs, b[bw->bpind]);
+               bkref = &b[bw->bpdind];
+               if(extend) // allocate first block
+-                      *bkref = hole ? 0 : alloc_blk(fs);
++                      *bkref = hole ? 0 : alloc_blk(fs,nod);
++      }
++
++      /* Adding support for triple indirection */
++      /* Just starting triple indirection. Allocate the indirection
++         blocks and the first data block
++       */
++      else if (bw->bpdir == EXT2_DIND_BLOCK) 
++      {
++              bw->bnum += 3;
++              bw->bpdir = EXT2_TIND_BLOCK;
++              bw->bpind = 0;
++              bw->bpdind = 0;
++              bw->bptind = 0;
++              if(extend) // allocate triple indirect block
++                      get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod);
++              b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
++              if(extend) // allocate first double indirect block
++                      b[bw->bpind] = alloc_blk(fs,nod);
++              b = (uint32*)get_blk(fs, b[bw->bpind]);
++              if(extend) // allocate first indirect block
++                      b[bw->bpdind] = alloc_blk(fs,nod);
++              b = (uint32*)get_blk(fs, b[bw->bpdind]);
++              bkref = &b[bw->bptind];
++              if(extend) // allocate first data block
++                      *bkref = hole ? 0 : alloc_blk(fs,nod);
++      }
++      /* Still processing a single indirect block down the indirection
++         chain.Allocate a data block for it
++       */
++      else if ( (bw->bpdir == EXT2_TIND_BLOCK) && 
++                (bw->bptind < BLOCKSIZE/4 -1) )
++      {
++              bw->bptind++;
++              b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
++              b = (uint32*)get_blk(fs, b[bw->bpind]);
++              b = (uint32*)get_blk(fs, b[bw->bpdind]);
++              bkref = &b[bw->bptind];
++              if(extend) // allocate data block
++                      *bkref = hole ? 0 : alloc_blk(fs,nod);
++      }
++      /* Finished processing a single indirect block. But still in the 
++         same double indirect block. Allocate new single indirect block
++         for it and a data block
++       */
++      else if ( (bw->bpdir == EXT2_TIND_BLOCK) &&
++                (bw->bpdind < BLOCKSIZE/4 -1) )
++      {
++              bw->bnum++;
++              bw->bptind = 0;
++              bw->bpdind++;
++              b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
++              b = (uint32*)get_blk(fs, b[bw->bpind]);
++              if (extend) // allocate single indirect block
++                      b[bw->bpdind] = alloc_blk(fs,nod);
++              b = (uint32*)get_blk(fs, b[bw->bpdind]);
++              bkref = &b[bw->bptind];
++              if(extend) // allocate first data block
++                      *bkref = hole ? 0 : alloc_blk(fs,nod);
++      }
++      /* Finished processing a double indirect block. Allocate the next
++         double indirect block and the single,data blocks for it
++       */
++      else if ( (bw->bpdir == EXT2_TIND_BLOCK) && 
++                (bw->bpind < BLOCKSIZE/4 - 1) )
++      {
++              bw->bnum += 2;
++              bw->bpdind = 0;
++              bw->bptind = 0;
++              bw->bpind++;
++              b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
++              if(extend) // allocate double indirect block
++                      b[bw->bpind] = alloc_blk(fs,nod);
++              b = (uint32*)get_blk(fs, b[bw->bpind]);
++              if(extend) // allocate single indirect block
++                      b[bw->bpdind] = alloc_blk(fs,nod);
++              b = (uint32*)get_blk(fs, b[bw->bpdind]);
++              bkref = &b[bw->bptind];
++              if(extend) // allocate first block
++                      *bkref = hole ? 0 : alloc_blk(fs,nod);
+       }
+-      // I don't do triple indirect - it's such a small filesystem ...
+       else
+-              errexit("file too big ! blocks list for inode %d extends past double indirect blocks!", nod);
++              error_msg_and_die("file too big !"); 
++      /* End change for walking triple indirection */
++
+       if(*bkref)
+       {
+               bw->bnum++;
+-              if(!allocated(fs->bbm, *bkref))
+-                      errexit("[block %d of inode %d is unallocated !]", *bkref, nod);
++              if(!allocated(GRP_GET_BLOCK_BITMAP(fs,*bkref), GRP_BBM_OFFSET(fs,*bkref)))
++                      error_msg_and_die("[block %d of inode %d is unallocated !]", *bkref, nod);
+       }
+       if(extend)
+               get_nod(fs, nod)->i_blocks = bw->bnum * INOBLK;
+@@ -663,23 +938,40 @@
+ }
+ // link an entry (inode #) to a directory
+-void add2dir(filesystem *fs, uint32 dnod, uint32 nod, const char* name)
++void add2dir(filesystem *fs, uint32 dnod, uint32 nod, const char* name, uint32 mode, uid_t uid, gid_t gid, time_t ctime)
+ {
+       blockwalker bw;
+       uint32 bk;
+       uint8 *b;
+       directory *d;
+       int reclen, nlen;
+-      if((get_nod(fs, dnod)->i_mode & FM_IFMT) != FM_IFDIR)
+-              errexit("can't add '%s' to a non-directory", name);
++      inode *node;
++      inode *pnode;
++      
++      /* Squash all permissions so files are owned by root 
++       * and file permissions have group/other perms removed */
++      if (squash_uids) {
++              uid = gid = 0;
++      }
++      if (squash_perms) {
++              if (!S_ISLNK(mode)) {
++                      mode &= ~(S_IWGRP | S_IWOTH);
++                      mode &= ~(S_ISUID | S_ISGID);
++              }
++      }
++
++      pnode = get_nod(fs, dnod);
++
++      if(!S_ISDIR(pnode->i_mode))
++              error_msg_and_die("can't add '%s' to a non-directory", name);
+       if(!*name)
+-              errexit("bad name '%s' (not meaningful)", name);
++              error_msg_and_die("bad name '%s' (not meaningful)", name);
+       if(strchr(name, '/'))
+-              errexit("bad name '%s' (contains a slash)", name);
++              error_msg_and_die("bad name '%s' (contains a slash)", name);
+       nlen = strlen(name);
+       reclen = sizeof(directory) + rndup(nlen, 4);
+       if(reclen > BLOCKSIZE)
+-              errexit("bad name '%s' (too long)", name);
++              error_msg_and_die("bad name '%s' (too long)", name);
+       init_bw(fs, dnod, &bw);
+       while((bk = walk_bw(fs, dnod, &bw, 0, 0)) != WALK_END) // for all blocks in dir
+       {
+@@ -691,9 +983,16 @@
+                       if((!d->d_inode) && (d->d_rec_len >= reclen))
+                       {
+                               d->d_inode = nod;
+-                              get_nod(fs, nod)->i_links_count++;
++                              node = get_nod(fs, nod);
++                              node->i_links_count++;
+                               d->d_name_len = nlen;
+-                              strncpy(d->d_name, name, nlen);
++                              strncpy(d->d_name, name, rndup(nlen,4));
++                              node->i_mode = mode;
++                              node->i_uid = uid;
++                              node->i_gid = gid;
++                              node->i_atime = ctime;
++                              node->i_ctime = ctime;
++                              node->i_mtime = ctime;
+                               return;
+                       }
+                       // if entry with enough room (last one?), shrink it & use it
+@@ -705,9 +1004,16 @@
+                               d = (directory*) (((int8*)d) + d->d_rec_len);
+                               d->d_rec_len = reclen;
+                               d->d_inode = nod;
+-                              get_nod(fs, nod)->i_links_count++;
++                              node = get_nod(fs, nod);
++                              node->i_links_count++;
+                               d->d_name_len = nlen;
+-                              strncpy(d->d_name, name, nlen);
++                              strncpy(d->d_name, name, rndup(nlen,4));
++                              node->i_mode = mode;
++                              node->i_uid = uid;
++                              node->i_gid = gid;
++                              node->i_atime = ctime;
++                              node->i_ctime = ctime;
++                              node->i_mtime = ctime;
+                               return;
+                       }
+               }
+@@ -716,10 +1022,17 @@
+       b = get_workblk();
+       d = (directory*)b;
+       d->d_inode = nod;
+-      get_nod(fs, nod)->i_links_count++;
++      node = get_nod(fs, nod);
++      node->i_links_count++;
+       d->d_rec_len = BLOCKSIZE;
+       d->d_name_len = nlen;
+-      strncpy(d->d_name, name, nlen);
++      strncpy(d->d_name, name, rndup(nlen,4));
++      node->i_mode = mode;
++      node->i_uid = uid;
++      node->i_gid = gid;
++      node->i_atime = ctime;
++      node->i_ctime = ctime;
++      node->i_mtime = ctime;
+       extend_blk(fs, dnod, b, 1);
+       get_nod(fs, dnod)->i_size += BLOCKSIZE;
+       free_workblk(b);
+@@ -747,7 +1060,7 @@
+ // find the inode of a full path
+ uint32 find_path(filesystem *fs, uint32 nod, const char * name)
+ {
+-      char *p, *n, *n2 = strdup(name);
++      char *p, *n, *n2 = xstrdup(name);
+       n = n2;
+       while(*n == '/')
+       {
+@@ -770,27 +1083,32 @@
+ }
+ // make a full-fledged directory (i.e. with "." & "..")
+-uint32 mkdir_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode)
++uint32 mkdir_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode,
++      uid_t uid, gid_t gid, time_t ctime)
+ {
+       uint32 nod;
+       if((nod = find_dir(fs, parent_nod, name)))
+               return nod;
+               nod = alloc_nod(fs);
+-      get_nod(fs, nod)->i_mode = FM_IFDIR | mode;
+-      add2dir(fs, parent_nod, nod, name);
+-      add2dir(fs, nod, nod, ".");
+-      add2dir(fs, nod, parent_nod, "..");
+-      fs->gd.bg_used_dirs_count++;
++      if (!(mode & FM_IFDIR))
++          mode |= FM_IFDIR;
++      add2dir(fs, parent_nod, nod, name, mode, uid, gid, ctime);
++      add2dir(fs, nod, nod, ".", mode, uid, gid, ctime);
++      add2dir(fs, nod, parent_nod, "..", mode, uid, gid, ctime);
++      fs->gd[GRP_GROUP_OF_INODE(fs,nod)].bg_used_dirs_count++;
+       return nod;
+ }
+ // make a symlink
+-uint32 mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size, uint8 * b)
++uint32 mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size,
++      uint8 * b, uid_t uid, gid_t gid, time_t ctime)
+ {
++      uint32 mode;
+       uint32 nod = alloc_nod(fs);
++      mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO; 
+       get_nod(fs, nod)->i_mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO;
+       get_nod(fs, nod)->i_size = size;
+-      add2dir(fs, parent_nod, nod, name);
++      add2dir(fs, parent_nod, nod, name, mode, uid, gid, ctime);
+       if(size <= 4 * (EXT2_TIND_BLOCK+1))
+       {
+               strncpy((char*)get_nod(fs, nod)->i_block, (char*)b, size);
+@@ -801,15 +1119,15 @@
+ }
+ // make a file from a FILE*
+-uint32 mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, size_t size, FILE *f)
++uint32 mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, size_t size, FILE *f, uid_t uid, gid_t gid, time_t ctime)
+ {
+       uint8 * b;
+       uint32 nod = alloc_nod(fs);
+-      get_nod(fs, nod)->i_mode = FM_IFREG | mode;
++      mode |= FM_IFREG;
+       get_nod(fs, nod)->i_size = size;
+-      add2dir(fs, parent_nod, nod, name);
++      add2dir(fs, parent_nod, nod, name, mode, uid, gid, ctime);
+       if(!(b = (uint8*)malloc(rndup(size, BLOCKSIZE))))
+-              errexit("not enough mem to read file '%s'", name);
++              error_msg_and_die("not enough mem to read file '%s'", name);
+       memset(b, 0,rndup(size, BLOCKSIZE));
+       if(f)
+               fread(b, size, 1, f);
+@@ -824,6 +1142,15 @@
+ uint32 get_mode(struct stat *st)
+ {
+       uint32 mode = 0;
++
++      /* Squash file permissions as needed */
++      if (squash_perms) {
++              if (!S_ISLNK(mode)) {
++                      st->st_mode &= ~(S_IWGRP | S_IWOTH);
++                      st->st_mode &= ~(S_ISUID | S_ISGID);
++              }
++      }
++
+       if(st->st_mode & S_IRUSR)
+               mode |= FM_IRUSR | FM_IRGRP | FM_IROTH;
+       if(st->st_mode & S_IWUSR)
+@@ -833,30 +1160,17 @@
+       return mode;
+ }
+-// retrieves a mode info from a string
+-uint32 get_modestr(const char *p)
+-{
+-      uint32 mode = 0;
+-      if(p[0] == 'r')
+-              mode |= FM_IRUSR | FM_IRGRP | FM_IROTH;
+-      if(p[1] == 'w')
+-              mode |= FM_IWUSR | FM_IWGRP | FM_IWOTH;
+-      if(p[2] == 'x' || p[2] == 's')
+-              mode |= FM_IXUSR | FM_IXGRP | FM_IXOTH;
+-      return mode;
+-}
+-
+ // basename of a path - free me
+ char * basename(const char * fullpath)
+ {
+       char * p = strrchr(fullpath, '/');
+-      return strdup(p ? p + 1 : fullpath);
++      return xstrdup(p ? p + 1 : fullpath);
+ }
+ // dirname of a path - free me
+ char * dirname(const char * fullpath)
+ {
+-      char * p, * n = strdup(fullpath);
++      char * p, * n = xstrdup(fullpath);
+       if((p = strrchr(n, '/')))
+               *(p+1) = 0;
+       else
+@@ -864,66 +1178,6 @@
+       return n;
+ }
+-// adds entries to the filesystem from a text file
+-void add2fs_from_file(filesystem *fs, uint32 this_nod, FILE * fh)
+-{
+-      uint32 mode;
+-      uint32 nod, nod2;
+-      char cmod[11], *path, *name, *dir;
+-      int major, minor;
+-      while(fscanf(fh, "%10s", cmod))
+-      {
+-              if(feof(fh))
+-                      break;
+-              mode = get_modestr(cmod + 1);
+-              switch(*cmod)
+-              {
+-                      case 'd':
+-                              fscanf(fh, "%" SCANF_PREFIX "s\n", SCANF_STRING(path));
+-                              break;
+-                      case 'c':
+-                              mode |= FM_IFCHR;
+-                              fscanf(fh, "%i, %i %" SCANF_PREFIX "s\n", &major, &minor, SCANF_STRING(path));
+-                              break;
+-                      case 'b':
+-                              mode |= FM_IFBLK;
+-                              fscanf(fh, "%i, %i %" SCANF_PREFIX "s\n", &major, &minor, SCANF_STRING(path));
+-                              break;
+-                      case '#':
+-                              while(fgetc(fh) != '\n');
+-                              continue;
+-                      default:
+-                              errexit("malformed text input file");
+-              }
+-              name = basename(path);
+-              dir = dirname(path);
+-              free(path);
+-              if(!(nod = find_path(fs, this_nod, dir)))
+-                      errexit("can't find directory '%s' to create '%s''", dir, name);
+-              free(dir);
+-              if((!strcmp(name, ".")) || (!strcmp(name, "..")))
+-              {
+-                      free(name);
+-                      continue;
+-              }
+-              switch(*cmod)
+-              {
+-                      case 'd':
+-                              mkdir_fs(fs, nod, name, mode);
+-                              break;
+-                      case 'c':
+-                      case 'b':
+-                              nod2 = alloc_nod(fs);
+-                              get_nod(fs, nod2)->i_mode = mode;
+-                              ((uint8*)get_nod(fs, nod2)->i_block)[0] = minor;
+-                              ((uint8*)get_nod(fs, nod2)->i_block)[1] = major;
+-                              add2dir(fs, nod, nod2, name);
+-                              break;
+-              }
+-              free(name);
+-      }
+-}
+-
+ // adds a tree of entries to the filesystem from current dir
+ void add2fs_from_dir(filesystem *fs, uint32 this_nod)
+ {
+@@ -934,7 +1188,7 @@
+       struct stat st;
+       uint8 *b;
+       if(!(dh = opendir(".")))
+-              pexit(".");
++              perror_msg_and_die(".");
+       while((dent = readdir(dh)))
+       {
+               if((!strcmp(dent->d_name, ".")) || (!strcmp(dent->d_name, "..")))
+@@ -948,31 +1202,27 @@
+                               get_nod(fs, nod)->i_mode = (((st.st_mode & S_IFMT) == S_IFCHR) ? FM_IFCHR : FM_IFBLK) | get_mode(&st);
+                               ((uint8*)get_nod(fs, nod)->i_block)[0] = (st.st_rdev & 0xff);
+                               ((uint8*)get_nod(fs, nod)->i_block)[1] = (st.st_rdev >> 8);
+-                              add2dir(fs, this_nod, nod, dent->d_name);
++                              add2dir(fs, this_nod, nod, dent->d_name, st.st_mode, st.st_uid, st.st_gid, st.st_ctime);
+                               break;
+                       case S_IFLNK:
+-                              if(!(b = (uint8*)malloc(rndup(st.st_size, BLOCKSIZE))))
+-                                      errexit("out of memory");
+-                              if(readlink(dent->d_name, (char*)b, st.st_size) < 0)
+-                                      pexit(dent->d_name);
+-                              mklink_fs(fs, this_nod, dent->d_name, st.st_size, b);
++                              b = xreadlink(dent->d_name);
++                              mklink_fs(fs, this_nod, dent->d_name, st.st_size, b, st.st_uid, st.st_gid, st.st_ctime);
+                               free(b);
+                               break;
+                       case S_IFREG:
+-                              if(!(fh = fopen(dent->d_name, "r")))
+-                                      pexit(dent->d_name);
+-                              mkfile_fs(fs, this_nod, dent->d_name, get_mode(&st), st.st_size, fh);
++                              fh = xfopen(dent->d_name, "r");
++                              mkfile_fs(fs, this_nod, dent->d_name, st.st_mode, st.st_size, fh, st.st_uid, st.st_gid, st.st_ctime);
+                               fclose(fh);
+                               break;
+                       case S_IFDIR:
+-                              nod = mkdir_fs(fs, this_nod, dent->d_name, get_mode(&st));
++                              nod = mkdir_fs(fs, this_nod, dent->d_name, st.st_mode, st.st_uid, st.st_gid, st.st_ctime);
+                               if(chdir(dent->d_name) < 0)
+-                                      pexit(dent->d_name);
++                                      perror_msg_and_die(dent->d_name);
+                               add2fs_from_dir(fs, nod);
+                               chdir("..");
+                               break;
+                       default:
+-                              fprintf(stderr, "ignoring entry %s", dent->d_name);
++                              error_msg("ignoring entry %s", dent->d_name);
+               }
+       }
+       closedir(dh);
+@@ -981,9 +1231,11 @@
+ // endianness swap of x-indirect blocks
+ void swap_goodblocks(filesystem *fs, inode *nod)
+ {
+-      int i;
++      int i,j,done=0;
++      uint32 *b,*b2;
++
+       int nblk = nod->i_blocks / INOBLK;
+-      if((nod->i_size && !nblk) || (nod->i_mode & (FM_IFBLK | FM_IFCHR)))
++      if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR))
+               for(i = 0; i <= EXT2_TIND_BLOCK; i++)
+                       nod->i_block[i] = swab32(nod->i_block[i]);
+       if(nblk <= EXT2_IND_BLOCK)
+@@ -991,20 +1243,55 @@
+       swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK]));
+       if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4)
+               return;
++      /* Currently this will fail b'cos the number of blocks as stored
++         in i_blocks also includes the indirection blocks (see
++         walk_bw). But this function assumes that i_blocks only
++         stores the count of data blocks ( Actually according to
++         "Understanding the Linux Kernel" (Table 17-3 p502 1st Ed)
++         i_blocks IS supposed to store the count of data blocks). so
++         with a file of size 268K nblk would be 269.The above check
++         will be false even though double indirection hasn't been
++         started.This is benign as 0 means block 0 which has been
++         zeroed out and therefore points back to itself from any offset
++       */
++      assert(nod->i_block[EXT2_DIND_BLOCK] != 0);
+       for(i = 0; i < BLOCKSIZE/4; i++)
++              /* Should this be...
++              if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + (BLOCKSIZE/4)*i )
++              */
+               if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + i)
+                       swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i]));
+       swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]));
+       if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4)
+               return;
+-      errexit("too big file on the filesystem");
++      /* Adding support for triple indirection */
++      b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]);
++      for(i=0;i < BLOCKSIZE/4 && !done ; i++) {
++              b2 = (uint32*)get_blk(fs,b[i]); 
++              for(j=0; j<BLOCKSIZE/4;j++) {
++                      if (nblk > ( EXT2_IND_BLOCK + BLOCKSIZE/4 + 
++                                   (BLOCKSIZE/4)*(BLOCKSIZE/4) + 
++                                   i*(BLOCKSIZE/4)*(BLOCKSIZE/4) + 
++                                   j*(BLOCKSIZE/4)) ) 
++                        swap_block(get_blk(fs,b2[j]));
++                      else {
++                        done = 1;
++                        break;
++                      }
++              }
++              swap_block((uint8 *)b2);
++      }
++      swap_block((uint8 *)b);
++      return;
+ }
+ void swap_badblocks(filesystem *fs, inode *nod)
+ {
+-      int i;
++      int i,j,done=0;
++      uint32 *b,*b2;
++
+       int nblk = nod->i_blocks / INOBLK;
+-      if((nod->i_size && !nblk) || (nod->i_mode & (FM_IFBLK | FM_IFCHR)))
++      if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR))
+               for(i = 0; i <= EXT2_TIND_BLOCK; i++)
+                       nod->i_block[i] = swab32(nod->i_block[i]);
+       if(nblk <= EXT2_IND_BLOCK)
+@@ -1012,13 +1299,34 @@
+       swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK]));
+       if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4)
+               return;
++      /* See comment in swap_goodblocks */
++      assert(nod->i_block[EXT2_DIND_BLOCK] != 0);
+       swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]));
+       for(i = 0; i < BLOCKSIZE/4; i++)
++              /* See comment in swap_goodblocks */
+               if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + i)
+                       swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i]));
+       if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4)
+               return;
+-      errexit("too big file on the filesystem");
++      /* Adding support for triple indirection */
++      b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]);
++      swap_block((uint8 *)b);
++      for(i=0;i < BLOCKSIZE/4 && !done ; i++) {
++              b2 = (uint32*)get_blk(fs,b[i]); 
++              swap_block((uint8 *)b2);
++              for(j=0; j<BLOCKSIZE/4;j++) {
++                      if (nblk > ( EXT2_IND_BLOCK + BLOCKSIZE/4 + 
++                                   (BLOCKSIZE/4)*(BLOCKSIZE/4) + 
++                                   i*(BLOCKSIZE/4)*(BLOCKSIZE/4) + 
++                                   j*(BLOCKSIZE/4)) ) 
++                        swap_block(get_blk(fs,b2[j]));
++                      else {
++                        done = 1;
++                        break;
++                      }
++              }
++      }
++      return;
+ }
+ // endianness swap of the whole filesystem
+@@ -1045,7 +1353,8 @@
+               swap_goodblocks(fs, nod);
+               swap_nod(nod);
+       }
+-      swap_gd(&fs->gd);
++      for(i=0;i<GRP_NBGROUPS(fs);i++)
++              swap_gd(&(fs->gd[i]));
+       swap_sb(&fs->sb);
+ }
+@@ -1053,7 +1362,8 @@
+ {
+       int i;
+       swap_sb(&fs->sb);
+-      swap_gd(&fs->gd);
++      for(i=0;i<GRP_NBGROUPS(fs);i++)
++              swap_gd(&(fs->gd[i]));
+       for(i = 1; i < fs->sb.s_inodes_count; i++)
+       {
+               inode *nod = get_nod(fs, i);
+@@ -1084,53 +1394,118 @@
+       directory *d;
+       uint8 * b;
+       uint32 nod;
++      uint32 nbgroups,nbinodes_per_group,overhead_per_group,free_blocks,
++              free_blocks_per_group,nbblocks_per_group;
++      uint32 gd,itbl,ibmpos,bbmpos,itblpos;
++      int j;
++      uint8 *bbm,*ibm;
++      inode *itab0;
+       
+       if(nbblocks < 16) // totally arbitrary
+-              errexit("too small filesystem");
+-      if(nbblocks >BLOCKS_PER_GROUP) // I build only one group
+-              errexit("too big filesystem");
++              error_msg_and_die("too small filesystem");
++
++      /* nbblocks is the total number of blocks in the system. First 
++       * calculate how much overhead blocks - inode table blocks,bitmap 
++       * blocks,group descriptor blocks etc. - are needed assuming each 
++       * group has BLOCKS_PER_GROUP blocks.Then recalculate nbblocks with 
++       * this figure. Each group has the same number of blocks. So the fs 
++       * has a size atleast the given value but usually rounded off to a i
++       * higher number.
++       */
++      nbgroups = rndup(nbblocks,BLOCKS_PER_GROUP)/ BLOCKS_PER_GROUP;
++      nbinodes_per_group = nbinodes/nbgroups +1;
++      nbinodes_per_group = rndup(nbinodes_per_group, BLOCKSIZE/sizeof(inode));
++      if (nbinodes_per_group < 16)
++              nbinodes_per_group = 16; //minimum number b'cos the first 10 are reserved
++      overhead_per_group = 3 /*super block,ibm,bbm*/
++                           + /* No. of blocks that the inodes occupy */
++                             nbinodes_per_group *sizeof(inode)/BLOCKSIZE 
++                           + /* No. of blocks that group descriptors occupy */
++                             rndup(nbgroups*sizeof(groupdescriptor),BLOCKSIZE)/BLOCKSIZE;
++      free_blocks = nbblocks - overhead_per_group * nbgroups - 1 /*boot block */;
++      free_blocks_per_group = free_blocks/nbgroups;
++      if (free_blocks > free_blocks_per_group * nbgroups)
++              free_blocks_per_group++;
++      nbblocks_per_group = free_blocks_per_group + overhead_per_group;
++      /* e2fsck complains if nbblocks_per_group is not a multiple of 8 */
++      nbblocks_per_group = rndup(nbblocks_per_group,8);
++      free_blocks_per_group = nbblocks_per_group - overhead_per_group;
++      if (nbblocks_per_group > BLOCKS_PER_GROUP) {
++              /* Can this happen ? */
++              nbblocks_per_group = BLOCKS_PER_GROUP;
++              free_blocks_per_group = nbblocks_per_group - overhead_per_group;
++      }
++      nbblocks = nbblocks_per_group * nbgroups + 1;
++      
++
+       if(!(fs = (filesystem*)calloc(nbblocks, BLOCKSIZE)))
+-              errexit("not enough memory for filesystem");
++              error_msg_and_die("not enough memory for filesystem");
+       // create the superblock for an empty filesystem
+-      fs->sb.s_inodes_count = rndup(nbinodes, BLOCKSIZE/sizeof(inode));
++      fs->sb.s_inodes_count = nbinodes_per_group * nbgroups;
+       fs->sb.s_blocks_count = nbblocks;
+       fs->sb.s_r_blocks_count = nbresrvd;
+-      fs->sb.s_free_blocks_count = nbblocks;
++      fs->sb.s_free_blocks_count = free_blocks_per_group*nbgroups;
+       fs->sb.s_free_inodes_count = fs->sb.s_inodes_count - EXT2_FIRST_INO + 1;
+       fs->sb.s_first_data_block = (BLOCKSIZE == 1024);
+       fs->sb.s_log_block_size = BLOCKSIZE >> 11;
+       fs->sb.s_log_frag_size = BLOCKSIZE >> 11;
+-      fs->sb.s_blocks_per_group = BLOCKS_PER_GROUP;
+-      fs->sb.s_frags_per_group = BLOCKS_PER_GROUP;
+-      fs->sb.s_inodes_per_group = fs->sb.s_inodes_count;
++      fs->sb.s_blocks_per_group = nbblocks_per_group;
++      fs->sb.s_frags_per_group = nbblocks_per_group;
++      fs->sb.s_inodes_per_group = nbinodes_per_group;
+       fs->sb.s_magic = EXT2_MAGIC_NUMBER;
+       // set up groupdescriptors
+-      fs->sb.s_free_blocks_count -= 5 + fs->sb.s_inodes_count * sizeof(inode) / BLOCKSIZE;
+-      fs->gd.bg_free_blocks_count = fs->sb.s_free_blocks_count;
+-      fs->gd.bg_free_inodes_count = fs->sb.s_free_inodes_count;
+-      fs->gd.bg_used_dirs_count = 1;
+-      fs->gd.bg_block_bitmap = 3;
+-      fs->gd.bg_inode_bitmap = 4;
+-      fs->gd.bg_inode_table = 5;
+-
+-      // mark non-filesystem blocks and inodes as allocated
+-      for(i = fs->sb.s_blocks_count; i <= BLOCKSIZE * 8; i++)
+-              allocate(fs->bbm, i);
+-      for(i = fs->sb.s_inodes_count + 1; i <= BLOCKSIZE * 8; i++)
+-              allocate(fs->ibm, i);
+-
+-      // mark system blocsk and inodes as allocated
+-      for(i = 1; i <= 4 + fs->sb.s_inodes_count * sizeof(inode) / BLOCKSIZE; i++)
+-              allocate(fs->bbm, i);
+-      for(i = 1; i < EXT2_FIRST_INO; i++)
+-              allocate(fs->ibm, i);
+-
+-      // make root inode and directory
+-      fs->itab[EXT2_ROOT_INO-1].i_mode = FM_IFDIR | FM_IRWXU | FM_IRWXG | FM_IRWXO;
+-      fs->itab[EXT2_ROOT_INO-1].i_size = BLOCKSIZE;
+-      fs->itab[EXT2_ROOT_INO-1].i_links_count = 2;
++      gd = rndup(nbgroups*sizeof(groupdescriptor),BLOCKSIZE)/BLOCKSIZE;
++      itbl = nbinodes_per_group*sizeof(inode)/BLOCKSIZE;
++      for(i = 0,bbmpos=2+gd,ibmpos=3+gd,itblpos =4+gd;
++              i<nbgroups;
++              i++, bbmpos += nbblocks_per_group,ibmpos += nbblocks_per_group, 
++              itblpos += nbblocks_per_group)  {
++              
++              fs->gd[i].bg_free_blocks_count = free_blocks_per_group;
++              fs->gd[i].bg_free_inodes_count = nbinodes_per_group;
++              fs->gd[i].bg_used_dirs_count = 0;
++              fs->gd[i].bg_block_bitmap = bbmpos;
++              fs->gd[i].bg_inode_bitmap = ibmpos;
++              fs->gd[i].bg_inode_table = itblpos;
++      }
++
++      /* Mark non-filesystem blocks and inodes as allocated */
++      /* Mark system blocks and inodes as allocated         */
++      for(i = 0; i<nbgroups;i++) {
++
++              /* Block bitmap */
++              bbm = get_blk(fs,fs->gd[i].bg_block_bitmap);    
++              //non-filesystem blocks.
++              for(j=fs->sb.s_blocks_per_group + 1; j <= BLOCKSIZE * 8; j++)
++                      allocate(bbm, j); 
++              //system blocks
++              for(j = 1; j <= 3+gd+itbl; j++)
++                      allocate(bbm, j); 
++              
++              /* Inode bitmap */
++              ibm = get_blk(fs,fs->gd[i].bg_inode_bitmap);    
++              //non-filesystem inodes
++              for(j = fs->sb.s_inodes_per_group+1; j <= BLOCKSIZE * 8; j++)
++                      allocate(ibm, j);
++      }
++
++      /* We have groups now. Add the root filesystem in group 0  */
++      /* Also allocate the system inodes in group 0 and update   */
++      /* directory count and inode count for group 0             */
++
++      ibm = get_blk(fs,fs->gd[0].bg_inode_bitmap);    
++      for(j = 1; j < EXT2_FIRST_INO; j++) {
++              allocate(ibm, j);
++              fs->gd[0].bg_free_inodes_count--;
++      }
++      fs->gd[0].bg_used_dirs_count = 1;
++      itab0 = (inode *)get_blk(fs,fs->gd[0].bg_inode_table);
++      itab0[EXT2_ROOT_INO-1].i_mode = FM_IFDIR | FM_IRWXU | FM_IRWXG | FM_IRWXO; 
++      itab0[EXT2_ROOT_INO-1].i_size = BLOCKSIZE;
++      itab0[EXT2_ROOT_INO-1].i_links_count = 2;
++
+       b = get_workblk();
+       d = (directory*)b;
+       d->d_inode = EXT2_ROOT_INO;
+@@ -1147,9 +1522,14 @@
+       // make lost+found directory and reserve blocks
+       if(fs->sb.s_r_blocks_count)
+       {
+-              nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", FM_IRWXU | FM_IRWXG | FM_IRWXO);
++              nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH, 0, 0, time(NULL));
+               memset(b, 0, BLOCKSIZE);
+               ((directory*)b)->d_rec_len = BLOCKSIZE;
++              /* We run into problems with e2fsck if directory lost+found grows
++               * bigger than this. Need to find out why this happens - sundar
++               */
++              if (fs->sb.s_r_blocks_count > 2049 ) 
++                      fs->sb.s_r_blocks_count=2049;
+               for(i = 1; i < fs->sb.s_r_blocks_count; i++)
+                       extend_blk(fs, nod, b, 1);
+               get_nod(fs, nod)->i_size = fs->sb.s_r_blocks_count * BLOCKSIZE;
+@@ -1170,24 +1550,24 @@
+ // loads a filesystem from disk
+ filesystem * load_fs(FILE * fh, int swapit)
+ {
+-      size_t fssize;
++      size_t fssize = 0;
+       filesystem *fs;
+       if((fseek(fh, 0, SEEK_END) < 0) || ((fssize = ftell(fh)) < 0))
+-              pexit("input filesystem image");
++              perror_msg_and_die("input filesystem image");
+       rewind(fh);
+       fssize = (fssize + BLOCKSIZE - 1) / BLOCKSIZE;
+       if(fssize < 16) // totally arbitrary
+-              errexit("too small filesystem");
+-      if(fssize > BLOCKS_PER_GROUP) // I build only one group
+-              errexit("too big filesystem");
++              error_msg_and_die("too small filesystem");
++/*    if(fssize > BLOCKS_PER_GROUP) // I build only one group
++              error_msg_and_die("too big filesystem"); */
+       if(!(fs = (filesystem*)calloc(fssize, BLOCKSIZE)))
+-              errexit("not enough memory for filesystem");
++              error_msg_and_die("not enough memory for filesystem");
+       if(fread(fs, BLOCKSIZE, fssize, fh) != fssize)
+-              pexit("input filesystem image");
++              perror_msg_and_die("input filesystem image");
+       if(swapit)
+               swap_badfs(fs);
+       if(fs->sb.s_rev_level || (fs->sb.s_magic != EXT2_MAGIC_NUMBER))
+-              errexit("not a suitable ext2 filesystem");
++              error_msg_and_die("not a suitable ext2 filesystem");
+       return fs;
+ }
+@@ -1230,9 +1610,9 @@
+       while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END)
+       {
+               if(fsize <= 0)
+-                      errexit("wrong size while saving inode %d", nod);
++                      error_msg_and_die("wrong size while saving inode %d", nod);
+               if(fwrite(get_blk(fs, bk), (fsize > BLOCKSIZE) ? BLOCKSIZE : fsize, 1, f) != 1)
+-                      errexit("error while saving inode %d", nod);
++                      error_msg_and_die("error while saving inode %d", nod);
+               fsize -= BLOCKSIZE;
+       }
+ }
+@@ -1250,7 +1630,7 @@
+       {
+               int i, j;
+               if(fsize <= 0)
+-                      errexit("wrong size while saving inode %d", nod);
++                      error_msg_and_die("wrong size while saving inode %d", nod);
+               b = get_blk(fs, bk);
+               for(i = 0; i < 64; i++)
+               {
+@@ -1406,7 +1786,7 @@
+                       s = (nod >= EXT2_FIRST_INO) ? "normal" : "unknown reserved"; 
+       }
+       printf("inode %d (%s, %d links): ", nod, s, get_nod(fs, nod)->i_links_count);
+-      if(!allocated(fs->ibm, nod))
++      if(!allocated(GRP_GET_INODE_BITMAP(fs,nod), GRP_IBM_OFFSET(fs,nod)))
+       {
+               printf("unallocated\n");
+               return;
+@@ -1440,24 +1820,46 @@
+               default:
+                       list_blocks(fs, nod);
+       }
++      printf("Done with inode %d\n",nod);
+ }
+ // describes various fields in a filesystem
+ void print_fs(filesystem *fs)
+ {
+-      int i;
+-      printf("%d blocks (%d free, %d reserved), first data block: %d\n", fs->sb.s_blocks_count, fs->sb.s_free_blocks_count, fs->sb.s_r_blocks_count, fs->sb.s_first_data_block);
+-      printf("%d inodes (%d free)\n", fs->sb.s_inodes_count, fs->sb.s_free_inodes_count);
+-      printf("block size = %d, frag size = %d\n", fs->sb.s_log_block_size ? (fs->sb.s_log_block_size << 11) : 1024, fs->sb.s_log_frag_size ? (fs->sb.s_log_frag_size << 11) : 1024);
+-      printf("%d blocks per group, %d frags per group, %d inodes per group\n", fs->sb.s_blocks_per_group, fs->sb.s_frags_per_group, fs->sb.s_inodes_per_group);
+-      printf("block bitmap: block %d, inode bitmap: block %d, inode table: block %d\n", fs->gd.bg_block_bitmap, fs->gd.bg_inode_bitmap, fs->gd.bg_inode_table);
+-      printf("block bitmap allocation:\n");
+-      print_bm(fs->bbm, fs->sb.s_blocks_count);
+-      printf("inode bitmap allocation:\n");
+-      print_bm(fs->ibm, fs->sb.s_inodes_count);
+-      for(i=1; i<=fs->sb.s_inodes_count; i++)
+-              if(allocated(fs->ibm, i))
+-                      print_inode(fs, i);
++      int i,j;
++      uint8 *ibm;
++
++      printf("%d blocks (%d free, %d reserved), first data block: %d\n",
++             fs->sb.s_blocks_count, fs->sb.s_free_blocks_count,
++             fs->sb.s_r_blocks_count, fs->sb.s_first_data_block);
++      printf("%d inodes (%d free)\n", fs->sb.s_inodes_count,
++             fs->sb.s_free_inodes_count);
++      printf("block size = %d, frag size = %d\n",
++             fs->sb.s_log_block_size ? (fs->sb.s_log_block_size << 11) : 1024,
++             fs->sb.s_log_frag_size ? (fs->sb.s_log_frag_size << 11) : 1024);
++      printf("Number of groups: %d\n",GRP_NBGROUPS(fs));
++      printf("%d blocks per group,%d frags per group,%d inodes per group\n",
++           fs->sb.s_blocks_per_group, fs->sb.s_frags_per_group,
++           fs->sb.s_inodes_per_group);
++      printf("Size of inode table: %d blocks\n",
++                      fs->sb.s_inodes_per_group * sizeof(inode)/BLOCKSIZE);
++      for (i = 0; i < GRP_NBGROUPS(fs); i++) {
++              printf("Group No: %d\n", i);
++              printf("block bitmap: block %d,inode bitmap: block %d, inode table: block %d\n",
++                   fs->gd[i].bg_block_bitmap, fs->gd[i].bg_inode_bitmap,
++                   fs->gd[i].bg_inode_table);
++              printf("Free blocks count: %d\n",fs->gd[i].bg_free_blocks_count);
++              printf("Free inodes count: %d\n",fs->gd[i].bg_free_inodes_count);
++              printf("Used dir count: %d\n",fs->gd[i].bg_used_dirs_count);
++              printf("block bitmap allocation:\n");
++              print_bm(GRP_GET_GROUP_BBM(fs, i),fs->sb.s_blocks_per_group);
++              printf("inode bitmap allocation:\n");
++              ibm = GRP_GET_GROUP_IBM(fs, i);
++              print_bm(ibm, fs->sb.s_inodes_per_group);
++              for (j = 1; j <= fs->sb.s_inodes_per_group; j++)
++                      if (allocated(ibm, j))
++                              print_inode(fs, i*fs->sb.s_inodes_per_group + j);
++      }
+ }
+ void dump_fs(filesystem *fs, FILE * fh, int swapit)
+@@ -1467,31 +1869,234 @@
+       if(swapit)
+               swap_goodfs(fs);
+       if(fwrite(fs, BLOCKSIZE, nbblocks, fh) < nbblocks)
+-              pexit("output filesystem image");
++              perror_msg_and_die("output filesystem image");
+       if(swapit)
+               swap_badfs(fs);
+ }
++/*  device table entries take the form of:
++    <path>    <type> <mode>   <uid>   <gid>   <major> <minor> <start> <inc>   <count>
++    /dev/mem     c    640       0       0         1       1       0     0         -
++
++    type can be one of: 
++      f       A regular file
++      d       Directory
++      c       Character special device file
++      b       Block special device file
++      p       Fifo (named pipe)
++
++    I don't bother with symlinks (permissions are irrelevant), hard
++    links (special cases of regular files), or sockets (why bother).
++
++    Regular files must exist in the target root directory.  If a char,
++    block, fifo, or directory does not exist, it will be created.
++*/
++static int interpret_table_entry(filesystem *fs, char *line)
++{
++      char type, *name = NULL, *tmp, *dir, *bname;
++      unsigned long mode = 0755, uid = 0, gid = 0, major = 0, minor = 0;
++      unsigned long start = 0, increment = 1, count = 0;
++      inode *entry;
++      uint32 nod, parent;
++
++      if (sscanf (line, "%" SCANF_PREFIX "s %c %lo %lu %lu %lu %lu %lu %lu %lu",
++                              SCANF_STRING(name), &type, &mode, &uid, &gid, &major, &minor,
++                              &start, &increment, &count) < 0) 
++      {
++              return 1;
++      }
++
++      if (!strcmp(name, "/")) {
++              error_msg_and_die("Device table entries require absolute paths");
++      }
++
++      /* Check if this file already exists... */
++      switch (type) {
++              case 'd':
++                      mode |= S_IFDIR;
++                      break;
++              case 'f':
++                      mode |= S_IFREG;
++                      break;
++              case 'p':
++                      mode |= S_IFIFO;
++                      break;
++              case 'c':
++                      mode |= S_IFCHR;
++                      break;
++              case 'b':
++                      mode |= S_IFBLK;
++                      break;
++              default:
++                      error_msg_and_die("Unsupported file type");
++      }
++      nod = 0;
++      if (count==0)
++              nod = find_path(fs, EXT2_ROOT_INO, name);
++      if (nod) {
++              /* Ok, we just need to fixup an existing entry 
++               * and we will be all done... */
++              entry = get_nod(fs, nod);
++              entry->i_uid = uid;
++              entry->i_gid = gid;
++              entry->i_mode = mode;
++              if (major) {
++                      dev_t rdev = makedev(major, minor);
++                      ((uint8*)entry->i_block)[0] = (rdev & 0xff);
++                      ((uint8*)entry->i_block)[1] = (rdev >> 8);
++              }
++      } else {
++              /* Try and find our parent now */
++              tmp = xstrdup(name);
++              dir = dirname(tmp);
++              parent = find_path(fs, EXT2_ROOT_INO, dir);
++              free(tmp);
++              if (!parent) {
++                      error_msg ("skipping device_table entry '%s': no parent directory!", name);
++                      free(name);
++                      return 1;
++              }
++
++              tmp = xstrdup(name);
++              bname = xstrdup(basename(tmp));
++              free(tmp);
++              switch (type) {
++                      case 'd':
++                              mkdir_fs(fs, parent, bname, mode|FM_IFDIR, uid, gid, time(NULL));
++                              break;
++                      case 'f':
++#if 0
++                              {
++                                      // This is a bit odd.. This will try to include
++                                      // the file of the same name from your _build_
++                                      // system...  Probably a very bad idea....
++                                      struct stat st;
++                                      FILE *fh = xfopen(name, "r");
++                                      lstat(name, &st);
++                                      mkfile_fs(fs, parent, bname, mode|FM_IFREG, st.st_size, fh, uid, gid, st.st_ctime);
++                                      fclose(fh);
++                              }
++#else
++                              error_msg("ignoring entry %s", name);
++#endif
++                              break;
++                      case 'p':
++                              error_msg("ignoring entry %s", name);
++                              break;
++                      case 'c':
++                      case 'b':
++                              if (count > 0) {
++                                      dev_t rdev;
++                                      char *dname;
++                                      unsigned long i;
++                                      for (i = start; i < count; i++) {
++                                              asprintf(&dname, "%s%lu", bname, i);
++                                              nod = find_path(fs, EXT2_ROOT_INO, dname);
++                                              if (nod) {
++                                                      /* We just need to fixup an existing entry */ 
++                                                      entry = get_nod(fs, nod);
++                                              } else {
++                                                      nod = alloc_nod(fs);
++                                                      add2dir(fs, parent, nod, dname, mode, uid, gid, time(NULL));
++                                                      entry = get_nod(fs, nod);
++                                              }
++                                              entry->i_uid = uid;
++                                              entry->i_gid = gid;
++                                              entry->i_mode = mode;
++                                              rdev = makedev(major, minor + (i * increment - start));
++                                              ((uint8*)entry->i_block)[0] = (rdev & 0xff);
++                                              ((uint8*)entry->i_block)[1] = (rdev >> 8);
++                                              free(dname);
++                                      }
++                              } else {
++                                      dev_t rdev = makedev(major, minor);
++                                      nod = alloc_nod(fs);
++                                      add2dir(fs, parent, nod, bname, mode, uid, gid, time(NULL));
++                                      entry = get_nod(fs, nod);
++                                      ((uint8*)entry->i_block)[0] = (rdev & 0xff);
++                                      ((uint8*)entry->i_block)[1] = (rdev >> 8);
++                              }
++                              break;
++                      default:
++                              error_msg_and_die("Unsupported file type");
++              }
++              free(bname);
++      }
++      free(name);
++      return 0;
++}
++
++static int parse_device_table(filesystem *root, FILE * file)
++{
++      char *line;
++      int status = 0;
++      size_t length = 0;
++
++      /* Turn off squash, since we must ensure that values
++       * entered via the device table are not squashed */
++      squash_uids = 0;
++      squash_perms = 0;
++
++      /* Looks ok so far.  The general plan now is to read in one
++       * line at a time, check for leading comment delimiters ('#'),
++       * then try and parse the line as a device table.  If we fail
++       * to parse things, try and help the poor fool to fix their
++       * device table with a useful error msg... */
++      line = NULL;
++      while (getline(&line, &length, file) != -1) {
++              /* First trim off any whitespace */
++              int len = strlen(line);
++
++              /* trim trailing whitespace */
++              while (len > 0 && isspace(line[len - 1]))
++                      line[--len] = '\0';
++              /* trim leading whitespace */
++              memmove(line, &line[strspn(line, " \n\r\t\v")], len);
++
++              /* How long are we after trimming? */
++              len = strlen(line);
++
++              /* If this is NOT a comment line, try to interpret it */
++              if (len && *line != '#') {
++                      if (interpret_table_entry(root, line))
++                              status = 1;
++              }
++
++              free(line);
++              line = NULL;
++      }
++      fclose(file);
++
++      return status;
++}
++
++/*
++Local Variables:
++c-file-style: "linux"
++c-basic-offset: 4
++tab-width: 4
++End:
++*/
++
+ void showhelp(void)
+ {
+       fprintf(stderr, "Usage: %s [options] image\n"
+       "Create an ext2 filesystem image from directories/files\n\n"
+-      "  -x image                Use this image as a starting point\n"
+-      "  -d directory            Add this directory as source\n"
+-      "  -f file                 Add nodes (e.g. devices) from this spec file\n"
+-      "  -b blocks               Size in blocks\n"
+-      "  -i inodes               Number of inodes\n"
+-      "  -r reserved             Number of reserved blocks\n"
+-      "  -g path                 Generate a block map file for this path\n"
+-      "  -e value                Fill unallocated blocks with value\n"
+-      "  -z                      Make files with holes\n"
+-      "  -v                      Print resulting filesystem structure\n"
+-      "  -h                      Show this help\n\n"
+-      "Example of spec file:\n"
+-      "drwx            /dev\n"
+-      "crw-    10,190  /dev/lcd\n"
+-      "brw-    1,0     /dev/ram0\n\n"
+-      "Report bugs to xavier.bestel@free.fr\n", argv0);
++      "  -x image         Use this image as a starting point\n"
++      "  -d directory     Add this directory as source\n"
++      "  -b blocks        Size in blocks\n"
++      "  -i inodes        Number of inodes\n"
++      "  -r reserved      Number of reserved blocks\n"
++      "  -g path          Generate a block map file for this path\n"
++      "  -e value         Fill unallocated blocks with value\n"
++      "  -z               Make files with holes\n"
++      "  -D,-f            Use the named FILE as a device table file\n"
++      "  -q               Squash permissions and owners making all files be owned by root\n"
++      "  -U               Squash owners making all files be owned by root\n"
++      "  -P               Squash permissions on all files\n"
++      "  -v               Print resulting filesystem structure\n"
++      "  -h               Show this help\n\n"
++      "Report bugs to xavier.bestel@free.fr\n", app_name);
+ }
+ #define MAX_DOPT 128
+@@ -1521,21 +2126,17 @@
+       filesystem *fs;
+       int i;
+       int c;
++      struct stat sb;
++      FILE *devtable = NULL;
+-      argv0 = argv[0];
+-      if(argc <= 1)
+-      {
+-              showhelp();
+-              exit(1);
+-      }
+-      while((c = getopt(argc, argv, "x:f:d:b:i:r:g:e:zvh")) != EOF)
++      app_name = argv[0];
++      while((c = getopt(argc, argv, "x:d:b:i:r:g:e:zvhD:f:qUP")) != EOF)
+               switch(c)
+               {
+                       case 'x':
+                               fsin = optarg;
+                               break;
+                       case 'd':
+-                      case 'f':
+                               dopt[didx++] = optarg;
+                               break;
+                       case 'b':
+@@ -1556,6 +2157,24 @@
+                       case 'z':
+                               holes = 1;
+                               break;
++                      case 'f':
++                      case 'D':
++                              devtable = xfopen(optarg, "r");
++                              if (fstat(fileno(devtable), &sb) < 0)
++                                      perror_msg_and_die(optarg);
++                              if (sb.st_size < 10)
++                                      error_msg_and_die("%s: not a proper device table file", optarg);
++                              break;
++                      case 'q':
++                              squash_uids = 1;
++                              squash_perms = 1;
++                              break;
++                      case 'U':
++                              squash_uids = 1;
++                              break;
++                      case 'P':
++                              squash_perms = 1;
++                              break;
+                       case 'v':
+                               verbose = 1;
+                               break;
+@@ -1566,16 +2185,14 @@
+                               exit(1);
+               }
+       if(optind < (argc - 1))
+-              errexit("too many arguments");
++              error_msg_and_die("too many arguments");
+       if(optind == (argc - 1))
+               fsout = argv[optind];
+       if(fsin)
+       {
+               if(strcmp(fsin, "-"))
+               {
+-                      FILE * fh = fopen(fsin, "r");
+-                      if(!fh)
+-                              pexit(fsin);
++                      FILE * fh = xfopen(fsin, "r");
+                       fs = load_fs(fh, bigendian);
+                       fclose(fh);
+               }
+@@ -1585,7 +2202,7 @@
+       else
+       {
+               if(nbblocks == -1)
+-                      errexit("filesystem size unspecified");
++                      error_msg_and_die("filesystem size unspecified");
+               if(nbinodes == -1)
+                       nbinodes = nbblocks * BLOCKSIZE / rndup(BYTES_PER_INODE, BLOCKSIZE);
+               if(nbresrvd == -1)
+@@ -1595,35 +2212,30 @@
+       for(i = 0; i < didx; i++)
+       {
+               struct stat st;
+-              FILE *fh;
+               char *pdir;
+               stat(dopt[i], &st);
+               switch(st.st_mode & S_IFMT)
+               {
+-                      case S_IFREG:
+-                              if(!(fh = fopen(dopt[i], "r")))
+-                                      pexit(dopt[i]);
+-                              add2fs_from_file(fs, EXT2_ROOT_INO, fh);
+-                              fclose(fh);
+-                              break;
+                       case S_IFDIR:
+                               if(!(pdir = getcwd(0, GETCWD_SIZE)))
+-                                      pexit(dopt[i]);
++                                      perror_msg_and_die(dopt[i]);
+                               if(chdir(dopt[i]) < 0)
+-                                      pexit(dopt[i]);
++                                      perror_msg_and_die(dopt[i]);
+                               add2fs_from_dir(fs, EXT2_ROOT_INO);
+                               if(chdir(pdir) < 0)
+-                                      pexit(pdir);
++                                      perror_msg_and_die(pdir);
+                               free(pdir);
+                               break;
+                       default:
+-                              errexit("%s in neither a file nor a directory", dopt[i]);
++                              error_msg_and_die("%s is neither a file nor a directory", dopt[i]);
+               }
+       }
+       if(emptyval)
+               for(i = 1; i < fs->sb.s_blocks_count; i++)
+-                      if(!allocated(fs->bbm, i))
++                      if(!allocated(GRP_GET_BLOCK_BITMAP(fs,i),GRP_BBM_OFFSET(fs,i)))
+                               memset(get_blk(fs, i), emptyval, BLOCKSIZE);
++      if(devtable)
++              parse_device_table(fs, devtable);
+       if(verbose)
+               print_fs(fs);
+       for(i = 0; i < gidx; i++)
+@@ -1633,21 +2245,18 @@
+               char *p;
+               FILE *fh;
+               if(!(nod = find_path(fs, EXT2_ROOT_INO, gopt[i])))
+-                      errexit("path %s not found in filesystem", gopt[i]);
++                      error_msg_and_die("path %s not found in filesystem", gopt[i]);
+               while((p = strchr(gopt[i], '/')))
+                       *p = '_';
+               snprintf(fname, MAX_FILENAME-1, "%s.blk", gopt[i]);
+-              if(!(fh = fopen(fname, "w")))
+-                      pexit(fname);
++              fh = xfopen(fname, "w");
+               fprintf(fh, "%d:", get_nod(fs, nod)->i_size);
+               flist_blocks(fs, nod, fh);
+               fclose(fh);
+       }
+       if(strcmp(fsout, "-"))
+       {
+-              FILE * fh = fopen(fsout, "w");
+-              if(!fh)
+-                      pexit(fsout);
++              FILE * fh = xfopen(fsout, "w");
+               dump_fs(fs, fh, bigendian);
+               fclose(fh);
+       }
+diff -urN genext2fs-1.3.orig/test-mount.sh genext2fs-1.3/test-mount.sh
+--- genext2fs-1.3.orig/test-mount.sh   1969-12-31 17:00:00.000000000 -0700
++++ genext2fs-1.3/test-mount.sh        2003-04-21 01:41:42.000000000 -0600
+@@ -0,0 +1,96 @@
++#!/bin/sh
++set -e
++
++cleanup () {
++      set +e
++      umount mnt 2>/dev/null
++      rm -rf mnt ext2.img lsout fout test 2>/dev/null
++}
++
++# dtest - Uses the -d directory option of genext2fs
++# Creates an image with a file of given size and verifies it
++# Usage: dtest file-size number-of-blocks 
++dtest () {
++      size=$1; blocks=$2;fname=$size 
++      echo "Testing with file of size $size "
++      mkdir -p test
++      cd test
++      dd if=/dev/zero of=file.$1 bs=1 count=$size 
++      cd ..
++      ./genext2fs -b $blocks -d test ext2.img 
++      md5=`md5sum ext2.img | cut -f1 -d " "`
++      if ! /sbin/e2fsck -fn ext2.img ; then
++              echo "fsck failed"
++              echo FAILED
++              cleanup
++              exit 1
++      fi
++      mkdir -p mnt
++      if ! mount -t ext2 -o loop ext2.img mnt; then
++              echo FAILED
++              cleanup
++              exit 1
++      fi
++      if (! [ -f mnt/file.$fname ]) || \
++                      [ $fname != "`ls -al mnt | grep file.$fname |awk '{print $5}'`" ] ; then
++              echo FAILED
++              cleanup
++              exit 1
++      fi
++      echo PASSED "(md5 checksum for the image: $md5)"
++      cleanup
++}
++
++# ftest - Uses the -f spec-file option of genext2fs
++# Creates an image with the devices mentioned in the given spec 
++# file and verifies it
++# Usage: ftest spec-file number-of-blocks 
++ftest () {
++      fname=$1; blocks=$2; 
++      echo "Testing with devices file $fname"
++      ./genext2fs -b $blocks -f $fname ext2.img
++      md5=`md5sum ext2.img | cut -f 1 -d " "`
++      if ! /sbin/e2fsck -fn ext2.img ; then
++              echo "fsck failed"
++              echo FAILED
++              cleanup
++              exit 1
++      fi
++      mkdir -p mnt
++      if ! mount -t ext2 -o loop ext2.img mnt; then
++              echo FAILED
++              cleanup
++              exit 1
++      fi
++      if ! [ -d mnt/dev ] ; then
++              echo FAILED
++              cleanup
++              exit 1
++      fi
++      cat dev.txt | grep ^[bc] | \
++              awk '{print $1substr($1,2)substr($1,2),$2,$3}'| \
++                      sort -d -k3.6 > fout
++      ls -al mnt/dev | grep ^[bc] | \
++              awk '{ print $1,$5$6,"/dev/"$10}' | \
++                      sort -d -k3.6 > lsout
++      if ! diff fout lsout ; then
++              echo FAILED
++              cleanup
++              exit 1
++      fi
++      echo PASSED "(md5 checksum for the image: $md5)"
++      cleanup
++}
++
++dtest 0 4096 
++dtest 0 8193
++dtest 0 8194
++dtest 1 4096 
++dtest 12288 4096 
++dtest 274432 4096 
++dtest 8388608 9000 
++dtest 16777216 20000
++
++ftest dev.txt 4096 
++
++exit 0
+diff -urN genext2fs-1.3.orig/test.sh genext2fs-1.3/test.sh
+--- genext2fs-1.3.orig/test.sh 1969-12-31 17:00:00.000000000 -0700
++++ genext2fs-1.3/test.sh      2003-04-21 01:41:42.000000000 -0600
+@@ -0,0 +1,53 @@
++#!/bin/sh
++set -e
++
++# dtest - Uses the -d directory option of genext2fs
++# Creates an image with a file of given size and verifies it
++# Usage: dtest file-size number-of-blocks correct-checksum
++dtest () {
++      size=$1; blocks=$2; checksum=$3
++      echo "Testing with file of size $size "
++      mkdir -p test
++      cd test
++      dd if=/dev/zero of=file.$1 bs=1 count=$size 
++      cd ..
++      ./genext2fs -b $blocks -d test ext2.img 
++      md5=`md5sum ext2.img | cut -d" " -f1`
++      rm -rf ext2.img test
++      if [ $md5 == $checksum ] ; then
++              echo PASSED
++      else
++              echo FAILED
++              exit 1
++      fi
++}
++
++# ftest - Uses the -f spec-file option of genext2fs
++# Creates an image with the devices mentioned in the given spec 
++# file and verifies it
++# Usage: ftest spec-file number-of-blocks correct-checksum
++ftest () {
++      fname=$1; blocks=$2; checksum=$3
++      echo "Testing with devices file $fname"
++      ./genext2fs -b $blocks -f $fname ext2.img
++      md5=`md5sum ext2.img | cut -d" " -f1`
++      rm -rf ext2.img
++      if [ $md5 == $checksum ] ; then
++              echo PASSED
++      else
++              echo FAILED
++              exit 1
++      fi
++}
++
++dtest 0 4096 491a43ab93c2e5c186c9f1f72d88e5c5
++dtest 0 8193 6289224f0b7f151994479ba156c43505
++dtest 0 8194 3272c43c25e8d0c3768935861a643a65
++dtest 1 4096 5ee24486d33af88c63080b09d8cadfb5
++dtest 12288 4096 494498364defdc27b2770d1f9c1e3387
++dtest 274432 4096 65c4bd8d30bf563fa5434119a12abff1
++dtest 8388608 9000 9a49b0461ee236b7fd7c452fb6a1f2dc
++dtest 16777216 20000 91e16429c901b68d30f783263f0611b7
++
++ftest dev.txt 4096 921ee9343b0759e16ad8d979d7dd16ec
++exit 0
diff --git a/target/jffs2/jffs2root.mk b/target/jffs2/jffs2root.mk
new file mode 100644 (file)
index 0000000..a8c6de6
--- /dev/null
@@ -0,0 +1,49 @@
+#############################################################
+#
+# mtd provides us with mkfs.jffs2, to target JFFS2 filesystems
+#
+#############################################################
+
+MTD_DIR:=$(BUILD_DIR)/mtd-20011217
+MTD_SOURCE=mtd_20011217.orig.tar.gz
+MTD_SITE=http://ftp.debian.org/debian/pool/main/m/mtd
+MKFS_JFFS2=$(shell which mkfs.jffs2 2>/dev/null || echo $(MTD_DIR)/util/mkfs.jffs2)
+
+$(DL_DIR)/$(MTD_SOURCE):
+       $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_SOURCE)
+
+$(MTD_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
+       zcat $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) -xvf -
+       touch $(MTD_DIR)/.unpacked
+
+$(MTD_DIR)/util/mkfs.jffs2: $(MTD_DIR)/.unpacked
+       CFLAGS=-I$(LINUX_HEADERS_DIR)/include $(MAKE) LINUXDIR=$(LINUX_DIR) -C $(MTD_DIR)/util
+
+mtd: $(MKFS_JFFS2)
+
+
+#############################################################
+#
+# Build the jffs2 root filesystem image
+#
+#############################################################
+
+jffs2root: mtd
+       #-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true;
+       -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
+       @rm -rf $(TARGET_DIR)/usr/man
+       @rm -rf $(TARGET_DIR)/usr/info
+       $(MKFS_JFFS2) --pad --little-endian --squash -e 0x20000 \
+               -D $(SOURCE_DIR)/device_table.txt -d $(TARGET_DIR) \
+               -o $(IMAGE)
+
+jffs2root-source: $(DL_DIR)/$(MTD_SOURCE)
+
+jffs2root-clean:
+       -$(MAKE) -C $(MTD_DIR) clean
+
+jffs2root-dirclean:
+       rm -rf $(MTD_DIR)
+
+
+
diff --git a/target/squashfs/squashfs.patch b/target/squashfs/squashfs.patch
new file mode 100644 (file)
index 0000000..ea75a7f
--- /dev/null
@@ -0,0 +1,36 @@
+This is a stupid little patch adding an option to change all uid/gid to
+root/root in the generated filesystem.  We really need to teach mksquashfs
+about device tables though...
+
+--- squashfs1.3r3/squashfs-tools/mksquashfs.c-dist     2004-03-29 20:35:37.000000000 -0600
++++ squashfs1.3r3/squashfs-tools/mksquashfs.c  2004-03-29 22:28:51.000000000 -0600
+@@ -136,6 +136,8 @@
+       stotal_bytes, stotal_inode_bytes, stotal_directory_bytes, sinode_count, sfile_count, ssym_count, sdev_count, sdir_count, sdup_files;
+ int restore = 0;
++unsigned int root_owned = 0;
++
+ /*flag whether destination file is a block device */
+ int block_device = 0;
+@@ -421,6 +423,11 @@
+               return SQUASHFS_INVALID;
+       }
++      if (root_owned) {
++              buf.st_uid = 0;
++              buf.st_gid = 0;
++      }
++
+       base->mode = SQUASHFS_MODE(buf.st_mode);
+       base->uid = get_uid(&file_type, (squashfs_uid) buf.st_uid);
+       base->inode_type = file_type;
+@@ -1268,6 +1275,8 @@
+                       root_name = argv[i];
+               } else if(strcmp(argv[i], "-version") == 0) {
+                       VERSION();
++              } else if (strcmp(argv[i], "-root-owned") == 0) {
++                      root_owned = TRUE;
+               } else {
+                       ERROR("%s: invalid option\n\n", argv[0]);
+ printOptions:
diff --git a/target/squashfs/squashfsroot.mk b/target/squashfs/squashfsroot.mk
new file mode 100644 (file)
index 0000000..523d5e2
--- /dev/null
@@ -0,0 +1,51 @@
+#############################################################
+#
+# mksquashfs to build to target squashfs filesystems
+#
+#############################################################
+SQUASHFS_DIR=$(BUILD_DIR)/squashfs1.3r3
+SQUASHFS_SOURCE=squashfs1.3r3.tar.gz
+SQUASHFS_SITE=http://aleron.dl.sourceforge.net/sourceforge/squashfs
+
+$(DL_DIR)/$(SQUASHFS_SOURCE):
+        $(WGET) -P $(DL_DIR) $(SQUASHFS_SITE)/$(SQUASHFS_SOURCE)
+
+$(SQUASHFS_DIR): $(DL_DIR)/$(SQUASHFS_SOURCE) #$(SQUASHFS_PATCH)
+       zcat $(DL_DIR)/$(SQUASHFS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
+       $(SOURCE_DIR)/patch-kernel.sh $(SQUASHFS_DIR) $(SOURCE_DIR) squashfs.patch
+
+$(SQUASHFS_DIR)/squashfs-tools/mksquashfs: $(SQUASHFS_DIR)
+       $(MAKE) -C $(SQUASHFS_DIR)/squashfs-tools;
+
+squashfs: $(SQUASHFS_DIR)/squashfs-tools/mksquashfs
+
+squashfs-source: $(DL_DIR)/$(SQUASHFS_SOURCE)
+
+squashfs-clean:
+       -$(MAKE) -C $(SQUASHFS_DIR)/squashfs-tools clean
+
+squashfs-dirclean:
+       rm -rf $(SQUASHFS_DIR)
+
+#############################################################
+#
+# Build the squashfs root filesystem image
+#
+#############################################################
+
+squashfsroot: squashfs
+       #-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true;
+       -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
+       @rm -rf $(TARGET_DIR)/usr/man
+       @rm -rf $(TARGET_DIR)/usr/info
+       #$(SQUASHFS_DIR)/squashfs-tools/mksquashfs -q -D $(SOURCE_DIR)/device_table.txt $(TARGET_DIR) $(IMAGE)
+       $(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) $(IMAGE) -noappend -root-owned
+
+squashfsroot-source: squashfs-source
+
+squashfsroot-clean:
+       -$(MAKE) -C $(SQUASHFS_DIR) clean
+
+squashfsroot-dirclean:
+       rm -rf $(SQUASHFS_DIR)
+
index fbd019699453f2ce110cac372748b3dd215b1af7..6e06f97248ef2ed6afc3aa55b008b4a6b1f043c5 100644 (file)
@@ -33,7 +33,7 @@ $(BINUTILS_DIR)/.unpacked: $(DL_DIR)/$(BINUTILS_SOURCE)
 
 $(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked
        # Apply appropriate binutils patches.
-       $(SOURCE_DIR)/patch-kernel.sh $(BINUTILS_DIR) toolchain/binutils/$(BINUTILS_VERSION) \*.patch
+       toolchain/patch-kernel.sh $(BINUTILS_DIR) toolchain/binutils/$(BINUTILS_VERSION) \*.patch
        touch $(BINUTILS_DIR)/.patched
 
 $(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched
index cedbfd92ce45ac32ae6c7fc43150b067d379a9b3..e75fb6bf8fddb86358d87ee88792e570ee27f091 100644 (file)
@@ -62,7 +62,7 @@ $(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
 
 $(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
        # Apply any files named gcc-*.patch from the source directory to gcc
-       $(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) \*.patch
+       toolchain/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) \*.patch
        #
        # We do not wish to build the libstdc++ library provided with gcc,
        # since it doesn't seem to work at all with uClibc plus gcc 2.95...
index cc32d29529e8ceabd0b53bd48fcb134a62a47b99..2d15b6f3c84b26ec37fff436083e3b77ece5a9f5 100644 (file)
@@ -67,7 +67,7 @@ $(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
 
 $(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
        # Apply any files named gcc-*.patch from the source directory to gcc
-       $(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) \*.patch
+       toolchain/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) \*.patch
        # Note: The soft float situation has improved considerably with gcc 3.4.x.
        # We can dispense with the custom spec files, as well as libfloat for the arm case.
        # However, we still need a patch for arm.  There's a similar patch for gcc 3.3.x
@@ -75,14 +75,14 @@ $(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
        # anyone (?) who might still be using gcc 2.95.  mjn3
 ifeq ($(SOFT_FLOAT),true)
 ifeq ("$(strip $(ARCH))","arm")
-       $(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) arm-softfloat.patch.conditional
+       toolchain/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) arm-softfloat.patch.conditional
 endif
 ifeq ("$(strip $(ARCH))","armeb")
-       $(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) arm-softfloat.patch.conditional
+       toolchain/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) arm-softfloat.patch.conditional
 endif
        # Not yet updated to 3.4.1.
        #ifeq ("$(strip $(ARCH))","i386")
-       #$(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) toolchain/gcc i386-gcc-soft-float.patch
+       #toolchain/patch-kernel.sh $(GCC_DIR) toolchain/gcc i386-gcc-soft-float.patch
        #endif
 endif
        touch $(GCC_DIR)/.patched
index 5340ab10e83d0f98e11c981d3994742c3d059789..057ccad27f5f6092106678af9c04317802b295da 100644 (file)
@@ -22,7 +22,7 @@ $(DL_DIR)/$(GDB_SOURCE):
 
 $(GDB_DIR)/.unpacked: $(DL_DIR)/$(GDB_SOURCE)
        $(GDB_CAT) $(DL_DIR)/$(GDB_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -
-       $(SOURCE_DIR)/patch-kernel.sh $(GDB_DIR) $(SOURCE_DIR)/gdb/$(GDB_VERSION) \*.patch
+       toolchain/patch-kernel.sh $(GDB_DIR) $(SOURCE_DIR)/gdb/$(GDB_VERSION) \*.patch
        # Copy a config.sub from gcc.  This is only necessary until
        # gdb's config.sub supports <arch>-linux-uclibc tuples.
        # Should probably integrate this into the patch.
index 39d14e6dcbbe6261a790eecf4e85c55b46a1654d..4c3b9a25361c08ba340a5d935601c922f781e9eb 100644 (file)
@@ -65,7 +65,7 @@ endif
        touch $(LINUX_HEADERS_DIR)/.unpacked
 
 $(LINUX_HEADERS_DIR)/.patched: $(LINUX_HEADERS_DIR)/.unpacked
-       $(SOURCE_DIR)/patch-kernel.sh $(LINUX_HEADERS_DIR) toolchain/kernel-headers linux-libc-headers-$(LINUX_VERSION)-\*.patch
+       toolchain/patch-kernel.sh $(LINUX_HEADERS_DIR) toolchain/kernel-headers linux-libc-headers-$(LINUX_VERSION)-\*.patch
        touch $(LINUX_HEADERS_DIR)/.patched
 
 $(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_DIR)/.patched
diff --git a/toolchain/kernel-headers/linux-libc-headers-2.6.8-cleanup.patch b/toolchain/kernel-headers/linux-libc-headers-2.6.8-cleanup.patch
new file mode 100644 (file)
index 0000000..44461d1
--- /dev/null
@@ -0,0 +1,8153 @@
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/addrspace.h linux-libc-headers-2.6.8.0/include/asm-mips/addrspace.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/addrspace.h       2004-03-28 07:51:50.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/addrspace.h    2004-08-26 05:53:12.000000000 -0500
+@@ -10,7 +10,23 @@
+ #ifndef _ASM_ADDRSPACE_H
+ #define _ASM_ADDRSPACE_H
+-#include <spaces.h>
++/**********************************************************************/
++/* Include the common bits for #include <spaces.h> */
++#ifndef __mips64
++
++#define CAC_BASE              0x80000000
++#define IO_BASE                       0xa0000000
++#define UNCAC_BASE            0xa0000000
++#define MAP_BASE              0xc0000000
++
++/*
++ * This handles the memory map.
++ * We handle pages at KSEG0 for kernels with 32 bit address space.
++ */
++#define PAGE_OFFSET           0x80000000UL
++
++#endif /* ndef __mips64 */
++/**********************************************************************/
+ /*
+  *  Configure language
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/asmmacro.h linux-libc-headers-2.6.8.0/include/asm-mips/asmmacro.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/asmmacro.h        2004-08-18 13:15:41.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/asmmacro.h     2004-08-26 05:14:41.000000000 -0500
+@@ -9,10 +9,10 @@
+ #define _ASM_ASMMACRO_H
+  
+  
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+ #include <asm/asmmacro-32.h>
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ #include <asm/asmmacro-64.h>
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/checksum.h linux-libc-headers-2.6.8.0/include/asm-mips/checksum.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/checksum.h        2004-06-23 16:52:45.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/checksum.h     2004-08-26 05:14:41.000000000 -0500
+@@ -125,7 +125,7 @@
+ {
+       __asm__(
+       ".set\tnoat\t\t\t# csum_tcpudp_nofold\n\t"
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+       "addu\t%0, %2\n\t"
+       "sltu\t$1, %0, %2\n\t"
+       "addu\t%0, $1\n\t"
+@@ -138,7 +138,7 @@
+       "sltu\t$1, %0, %4\n\t"
+       "addu\t%0, $1\n\t"
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+       "daddu\t%0, %2\n\t"
+       "daddu\t%0, %3\n\t"
+       "daddu\t%0, %4\n\t"
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/compat.h linux-libc-headers-2.6.8.0/include/asm-mips/compat.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/compat.h  2003-12-15 12:47:02.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/compat.h       2004-08-26 05:23:05.000000000 -0500
+@@ -8,64 +8,64 @@
+ #define COMPAT_USER_HZ        100
+-typedef u32           compat_size_t;
+-typedef s32           compat_ssize_t;
+-typedef s32           compat_time_t;
+-typedef s32           compat_clock_t;
+-typedef s32           compat_suseconds_t;
+-
+-typedef s32           compat_pid_t;
+-typedef s32           compat_uid_t;
+-typedef s32           compat_gid_t;
+-typedef u32           compat_mode_t;
+-typedef u32           compat_ino_t;
+-typedef u32           compat_dev_t;
+-typedef s32           compat_off_t;
+-typedef s64           compat_loff_t;
+-typedef u32           compat_nlink_t;
+-typedef s32           compat_ipc_pid_t;
+-typedef s32           compat_daddr_t;
+-typedef s32           compat_caddr_t;
++typedef __u32         compat_size_t;
++typedef __s32         compat_ssize_t;
++typedef __s32         compat_time_t;
++typedef __s32         compat_clock_t;
++typedef __s32         compat_suseconds_t;
++
++typedef __s32         compat_pid_t;
++typedef __s32         compat_uid_t;
++typedef __s32         compat_gid_t;
++typedef __u32         compat_mode_t;
++typedef __u32         compat_ino_t;
++typedef __u32         compat_dev_t;
++typedef __s32         compat_off_t;
++typedef __s64         compat_loff_t;
++typedef __u32         compat_nlink_t;
++typedef __s32         compat_ipc_pid_t;
++typedef __s32         compat_daddr_t;
++typedef __s32         compat_caddr_t;
+ typedef struct {
+-      s32     val[2];
++      __s32   val[2];
+ } compat_fsid_t;
+-typedef s32           compat_int_t;
+-typedef s32           compat_long_t;
+-typedef u32           compat_uint_t;
+-typedef u32           compat_ulong_t;
++typedef __s32         compat_int_t;
++typedef __s32         compat_long_t;
++typedef __u32         compat_uint_t;
++typedef __u32         compat_ulong_t;
+ struct compat_timespec {
+       compat_time_t   tv_sec;
+-      s32             tv_nsec;
++      __s32           tv_nsec;
+ };
+ struct compat_timeval {
+       compat_time_t   tv_sec;
+-      s32             tv_usec;
++      __s32           tv_usec;
+ };
+ struct compat_stat {
+       compat_dev_t    st_dev;
+-      s32             st_pad1[3];
++      __s32           st_pad1[3];
+       compat_ino_t    st_ino;
+       compat_mode_t   st_mode;
+       compat_nlink_t  st_nlink;
+       compat_uid_t    st_uid;
+       compat_gid_t    st_gid;
+       compat_dev_t    st_rdev;
+-      s32             st_pad2[2];
++      __s32           st_pad2[2];
+       compat_off_t    st_size;
+-      s32             st_pad3;
++      __s32           st_pad3;
+       compat_time_t   st_atime;
+-      s32             st_atime_nsec;
++      __s32           st_atime_nsec;
+       compat_time_t   st_mtime;
+-      s32             st_mtime_nsec;
++      __s32           st_mtime_nsec;
+       compat_time_t   st_ctime;
+-      s32             st_ctime_nsec;
+-      s32             st_blksize;
+-      s32             st_blocks;
+-      s32             st_pad4[14];
++      __s32           st_ctime_nsec;
++      __s32           st_blksize;
++      __s32           st_blocks;
++      __s32           st_pad4[14];
+ };
+ struct compat_flock {
+@@ -73,10 +73,10 @@
+       short           l_whence;
+       compat_off_t    l_start;
+       compat_off_t    l_len;
+-      s32             l_sysid;
++      __s32           l_sysid;
+       compat_pid_t    l_pid;
+       short           __unused;
+-      s32             pad[4];
++      __s32           pad[4];
+ };
+ #define F_GETLK64     33
+@@ -107,12 +107,12 @@
+ #define COMPAT_RLIM_INFINITY  0x7fffffffUL
+-typedef u32           compat_old_sigset_t;    /* at least 32 bits */
++typedef __u32         compat_old_sigset_t;    /* at least 32 bits */
+ #define _COMPAT_NSIG          128             /* Don't ask !$@#% ...  */
+ #define _COMPAT_NSIG_BPW      32
+-typedef u32           compat_sigset_word;
++typedef __u32         compat_sigset_word;
+ #define COMPAT_OFF_T_MAX      0x7fffffff
+ #define COMPAT_LOFF_T_MAX     0x7fffffffffffffffL
+@@ -123,7 +123,7 @@
+  * as pointers because the syscall entry code will have
+  * appropriately comverted them already.
+  */
+-typedef u32           compat_uptr_t;
++typedef __u32         compat_uptr_t;
+ static inline void *compat_ptr(compat_uptr_t uptr)
+ {
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5074.h linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5074.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5074.h 2003-12-15 12:47:03.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5074.h      2004-08-26 13:21:48.000000000 -0500
+@@ -34,5 +34,5 @@
+ extern void ddb5074_led_d2(int on);
+ extern void ddb5074_led_d3(int on);
+-extern void nile4_irq_setup(u32 base);
++extern void nile4_irq_setup(__u32 base);
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5476.h linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5476.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5476.h 2003-12-15 12:47:03.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5476.h      2004-08-26 05:24:06.000000000 -0500
+@@ -145,13 +145,13 @@
+ extern void nile4_enable_irq(int nile4_irq);
+ extern void nile4_disable_irq(int nile4_irq);
+ extern void nile4_disable_irq_all(void);
+-extern u16 nile4_get_irq_stat(int cpu_irq);
++extern __u16 nile4_get_irq_stat(int cpu_irq);
+ extern void nile4_enable_irq_output(int cpu_irq);
+ extern void nile4_disable_irq_output(int cpu_irq);
+ extern void nile4_set_pci_irq_polarity(int pci_irq, int high);
+ extern void nile4_set_pci_irq_level_or_edge(int pci_irq, int level);
+ extern void nile4_clear_irq(int nile4_irq);
+-extern void nile4_clear_irq_mask(u32 mask);
+-extern u8 nile4_i8259_iack(void);
++extern void nile4_clear_irq_mask(__u32 mask);
++extern __u8 nile4_i8259_iack(void);
+ extern void nile4_dump_irq_status(void);        /* Debug */
+ #endif /* !__ASSEMBLY__ */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5xxx.h linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5xxx.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/ddb5xxx/ddb5xxx.h 2004-01-17 17:03:47.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/ddb5xxx/ddb5xxx.h      2004-08-26 05:24:01.000000000 -0500
+@@ -177,46 +177,46 @@
+  * interrupt load
+  */
+ #ifndef CONFIG_DDB5074
+-    volatile u32 *p = (volatile u32 *)0xbfc00000;
++    volatile __u32 *p = (volatile __u32 *)0xbfc00000;
+     (void)(*p);
+ #endif
+ }
+-static inline void ddb_out32(u32 offset, u32 val)
++static inline void ddb_out32(__u32 offset, __u32 val)
+ {
+-    *(volatile u32 *)(DDB_BASE+offset) = val;
++    *(volatile __u32 *)(DDB_BASE+offset) = val;
+     ddb_sync();
+ }
+-static inline u32 ddb_in32(u32 offset)
++static inline __u32 ddb_in32(__u32 offset)
+ {
+-    u32 val = *(volatile u32 *)(DDB_BASE+offset);
++    __u32 val = *(volatile __u32 *)(DDB_BASE+offset);
+     ddb_sync();
+     return val;
+ }
+-static inline void ddb_out16(u32 offset, u16 val)
++static inline void ddb_out16(__u32 offset, __u16 val)
+ {
+-    *(volatile u16 *)(DDB_BASE+offset) = val;
++    *(volatile __u16 *)(DDB_BASE+offset) = val;
+     ddb_sync();
+ }
+-static inline u16 ddb_in16(u32 offset)
++static inline __u16 ddb_in16(__u32 offset)
+ {
+-    u16 val = *(volatile u16 *)(DDB_BASE+offset);
++    __u16 val = *(volatile __u16 *)(DDB_BASE+offset);
+     ddb_sync();
+     return val;
+ }
+-static inline void ddb_out8(u32 offset, u8 val)
++static inline void ddb_out8(__u32 offset, __u8 val)
+ {
+-    *(volatile u8 *)(DDB_BASE+offset) = val;
++    *(volatile __u8 *)(DDB_BASE+offset) = val;
+     ddb_sync();
+ }
+-static inline u8 ddb_in8(u32 offset)
++static inline __u8 ddb_in8(__u32 offset)
+ {
+-    u8 val = *(volatile u8 *)(DDB_BASE+offset);
++    __u8 val = *(volatile __u8 *)(DDB_BASE+offset);
+     ddb_sync();
+     return val;
+ }
+@@ -226,10 +226,10 @@
+  *  Physical Device Address Registers
+  */
+-extern u32
+-ddb_calc_pdar(u32 phys, u32 size, int width, int on_memory_bus, int pci_visible);
++extern __u32
++ddb_calc_pdar(__u32 phys, __u32 size, int width, int on_memory_bus, int pci_visible);
+ extern void
+-ddb_set_pdar(u32 pdar, u32 phys, u32 size, int width,
++ddb_set_pdar(__u32 pdar, __u32 phys, __u32 size, int width,
+            int on_memory_bus, int pci_visible);
+ /*
+@@ -248,7 +248,7 @@
+ #define DDB_PCI_ACCESS_32    0x10    /* for pci init0/1 regs */
+-extern void ddb_set_pmr(u32 pmr, u32 type, u32 addr, u32 options);
++extern void ddb_set_pmr(__u32 pmr, __u32 type, __u32 addr, __u32 options);
+ /*
+  * we need to reset pci bus when we start up and shutdown
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/dec/ioasic.h linux-libc-headers-2.6.8.0/include/asm-mips/dec/ioasic.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/dec/ioasic.h      2004-01-17 17:03:47.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/dec/ioasic.h   2004-08-26 05:25:44.000000000 -0500
+@@ -18,14 +18,14 @@
+ extern spinlock_t ioasic_ssr_lock;
+-extern volatile u32 *ioasic_base;
++extern volatile __u32 *ioasic_base;
+-static inline void ioasic_write(unsigned int reg, u32 v)
++static inline void ioasic_write(unsigned int reg, __u32 v)
+ {
+       ioasic_base[reg / 4] = v;
+ }
+-static inline u32 ioasic_read(unsigned int reg)
++static inline __u32 ioasic_read(unsigned int reg)
+ {
+       return ioasic_base[reg / 4];
+ }
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/dec/kn02.h linux-libc-headers-2.6.8.0/include/asm-mips/dec/kn02.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/dec/kn02.h        2004-01-17 17:03:47.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/dec/kn02.h     2004-08-26 05:25:47.000000000 -0500
+@@ -97,7 +97,7 @@
+ #ifndef __ASSEMBLY__
+-extern u32 cached_kn02_csr;
++extern __u32 cached_kn02_csr;
+ extern spinlock_t kn02_lock;
+ extern void init_kn02_irqs(int base);
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/elf.h linux-libc-headers-2.6.8.0/include/asm-mips/elf.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/elf.h     2004-03-28 07:51:51.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/elf.h  2004-08-26 05:17:25.000000000 -0500
+@@ -122,7 +122,7 @@
+ typedef double elf_fpreg_t;
+ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+ /*
+  * This is used to ensure we don't load something for the wrong architecture.
+@@ -150,9 +150,9 @@
+  */
+ #define ELF_CLASS     ELFCLASS32
+-#endif /* CONFIG_MIPS32 */
++#endif /* ndef __mips64 */
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ /*
+  * This is used to ensure we don't load something for the wrong architecture.
+  */
+@@ -174,7 +174,7 @@
+  */
+ #define ELF_CLASS     ELFCLASS64
+-#endif /* CONFIG_MIPS64 */
++#endif /* __mips64 */
+ /*
+  * These are used to set parameters in the core dumps.
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/galileo-boards/ev96100.h linux-libc-headers-2.6.8.0/include/asm-mips/galileo-boards/ev96100.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/galileo-boards/ev96100.h  2004-03-28 07:51:53.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/galileo-boards/ev96100.h       2004-08-26 05:23:12.000000000 -0500
+@@ -46,9 +46,9 @@
+  * bytes when running bigendian.
+  */
+ #define __GT_READ(ofs)                                                        \
+-      (*(volatile u32 *)(GT64120_BASE+(ofs)))
++      (*(volatile __u32 *)(GT64120_BASE+(ofs)))
+ #define __GT_WRITE(ofs, data)                                         \
+-      do { *(volatile u32 *)(GT64120_BASE+(ofs)) = (data); } while (0)
++      do { *(volatile __u32 *)(GT64120_BASE+(ofs)) = (data); } while (0)
+ #define GT_READ(ofs)          le32_to_cpu(__GT_READ(ofs))
+ #define GT_WRITE(ofs, data)   __GT_WRITE(ofs, cpu_to_le32(data))
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/galileo-boards/gt96100.h linux-libc-headers-2.6.8.0/include/asm-mips/galileo-boards/gt96100.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/galileo-boards/gt96100.h  2004-03-28 07:51:53.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/galileo-boards/gt96100.h       2004-08-26 05:23:17.000000000 -0500
+@@ -27,9 +27,9 @@
+ #define MIPS_GT96100_BASE (KSEG1ADDR(0x14000000))
+ #define GT96100_WRITE(ofs, data) \
+-    *(volatile u32 *)(MIPS_GT96100_BASE+ofs) = cpu_to_le32(data)
++    *(volatile __u32 *)(MIPS_GT96100_BASE+ofs) = cpu_to_le32(data)
+ #define GT96100_READ(ofs) \
+-    le32_to_cpu(*(volatile u32 *)(MIPS_GT96100_BASE+ofs))
++    le32_to_cpu(*(volatile __u32 *)(MIPS_GT96100_BASE+ofs))
+ #define GT96100_ETH_IO_SIZE 0x4000
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/gt64120.h linux-libc-headers-2.6.8.0/include/asm-mips/gt64120.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/gt64120.h 2004-03-28 07:51:51.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/gt64120.h      2004-08-26 05:22:36.000000000 -0500
+@@ -420,9 +420,9 @@
+  * bytes when running bigendian.  We also provide non-swapping versions.
+  */
+ #define __GT_READ(ofs)                                                        \
+-      (*(volatile u32 *)(GT64120_BASE+(ofs)))
++      (*(volatile __u32 *)(GT64120_BASE+(ofs)))
+ #define __GT_WRITE(ofs, data)                                         \
+-      do { *(volatile u32 *)(GT64120_BASE+(ofs)) = (data); } while (0)
++      do { *(volatile __u32 *)(GT64120_BASE+(ofs)) = (data); } while (0)
+ #define GT_READ(ofs)          le32_to_cpu(__GT_READ(ofs))
+ #define GT_WRITE(ofs, data)   __GT_WRITE(ofs, cpu_to_le32(data))
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/io.h linux-libc-headers-2.6.8.0/include/asm-mips/io.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/io.h      2004-03-28 07:51:51.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/io.h   2004-08-26 05:24:16.000000000 -0500
+@@ -173,14 +173,14 @@
+       unsigned long flags)
+ {
+       if (cpu_has_64bit_addresses) {
+-              u64 base = UNCAC_BASE;
++              __u64 base = UNCAC_BASE;
+               /*
+                * R10000 supports a 2 bit uncached attribute therefore
+                * UNCAC_BASE may not equal IO_BASE.
+                */
+               if (flags == _CACHE_UNCACHED)
+-                      base = (u64) IO_BASE;
++                      base = (__u64) IO_BASE;
+               return (void *) (unsigned long) (base + offset);
+       }
+@@ -245,10 +245,10 @@
+ #define __raw_readb(addr)     (*(volatile unsigned char *)(addr))
+ #define __raw_readw(addr)     (*(volatile unsigned short *)(addr))
+ #define __raw_readl(addr)     (*(volatile unsigned int *)(addr))
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+ #define ____raw_readq(addr)                                           \
+ ({                                                                    \
+-      u64 __res;                                                      \
++      __u64 __res;                                                    \
+                                                                       \
+       __asm__ __volatile__ (                                          \
+               "       .set    mips3           # ____raw_readq \n"     \
+@@ -263,7 +263,7 @@
+ #define __raw_readq(addr)                                             \
+ ({                                                                    \
+       unsigned long __flags;                                          \
+-      u64 __res;                                                      \
++      __u64 __res;                                                    \
+                                                                       \
+       local_irq_save(__flags);                                        \
+       __res = ____raw_readq(addr);                                    \
+@@ -271,7 +271,7 @@
+       __res;                                                          \
+ })
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ #define ____raw_readq(addr)   (*(volatile unsigned long *)(addr))
+ #define __raw_readq(addr)     ____raw_readq(addr)
+ #endif
+@@ -288,10 +288,10 @@
+ #define __raw_writeb(b,addr)  ((*(volatile unsigned char *)(addr)) = (b))
+ #define __raw_writew(w,addr)  ((*(volatile unsigned short *)(addr)) = (w))
+ #define __raw_writel(l,addr)  ((*(volatile unsigned int *)(addr)) = (l))
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+ #define ____raw_writeq(val,addr)                                              \
+ ({                                                                    \
+-      u64 __tmp;                                                      \
++      __u64 __tmp;                                                    \
+                                                                       \
+       __asm__ __volatile__ (                                          \
+               "       .set    mips3                           \n"     \
+@@ -313,7 +313,7 @@
+       local_irq_restore(__flags);                                     \
+ })
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ #define ____raw_writeq(q,addr)        ((*(volatile unsigned long *)(addr)) = (q))
+ #define __raw_writeq(q,addr)  ____raw_writeq(q, addr)
+ #endif
+@@ -400,28 +400,28 @@
+ {
+       port = __swizzle_addr_b(port);
+-      *(volatile u8 *)(mips_io_port_base + port) = __ioswab8(val);
++      *(volatile __u8 *)(mips_io_port_base + port) = __ioswab8(val);
+ }
+ static inline void __outw(unsigned short val, unsigned long port)
+ {
+       port = __swizzle_addr_w(port);
+-      *(volatile u16 *)(mips_io_port_base + port) = __ioswab16(val);
++      *(volatile __u16 *)(mips_io_port_base + port) = __ioswab16(val);
+ }
+ static inline void __outl(unsigned int val, unsigned long port)
+ {
+       port = __swizzle_addr_l(port);
+-      *(volatile u32 *)(mips_io_port_base + port) = __ioswab32(val);
++      *(volatile __u32 *)(mips_io_port_base + port) = __ioswab32(val);
+ }
+ static inline void __outb_p(unsigned char val, unsigned long port)
+ {
+       port = __swizzle_addr_b(port);
+-      *(volatile u8 *)(mips_io_port_base + port) = __ioswab8(val);
++      *(volatile __u8 *)(mips_io_port_base + port) = __ioswab8(val);
+       SLOW_DOWN_IO;
+ }
+@@ -429,7 +429,7 @@
+ {
+       port = __swizzle_addr_w(port);
+-      *(volatile u16 *)(mips_io_port_base + port) = __ioswab16(val);
++      *(volatile __u16 *)(mips_io_port_base + port) = __ioswab16(val);
+       SLOW_DOWN_IO;
+ }
+@@ -437,7 +437,7 @@
+ {
+       port = __swizzle_addr_l(port);
+-      *(volatile u32 *)(mips_io_port_base + port) = __ioswab32(val);
++      *(volatile __u32 *)(mips_io_port_base + port) = __ioswab32(val);
+       SLOW_DOWN_IO;
+ }
+@@ -452,30 +452,30 @@
+ {
+       port = __swizzle_addr_b(port);
+-      return __ioswab8(*(volatile u8 *)(mips_io_port_base + port));
++      return __ioswab8(*(volatile __u8 *)(mips_io_port_base + port));
+ }
+ static inline unsigned short __inw(unsigned long port)
+ {
+       port = __swizzle_addr_w(port);
+-      return __ioswab16(*(volatile u16 *)(mips_io_port_base + port));
++      return __ioswab16(*(volatile __u16 *)(mips_io_port_base + port));
+ }
+ static inline unsigned int __inl(unsigned long port)
+ {
+       port = __swizzle_addr_l(port);
+-      return __ioswab32(*(volatile u32 *)(mips_io_port_base + port));
++      return __ioswab32(*(volatile __u32 *)(mips_io_port_base + port));
+ }
+ static inline unsigned char __inb_p(unsigned long port)
+ {
+-      u8 __val;
++      __u8 __val;
+       port = __swizzle_addr_b(port);
+-      __val = *(volatile u8 *)(mips_io_port_base + port);
++      __val = *(volatile __u8 *)(mips_io_port_base + port);
+       SLOW_DOWN_IO;
+       return __ioswab8(__val);
+@@ -483,11 +483,11 @@
+ static inline unsigned short __inw_p(unsigned long port)
+ {
+-      u16 __val;
++      __u16 __val;
+       port = __swizzle_addr_w(port);
+-      __val = *(volatile u16 *)(mips_io_port_base + port);
++      __val = *(volatile __u16 *)(mips_io_port_base + port);
+       SLOW_DOWN_IO;
+       return __ioswab16(__val);
+@@ -495,11 +495,11 @@
+ static inline unsigned int __inl_p(unsigned long port)
+ {
+-      u32 __val;
++      __u32 __val;
+       port = __swizzle_addr_l(port);
+-      __val = *(volatile u32 *)(mips_io_port_base + port);
++      __val = *(volatile __u32 *)(mips_io_port_base + port);
+       SLOW_DOWN_IO;
+       return __ioswab32(__val);
+@@ -515,7 +515,7 @@
+ static inline void __outsb(unsigned long port, void *addr, unsigned int count)
+ {
+       while (count--) {
+-              outb(*(u8 *)addr, port);
++              outb(*(__u8 *)addr, port);
+               addr++;
+       }
+ }
+@@ -523,7 +523,7 @@
+ static inline void __insb(unsigned long port, void *addr, unsigned int count)
+ {
+       while (count--) {
+-              *(u8 *)addr = inb(port);
++              *(__u8 *)addr = inb(port);
+               addr++;
+       }
+ }
+@@ -531,7 +531,7 @@
+ static inline void __outsw(unsigned long port, void *addr, unsigned int count)
+ {
+       while (count--) {
+-              outw(*(u16 *)addr, port);
++              outw(*(__u16 *)addr, port);
+               addr += 2;
+       }
+ }
+@@ -539,7 +539,7 @@
+ static inline void __insw(unsigned long port, void *addr, unsigned int count)
+ {
+       while (count--) {
+-              *(u16 *)addr = inw(port);
++              *(__u16 *)addr = inw(port);
+               addr += 2;
+       }
+ }
+@@ -547,7 +547,7 @@
+ static inline void __outsl(unsigned long port, void *addr, unsigned int count)
+ {
+       while (count--) {
+-              outl(*(u32 *)addr, port);
++              outl(*(__u32 *)addr, port);
+               addr += 4;
+       }
+ }
+@@ -555,7 +555,7 @@
+ static inline void __insl(unsigned long port, void *addr, unsigned int count)
+ {
+       while (count--) {
+-              *(u32 *)addr = inl(port);
++              *(__u32 *)addr = inl(port);
+               addr += 4;
+       }
+ }
+@@ -617,7 +617,7 @@
+ #define __CSR_32_ADJUST 0
+ #endif
+-#define csr_out32(v,a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST) = (v))
+-#define csr_in32(a)    (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST))
++#define csr_out32(v,a) (*(volatile __u32 *)((unsigned long)(a) + __CSR_32_ADJUST) = (v))
++#define csr_in32(a)    (*(volatile __u32 *)((unsigned long)(a) + __CSR_32_ADJUST))
+ #endif /* _ASM_IO_H */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/ip32/mace.h linux-libc-headers-2.6.8.0/include/asm-mips/ip32/mace.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/ip32/mace.h       2004-06-09 07:00:41.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/ip32/mace.h    2004-08-26 05:14:41.000000000 -0500
+@@ -22,7 +22,7 @@
+ #undef BIT
+ #define BIT(x) (1ULL << (x))
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+ typedef struct {
+       volatile unsigned long long reg;
+ } mace64_t;
+@@ -32,7 +32,7 @@
+       volatile unsigned long reg;
+ } mace32_t;
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ typedef struct {
+       volatile unsigned long reg;
+ } mace64_t;
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/it8172/it8172.h linux-libc-headers-2.6.8.0/include/asm-mips/it8172/it8172.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/it8172/it8172.h   2003-12-15 12:47:03.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/it8172/it8172.h        2004-08-26 05:22:54.000000000 -0500
+@@ -336,13 +336,13 @@
+ #define TIMER_TIDR                            0x0E
+-#define IT_WRITE(ofs, data) *(volatile u32 *)KSEG1ADDR((IT8172_BASE+ofs)) = data
+-#define IT_READ(ofs, data)  data = *(volatile u32 *)KSEG1ADDR((IT8172_BASE+ofs))
++#define IT_WRITE(ofs, data) *(volatile __u32 *)KSEG1ADDR((IT8172_BASE+ofs)) = data
++#define IT_READ(ofs, data)  data = *(volatile __u32 *)KSEG1ADDR((IT8172_BASE+ofs))
+-#define IT_IO_WRITE(ofs, data) *(volatile u32 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs)) = data
+-#define IT_IO_READ(ofs, data)  data = *(volatile u32 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs))
++#define IT_IO_WRITE(ofs, data) *(volatile __u32 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs)) = data
++#define IT_IO_READ(ofs, data)  data = *(volatile __u32 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs))
+-#define IT_IO_WRITE16(ofs, data) *(volatile u16 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs)) = data
+-#define IT_IO_READ16(ofs, data)  data = *(volatile u16 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs))
++#define IT_IO_WRITE16(ofs, data) *(volatile __u16 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs)) = data
++#define IT_IO_READ16(ofs, data)  data = *(volatile __u16 *)KSEG1ADDR((IT8172_PCI_IO_BASE+ofs))
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/lasat/head.h linux-libc-headers-2.6.8.0/include/asm-mips/lasat/head.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/lasat/head.h      2003-12-15 12:47:03.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/lasat/head.h   2004-08-26 05:23:42.000000000 -0500
+@@ -10,12 +10,12 @@
+ #ifndef _LANGUAGE_ASSEMBLY
+ #include <linux/types.h>
+ struct bootloader_header {
+-      u32 magic[2];
+-      u32 version;
+-      u32 image_start;
+-      u32 image_size;
+-      u32 kernel_start;
+-      u32 kernel_entry;
++      __u32 magic[2];
++      __u32 version;
++      __u32 image_start;
++      __u32 image_size;
++      __u32 kernel_start;
++      __u32 kernel_entry;
+ };
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/lasat/lasat.h linux-libc-headers-2.6.8.0/include/asm-mips/lasat/lasat.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/lasat/lasat.h     2004-06-09 07:00:42.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/lasat/lasat.h  2004-08-26 05:23:50.000000000 -0500
+@@ -25,9 +25,9 @@
+ #ifndef _LANGUAGE_ASSEMBLY
+ extern struct lasat_misc {
+-      volatile u32 *reset_reg;
+-      volatile u32 *flash_wp_reg;
+-      u32 flash_wp_bit;
++      volatile __u32 *reset_reg;
++      volatile __u32 *flash_wp_reg;
++      __u32 flash_wp_bit;
+ } *lasat_misc;
+ enum lasat_mtdparts {
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/m48t35.h linux-libc-headers-2.6.8.0/include/asm-mips/m48t35.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/m48t35.h  2004-01-17 17:03:44.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/m48t35.h       2004-08-26 05:23:39.000000000 -0500
+@@ -8,15 +8,15 @@
+ extern spinlock_t rtc_lock;
+ struct m48t35_rtc {
+-      volatile u8     pad[0x7ff8];    /* starts at 0x7ff8 */
+-      volatile u8     control;
+-      volatile u8     sec;
+-      volatile u8     min;
+-      volatile u8     hour;
+-      volatile u8     day;
+-      volatile u8     date;
+-      volatile u8     month;
+-      volatile u8     year;
++      volatile __u8   pad[0x7ff8];    /* starts at 0x7ff8 */
++      volatile __u8   control;
++      volatile __u8   sec;
++      volatile __u8   min;
++      volatile __u8   hour;
++      volatile __u8   day;
++      volatile __u8   date;
++      volatile __u8   month;
++      volatile __u8   year;
+ };
+ #define M48T35_RTC_SET                0x80
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/bonito64.h linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/bonito64.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/bonito64.h    2004-03-28 07:51:54.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/bonito64.h 2004-08-26 05:21:59.000000000 -0500
+@@ -34,7 +34,7 @@
+ extern unsigned long _pcictrl_bonito;
+ extern unsigned long _pcictrl_bonito_pcicfg;
+-#define BONITO(x)             *(volatile u32 *)(_pcictrl_bonito + (x))
++#define BONITO(x)             *(volatile __u32 *)(_pcictrl_bonito + (x))
+ #endif /* __ASSEMBLY__ */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/generic.h linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/generic.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/generic.h     2004-03-28 07:51:54.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/generic.h  2004-08-26 05:22:06.000000000 -0500
+@@ -74,7 +74,7 @@
+ #define MIPS_REVISION_CORID_CORE_EMUL_BON  0x63
+ #define MIPS_REVISION_CORID_CORE_EMUL_MSC  0x65
+-#define MIPS_REVISION_CORID (((*(volatile u32 *)ioremap(MIPS_REVISION_REG, 4)) >> 10) & 0x3f)
++#define MIPS_REVISION_CORID (((*(volatile __u32 *)ioremap(MIPS_REVISION_REG, 4)) >> 10) & 0x3f)
+ extern unsigned int mips_revision_corid;
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/msc01_pci.h linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/msc01_pci.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/mips-boards/msc01_pci.h   2004-03-28 07:51:54.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/mips-boards/msc01_pci.h        2004-08-26 05:22:10.000000000 -0500
+@@ -212,8 +212,8 @@
+ #define MSC01_PCI_REG_BASE    _pcictrl_msc
+-#define MSC_WRITE(reg, data)  do { *(volatile u32 *)(reg) = data; } while (0)
+-#define MSC_READ(reg, data)   do { data = *(volatile u32 *)(reg); } while (0)
++#define MSC_WRITE(reg, data)  do { *(volatile __u32 *)(reg) = data; } while (0)
++#define MSC_READ(reg, data)   do { data = *(volatile __u32 *)(reg); } while (0)
+ /*
+  * Registers absolute addresses
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/mipsregs.h linux-libc-headers-2.6.8.0/include/asm-mips/mipsregs.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/mipsregs.h        2004-08-18 13:15:41.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/mipsregs.h     2004-08-26 13:00:51.000000000 -0500
+@@ -14,7 +14,6 @@
+ #define _ASM_MIPSREGS_H
+ #include <linux/linkage.h>
+-#include <asm/hazards.h>
+ /*
+  * The following macros are especially useful for __asm__
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/mmu_context.h linux-libc-headers-2.6.8.0/include/asm-mips/mmu_context.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/mmu_context.h     2004-08-18 13:15:41.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/mmu_context.h  2004-08-26 05:14:41.000000000 -0500
+@@ -27,12 +27,12 @@
+  */
+ #define TLBMISS_HANDLER_SETUP_PGD(pgd) \
+       pgd_current[smp_processor_id()] = (unsigned long)(pgd)
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+ #define TLBMISS_HANDLER_SETUP() \
+       write_c0_context((unsigned long) smp_processor_id() << 23); \
+       TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir)
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ #define TLBMISS_HANDLER_SETUP() \
+       write_c0_context((unsigned long) &pgd_current[smp_processor_id()] << 23); \
+       TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir)
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/module.h linux-libc-headers-2.6.8.0/include/asm-mips/module.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/module.h  2004-08-18 13:15:41.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/module.h       2004-08-26 05:14:41.000000000 -0500
+@@ -21,7 +21,7 @@
+   Elf64_Sxword r_addend;              /* Addend.  */
+ } Elf64_Mips_Rela;
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+ #define Elf_Shdr      Elf32_Shdr
+ #define Elf_Sym               Elf32_Sym
+@@ -29,7 +29,7 @@
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ #define Elf_Shdr      Elf64_Shdr
+ #define Elf_Sym               Elf64_Sym
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/msgbuf.h linux-libc-headers-2.6.8.0/include/asm-mips/msgbuf.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/msgbuf.h  2004-01-17 17:03:44.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/msgbuf.h       2004-08-26 05:15:04.000000000 -0500
+@@ -14,25 +14,25 @@
+ struct msqid64_ds {
+       struct ipc64_perm msg_perm;
+-#if defined(CONFIG_MIPS32) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
++#if !defined(__mips64) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
+       unsigned long   __unused1;
+ #endif
+       __kernel_time_t msg_stime;      /* last msgsnd time */
+-#if defined(CONFIG_MIPS32) && defined(CONFIG_CPU_LITTLE_ENDIAN)
++#if !defined(__mips64) && defined(CONFIG_CPU_LITTLE_ENDIAN)
+       unsigned long   __unused1;
+ #endif
+-#if defined(CONFIG_MIPS32) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
++#if !defined(__mips64) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
+       unsigned long   __unused2;
+ #endif
+       __kernel_time_t msg_rtime;      /* last msgrcv time */
+-#if defined(CONFIG_MIPS32) && defined(CONFIG_CPU_LITTLE_ENDIAN)
++#if !defined(__mips64) && defined(CONFIG_CPU_LITTLE_ENDIAN)
+       unsigned long   __unused2;
+ #endif
+-#if defined(CONFIG_MIPS32) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
++#if !defined(__mips64) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
+       unsigned long   __unused3;
+ #endif
+       __kernel_time_t msg_ctime;      /* last change time */
+-#if defined(CONFIG_MIPS32) && defined(CONFIG_CPU_LITTLE_ENDIAN)
++#if !defined(__mips64) && defined(CONFIG_CPU_LITTLE_ENDIAN)
+       unsigned long   __unused3;
+ #endif
+       unsigned long  msg_cbytes;      /* current number of bytes on queue */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/nile4.h linux-libc-headers-2.6.8.0/include/asm-mips/nile4.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/nile4.h   2003-12-15 12:47:02.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/nile4.h        2004-08-26 05:22:46.000000000 -0500
+@@ -202,45 +202,45 @@
+ static inline void nile4_sync(void)
+ {
+-    volatile u32 *p = (volatile u32 *)0xbfc00000;
++    volatile __u32 *p = (volatile __u32 *)0xbfc00000;
+     (void)(*p);
+ }
+-static inline void nile4_out32(u32 offset, u32 val)
++static inline void nile4_out32(__u32 offset, __u32 val)
+ {
+-    *(volatile u32 *)(NILE4_BASE+offset) = val;
++    *(volatile __u32 *)(NILE4_BASE+offset) = val;
+     nile4_sync();
+ }
+-static inline u32 nile4_in32(u32 offset)
++static inline __u32 nile4_in32(__u32 offset)
+ {
+-    u32 val = *(volatile u32 *)(NILE4_BASE+offset);
++    __u32 val = *(volatile __u32 *)(NILE4_BASE+offset);
+     nile4_sync();
+     return val;
+ }
+-static inline void nile4_out16(u32 offset, u16 val)
++static inline void nile4_out16(__u32 offset, __u16 val)
+ {
+-    *(volatile u16 *)(NILE4_BASE+offset) = val;
++    *(volatile __u16 *)(NILE4_BASE+offset) = val;
+     nile4_sync();
+ }
+-static inline u16 nile4_in16(u32 offset)
++static inline __u16 nile4_in16(__u32 offset)
+ {
+-    u16 val = *(volatile u16 *)(NILE4_BASE+offset);
++    __u16 val = *(volatile __u16 *)(NILE4_BASE+offset);
+     nile4_sync();
+     return val;
+ }
+-static inline void nile4_out8(u32 offset, u8 val)
++static inline void nile4_out8(__u32 offset, __u8 val)
+ {
+-    *(volatile u8 *)(NILE4_BASE+offset) = val;
++    *(volatile __u8 *)(NILE4_BASE+offset) = val;
+     nile4_sync();
+ }
+-static inline u8 nile4_in8(u32 offset)
++static inline __u8 nile4_in8(__u32 offset)
+ {
+-    u8 val = *(volatile u8 *)(NILE4_BASE+offset);
++    __u8 val = *(volatile __u8 *)(NILE4_BASE+offset);
+     nile4_sync();
+     return val;
+ }
+@@ -250,7 +250,7 @@
+      *  Physical Device Address Registers
+      */
+-extern void nile4_set_pdar(u32 pdar, u32 phys, u32 size, int width,
++extern void nile4_set_pdar(__u32 pdar, __u32 phys, __u32 size, int width,
+                          int on_memory_bus, int visible);
+@@ -276,7 +276,7 @@
+ #define NILE4_PCI_IACK_BASE   NILE4_PCI_IO_BASE
+-extern void nile4_set_pmr(u32 pmr, u32 type, u32 addr);
++extern void nile4_set_pmr(__u32 pmr, __u32 type, __u32 addr);
+     /*
+@@ -296,14 +296,14 @@
+ extern void nile4_enable_irq(unsigned int nile4_irq);
+ extern void nile4_disable_irq(unsigned int nile4_irq);
+ extern void nile4_disable_irq_all(void);
+-extern u16 nile4_get_irq_stat(int cpu_irq);
++extern __u16 nile4_get_irq_stat(int cpu_irq);
+ extern void nile4_enable_irq_output(int cpu_irq);
+ extern void nile4_disable_irq_output(int cpu_irq);
+ extern void nile4_set_pci_irq_polarity(int pci_irq, int high);
+ extern void nile4_set_pci_irq_level_or_edge(int pci_irq, int level);
+ extern void nile4_clear_irq(int nile4_irq);
+-extern void nile4_clear_irq_mask(u32 mask);
+-extern u8 nile4_i8259_iack(void);
++extern void nile4_clear_irq_mask(__u32 mask);
++extern __u8 nile4_i8259_iack(void);
+ extern void nile4_dump_irq_status(void);      /* Debug */
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/paccess.h linux-libc-headers-2.6.8.0/include/asm-mips/paccess.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/paccess.h 2004-01-17 17:03:44.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/paccess.h      2004-08-26 05:17:48.000000000 -0500
+@@ -14,11 +14,12 @@
+ #define _ASM_PACCESS_H
+ #include <linux/errno.h>
++#include <linux/linkage.h>
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+ #define __PA_ADDR     ".word"
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ #define __PA_ADDR     ".dword"
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/pci/bridge.h linux-libc-headers-2.6.8.0/include/asm-mips/pci/bridge.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/pci/bridge.h      2004-03-28 07:51:54.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/pci/bridge.h   2004-08-26 05:25:40.000000000 -0500
+@@ -48,9 +48,9 @@
+  * All accesses to bridge hardware registers must be done
+  * using 32-bit loads and stores.
+  */
+-typedef u32   bridgereg_t;
++typedef __u32 bridgereg_t;
+-typedef u64   bridge_ate_t;
++typedef __u64 bridge_ate_t;
+ /* pointers to bridge ATEs
+  * are always "pointer to volatile"
+@@ -199,37 +199,37 @@
+       /* PCI Device Configuration Spaces 0x020000-0x027FFF */
+       union {                         /* make all access sizes available. */
+-              u8      c[0x1000 / 1];
+-              u16     s[0x1000 / 2];
+-              u32     l[0x1000 / 4];
+-              u64     d[0x1000 / 8];
++              __u8    c[0x1000 / 1];
++              __u16   s[0x1000 / 2];
++              __u32   l[0x1000 / 4];
++              __u64   d[0x1000 / 8];
+               union {
+-                      u8      c[0x100 / 1];
+-                      u16     s[0x100 / 2];
+-                      u32     l[0x100 / 4];
+-                      u64     d[0x100 / 8];
++                      __u8    c[0x100 / 1];
++                      __u16   s[0x100 / 2];
++                      __u32   l[0x100 / 4];
++                      __u64   d[0x100 / 8];
+               } f[8];
+       } b_type0_cfg_dev[8];                                   /* 0x020000 */
+     /* PCI Type 1 Configuration Space 0x028000-0x028FFF */
+       union {                         /* make all access sizes available. */
+-              u8      c[0x1000 / 1];
+-              u16     s[0x1000 / 2];
+-              u32     l[0x1000 / 4];
+-              u64     d[0x1000 / 8];
++              __u8    c[0x1000 / 1];
++              __u16   s[0x1000 / 2];
++              __u32   l[0x1000 / 4];
++              __u64   d[0x1000 / 8];
+       } b_type1_cfg;                                  /* 0x028000-0x029000 */
+       char    _pad_029000[0x007000];                  /* 0x029000-0x030000 */
+       /* PCI Interrupt Acknowledge Cycle 0x030000 */
+       union {
+-              u8      c[8 / 1];
+-              u16     s[8 / 2];
+-              u32     l[8 / 4];
+-              u64     d[8 / 8];
++              __u8    c[8 / 1];
++              __u16   s[8 / 2];
++              __u32   l[8 / 4];
++              __u64   d[8 / 8];
+       } b_pci_iack;                                           /* 0x030000 */
+-      u8      _pad_030007[0x04fff8];                  /* 0x030008-0x07FFFF */
++      __u8    _pad_030007[0x04fff8];                  /* 0x030008-0x07FFFF */
+       /* External Address Translation Entry RAM 0x080000-0x0FFFFF */
+       bridge_ate_t    b_ext_ate_ram[0x10000];
+@@ -239,10 +239,10 @@
+       /* PCI/GIO Device Spaces 0x200000-0xBFFFFF */
+       union {                         /* make all access sizes available. */
+-              u8      c[0x100000 / 1];
+-              u16     s[0x100000 / 2];
+-              u32     l[0x100000 / 4];
+-              u64     d[0x100000 / 8];
++              __u8    c[0x100000 / 1];
++              __u16   s[0x100000 / 2];
++              __u32   l[0x100000 / 4];
++              __u64   d[0x100000 / 8];
+       } b_devio_raw[10];                              /* 0x200000 */
+       /* b_devio macro is a bit strange; it reflects the
+@@ -253,10 +253,10 @@
+       /* External Flash Proms 1,0 0xC00000-0xFFFFFF */
+       union {         /* make all access sizes available. */
+-              u8      c[0x400000 / 1];        /* read-only */
+-              u16     s[0x400000 / 2];        /* read-write */
+-              u32     l[0x400000 / 4];        /* read-only */
+-              u64     d[0x400000 / 8];        /* read-only */
++              __u8    c[0x400000 / 1];        /* read-only */
++              __u16   s[0x400000 / 2];        /* read-write */
++              __u32   l[0x400000 / 4];        /* read-only */
++              __u64   d[0x400000 / 8];        /* read-only */
+       } b_external_flash;                     /* 0xC00000 */
+ } bridge_t;
+@@ -266,9 +266,9 @@
+  */
+ typedef struct bridge_err_cmdword_s {
+       union {
+-              u32             cmd_word;
++              __u32           cmd_word;
+               struct {
+-                      u32     didn:4,         /* Destination ID */
++                      __u32   didn:4,         /* Destination ID */
+                               sidn:4,         /* Source ID      */
+                               pactyp:4,       /* Packet type    */
+                               tnum:5,         /* Trans Number   */
+@@ -799,17 +799,17 @@
+ #ifndef __ASSEMBLY__
+ /* Address translation entry for mapped pci32 accesses */
+ typedef union ate_u {
+-      u64     ent;
++      __u64   ent;
+       struct ate_s {
+-              u64     rmf:16;
+-              u64     addr:36;
+-              u64     targ:4;
+-              u64     reserved:3;
+-              u64     barrier:1;
+-              u64     prefetch:1;
+-              u64     precise:1;
+-              u64     coherent:1;
+-              u64     valid:1;
++              __u64   rmf:16;
++              __u64   addr:36;
++              __u64   targ:4;
++              __u64   reserved:3;
++              __u64   barrier:1;
++              __u64   prefetch:1;
++              __u64   precise:1;
++              __u64   coherent:1;
++              __u64   valid:1;
+       } field;
+ } ate_t;
+ #endif /* !__ASSEMBLY__ */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/pci_channel.h linux-libc-headers-2.6.8.0/include/asm-mips/pci_channel.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/pci_channel.h     2004-03-28 07:51:52.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/pci_channel.h  2004-08-26 05:21:47.000000000 -0500
+@@ -41,6 +41,6 @@
+ /*
+  * board supplied pci irq fixup routine
+  */
+-extern int pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin);
++extern int pcibios_map_irq(struct pci_dev *dev, __u8 slot, __u8 pin);
+ #endif  /* __ASM_PCI_CHANNEL_H */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/pgalloc.h linux-libc-headers-2.6.8.0/include/asm-mips/pgalloc.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/pgalloc.h 2004-06-09 07:00:41.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/pgalloc.h      2004-08-26 05:14:41.000000000 -0500
+@@ -85,7 +85,7 @@
+ #define __pte_free_tlb(tlb,pte)               tlb_remove_page((tlb),(pte))
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+ #define pgd_populate(mm, pmd, pte)    BUG()
+ /*
+@@ -97,7 +97,7 @@
+ #define __pmd_free_tlb(tlb,x)         do { } while (0)
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ #define pgd_populate(mm, pgd, pmd)    set_pgd(pgd, __pgd(pmd))
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/prctl.h linux-libc-headers-2.6.8.0/include/asm-mips/prctl.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/prctl.h   2003-12-15 12:47:02.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/prctl.h        2004-08-26 05:21:43.000000000 -0500
+@@ -12,21 +12,21 @@
+ #define PRDA ((struct prda *) PRDA_ADDRESS)
+ struct prda_sys {
+-      pid_t t_pid;
+-        u32   t_hint;
+-        u32   t_dlactseq;
+-        u32   t_fpflags;
+-        u32   t_prid;         /* processor type, $prid CP0 register */
+-        u32   t_dlendseq;
+-        u64   t_unused1[5];
+-        pid_t t_rpid;
+-        s32   t_resched;
+-        u32   t_unused[8];
+-        u32   t_cpu;          /* current/last cpu */
++      pid_t   t_pid;
++        __u32   t_hint;
++        __u32   t_dlactseq;
++        __u32   t_fpflags;
++        __u32   t_prid;               /* processor type, $prid CP0 register */
++        __u32   t_dlendseq;
++        __u64   t_unused1[5];
++        pid_t   t_rpid;
++        __s32   t_resched;
++        __u32   t_unused[8];
++        __u32   t_cpu;                /* current/last cpu */
+       /* FIXME: The signal information, not supported by Linux now */
+-      u32   t_flags;          /* if true, then the sigprocmask is in userspace */
+-      u32   t_sigprocmask [1]; /* the sigprocmask */
++      __u32   t_flags;                /* if true, then the sigprocmask is in userspace */
++      __u32   t_sigprocmask [1]; /* the sigprocmask */
+ };
+ struct prda {
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/processor.h linux-libc-headers-2.6.8.0/include/asm-mips/processor.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/processor.h       2004-08-18 13:15:41.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/processor.h    2004-08-26 05:23:24.000000000 -0500
+@@ -102,7 +102,7 @@
+ #define MCA_bus 0
+ #define MCA_bus__is_a_macro /* for versions in ksyms.c */
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+ /*
+  * User space process size: 2GB. This is hardcoded into a few places,
+  * so don't change it unless you know what you are doing.
+@@ -116,7 +116,7 @@
+ #define TASK_UNMAPPED_BASE    (PAGE_ALIGN(TASK_SIZE / 3))
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ /*
+  * User space process size: 1TB. This is hardcoded into a few places,
+  * so don't change it unless you know what you are doing.  TASK_SIZE
+@@ -142,7 +142,7 @@
+ #define NUM_FPU_REGS  32
+-typedef u64 fpureg_t;
++typedef __u64 fpureg_t;
+ struct mips_fpu_hard_struct {
+       fpureg_t        fpr[NUM_FPU_REGS];
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/ptrace.h linux-libc-headers-2.6.8.0/include/asm-mips/ptrace.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/ptrace.h  2004-03-28 07:51:52.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/ptrace.h       2004-08-26 05:14:41.000000000 -0500
+@@ -27,7 +27,7 @@
+  * system call/exception. As usual the registers k0/k1 aren't being saved.
+  */
+ struct pt_regs {
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+       /* Pad bytes for argument save space on the stack. */
+       unsigned long pad0[6];
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/serial.h linux-libc-headers-2.6.8.0/include/asm-mips/serial.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/serial.h  2004-08-18 13:15:41.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/serial.h       2004-08-26 13:21:37.000000000 -0500
+@@ -68,7 +68,7 @@
+ #define _JAZZ_SERIAL_INIT(int, base)                                  \
+       { .baud_base = JAZZ_BASE_BAUD, .irq = int, .flags = STD_COM_FLAGS,      \
+-        .iomem_base = (u8 *) base, .iomem_reg_shift = 0,                      \
++        .iomem_base = (__u8 *) base, .iomem_reg_shift = 0,                    \
+         .io_type = SERIAL_IO_MEM }
+ #define JAZZ_SERIAL_PORT_DEFNS                                                \
+       _JAZZ_SERIAL_INIT(JAZZ_SERIAL1_IRQ, JAZZ_SERIAL1_BASE),         \
+@@ -243,7 +243,7 @@
+ #define _JAGUAR_ATX_SERIAL_INIT(int, base)                            \
+       { baud_base: JAGUAR_ATX_BASE_BAUD, irq: int,                    \
+         flags: (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST),               \
+-        iomem_base: (u8 *) base, iomem_reg_shift: 2,                  \
++        iomem_base: (__u8 *) base, iomem_reg_shift: 2,                \
+         io_type: SERIAL_IO_MEM }
+ #define MOMENCO_JAGUAR_ATX_SERIAL_PORT_DEFNS                          \
+       _JAGUAR_ATX_SERIAL_INIT(JAGUAR_ATX_SERIAL1_IRQ, JAGUAR_ATX_SERIAL1_BASE)
+@@ -260,7 +260,7 @@
+ #define _OCELOT_SERIAL_INIT(int, base)                                        \
+       { .baud_base = OCELOT_BASE_BAUD, .irq = int, .flags = STD_COM_FLAGS,    \
+-        .iomem_base = (u8 *) base, .iomem_reg_shift = 2,                      \
++        .iomem_base = (__u8 *) base, .iomem_reg_shift = 2,                    \
+         .io_type = SERIAL_IO_MEM }
+ #define MOMENCO_OCELOT_SERIAL_PORT_DEFNS                              \
+       _OCELOT_SERIAL_INIT(OCELOT_SERIAL1_IRQ, OCELOT_SERIAL1_BASE)
+@@ -281,7 +281,7 @@
+ #define _OCELOT_G_SERIAL_INIT(int, base)                              \
+       { .baud_base = OCELOT_G_BASE_BAUD, .irq = int, .flags = STD_COM_FLAGS,\
+-        .iomem_base = (u8 *) base, .iomem_reg_shift = 2,                      \
++        .iomem_base = (__u8 *) base, .iomem_reg_shift = 2,                    \
+         .io_type = SERIAL_IO_MEM }
+ #define MOMENCO_OCELOT_G_SERIAL_PORT_DEFNS                            \
+       _OCELOT_G_SERIAL_INIT(OCELOT_G_SERIAL1_IRQ, OCELOT_G_SERIAL1_BASE)
+@@ -303,7 +303,7 @@
+       { .baud_base            = OCELOT_C_BASE_BAUD,                   \
+         .irq                  = (int),                                \
+         .flags                = STD_COM_FLAGS,                        \
+-        .iomem_base           = (u8 *) base,                          \
++        .iomem_base           = (__u8 *) base,                        \
+         .iomem_reg_shift      = 2,                                    \
+         .io_type              = SERIAL_IO_MEM                         \
+        }
+@@ -318,10 +318,10 @@
+ #include <asm/ddb5xxx/ddb5477.h>
+ #define DDB5477_SERIAL_PORT_DEFNS                                       \
+         { .baud_base = BASE_BAUD, .irq = VRC5477_IRQ_UART0,           \
+-        .flags = STD_COM_FLAGS, .iomem_base = (u8*)0xbfa04200,        \
++        .flags = STD_COM_FLAGS, .iomem_base = (__u8*)0xbfa04200,      \
+         .iomem_reg_shift = 3, .io_type = SERIAL_IO_MEM},              \
+         { .baud_base = BASE_BAUD, .irq = VRC5477_IRQ_UART1,           \
+-        .flags = STD_COM_FLAGS, .iomem_base = (u8*)0xbfa04240,        \
++        .flags = STD_COM_FLAGS, .iomem_base = (__u8*)0xbfa04240,      \
+         .iomem_reg_shift = 3, .io_type = SERIAL_IO_MEM},
+ #else
+ #define DDB5477_SERIAL_PORT_DEFNS
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/hpc3.h linux-libc-headers-2.6.8.0/include/asm-mips/sgi/hpc3.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/hpc3.h        2003-12-15 12:47:03.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sgi/hpc3.h     2004-08-26 05:24:34.000000000 -0500
+@@ -17,8 +17,8 @@
+ /* An HPC DMA descriptor. */
+ struct hpc_dma_desc {
+-      u32 pbuf;       /* physical address of data buffer */
+-      u32 cntinfo;    /* counter and info bits */
++      __u32 pbuf;     /* physical address of data buffer */
++      __u32 cntinfo;  /* counter and info bits */
+ #define HPCDMA_EOX    0x80000000 /* last desc in chain for tx */
+ #define HPCDMA_EOR    0x80000000 /* last desc in chain for rx */
+ #define HPCDMA_EOXP   0x40000000 /* end of packet for tx */
+@@ -30,15 +30,15 @@
+ #define HPCDMA_OWN    0x00004000 /* Denotes ring buffer ownership on rx */
+ #define HPCDMA_BCNT   0x00003fff /* size in bytes of this dma buffer */
+-      u32 pnext;      /* paddr of next hpc_dma_desc if any */
++      __u32 pnext;    /* paddr of next hpc_dma_desc if any */
+ };
+ /* The set of regs for each HPC3 PBUS DMA channel. */
+ struct hpc3_pbus_dmacregs {
+-      volatile u32 pbdma_bptr;        /* pbus dma channel buffer ptr */
+-      volatile u32 pbdma_dptr;        /* pbus dma channel desc ptr */
+-      u32 _unused0[0x1000/4 - 2];     /* padding */
+-      volatile u32 pbdma_ctrl;        /* pbus dma channel control register has
++      volatile __u32 pbdma_bptr;      /* pbus dma channel buffer ptr */
++      volatile __u32 pbdma_dptr;      /* pbus dma channel desc ptr */
++      __u32 _unused0[0x1000/4 - 2];   /* padding */
++      volatile __u32 pbdma_ctrl;      /* pbus dma channel control register has
+                                        * copletely different meaning for read
+                                        * compared with write */
+       /* read */
+@@ -55,20 +55,20 @@
+ #define HPC3_PDMACTRL_FB      0x003f0000 /* Ptr to beginning of fifo */
+ #define HPC3_PDMACTRL_FE      0x3f000000 /* Ptr to end of fifo */
+-      u32 _unused1[0x1000/4 - 1];     /* padding */
++      __u32 _unused1[0x1000/4 - 1];   /* padding */
+ };
+ /* The HPC3 SCSI registers, this does not include external ones. */
+ struct hpc3_scsiregs {
+-      volatile u32 cbptr;     /* current dma buffer ptr, diagnostic use only */
+-      volatile u32 ndptr;     /* next dma descriptor ptr */
+-      u32 _unused0[0x1000/4 - 2];     /* padding */
+-      volatile u32 bcd;       /* byte count info */
++      volatile __u32 cbptr;   /* current dma buffer ptr, diagnostic use only */
++      volatile __u32 ndptr;   /* next dma descriptor ptr */
++      __u32 _unused0[0x1000/4 - 2];   /* padding */
++      volatile __u32 bcd;     /* byte count info */
+ #define HPC3_SBCD_BCNTMSK 0x00003fff /* bytes to transfer from/to memory */
+ #define HPC3_SBCD_XIE     0x00004000 /* Send IRQ when done with cur buf */
+ #define HPC3_SBCD_EOX     0x00008000 /* Indicates this is last buf in chain */
+-      volatile u32 ctrl;    /* control register */
++      volatile __u32 ctrl;    /* control register */
+ #define HPC3_SCTRL_IRQ    0x01 /* IRQ asserted, either dma done or parity */
+ #define HPC3_SCTRL_ENDIAN 0x02 /* DMA endian mode, 0=big 1=little */
+ #define HPC3_SCTRL_DIR    0x04 /* DMA direction, 1=dev2mem 0=mem2dev */
+@@ -78,9 +78,9 @@
+ #define HPC3_SCTRL_CRESET 0x40 /* Resets dma channel and external controller */
+ #define HPC3_SCTRL_PERR   0x80 /* Bad parity on HPC3 iface to scsi controller */
+-      volatile u32 gfptr;     /* current GIO fifo ptr */
+-      volatile u32 dfptr;     /* current device fifo ptr */
+-      volatile u32 dconfig;   /* DMA configuration register */
++      volatile __u32 gfptr;   /* current GIO fifo ptr */
++      volatile __u32 dfptr;   /* current device fifo ptr */
++      volatile __u32 dconfig; /* DMA configuration register */
+ #define HPC3_SDCFG_HCLK 0x00001 /* Enable DMA half clock mode */
+ #define HPC3_SDCFG_D1   0x00006 /* Cycles to spend in D1 state */
+ #define HPC3_SDCFG_D2   0x00038 /* Cycles to spend in D2 state */
+@@ -92,7 +92,7 @@
+ #define HPC3_SDCFG_POLL 0x08000 /* hd_dreq polarity control */
+ #define HPC3_SDCFG_ERLY 0x30000 /* hd_dreq behavior control bits */
+-      volatile u32 pconfig;   /* PIO configuration register */
++      volatile __u32 pconfig; /* PIO configuration register */
+ #define HPC3_SPCFG_P3   0x0003 /* Cycles to spend in P3 state */
+ #define HPC3_SPCFG_P2W  0x001c /* Cycles to spend in P2 state for writes */
+ #define HPC3_SPCFG_P2R  0x01e0 /* Cycles to spend in P2 state for reads */
+@@ -102,21 +102,21 @@
+ #define HPC3_SPCFG_EPAR 0x4000 /* Enable parity checking for PIO */
+ #define HPC3_SPCFG_FUJI 0x8000 /* Fujitsu scsi controller mode for faster dma/pio */
+-      u32 _unused1[0x1000/4 - 6];     /* padding */
++      __u32 _unused1[0x1000/4 - 6];   /* padding */
+ };
+ /* SEEQ ethernet HPC3 registers, only one seeq per HPC3. */
+ struct hpc3_ethregs {
+       /* Receiver registers. */
+-      volatile u32 rx_cbptr;   /* current dma buffer ptr, diagnostic use only */
+-      volatile u32 rx_ndptr;   /* next dma descriptor ptr */
+-      u32 _unused0[0x1000/4 - 2];     /* padding */
+-      volatile u32 rx_bcd;    /* byte count info */
++      volatile __u32 rx_cbptr;   /* current dma buffer ptr, diagnostic use only */
++      volatile __u32 rx_ndptr;   /* next dma descriptor ptr */
++      __u32 _unused0[0x1000/4 - 2];   /* padding */
++      volatile __u32 rx_bcd;  /* byte count info */
+ #define HPC3_ERXBCD_BCNTMSK 0x00003fff /* bytes to be sent to memory */
+ #define HPC3_ERXBCD_XIE     0x20000000 /* HPC3 interrupts cpu at end of this buf */
+ #define HPC3_ERXBCD_EOX     0x80000000 /* flags this as end of descriptor chain */
+-      volatile u32 rx_ctrl;   /* control register */
++      volatile __u32 rx_ctrl; /* control register */
+ #define HPC3_ERXCTRL_STAT50 0x0000003f /* Receive status reg bits of Seeq8003 */
+ #define HPC3_ERXCTRL_STAT6  0x00000040 /* Rdonly irq status */
+ #define HPC3_ERXCTRL_STAT7  0x00000080 /* Rdonlt old/new status bit from Seeq */
+@@ -125,15 +125,15 @@
+ #define HPC3_ERXCTRL_AMASK  0x00000400 /* Tells if ACTIVE inhibits PIO's to hpc3 */
+ #define HPC3_ERXCTRL_RBO    0x00000800 /* Receive buffer overflow if set to 1 */
+-      volatile u32 rx_gfptr;  /* current GIO fifo ptr */
+-      volatile u32 rx_dfptr;  /* current device fifo ptr */
+-      u32 _unused1;           /* padding */
+-      volatile u32 rx_reset;  /* reset register */
++      volatile __u32 rx_gfptr;        /* current GIO fifo ptr */
++      volatile __u32 rx_dfptr;        /* current device fifo ptr */
++      __u32 _unused1;         /* padding */
++      volatile __u32 rx_reset;        /* reset register */
+ #define HPC3_ERXRST_CRESET 0x1        /* Reset dma channel and external controller */
+ #define HPC3_ERXRST_CLRIRQ 0x2        /* Clear channel interrupt */
+ #define HPC3_ERXRST_LBACK  0x4        /* Enable diagnostic loopback mode of Seeq8003 */
+-      volatile u32 rx_dconfig;        /* DMA configuration register */
++      volatile __u32 rx_dconfig;      /* DMA configuration register */
+ #define HPC3_ERXDCFG_D1    0x0000f /* Cycles to spend in D1 state for PIO */
+ #define HPC3_ERXDCFG_D2    0x000f0 /* Cycles to spend in D2 state for PIO */
+ #define HPC3_ERXDCFG_D3    0x00f00 /* Cycles to spend in D3 state for PIO */
+@@ -143,26 +143,26 @@
+ #define HPC3_ERXDCFG_FIRQ  0x08000 /* Another bad packet timeout enable */
+ #define HPC3_ERXDCFG_PTO   0x30000 /* Programmed timeout value for above two */
+-      volatile u32 rx_pconfig;        /* PIO configuration register */
++      volatile __u32 rx_pconfig;      /* PIO configuration register */
+ #define HPC3_ERXPCFG_P1    0x000f /* Cycles to spend in P1 state for PIO */
+ #define HPC3_ERXPCFG_P2    0x00f0 /* Cycles to spend in P2 state for PIO */
+ #define HPC3_ERXPCFG_P3    0x0f00 /* Cycles to spend in P3 state for PIO */
+ #define HPC3_ERXPCFG_TST   0x1000 /* Diagnistic ram test feature bit */
+-      u32 _unused2[0x1000/4 - 8];     /* padding */
++      __u32 _unused2[0x1000/4 - 8];   /* padding */
+       /* Transmitter registers. */
+-      volatile u32 tx_cbptr;  /* current dma buffer ptr, diagnostic use only */
+-      volatile u32 tx_ndptr;  /* next dma descriptor ptr */
+-      u32 _unused3[0x1000/4 - 2];     /* padding */
+-      volatile u32 tx_bcd;            /* byte count info */
++      volatile __u32 tx_cbptr;        /* current dma buffer ptr, diagnostic use only */
++      volatile __u32 tx_ndptr;        /* next dma descriptor ptr */
++      __u32 _unused3[0x1000/4 - 2];   /* padding */
++      volatile __u32 tx_bcd;          /* byte count info */
+ #define HPC3_ETXBCD_BCNTMSK 0x00003fff        /* bytes to be read from memory */
+ #define HPC3_ETXBCD_ESAMP   0x10000000        /* if set, too late to add descriptor */
+ #define HPC3_ETXBCD_XIE     0x20000000        /* Interrupt cpu at end of cur desc */
+ #define HPC3_ETXBCD_EOP     0x40000000        /* Last byte of cur buf is end of packet */
+ #define HPC3_ETXBCD_EOX     0x80000000        /* This buf is the end of desc chain */
+-      volatile u32 tx_ctrl;           /* control register */
++      volatile __u32 tx_ctrl;         /* control register */
+ #define HPC3_ETXCTRL_STAT30 0x0000000f        /* Rdonly copy of seeq tx stat reg */
+ #define HPC3_ETXCTRL_STAT4  0x00000010        /* Indicate late collision occurred */
+ #define HPC3_ETXCTRL_STAT75 0x000000e0        /* Rdonly irq status from seeq */
+@@ -170,9 +170,9 @@
+ #define HPC3_ETXCTRL_ACTIVE 0x00000200        /* DMA tx channel is active */
+ #define HPC3_ETXCTRL_AMASK  0x00000400        /* Indicates ACTIVE inhibits PIO's */
+-      volatile u32 tx_gfptr;          /* current GIO fifo ptr */
+-      volatile u32 tx_dfptr;          /* current device fifo ptr */
+-      u32 _unused4[0x1000/4 - 4];     /* padding */
++      volatile __u32 tx_gfptr;                /* current GIO fifo ptr */
++      volatile __u32 tx_dfptr;                /* current device fifo ptr */
++      __u32 _unused4[0x1000/4 - 4];   /* padding */
+ };
+ struct hpc3_regs {
+@@ -188,7 +188,7 @@
+       /* Here are where the hpc3 fifo's can be directly accessed
+        * via PIO accesses.  Under normal operation we never stick
+        * our grubby paws in here so it's just padding. */
+-      u32 _unused0[0x18000/4];
++      __u32 _unused0[0x18000/4];
+       /* HPC3 irq status regs.  Due to a peculiar bug you need to
+        * look at two different register addresses to get at all of
+@@ -197,42 +197,42 @@
+        * reliably report bits 9:5 of the hpc3 irq status.  I told
+        * you it was a peculiar bug. ;-)
+        */
+-      volatile u32 istat0;            /* Irq status, only bits <4:0> reliable. */
++      volatile __u32 istat0;          /* Irq status, only bits <4:0> reliable. */
+ #define HPC3_ISTAT_PBIMASK    0x0ff   /* irq bits for pbus devs 0 --> 7 */
+ #define HPC3_ISTAT_SC0MASK    0x100   /* irq bit for scsi channel 0 */
+ #define HPC3_ISTAT_SC1MASK    0x200   /* irq bit for scsi channel 1 */
+-      volatile u32 gio_misc;          /* GIO misc control bits. */
++      volatile __u32 gio_misc;                /* GIO misc control bits. */
+ #define HPC3_GIOMISC_ERTIME   0x1     /* Enable external timer real time. */
+ #define HPC3_GIOMISC_DENDIAN  0x2     /* dma descriptor endian, 1=lit 0=big */
+-      volatile u32 eeprom;            /* EEPROM data reg. */
++      volatile __u32 eeprom;          /* EEPROM data reg. */
+ #define HPC3_EEPROM_EPROT     0x01    /* Protect register enable */
+ #define HPC3_EEPROM_CSEL      0x02    /* Chip select */
+ #define HPC3_EEPROM_ECLK      0x04    /* EEPROM clock */
+ #define HPC3_EEPROM_DATO      0x08    /* Data out */
+ #define HPC3_EEPROM_DATI      0x10    /* Data in */
+-      volatile u32 istat1;            /* Irq status, only bits <9:5> reliable. */
+-      volatile u32 bestat;            /* Bus error interrupt status reg. */
++      volatile __u32 istat1;          /* Irq status, only bits <9:5> reliable. */
++      volatile __u32 bestat;          /* Bus error interrupt status reg. */
+ #define HPC3_BESTAT_BLMASK    0x000ff /* Bus lane where bad parity occurred */
+ #define HPC3_BESTAT_CTYPE     0x00100 /* Bus cycle type, 0=PIO 1=DMA */
+ #define HPC3_BESTAT_PIDSHIFT  9
+ #define HPC3_BESTAT_PIDMASK   0x3f700 /* DMA channel parity identifier */
+-      u32 _unused1[0x14000/4 - 5];    /* padding */
++      __u32 _unused1[0x14000/4 - 5];  /* padding */
+       
+       /* Now direct PIO per-HPC3 peripheral access to external regs. */
+-      volatile u32 scsi0_ext[256];    /* SCSI channel 0 external regs */
+-      u32 _unused2[0x7c00/4];
+-      volatile u32 scsi1_ext[256];    /* SCSI channel 1 external regs */
+-      u32 _unused3[0x7c00/4];
+-      volatile u32 eth_ext[320];      /* Ethernet external registers */
+-      u32 _unused4[0x3b00/4];
++      volatile __u32 scsi0_ext[256];  /* SCSI channel 0 external regs */
++      __u32 _unused2[0x7c00/4];
++      volatile __u32 scsi1_ext[256];  /* SCSI channel 1 external regs */
++      __u32 _unused3[0x7c00/4];
++      volatile __u32 eth_ext[320];    /* Ethernet external registers */
++      __u32 _unused4[0x3b00/4];
+       /* Per-peripheral device external registers and DMA/PIO control. */
+-      volatile u32 pbus_extregs[16][256];
+-      volatile u32 pbus_dmacfg[8][128];
++      volatile __u32 pbus_extregs[16][256];
++      volatile __u32 pbus_dmacfg[8][128];
+       /* Cycles to spend in D3 for reads */
+ #define HPC3_DMACFG_D3R_MASK          0x00000001
+ #define HPC3_DMACFG_D3R_SHIFT         0
+@@ -262,7 +262,7 @@
+ #define HPC3_DMACFG_BURST_SHIFT       22
+       /* Use live pbus_dreq unsynchronized signal */
+ #define HPC3_DMACFG_DRQLIVE           0x08000000
+-      volatile u32 pbus_piocfg[16][64];
++      volatile __u32 pbus_piocfg[16][64];
+       /* Cycles to spend in P2 state for reads */
+ #define HPC3_PIOCFG_P2R_MASK          0x00001
+ #define HPC3_PIOCFG_P2R_SHIFT         0
+@@ -287,21 +287,21 @@
+ #define HPC3_PIOCFG_EVENHI            0x80000
+       /* PBUS PROM control regs. */
+-      volatile u32 pbus_promwe;       /* PROM write enable register */
++      volatile __u32 pbus_promwe;     /* PROM write enable register */
+ #define HPC3_PROM_WENAB       0x1     /* Enable writes to the PROM */
+-      u32 _unused5[0x0800/4 - 1];
+-      volatile u32 pbus_promswap;     /* Chip select swap reg */
++      __u32 _unused5[0x0800/4 - 1];
++      volatile __u32 pbus_promswap;   /* Chip select swap reg */
+ #define HPC3_PROM_SWAP        0x1     /* invert GIO addr bit to select prom0 or prom1 */
+-      u32 _unused6[0x0800/4 - 1];
+-      volatile u32 pbus_gout; /* PROM general purpose output reg */
++      __u32 _unused6[0x0800/4 - 1];
++      volatile __u32 pbus_gout;       /* PROM general purpose output reg */
+ #define HPC3_PROM_STAT        0x1     /* General purpose status bit in gout */
+-      u32 _unused7[0x1000/4 - 1];
+-      volatile u32 rtcregs[14];       /* Dallas clock registers */
+-      u32 _unused8[50];
+-      volatile u32 bbram[8192-50-14]; /* Battery backed ram */
++      __u32 _unused7[0x1000/4 - 1];
++      volatile __u32 rtcregs[14];     /* Dallas clock registers */
++      __u32 _unused8[50];
++      volatile __u32 bbram[8192-50-14];       /* Battery backed ram */
+ };
+ /* 
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/ioc.h linux-libc-headers-2.6.8.0/include/asm-mips/sgi/ioc.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/ioc.h 2004-03-28 07:51:54.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sgi/ioc.h      2004-08-26 05:24:48.000000000 -0500
+@@ -22,26 +22,26 @@
+  */
+ struct sgioc_uart_regs {
+-      u8 _ctrl1[3];
+-      volatile u8 ctrl1;
+-      u8 _data1[3];
+-      volatile u8 data1;
+-      u8 _ctrl2[3];
+-      volatile u8 ctrl2;
+-      u8 _data2[3];
+-      volatile u8 data2;
++      __u8 _ctrl1[3];
++      volatile __u8 ctrl1;
++      __u8 _data1[3];
++      volatile __u8 data1;
++      __u8 _ctrl2[3];
++      volatile __u8 ctrl2;
++      __u8 _data2[3];
++      volatile __u8 data2;
+ };
+ struct sgioc_keyb_regs {
+-      u8 _data[3];
+-      volatile u8 data;
+-      u8 _command[3];
+-      volatile u8 command;
++      __u8 _data[3];
++      volatile __u8 data;
++      __u8 _command[3];
++      volatile __u8 command;
+ };
+ struct sgint_regs {
+-      u8 _istat0[3];
+-      volatile u8 istat0;             /* Interrupt status zero */
++      __u8 _istat0[3];
++      volatile __u8 istat0;           /* Interrupt status zero */
+ #define SGINT_ISTAT0_FFULL    0x01
+ #define SGINT_ISTAT0_SCSI0    0x02
+ #define SGINT_ISTAT0_SCSI1    0x04
+@@ -50,10 +50,10 @@
+ #define SGINT_ISTAT0_PPORT    0x20
+ #define SGINT_ISTAT0_HPC2     0x40
+ #define SGINT_ISTAT0_LIO2     0x80
+-      u8 _imask0[3];
+-      volatile u8 imask0;             /* Interrupt mask zero */
+-      u8 _istat1[3];
+-      volatile u8 istat1;             /* Interrupt status one */
++      __u8 _imask0[3];
++      volatile __u8 imask0;           /* Interrupt mask zero */
++      __u8 _istat1[3];
++      volatile __u8 istat1;           /* Interrupt status one */
+ #define SGINT_ISTAT1_ISDNI    0x01
+ #define SGINT_ISTAT1_PWR      0x02
+ #define SGINT_ISTAT1_ISDNH    0x04
+@@ -62,29 +62,29 @@
+ #define SGINT_ISTAT1_AFAIL    0x20
+ #define SGINT_ISTAT1_VIDEO    0x40
+ #define SGINT_ISTAT1_GIO2     0x80
+-      u8 _imask1[3];
+-      volatile u8 imask1;             /* Interrupt mask one */
+-      u8 _vmeistat[3];
+-      volatile u8 vmeistat;           /* VME interrupt status */
+-      u8 _cmeimask0[3];
+-      volatile u8 cmeimask0;          /* VME interrupt mask zero */
+-      u8 _cmeimask1[3];
+-      volatile u8 cmeimask1;          /* VME interrupt mask one */
+-      u8 _cmepol[3];
+-      volatile u8 cmepol;             /* VME polarity */
+-      u8 _tclear[3];
+-      volatile u8 tclear;
+-      u8 _errstat[3];
+-      volatile u8 errstat;    /* Error status reg, reserved on INT2 */
+-      u32 _unused0[2];
+-      u8 _tcnt0[3];
+-      volatile u8 tcnt0;              /* counter 0 */
+-      u8 _tcnt1[3];
+-      volatile u8 tcnt1;              /* counter 1 */
+-      u8 _tcnt2[3];
+-      volatile u8 tcnt2;              /* counter 2 */
+-      u8 _tcword[3];
+-      volatile u8 tcword;             /* control word */
++      __u8 _imask1[3];
++      volatile __u8 imask1;           /* Interrupt mask one */
++      __u8 _vmeistat[3];
++      volatile __u8 vmeistat;         /* VME interrupt status */
++      __u8 _cmeimask0[3];
++      volatile __u8 cmeimask0;                /* VME interrupt mask zero */
++      __u8 _cmeimask1[3];
++      volatile __u8 cmeimask1;                /* VME interrupt mask one */
++      __u8 _cmepol[3];
++      volatile __u8 cmepol;           /* VME polarity */
++      __u8 _tclear[3];
++      volatile __u8 tclear;
++      __u8 _errstat[3];
++      volatile __u8 errstat;  /* Error status reg, reserved on INT2 */
++      __u32 _unused0[2];
++      __u8 _tcnt0[3];
++      volatile __u8 tcnt0;            /* counter 0 */
++      __u8 _tcnt1[3];
++      volatile __u8 tcnt1;            /* counter 1 */
++      __u8 _tcnt2[3];
++      volatile __u8 tcnt2;            /* counter 2 */
++      __u8 _tcword[3];
++      volatile __u8 tcword;           /* control word */
+ #define SGINT_TCWORD_BCD      0x01    /* Use BCD mode for counters */
+ #define SGINT_TCWORD_MMASK    0x0e    /* Mode bitmask. */
+ #define SGINT_TCWORD_MITC     0x00    /* IRQ on terminal count (doesn't work) */
+@@ -115,55 +115,55 @@
+ #define SGINT_TCSAMP_COUNTER  ((SGINT_TIMER_CLOCK / HZ) + 255)
+ /* We need software copies of these because they are write only. */
+-extern u8 sgi_ioc_reset, sgi_ioc_write;
++extern __u8 sgi_ioc_reset, sgi_ioc_write;
+ struct sgioc_regs {
+       struct pi1_regs pport;
+-      u32 _unused0[2];
++      __u32 _unused0[2];
+       struct sgioc_uart_regs serport;
+       struct sgioc_keyb_regs kbdmouse;
+-      u8 _gcsel[3];
+-      volatile u8 gcsel;
+-      u8 _genctrl[3];
+-      volatile u8 genctrl;
+-      u8 _panel[3];
+-      volatile u8 panel;
++      __u8 _gcsel[3];
++      volatile __u8 gcsel;
++      __u8 _genctrl[3];
++      volatile __u8 genctrl;
++      __u8 _panel[3];
++      volatile __u8 panel;
+ #define SGIOC_PANEL_POWERON   0x01
+ #define SGIOC_PANEL_POWERINTR 0x02
+ #define SGIOC_PANEL_VOLDNINTR 0x10
+ #define SGIOC_PANEL_VOLDNHOLD 0x20
+ #define SGIOC_PANEL_VOLUPINTR 0x40
+ #define SGIOC_PANEL_VOLUPHOLD 0x80
+-      u32 _unused1;
+-      u8 _sysid[3];
+-      volatile u8 sysid;
++      __u32 _unused1;
++      __u8 _sysid[3];
++      volatile __u8 sysid;
+ #define SGIOC_SYSID_FULLHOUSE 0x01
+ #define SGIOC_SYSID_BOARDREV(x)       ((x & 0xe0) > 5) 
+ #define SGIOC_SYSID_CHIPREV(x)        ((x & 0x1e) > 1)
+-      u32 _unused2;
+-      u8 _read[3];
+-      volatile u8 read;
+-      u32 _unused3;
+-      u8 _dmasel[3];
+-      volatile u8 dmasel;
++      __u32 _unused2;
++      __u8 _read[3];
++      volatile __u8 read;
++      __u32 _unused3;
++      __u8 _dmasel[3];
++      volatile __u8 dmasel;
+ #define SGIOC_DMASEL_SCLK10MHZ        0x00    /* use 10MHZ serial clock */
+ #define SGIOC_DMASEL_ISDNB    0x01    /* enable isdn B */
+ #define SGIOC_DMASEL_ISDNA    0x02    /* enable isdn A */
+ #define SGIOC_DMASEL_PPORT    0x04    /* use parallel DMA */
+ #define SGIOC_DMASEL_SCLK667MHZ       0x10    /* use 6.67MHZ serial clock */
+ #define SGIOC_DMASEL_SCLKEXT  0x20    /* use external serial clock */
+-      u32 _unused4;
+-      u8 _reset[3];
+-      volatile u8 reset;
++      __u32 _unused4;
++      __u8 _reset[3];
++      volatile __u8 reset;
+ #define SGIOC_RESET_PPORT     0x01    /* 0=parport reset, 1=nornal */
+ #define SGIOC_RESET_KBDMOUSE  0x02    /* 0=kbdmouse reset, 1=normal */
+ #define SGIOC_RESET_EISA      0x04    /* 0=eisa reset, 1=normal */
+ #define SGIOC_RESET_ISDN      0x08    /* 0=isdn reset, 1=normal */
+ #define SGIOC_RESET_LC0OFF    0x10    /* guiness: turn led off (red, else green) */
+ #define SGIOC_RESET_LC1OFF    0x20    /* guiness: turn led off (green, else amber) */
+-      u32 _unused5;
+-      u8 _write[3];
+-      volatile u8 write;
++      __u32 _unused5;
++      __u8 _write[3];
++      volatile __u8 write;
+ #define SGIOC_WRITE_NTHRESH   0x01    /* use 4.5db threshhold */
+ #define SGIOC_WRITE_TPSPEED   0x02    /* use 100ohm TP speed */
+ #define SGIOC_WRITE_EPSEL     0x04    /* force cable mode: 1=AUI 0=TP */
+@@ -172,10 +172,10 @@
+ #define SGIOC_WRITE_U0AMODE   0x20    /* 1=PC 0=MAC UART mode */
+ #define SGIOC_WRITE_MLO               0x40    /* 1=4.75V 0=+5V */
+ #define SGIOC_WRITE_MHI               0x80    /* 1=5.25V 0=+5V */
+-      u32 _unused6;
++      __u32 _unused6;
+       struct sgint_regs int3;
+-      u32 _unused7[16];
+-      volatile u32 extio;             /* FullHouse only */
++      __u32 _unused7[16];
++      volatile __u32 extio;           /* FullHouse only */
+ #define EXTIO_S0_IRQ_3                0x8000  /* S0: vid.vsync */
+ #define EXTIO_S0_IRQ_2                0x4000  /* S0: gfx.fifofull */
+ #define EXTIO_S0_IRQ_1                0x2000  /* S0: gfx.int */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/mc.h linux-libc-headers-2.6.8.0/include/asm-mips/sgi/mc.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgi/mc.h  2003-12-15 12:47:03.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sgi/mc.h       2004-08-26 05:25:28.000000000 -0500
+@@ -14,8 +14,8 @@
+ #define _SGI_MC_H
+ struct sgimc_regs {
+-      u32 _unused0;
+-      volatile u32 cpuctrl0;  /* CPU control register 0, readwrite */
++      __u32 _unused0;
++      volatile __u32 cpuctrl0;        /* CPU control register 0, readwrite */
+ #define SGIMC_CCTRL0_REFS     0x0000000f /* REFS mask */
+ #define SGIMC_CCTRL0_EREFRESH 0x00000010 /* Memory refresh enable */
+ #define SGIMC_CCTRL0_EPERRGIO 0x00000020 /* GIO parity error enable */
+@@ -35,8 +35,8 @@
+ #define SGIMC_CCTRL0_CMEMBADPAR       0x02000000 /* Generate bad perr from cpu to mem */
+ #define SGIMC_CCTRL0_R4KNOCHKPARR 0x04000000 /* Don't chk parity on mem data reads */
+ #define SGIMC_CCTRL0_GIOBTOB  0x08000000 /* Allow GIO back to back writes */
+-      u32 _unused1;
+-      volatile u32 cpuctrl1;  /* CPU control register 1, readwrite */
++      __u32 _unused1;
++      volatile __u32 cpuctrl1;        /* CPU control register 1, readwrite */
+ #define SGIMC_CCTRL1_EGIOTIMEO        0x00000010 /* GIO bus timeout enable */
+ #define SGIMC_CCTRL1_FIXEDEHPC        0x00001000 /* Fixed HPC endianness */
+ #define SGIMC_CCTRL1_LITTLEHPC        0x00002000 /* Little endian HPC */
+@@ -45,33 +45,33 @@
+ #define SGIMC_CCTRL1_FIXEDEEXP1       0x00010000 /* Fixed EXP1 endianness */
+ #define SGIMC_CCTRL1_LITTLEEXP1       0x00020000 /* Little endian EXP1 */
+-      u32 _unused2;
+-      volatile u32 watchdogt; /* Watchdog reg rdonly, write clears */
++      __u32 _unused2;
++      volatile __u32 watchdogt;       /* Watchdog reg rdonly, write clears */
+-      u32 _unused3;
+-      volatile u32 systemid;  /* MC system ID register, readonly */
++      __u32 _unused3;
++      volatile __u32 systemid;        /* MC system ID register, readonly */
+ #define SGIMC_SYSID_MASKREV   0x0000000f /* Revision of MC controller */
+ #define SGIMC_SYSID_EPRESENT  0x00000010 /* Indicates presence of EISA bus */
+-      u32 _unused4[3];
+-      volatile u32 divider;   /* Divider reg for RPSS */
++      __u32 _unused4[3];
++      volatile __u32 divider; /* Divider reg for RPSS */
+-      u32 _unused5;
+-      volatile u32 eeprom;    /* EEPROM byte reg for r4k */
++      __u32 _unused5;
++      volatile __u32 eeprom;  /* EEPROM byte reg for r4k */
+ #define SGIMC_EEPROM_PRE      0x00000001 /* eeprom chip PRE pin assertion */
+ #define SGIMC_EEPROM_CSEL     0x00000002 /* Active high, eeprom chip select */
+ #define SGIMC_EEPROM_SECLOCK  0x00000004 /* EEPROM serial clock */
+ #define SGIMC_EEPROM_SDATAO   0x00000008 /* Serial EEPROM data-out */
+ #define SGIMC_EEPROM_SDATAI   0x00000010 /* Serial EEPROM data-in */
+-      u32 _unused6[3];
+-      volatile u32 rcntpre;   /* Preload refresh counter */
++      __u32 _unused6[3];
++      volatile __u32 rcntpre; /* Preload refresh counter */
+-      u32 _unused7;
+-      volatile u32 rcounter;  /* Readonly refresh counter */
++      __u32 _unused7;
++      volatile __u32 rcounter;        /* Readonly refresh counter */
+-      u32 _unused8[13];
+-      volatile u32 giopar;    /* Parameter word for GIO64 */
++      __u32 _unused8[13];
++      volatile __u32 giopar;  /* Parameter word for GIO64 */
+ #define SGIMC_GIOPAR_HPC64    0x00000001 /* HPC talks to GIO using 64-bits */
+ #define SGIMC_GIOPAR_GFX64    0x00000002 /* GFX talks to GIO using 64-bits */
+ #define SGIMC_GIOPAR_EXP064   0x00000004 /* EXP(slot0) talks using 64-bits */
+@@ -89,36 +89,36 @@
+ #define SGIMC_GIOPAR_PLINEEXP0        0x00004000 /* EXP(slot0) has pipeline attr */
+ #define SGIMC_GIOPAR_PLINEEXP1        0x00008000 /* EXP(slot1) has pipeline attr */
+-      u32 _unused9;
+-      volatile u32 cputp;     /* CPU bus arb time period */
++      __u32 _unused9;
++      volatile __u32 cputp;   /* CPU bus arb time period */
+-      u32 _unused10[3];
+-      volatile u32 lbursttp;  /* Time period for long bursts */
++      __u32 _unused10[3];
++      volatile __u32 lbursttp;        /* Time period for long bursts */
+       /* MC chip can drive up to 4 bank 4 SIMMs each. All SIMMs in bank must
+        * be the same size. The size encoding for supported SIMMs is bellow */
+-      u32 _unused11[9];
+-      volatile u32 mconfig0;  /* Memory config register zero */
+-      u32 _unused12;
+-      volatile u32 mconfig1;  /* Memory config register one */
++      __u32 _unused11[9];
++      volatile __u32 mconfig0;        /* Memory config register zero */
++      __u32 _unused12;
++      volatile __u32 mconfig1;        /* Memory config register one */
+ #define SGIMC_MCONFIG_BASEADDR        0x000000ff /* Base address of bank*/
+ #define SGIMC_MCONFIG_RMASK   0x00001f00 /* Ram config bitmask */
+ #define SGIMC_MCONFIG_BVALID  0x00002000 /* Bank is valid */
+ #define SGIMC_MCONFIG_SBANKS  0x00004000 /* Number of subbanks */
+-      u32 _unused13;
+-      volatile u32 cmacc;        /* Mem access config for CPU */
+-      u32 _unused14;
+-      volatile u32 gmacc;        /* Mem access config for GIO */
++      __u32 _unused13;
++      volatile __u32 cmacc;        /* Mem access config for CPU */
++      __u32 _unused14;
++      volatile __u32 gmacc;        /* Mem access config for GIO */
+       /* This define applies to both cmacc and gmacc registers above. */
+ #define SGIMC_MACC_ALIASBIG   0x20000000 /* 512MB home for alias */
+       /* Error address/status regs from GIO and CPU perspectives. */
+-      u32 _unused15;
+-      volatile u32 cerr;      /* Error address reg for CPU */
+-      u32 _unused16;
+-      volatile u32 cstat;     /* Status reg for CPU */
++      __u32 _unused15;
++      volatile __u32 cerr;    /* Error address reg for CPU */
++      __u32 _unused16;
++      volatile __u32 cstat;   /* Status reg for CPU */
+ #define SGIMC_CSTAT_RD                0x00000100 /* read parity error */
+ #define SGIMC_CSTAT_PAR               0x00000200 /* CPU parity error */
+ #define SGIMC_CSTAT_ADDR      0x00000400 /* memory bus error bad addr */
+@@ -128,10 +128,10 @@
+ #define SGIMC_CSTAT_PAR_MASK  0x00001f00 /* parity error mask */
+ #define SGIMC_CSTAT_RD_PAR    (SGIMC_CSTAT_RD | SGIMC_CSTAT_PAR)
+-      u32 _unused17;
+-      volatile u32 gerr;      /* Error address reg for GIO */
+-      u32 _unused18;
+-      volatile u32 gstat;     /* Status reg for GIO */
++      __u32 _unused17;
++      volatile __u32 gerr;    /* Error address reg for GIO */
++      __u32 _unused18;
++      volatile __u32 gstat;   /* Status reg for GIO */
+ #define SGIMC_GSTAT_RD                0x00000100 /* read parity error */
+ #define SGIMC_GSTAT_WR                0x00000200 /* write parity error */
+ #define SGIMC_GSTAT_TIME      0x00000400 /* GIO bus timed out */
+@@ -142,76 +142,76 @@
+ #define SGIMC_GSTAT_PIO_WR    0x00008000 /* write data parity on pio */
+       /* Special hard bus locking registers. */
+-      u32 _unused19;
+-      volatile u32 syssembit;         /* Uni-bit system semaphore */
+-      u32 _unused20;
+-      volatile u32 mlock;             /* Global GIO memory access lock */
+-      u32 _unused21;
+-      volatile u32 elock;             /* Locks EISA from GIO accesses */
++      __u32 _unused19;
++      volatile __u32 syssembit;       /* Uni-bit system semaphore */
++      __u32 _unused20;
++      volatile __u32 mlock;           /* Global GIO memory access lock */
++      __u32 _unused21;
++      volatile __u32 elock;           /* Locks EISA from GIO accesses */
+       /* GIO dma control registers. */
+-      u32 _unused22[15];
+-      volatile u32 gio_dma_trans;     /* DMA mask to translation GIO addrs */
+-      u32 _unused23;
+-      volatile u32 gio_dma_sbits;     /* DMA GIO addr substitution bits */
+-      u32 _unused24;
+-      volatile u32 dma_intr_cause;    /* DMA IRQ cause indicator bits */
+-      u32 _unused25;
+-      volatile u32 dma_ctrl;          /* Main DMA control reg */
++      __u32 _unused22[15];
++      volatile __u32 gio_dma_trans;   /* DMA mask to translation GIO addrs */
++      __u32 _unused23;
++      volatile __u32 gio_dma_sbits;   /* DMA GIO addr substitution bits */
++      __u32 _unused24;
++      volatile __u32 dma_intr_cause;  /* DMA IRQ cause indicator bits */
++      __u32 _unused25;
++      volatile __u32 dma_ctrl;        /* Main DMA control reg */
+       /* DMA TLB entry 0 */
+-      u32 _unused26[5];
+-      volatile u32 dtlb_hi0;
+-      u32 _unused27;
+-      volatile u32 dtlb_lo0;
++      __u32 _unused26[5];
++      volatile __u32 dtlb_hi0;
++      __u32 _unused27;
++      volatile __u32 dtlb_lo0;
+       /* DMA TLB entry 1 */
+-      u32 _unused28;
+-      volatile u32 dtlb_hi1;
+-      u32 _unused29;
+-      volatile u32 dtlb_lo1;
++      __u32 _unused28;
++      volatile __u32 dtlb_hi1;
++      __u32 _unused29;
++      volatile __u32 dtlb_lo1;
+       /* DMA TLB entry 2 */
+-      u32 _unused30;
+-      volatile u32 dtlb_hi2;
+-      u32 _unused31;
+-      volatile u32 dtlb_lo2;
++      __u32 _unused30;
++      volatile __u32 dtlb_hi2;
++      __u32 _unused31;
++      volatile __u32 dtlb_lo2;
+       /* DMA TLB entry 3 */
+-      u32 _unused32;
+-      volatile u32 dtlb_hi3;
+-      u32 _unused33;
+-      volatile u32 dtlb_lo3;
++      __u32 _unused32;
++      volatile __u32 dtlb_hi3;
++      __u32 _unused33;
++      volatile __u32 dtlb_lo3;
+       
+-      u32 _unused34[0x0392];
++      __u32 _unused34[0x0392];
+       
+-      u32 _unused35;
+-      volatile u32 rpsscounter;       /* Chirps at 100ns */
++      __u32 _unused35;
++      volatile __u32 rpsscounter;     /* Chirps at 100ns */
+-      u32 _unused36[0x1000/4-2*4];
++      __u32 _unused36[0x1000/4-2*4];
+       
+-      u32 _unused37;
+-      volatile u32 maddronly;         /* Address DMA goes at */
+-      u32 _unused38;
+-      volatile u32 maddrpdeflts;      /* Same as above, plus set defaults */
+-      u32 _unused39;
+-      volatile u32 dmasz;             /* DMA count */
+-      u32 _unused40;
+-      volatile u32 ssize;             /* DMA stride size */
+-      u32 _unused41;
+-      volatile u32 gmaddronly;        /* Set GIO DMA but don't start trans */
+-      u32 _unused42;
+-      volatile u32 dmaddnpgo;         /* Set GIO DMA addr + start transfer */
+-      u32 _unused43;
+-      volatile u32 dmamode;           /* DMA mode config bit settings */
+-      u32 _unused44;
+-      volatile u32 dmaccount;         /* Zoom and byte count for DMA */
+-      u32 _unused45;
+-      volatile u32 dmastart;          /* Pedal to the metal. */
+-      u32 _unused46;
+-      volatile u32 dmarunning;        /* DMA op is in progress */
+-      u32 _unused47;
+-      volatile u32 maddrdefstart;     /* Set dma addr, defaults, and kick it */
++      __u32 _unused37;
++      volatile __u32 maddronly;       /* Address DMA goes at */
++      __u32 _unused38;
++      volatile __u32 maddrpdeflts;    /* Same as above, plus set defaults */
++      __u32 _unused39;
++      volatile __u32 dmasz;           /* DMA count */
++      __u32 _unused40;
++      volatile __u32 ssize;           /* DMA stride size */
++      __u32 _unused41;
++      volatile __u32 gmaddronly;      /* Set GIO DMA but don't start trans */
++      __u32 _unused42;
++      volatile __u32 dmaddnpgo;       /* Set GIO DMA addr + start transfer */
++      __u32 _unused43;
++      volatile __u32 dmamode;         /* DMA mode config bit settings */
++      __u32 _unused44;
++      volatile __u32 dmaccount;       /* Zoom and byte count for DMA */
++      __u32 _unused45;
++      volatile __u32 dmastart;        /* Pedal to the metal. */
++      __u32 _unused46;
++      volatile __u32 dmarunning;      /* DMA op is in progress */
++      __u32 _unused47;
++      volatile __u32 maddrdefstart;   /* Set dma addr, defaults, and kick it */
+ };
+ extern struct sgimc_regs *sgimc;
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgiarcs.h linux-libc-headers-2.6.8.0/include/asm-mips/sgiarcs.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sgiarcs.h 2004-03-28 07:51:52.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sgiarcs.h      2004-08-26 05:21:53.000000000 -0500
+@@ -164,11 +164,11 @@
+ /* This prom has a bolixed design. */
+ struct linux_bigint {
+ #ifdef __MIPSEL__
+-      u32 lo;
+-      s32 hi;
++      __u32 lo;
++      __s32 hi;
+ #else /* !(__MIPSEL__) */
+-      s32 hi;
+-      u32 lo;
++      __s32 hi;
++      __u32 lo;
+ #endif
+ };
+@@ -366,7 +366,7 @@
+  * Macros for calling a 32-bit ARC implementation from 64-bit code
+  */
+-#if defined(CONFIG_MIPS64) && defined(CONFIG_ARC32)
++#if defined(__mips64) && defined(CONFIG_ARC32)
+ #define __arc_clobbers                                                        \
+       "$2","$3" /* ... */, "$8","$9","$10","$11",                     \
+@@ -475,10 +475,10 @@
+       __res;                                                          \
+ })
+-#endif /* defined(CONFIG_MIPS64) && defined(CONFIG_ARC32) */
++#endif /* defined(__mips64) && defined(CONFIG_ARC32) */
+-#if (defined(CONFIG_MIPS32) && defined(CONFIG_ARC32)) ||              \
+-    (defined(CONFIG_MIPS64) && defined(CONFIG_ARC64))
++#if (!defined(__mips64) && defined(CONFIG_ARC32)) ||          \
++    (defined(__mips64) && defined(CONFIG_ARC64))
+ #define ARC_CALL0(dest)                                                       \
+ ({    long __res;                                                     \
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/siginfo.h linux-libc-headers-2.6.8.0/include/asm-mips/siginfo.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/siginfo.h 2004-06-09 07:00:41.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/siginfo.h      2004-08-26 05:14:41.000000000 -0500
+@@ -66,10 +66,10 @@
+               /* SIGPOLL, SIGXFSZ (To do ...)  */
+               struct {
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+                       int _band;      /* POLL_IN, POLL_OUT, POLL_MSG */
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+                       long _band;     /* POLL_IN, POLL_OUT, POLL_MSG */
+ #endif
+                       int _fd;
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sim.h linux-libc-headers-2.6.8.0/include/asm-mips/sim.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sim.h     2004-03-28 07:51:52.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sim.h  2004-08-26 05:17:16.000000000 -0500
+@@ -18,7 +18,7 @@
+ #define __str2(x) #x
+ #define __str(x) __str2(x)
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+ #define save_static_function(symbol)                                  \
+ __asm__ (                                                             \
+@@ -43,9 +43,9 @@
+ #define nabi_no_regargs
+-#endif /* CONFIG_MIPS32 */
++#endif /* ndef __mips64 */
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ #define save_static_function(symbol)                                  \
+ __asm__ (                                                             \
+@@ -78,6 +78,6 @@
+       unsigned long __dummy6,                                         \
+       unsigned long __dummy7,
+-#endif /* CONFIG_MIPS64 */
++#endif /* __mips64 */
+ #endif /* _ASM_SIM_H */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/arch.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/arch.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/arch.h 2004-06-09 07:00:42.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/arch.h      2004-08-26 05:26:16.000000000 -0500
+@@ -17,8 +17,8 @@
+ #include <asm/sn/sn0/arch.h>
+ #endif
+-typedef u64   hubreg_t;
+-typedef u64   nic_t;
++typedef __u64 hubreg_t;
++typedef __u64 nic_t;
+ #define cputonasid(cpu)                       (cpu_data[(cpu)].p_nasid)
+ #define cputoslice(cpu)                       (cpu_data[(cpu)].p_slice)
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/gda.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/gda.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/gda.h  2003-12-15 12:47:02.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/gda.h       2004-08-26 05:26:30.000000000 -0500
+@@ -44,11 +44,11 @@
+ #ifndef __ASSEMBLY__
+ typedef struct gda {
+-      u32     g_magic;        /* GDA magic number */
+-      u16     g_version;      /* Version of this structure */
+-      u16     g_masterid;     /* The NASID:CPUNUM of the master cpu */
+-      u32     g_promop;       /* Passes requests from the kernel to prom */
+-      u32     g_vds;          /* Store the virtual dipswitches here */
++      __u32   g_magic;        /* GDA magic number */
++      __u16   g_version;      /* Version of this structure */
++      __u16   g_masterid;     /* The NASID:CPUNUM of the master cpu */
++      __u32   g_promop;       /* Passes requests from the kernel to prom */
++      __u32   g_vds;          /* Store the virtual dipswitches here */
+       void    **g_hooked_norm;/* ptr to pda loc for norm hndlr */
+       void    **g_hooked_utlb;/* ptr to pda loc for utlb hndlr */
+       void    **g_hooked_xtlb;/* ptr to pda loc for xtlb hndlr */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/ioc3.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/ioc3.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/ioc3.h 2003-12-15 12:47:02.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/ioc3.h      2004-08-26 05:26:06.000000000 -0500
+@@ -8,23 +8,23 @@
+ /* SUPERIO uart register map */
+ typedef volatile struct ioc3_uartregs {
+       union {
+-              volatile u8     rbr;    /* read only, DLAB == 0 */
+-              volatile u8     thr;    /* write only, DLAB == 0 */
+-              volatile u8     dll;    /* DLAB == 1 */
++              volatile __u8   rbr;    /* read only, DLAB == 0 */
++              volatile __u8   thr;    /* write only, DLAB == 0 */
++              volatile __u8   dll;    /* DLAB == 1 */
+       } u1;
+       union {
+-              volatile u8     ier;    /* DLAB == 0 */
+-              volatile u8     dlm;    /* DLAB == 1 */
++              volatile __u8   ier;    /* DLAB == 0 */
++              volatile __u8   dlm;    /* DLAB == 1 */
+       } u2;
+       union {
+-              volatile u8     iir;    /* read only */
+-              volatile u8     fcr;    /* write only */
++              volatile __u8   iir;    /* read only */
++              volatile __u8   fcr;    /* write only */
+       } u3;
+-      volatile u8         iu_lcr;
+-      volatile u8         iu_mcr;
+-      volatile u8         iu_lsr;
+-      volatile u8         iu_msr;
+-      volatile u8         iu_scr;
++      volatile __u8       iu_lcr;
++      volatile __u8       iu_mcr;
++      volatile __u8       iu_lsr;
++      volatile __u8       iu_msr;
++      volatile __u8       iu_scr;
+ } ioc3_uregs_t;
+ #define iu_rbr u1.rbr
+@@ -36,29 +36,29 @@
+ #define iu_fcr u3.fcr
+ struct ioc3_sioregs {
+-      volatile u8             fill[0x141];    /* starts at 0x141 */
++      volatile __u8           fill[0x141];    /* starts at 0x141 */
+-      volatile u8             uartc;
+-      volatile u8             kbdcg;
++      volatile __u8           uartc;
++      volatile __u8           kbdcg;
+-      volatile u8             fill0[0x150 - 0x142 - 1];
++      volatile __u8           fill0[0x150 - 0x142 - 1];
+-      volatile u8             pp_data;
+-      volatile u8             pp_dsr;
+-      volatile u8             pp_dcr;
++      volatile __u8           pp_data;
++      volatile __u8           pp_dsr;
++      volatile __u8           pp_dcr;
+-      volatile u8             fill1[0x158 - 0x152 - 1];
++      volatile __u8           fill1[0x158 - 0x152 - 1];
+-      volatile u8             pp_fifa;
+-      volatile u8             pp_cfgb;
+-      volatile u8             pp_ecr;
++      volatile __u8           pp_fifa;
++      volatile __u8           pp_cfgb;
++      volatile __u8           pp_ecr;
+-      volatile u8             fill2[0x168 - 0x15a - 1];
++      volatile __u8           fill2[0x168 - 0x15a - 1];
+-      volatile u8             rtcad;
+-      volatile u8             rtcdat;
++      volatile __u8           rtcad;
++      volatile __u8           rtcdat;
+-      volatile u8             fill3[0x170 - 0x169 - 1];
++      volatile __u8           fill3[0x170 - 0x169 - 1];
+       struct ioc3_uartregs    uartb;  /* 0x20170  */
+       struct ioc3_uartregs    uarta;  /* 0x20178  */
+@@ -66,103 +66,103 @@
+ /* Register layout of IOC3 in configuration space.  */
+ struct ioc3 {
+-      volatile u32    pad0[7];        /* 0x00000  */
+-      volatile u32    sio_ir;         /* 0x0001c  */
+-      volatile u32    sio_ies;        /* 0x00020  */
+-      volatile u32    sio_iec;        /* 0x00024  */
+-      volatile u32    sio_cr;         /* 0x00028  */
+-      volatile u32    int_out;        /* 0x0002c  */
+-      volatile u32    mcr;            /* 0x00030  */
++      volatile __u32  pad0[7];        /* 0x00000  */
++      volatile __u32  sio_ir;         /* 0x0001c  */
++      volatile __u32  sio_ies;        /* 0x00020  */
++      volatile __u32  sio_iec;        /* 0x00024  */
++      volatile __u32  sio_cr;         /* 0x00028  */
++      volatile __u32  int_out;        /* 0x0002c  */
++      volatile __u32  mcr;            /* 0x00030  */
+       /* General Purpose I/O registers  */
+-      volatile u32    gpcr_s;         /* 0x00034  */
+-      volatile u32    gpcr_c;         /* 0x00038  */
+-      volatile u32    gpdr;           /* 0x0003c  */
+-      volatile u32    gppr_0;         /* 0x00040  */
+-      volatile u32    gppr_1;         /* 0x00044  */
+-      volatile u32    gppr_2;         /* 0x00048  */
+-      volatile u32    gppr_3;         /* 0x0004c  */
+-      volatile u32    gppr_4;         /* 0x00050  */
+-      volatile u32    gppr_5;         /* 0x00054  */
+-      volatile u32    gppr_6;         /* 0x00058  */
+-      volatile u32    gppr_7;         /* 0x0005c  */
+-      volatile u32    gppr_8;         /* 0x00060  */
+-      volatile u32    gppr_9;         /* 0x00064  */
+-      volatile u32    gppr_10;        /* 0x00068  */
+-      volatile u32    gppr_11;        /* 0x0006c  */
+-      volatile u32    gppr_12;        /* 0x00070  */
+-      volatile u32    gppr_13;        /* 0x00074  */
+-      volatile u32    gppr_14;        /* 0x00078  */
+-      volatile u32    gppr_15;        /* 0x0007c  */
++      volatile __u32  gpcr_s;         /* 0x00034  */
++      volatile __u32  gpcr_c;         /* 0x00038  */
++      volatile __u32  gpdr;           /* 0x0003c  */
++      volatile __u32  gppr_0;         /* 0x00040  */
++      volatile __u32  gppr_1;         /* 0x00044  */
++      volatile __u32  gppr_2;         /* 0x00048  */
++      volatile __u32  gppr_3;         /* 0x0004c  */
++      volatile __u32  gppr_4;         /* 0x00050  */
++      volatile __u32  gppr_5;         /* 0x00054  */
++      volatile __u32  gppr_6;         /* 0x00058  */
++      volatile __u32  gppr_7;         /* 0x0005c  */
++      volatile __u32  gppr_8;         /* 0x00060  */
++      volatile __u32  gppr_9;         /* 0x00064  */
++      volatile __u32  gppr_10;        /* 0x00068  */
++      volatile __u32  gppr_11;        /* 0x0006c  */
++      volatile __u32  gppr_12;        /* 0x00070  */
++      volatile __u32  gppr_13;        /* 0x00074  */
++      volatile __u32  gppr_14;        /* 0x00078  */
++      volatile __u32  gppr_15;        /* 0x0007c  */
+       /* Parallel Port Registers  */
+-      volatile u32    ppbr_h_a;       /* 0x00080  */
+-      volatile u32    ppbr_l_a;       /* 0x00084  */
+-      volatile u32    ppcr_a;         /* 0x00088  */
+-      volatile u32    ppcr;           /* 0x0008c  */
+-      volatile u32    ppbr_h_b;       /* 0x00090  */
+-      volatile u32    ppbr_l_b;       /* 0x00094  */
+-      volatile u32    ppcr_b;         /* 0x00098  */
++      volatile __u32  ppbr_h_a;       /* 0x00080  */
++      volatile __u32  ppbr_l_a;       /* 0x00084  */
++      volatile __u32  ppcr_a;         /* 0x00088  */
++      volatile __u32  ppcr;           /* 0x0008c  */
++      volatile __u32  ppbr_h_b;       /* 0x00090  */
++      volatile __u32  ppbr_l_b;       /* 0x00094  */
++      volatile __u32  ppcr_b;         /* 0x00098  */
+       /* Keyboard and Mouse Registers  */
+-      volatile u32    km_csr;         /* 0x0009c  */
+-      volatile u32    k_rd;           /* 0x000a0  */
+-      volatile u32    m_rd;           /* 0x000a4  */
+-      volatile u32    k_wd;           /* 0x000a8  */
+-      volatile u32    m_wd;           /* 0x000ac  */
++      volatile __u32  km_csr;         /* 0x0009c  */
++      volatile __u32  k_rd;           /* 0x000a0  */
++      volatile __u32  m_rd;           /* 0x000a4  */
++      volatile __u32  k_wd;           /* 0x000a8  */
++      volatile __u32  m_wd;           /* 0x000ac  */
+       /* Serial Port Registers  */
+-      volatile u32    sbbr_h;         /* 0x000b0  */
+-      volatile u32    sbbr_l;         /* 0x000b4  */
+-      volatile u32    sscr_a;         /* 0x000b8  */
+-      volatile u32    stpir_a;        /* 0x000bc  */
+-      volatile u32    stcir_a;        /* 0x000c0  */
+-      volatile u32    srpir_a;        /* 0x000c4  */
+-      volatile u32    srcir_a;        /* 0x000c8  */
+-      volatile u32    srtr_a;         /* 0x000cc  */
+-      volatile u32    shadow_a;       /* 0x000d0  */
+-      volatile u32    sscr_b;         /* 0x000d4  */
+-      volatile u32    stpir_b;        /* 0x000d8  */
+-      volatile u32    stcir_b;        /* 0x000dc  */
+-      volatile u32    srpir_b;        /* 0x000e0  */
+-      volatile u32    srcir_b;        /* 0x000e4  */
+-      volatile u32    srtr_b;         /* 0x000e8  */
+-      volatile u32    shadow_b;       /* 0x000ec  */
++      volatile __u32  sbbr_h;         /* 0x000b0  */
++      volatile __u32  sbbr_l;         /* 0x000b4  */
++      volatile __u32  sscr_a;         /* 0x000b8  */
++      volatile __u32  stpir_a;        /* 0x000bc  */
++      volatile __u32  stcir_a;        /* 0x000c0  */
++      volatile __u32  srpir_a;        /* 0x000c4  */
++      volatile __u32  srcir_a;        /* 0x000c8  */
++      volatile __u32  srtr_a;         /* 0x000cc  */
++      volatile __u32  shadow_a;       /* 0x000d0  */
++      volatile __u32  sscr_b;         /* 0x000d4  */
++      volatile __u32  stpir_b;        /* 0x000d8  */
++      volatile __u32  stcir_b;        /* 0x000dc  */
++      volatile __u32  srpir_b;        /* 0x000e0  */
++      volatile __u32  srcir_b;        /* 0x000e4  */
++      volatile __u32  srtr_b;         /* 0x000e8  */
++      volatile __u32  shadow_b;       /* 0x000ec  */
+       /* Ethernet Registers  */
+-      volatile u32    emcr;           /* 0x000f0  */
+-      volatile u32    eisr;           /* 0x000f4  */
+-      volatile u32    eier;           /* 0x000f8  */
+-      volatile u32    ercsr;          /* 0x000fc  */
+-      volatile u32    erbr_h;         /* 0x00100  */
+-      volatile u32    erbr_l;         /* 0x00104  */
+-      volatile u32    erbar;          /* 0x00108  */
+-      volatile u32    ercir;          /* 0x0010c  */
+-      volatile u32    erpir;          /* 0x00110  */
+-      volatile u32    ertr;           /* 0x00114  */
+-      volatile u32    etcsr;          /* 0x00118  */
+-      volatile u32    ersr;           /* 0x0011c  */
+-      volatile u32    etcdc;          /* 0x00120  */
+-      volatile u32    ebir;           /* 0x00124  */
+-      volatile u32    etbr_h;         /* 0x00128  */
+-      volatile u32    etbr_l;         /* 0x0012c  */
+-      volatile u32    etcir;          /* 0x00130  */
+-      volatile u32    etpir;          /* 0x00134  */
+-      volatile u32    emar_h;         /* 0x00138  */
+-      volatile u32    emar_l;         /* 0x0013c  */
+-      volatile u32    ehar_h;         /* 0x00140  */
+-      volatile u32    ehar_l;         /* 0x00144  */
+-      volatile u32    micr;           /* 0x00148  */
+-      volatile u32    midr_r;         /* 0x0014c  */
+-      volatile u32    midr_w;         /* 0x00150  */
+-      volatile u32    pad1[(0x20000 - 0x00154) / 4];
++      volatile __u32  emcr;           /* 0x000f0  */
++      volatile __u32  eisr;           /* 0x000f4  */
++      volatile __u32  eier;           /* 0x000f8  */
++      volatile __u32  ercsr;          /* 0x000fc  */
++      volatile __u32  erbr_h;         /* 0x00100  */
++      volatile __u32  erbr_l;         /* 0x00104  */
++      volatile __u32  erbar;          /* 0x00108  */
++      volatile __u32  ercir;          /* 0x0010c  */
++      volatile __u32  erpir;          /* 0x00110  */
++      volatile __u32  ertr;           /* 0x00114  */
++      volatile __u32  etcsr;          /* 0x00118  */
++      volatile __u32  ersr;           /* 0x0011c  */
++      volatile __u32  etcdc;          /* 0x00120  */
++      volatile __u32  ebir;           /* 0x00124  */
++      volatile __u32  etbr_h;         /* 0x00128  */
++      volatile __u32  etbr_l;         /* 0x0012c  */
++      volatile __u32  etcir;          /* 0x00130  */
++      volatile __u32  etpir;          /* 0x00134  */
++      volatile __u32  emar_h;         /* 0x00138  */
++      volatile __u32  emar_l;         /* 0x0013c  */
++      volatile __u32  ehar_h;         /* 0x00140  */
++      volatile __u32  ehar_l;         /* 0x00144  */
++      volatile __u32  micr;           /* 0x00148  */
++      volatile __u32  midr_r;         /* 0x0014c  */
++      volatile __u32  midr_w;         /* 0x00150  */
++      volatile __u32  pad1[(0x20000 - 0x00154) / 4];
+       /* SuperIO Registers  XXX */
+       struct ioc3_sioregs     sregs;  /* 0x20000 */
+-      volatile u32    pad2[(0x40000 - 0x20180) / 4];
++      volatile __u32  pad2[(0x40000 - 0x20180) / 4];
+       /* SSRAM Diagnostic Access */
+-      volatile u32    ssram[(0x80000 - 0x40000) / 4];
++      volatile __u32  ssram[(0x80000 - 0x40000) / 4];
+       /* Bytebus device offsets
+          0x80000 -   Access to the generic devices selected with   DEV0
+@@ -179,8 +179,8 @@
+  * Ethernet RX Buffer
+  */
+ struct ioc3_erxbuf {
+-      u32     w0;                     /* first word (valid,bcnt,cksum) */
+-      u32     err;                    /* second word various errors */
++      __u32   w0;                     /* first word (valid,bcnt,cksum) */
++      __u32   err;                    /* second word various errors */
+       /* next comes n bytes of padding */
+       /* then the received ethernet frame itself */
+ };
+@@ -208,11 +208,11 @@
+  */
+ #define ETXD_DATALEN    104
+ struct ioc3_etxd {
+-      u32     cmd;                            /* command field */
+-      u32     bufcnt;                         /* buffer counts field */
+-      u64     p1;                             /* buffer pointer 1 */
+-      u64     p2;                             /* buffer pointer 2 */
+-      u8      data[ETXD_DATALEN];             /* opt. tx data */
++      __u32   cmd;                            /* command field */
++      __u32   bufcnt;                         /* buffer counts field */
++      __u64   p1;                             /* buffer pointer 1 */
++      __u64   p2;                             /* buffer pointer 2 */
++      __u8    data[ETXD_DATALEN];             /* opt. tx data */
+ };
+ #define ETXD_BYTECNT_MASK     0x000007ff      /* total byte count */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/klconfig.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/klconfig.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/klconfig.h     2004-03-28 07:51:55.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/klconfig.h  2004-08-26 05:26:13.000000000 -0500
+@@ -64,9 +64,9 @@
+ #define KLCFGINFO_MAGIC       0xbeedbabe
+ #ifdef FRUTEST
+-typedef u64 klconf_off_t;
++typedef __u64 klconf_off_t;
+ #else
+-typedef s32 klconf_off_t;
++typedef __s32 klconf_off_t;
+ #endif
+ /*
+@@ -160,8 +160,8 @@
+ /* Functions/macros needed to use this structure */
+ typedef struct kl_config_hdr {
+-      u64             ch_magic;       /* set this to KLCFGINFO_MAGIC */
+-      u32             ch_version;    /* structure version number */
++      __u64           ch_magic;       /* set this to KLCFGINFO_MAGIC */
++      __u32           ch_version;    /* structure version number */
+       klconf_off_t    ch_malloc_hdr_off; /* offset of ch_malloc_hdr */
+       klconf_off_t    ch_cons_off;       /* offset of ch_cons */
+       klconf_off_t    ch_board_info;  /* the link list of boards */
+@@ -609,14 +609,14 @@
+ /* Info holders for various hardware components */
+-typedef u64 *pci_t;
+-typedef u64 *vmeb_t;
+-typedef u64 *vmed_t;
+-typedef u64 *fddi_t;
+-typedef u64 *scsi_t;
+-typedef u64 *mio_t;
+-typedef u64 *graphics_t;
+-typedef u64 *router_t;
++typedef __u64 *pci_t;
++typedef __u64 *vmeb_t;
++typedef __u64 *vmed_t;
++typedef __u64 *fddi_t;
++typedef __u64 *scsi_t;
++typedef __u64 *mio_t;
++typedef __u64 *graphics_t;
++typedef __u64 *router_t;
+ /*
+  * The port info in ip27_cfg area translates to a lboart_t in the
+@@ -659,7 +659,7 @@
+       klport_t        hub_port;               /* hub is connected to this */
+       nic_t           hub_box_nic;            /* nic of containing box */
+       klconf_off_t    hub_mfg_nic;            /* MFG NIC string */
+-      u64             hub_speed;              /* Speed of hub in HZ */
++      __u64           hub_speed;              /* Speed of hub in HZ */
+ } klhub_t ;
+ typedef struct klhub_uart_s {                 /* HUB */
+@@ -716,8 +716,8 @@
+ #define MAX_PCI_SLOTS 8
+ typedef struct klpci_device_s {
+-      s32     pci_device_id;  /* 32 bits of vendor/device ID. */
+-      s32     pci_device_pad; /* 32 bits of padding. */
++      __s32   pci_device_id;  /* 32 bits of vendor/device ID. */
++      __s32   pci_device_pad; /* 32 bits of padding. */
+ } klpci_device_t;
+ #define BRIDGE_STRUCT_VERSION 2
+@@ -767,7 +767,7 @@
+       nic_t           rou_box_nic ;         /* nic of the containing module */
+       klport_t        rou_port[MAX_ROUTER_PORTS + 1] ; /* array index 1 to 6 */
+       klconf_off_t    rou_mfg_nic ;     /* MFG NIC string */
+-      u64     rou_vector;       /* vector from master node */
++      __u64   rou_vector;       /* vector from master node */
+ } klrou_t ;
+ /*
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/kldir.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/kldir.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/kldir.h        2004-01-17 17:03:49.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/kldir.h     2004-08-26 05:26:25.000000000 -0500
+@@ -210,7 +210,7 @@
+ #ifndef __ASSEMBLY__
+ typedef struct kldir_ent_s {
+-      u64             magic;          /* Indicates validity of entry      */
++      __u64           magic;          /* Indicates validity of entry      */
+       off_t           offset;         /* Offset from start of node space  */
+ #if defined(CONFIG_SGI_IO)    /* FIXME */
+       __psunsigned_t  pointer;        /* Pointer to area in some cases    */
+@@ -218,7 +218,7 @@
+       unsigned long   pointer;        /* Pointer to area in some cases    */
+ #endif
+       size_t          size;           /* Size in bytes                    */
+-      u64             count;          /* Repeat count if array, 1 if not  */
++      __u64           count;          /* Repeat count if array, 1 if not  */
+       size_t          stride;         /* Stride if array, 0 if not        */
+       char            rsvd[16];       /* Pad entry to 0x40 bytes          */
+       /* NOTE: These 16 bytes are used in the Partition KLDIR
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/launch.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/launch.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/launch.h       2004-01-17 17:03:49.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/launch.h    2004-08-26 05:25:52.000000000 -0500
+@@ -62,14 +62,14 @@
+ #ifndef __ASSEMBLY__
+ typedef int launch_state_t;
+-typedef void (*launch_proc_t)(u64 call_parm);
++typedef void (*launch_proc_t)(__u64 call_parm);
+ typedef struct launch_s {
+-      volatile u64            magic;  /* Magic number                     */
+-      volatile u64            busy;   /* Slave currently active           */
++      volatile __u64          magic;  /* Magic number                     */
++      volatile __u64          busy;   /* Slave currently active           */
+       volatile launch_proc_t  call_addr;      /* Func. for slave to call  */
+-      volatile u64            call_addr_c;    /* 1's complement of call_addr*/
+-      volatile u64            call_parm;      /* Single parm passed to call*/
++      volatile __u64          call_addr_c;    /* 1's complement of call_addr*/
++      volatile __u64          call_parm;      /* Single parm passed to call*/
+       volatile void *stack_addr;      /* Stack pointer for slave function */
+       volatile void *gp_addr;         /* Global pointer for slave func.   */
+       volatile char           *bevutlb;/* Address of bev utlb ex handler   */
+@@ -84,7 +84,7 @@
+ #define LAUNCH_SLAVE  (*(void (*)(int nasid, int cpu, \
+                                   launch_proc_t call_addr, \
+-                                  u64 call_parm, \
++                                  __u64 call_parm, \
+                                   void *stack_addr, \
+                                   void *gp_addr)) \
+                        IP27PROM_LAUNCHSLAVE)
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubio.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubio.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubio.h    2003-12-15 12:47:02.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubio.h 2004-08-26 05:27:21.000000000 -0500
+@@ -172,9 +172,9 @@
+ #ifndef __ASSEMBLY__
+ typedef union hubii_wid_u {
+-      u64     wid_reg_value;
++      __u64   wid_reg_value;
+       struct {
+-              u64     wid_rsvd:       32,     /* unused */
++              __u64   wid_rsvd:       32,     /* unused */
+                       wid_rev_num:     4,     /* revision number */
+                       wid_part_num:   16,     /* the widget type: hub=c101 */
+                       wid_mfg_num:    11,     /* Manufacturer id (IBM) */
+@@ -184,9 +184,9 @@
+ typedef union hubii_wcr_u {
+-      u64     wcr_reg_value;
++      __u64   wcr_reg_value;
+       struct {
+-              u64     wcr_rsvd:       41,     /* unused */
++              __u64   wcr_rsvd:       41,     /* unused */
+                       wcr_e_thresh:    5,     /* elasticity threshold */
+                       wcr_dir_con:     1,     /* widget direct connect */
+                       wcr_f_bad_pkt:   1,     /* Force bad llp pkt enable */
+@@ -200,9 +200,9 @@
+ #define       iwcr_dir_con    wcr_fields_s.wcr_dir_con
+ typedef union hubii_wstat_u {
+-      u64      reg_value;
++      __u64      reg_value;
+       struct {
+-              u64     rsvd1:          31,
++              __u64   rsvd1:          31,
+                       crazy:           1,     /* Crazy bit            */
+                       rsvd2:           8,
+                       llp_tx_cnt:      8,     /* LLP Xmit retry counter */
+@@ -217,9 +217,9 @@
+ typedef union hubii_ilcsr_u {
+-      u64     icsr_reg_value;
++      __u64   icsr_reg_value;
+       struct {
+-              u64     icsr_rsvd:      22,     /* unused */
++              __u64   icsr_rsvd:      22,     /* unused */
+                       icsr_max_burst: 10,     /* max burst */
+                         icsr_rsvd4:    6,     /* reserved */
+                       icsr_max_retry: 10,     /* max retry */
+@@ -237,9 +237,9 @@
+ typedef union hubii_iowa_u {
+-      u64     iowa_reg_value;
++      __u64   iowa_reg_value;
+       struct {
+-              u64     iowa_rsvd:      48,     /* unused */
++              __u64   iowa_rsvd:      48,     /* unused */
+                               iowa_wxoac:      8,     /* xtalk widget access bits */
+                       iowa_rsvd1:      7,     /* xtalk widget access bits */
+                       iowa_w0oac:      1;     /* xtalk widget access bits */
+@@ -247,9 +247,9 @@
+ } hubii_iowa_t;
+ typedef union hubii_iiwa_u {
+-      u64     iiwa_reg_value;
++      __u64   iiwa_reg_value;
+       struct {
+-              u64     iiwa_rsvd:      48,     /* unused */
++              __u64   iiwa_rsvd:      48,     /* unused */
+                       iiwa_wxiac:      8,     /* hub wid access bits */
+                       iiwa_rsvd1:      7,     /* reserved */
+                       iiwa_w0iac:      1;     /* hub wid0 access */
+@@ -257,9 +257,9 @@
+ } hubii_iiwa_t;
+ typedef union hubii_illr_u {
+-      u64     illr_reg_value;
++      __u64   illr_reg_value;
+       struct {
+-              u64     illr_rsvd:      32,     /* unused */
++              __u64   illr_rsvd:      32,     /* unused */
+                       illr_cb_cnt:    16,     /* checkbit error count */
+                       illr_sn_cnt:    16;     /* sequence number count */
+         } illr_fields_s;
+@@ -271,9 +271,9 @@
+ /* io_perf_sel allows the caller to specify what tests will be
+    performed */
+ typedef union io_perf_sel {
+-      u64 perf_sel_reg;
++      __u64 perf_sel_reg;
+       struct {
+-              u64     perf_rsvd  : 48,
++              __u64   perf_rsvd  : 48,
+                       perf_icct  :  8,
+                       perf_ippr1 :  4,
+                       perf_ippr0 :  4;
+@@ -284,9 +284,9 @@
+    hardware problems there is only one counter, not two. */
+ typedef union io_perf_cnt {
+-      u64     perf_cnt;
++      __u64   perf_cnt;
+       struct {
+-              u64     perf_rsvd1 : 32,
++              __u64   perf_rsvd1 : 32,
+                               perf_rsvd2 : 12,
+                               perf_cnt   : 20;
+       } perf_cnt_bits;
+@@ -442,9 +442,9 @@
+  */
+ #ifndef __ASSEMBLY__
+ typedef union icrba_u {
+-      u64     reg_value;
++      __u64   reg_value;
+       struct {
+-              u64     resvd:  6,
++              __u64   resvd:  6,
+                       stall_bte0: 1,  /* Stall BTE 0 */
+                       stall_bte1: 1,  /* Stall BTE 1 */
+                       error:  1,      /* CRB has an error     */
+@@ -464,10 +464,10 @@
+    runtime selection of the format based on the REV_ID field of the
+    NI_STATUS_REV_ID register. */
+ typedef union h1_icrba_u {
+-      u64     reg_value;
++      __u64   reg_value;
+       struct {
+-              u64     resvd:  6,
++              __u64   resvd:  6,
+                       unused: 1,      /* Unused but RW!!      */
+                       error:  1,      /* CRB has an error     */
+                       ecode:  4,      /* Error Code           */
+@@ -525,9 +525,9 @@
+  */
+ #ifndef __ASSEMBLY__
+ typedef union icrbb_u {
+-      u64     reg_value;
++      __u64   reg_value;
+       struct {
+-          u64 rsvd1:  5,
++          __u64       rsvd1:  5,
+               btenum: 1,      /* BTE to which entry belongs to */
+               cohtrans: 1,    /* Coherent transaction */
+               xtsize: 2,      /* Xtalk operation size
+@@ -567,9 +567,9 @@
+    runtime selection of the format based on the REV_ID field of the
+    NI_STATUS_REV_ID register. */
+ typedef union h1_icrbb_u {
+-      u64     reg_value;
++      __u64   reg_value;
+       struct {
+-              u64     rsvd1:  5,
++              __u64   rsvd1:  5,
+                       btenum: 1,      /* BTE to which entry belongs to */
+                       cohtrans: 1,    /* Coherent transaction */
+                       xtsize: 2,      /* Xtalk operation size
+@@ -683,9 +683,9 @@
+ #ifndef __ASSEMBLY__
+ typedef union icrbc_s {
+-      u64     reg_value;
++      __u64   reg_value;
+       struct {
+-              u64     rsvd:   6,
++              __u64   rsvd:   6,
+                       sleep:  1,
+                       pricnt: 4,      /* Priority count sent with Read req */
+                       pripsc: 4,      /* Priority Pre scalar  */
+@@ -720,9 +720,9 @@
+ #ifndef __ASSEMBLY__
+ typedef union icrbd_s {
+-      u64     reg_value;
++      __u64   reg_value;
+       struct {
+-          u64 rsvd:   38,
++          __u64       rsvd:   38,
+               toutvld: 1,     /* Timeout in progress for this CRB */
+               ctxtvld: 1,     /* Context field below is valid */
+               rsvd2:  1,
+@@ -742,9 +742,9 @@
+ typedef union hubii_ifdr_u {
+-      u64     hi_ifdr_value;
++      __u64   hi_ifdr_value;
+       struct {
+-              u64     ifdr_rsvd:      49,
++              __u64   ifdr_rsvd:      49,
+                       ifdr_maxrp:      7,
+                       ifdr_rsvd1:      1,
+                               ifdr_maxrq:      7;
+@@ -801,9 +801,9 @@
+ #ifndef __ASSEMBLY__
+ typedef union iprte_a {
+-      u64     entry;
++      __u64   entry;
+       struct {
+-          u64 rsvd1     : 7,  /* Reserved field               */
++          __u64       rsvd1     : 7,  /* Reserved field               */
+               valid     : 1,  /* Maps to a timeout entry      */
+               rsvd2     : 1,
+               srcnode   : 9,  /* Node which did this PIO      */
+@@ -835,9 +835,9 @@
+  */
+ typedef union iprb_u {
+-      u64     reg_value;
++      __u64   reg_value;
+       struct {
+-          u64 rsvd1:  15,
++          __u64       rsvd1:  15,
+               error:  1,      /* Widget rcvd wr resp pkt w/ error */
+               ovflow: 5,      /* Over flow count. perf measurement */
+               fire_and_forget: 1, /* Launch Write without response */
+@@ -877,9 +877,9 @@
+  */
+ #ifndef __ASSEMBLY__
+ typedef union icrbp_a {
+-      u64   ip_reg;       /* the entire register value        */
++      __u64   ip_reg;     /* the entire register value        */
+       struct {
+-           u64 error: 1,  /*    63, error occurred            */
++           __u64 error:       1,  /*    63, error occurred            */
+               ln_uce: 1,  /*    62: uncorrectable memory      */
+               ln_ae:  1,  /*    61: protection violation      */
+               ln_werr:1,  /*    60: write access error        */
+@@ -919,9 +919,9 @@
+ #ifndef __ASSEMBLY__
+ typedef union hubii_idsr {
+-      u64 iin_reg;
++      __u64 iin_reg;
+       struct {
+-              u64 rsvd1 : 35,
++              __u64 rsvd1 : 35,
+                   isent : 1,
+                   rsvd2 : 3,
+                   ienable: 1,
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubmd.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubmd.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubmd.h    2004-01-17 17:03:49.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubmd.h 2004-08-26 05:27:00.000000000 -0500
+@@ -541,7 +541,7 @@
+  */
+ struct dir_error_reg {
+-      u64     uce_vld:   1,   /*    63: valid directory uce   */
++      __u64   uce_vld:   1,   /*    63: valid directory uce   */
+               ae_vld:    1,   /*    62: valid dir prot ecc error */
+               ce_vld:    1,   /*    61: valid correctable ECC err*/
+               rsvd1:    19,   /* 60-42: reserved              */
+@@ -555,13 +555,13 @@
+ };
+ typedef union md_dir_error {
+-      u64     derr_reg;       /* the entire register          */
++      __u64   derr_reg;       /* the entire register          */
+       struct dir_error_reg derr_fmt;  /* the register format          */
+ } md_dir_error_t;
+ struct mem_error_reg {
+-      u64     uce_vld:   1,   /*    63: valid memory uce      */
++      __u64   uce_vld:   1,   /*    63: valid memory uce      */
+               ce_vld:    1,   /*    62: valid correctable ECC err*/
+               rsvd1:    22,   /* 61-40: reserved              */
+               bad_syn:   8,   /* 39-32: bad mem ecc syndrome  */
+@@ -573,13 +573,13 @@
+ typedef union md_mem_error {
+-      u64     merr_reg;       /* the entire register          */
++      __u64   merr_reg;       /* the entire register          */
+       struct mem_error_reg  merr_fmt; /* format of the mem_error reg  */
+ } md_mem_error_t;
+ struct proto_error_reg {
+-      u64     valid:     1,   /*    63: valid protocol error  */
++      __u64   valid:     1,   /*    63: valid protocol error  */
+               rsvd1:     2,   /* 62-61: reserved              */
+               initiator:11,   /* 60-50: id of request initiator*/
+               backoff:   2,   /* 49-48: backoff control       */
+@@ -594,7 +594,7 @@
+ };
+ typedef union md_proto_error {
+-      u64     perr_reg;       /* the entire register          */
++      __u64   perr_reg;       /* the entire register          */
+       struct proto_error_reg  perr_fmt; /* format of the register     */
+ } md_proto_error_t;
+@@ -642,7 +642,7 @@
+ struct md_pdir_high_fmt {
+-      u64     pd_hi_unused   : 16,
++      __u64   pd_hi_unused   : 16,
+               pd_hi_bvec     : 38,
+               pd_hi_unused1  : 3,
+               pd_hi_ecc      : 7;
+@@ -651,14 +651,14 @@
+ typedef union md_pdir_high {
+       /* The 48 bits of standard directory, upper word */
+-      u64     pd_hi_val;
++      __u64   pd_hi_val;
+       struct md_pdir_high_fmt pd_hi_fmt;
+ }md_pdir_high_t;
+ struct md_pdir_low_shared_fmt {
+       /* The meaning of lower directory, shared */
+-      u64     pds_lo_unused   : 16,
++      __u64   pds_lo_unused   : 16,
+               pds_lo_bvec     : 26,
+               pds_lo_cnt      :  6,
+               pds_lo_state    :  3,
+@@ -670,7 +670,7 @@
+ struct md_pdir_low_exclusive_fmt {
+       /* The meaning of lower directory, exclusive */
+-      u64     pde_lo_unused   : 31,
++      __u64   pde_lo_unused   : 31,
+               pde_lo_ptr      : 11,
+               pde_lo_unused1  :  6,
+               pde_lo_state    :  3,
+@@ -683,7 +683,7 @@
+ typedef union md_pdir_loent {
+       /* The 48 bits of premium directory, lower word */
+-      u64     pd_lo_val;
++      __u64   pd_lo_val;
+       struct md_pdir_low_exclusive_fmt pde_lo_fmt;
+       struct md_pdir_low_shared_fmt   pds_lo_fmt;
+ }md_pdir_low_t;
+@@ -711,25 +711,25 @@
+ } bddir_entry_t;
+ typedef struct        dir_mem_entry   {
+-        u64           prcpf[MAX_REGIONS];
++        __u64         prcpf[MAX_REGIONS];
+         bddir_entry_t directory_words[MD_PAGE_SIZE/CACHE_SLINE_SIZE];
+ } dir_mem_entry_t;
+ typedef union md_perf_sel {
+-      u64     perf_sel_reg;
++      __u64   perf_sel_reg;
+       struct  {
+-              u64     perf_rsvd : 60,
++              __u64   perf_rsvd : 60,
+                       perf_en   :  1,
+                       perf_sel  :  3;
+       } perf_sel_bits;
+ } md_perf_sel_t;
+ typedef union md_perf_cnt {
+-      u64     perf_cnt;
++      __u64   perf_cnt;
+       struct  {
+-              u64     perf_rsvd : 44,
++              __u64   perf_rsvd : 44,
+                       perf_cnt  : 20;
+       } perf_cnt_bits;
+ } md_perf_cnt_t;
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubni.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubni.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubni.h    2003-12-15 12:47:02.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubni.h 2004-08-26 05:26:48.000000000 -0500
+@@ -229,9 +229,9 @@
+ #ifndef __ASSEMBLY__
+ typedef union hubni_port_error_u {
+-      u64     nipe_reg_value;
++      __u64   nipe_reg_value;
+       struct {
+-          u64 nipe_rsvd:      26,     /* unused */
++          __u64    nipe_rsvd: 26,     /* unused */
+               nipe_lnk_reset:  1,     /* link reset */
+               nipe_intl_err:   1,     /* internal error */
+               nipe_bad_msg:    1,     /* bad message */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubpi.h linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubpi.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/sn/sn0/hubpi.h    2003-12-15 12:47:02.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/sn/sn0/hubpi.h 2004-08-26 05:26:36.000000000 -0500
+@@ -312,7 +312,7 @@
+  */
+ struct err_stack_format {
+-      u64     sk_addr    : 33,   /* address */
++      __u64   sk_addr    : 33,   /* address */
+               sk_cmd     :  8,   /* message command */
+               sk_crb_sts : 10,   /* status from RRB or WRB */
+               sk_rw_rb   :  1,   /* RRB == 0, WRB == 1 */
+@@ -323,12 +323,12 @@
+ };
+ typedef union pi_err_stack {
+-      u64     pi_stk_word;
++      __u64   pi_stk_word;
+       struct  err_stack_format pi_stk_fmt;
+ } pi_err_stack_t;
+ struct err_status0_format {
+-      u64     s0_valid   :  1,   /* Valid */
++      __u64   s0_valid   :  1,   /* Valid */
+               s0_ovr_run :  1,   /* Overrun, spooled to memory */
+               s0_addr    : 37,   /* address */
+               s0_cmd     :  8,   /* message command */
+@@ -338,12 +338,12 @@
+ };
+ typedef union pi_err_stat0 {
+-      u64     pi_stat0_word;
++      __u64   pi_stat0_word;
+       struct err_status0_format pi_stat0_fmt;
+ } pi_err_stat0_t;
+ struct err_status1_format {
+-      u64     s1_src     : 11,   /* message source */
++      __u64   s1_src     : 11,   /* message source */
+               s1_crb_sts : 10,   /* status from RRB or WRB */
+               s1_rw_rb   :  1,   /* RRB == 0, WRB == 1 */
+               s1_crb_num :  3,   /* WRB (0 to 7) or RRB (0 to 4) */
+@@ -353,11 +353,11 @@
+ };
+ typedef union pi_err_stat1 {
+-      u64     pi_stat1_word;
++      __u64   pi_stat1_word;
+       struct err_status1_format pi_stat1_fmt;
+ } pi_err_stat1_t;
+-typedef u64   rtc_time_t;
++typedef __u64 rtc_time_t;
+ #endif /* !__ASSEMBLY__ */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/stackframe.h linux-libc-headers-2.6.8.0/include/asm-mips/stackframe.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/stackframe.h      2004-08-18 13:15:41.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/stackframe.h   2004-08-26 05:14:41.000000000 -0500
+@@ -25,7 +25,7 @@
+               .macro  SAVE_TEMP
+               mfhi    v1
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+               LONG_S  $8, PT_R8(sp)
+               LONG_S  $9, PT_R9(sp)
+ #endif
+@@ -55,7 +55,7 @@
+ #ifdef CONFIG_SMP
+               .macro  get_saved_sp    /* SMP variation */
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+               mfc0    k0, CP0_CONTEXT
+               lui     k1, %hi(kernelsp)
+               srl     k0, k0, 23
+@@ -63,7 +63,7 @@
+               addu    k1, k0
+               LONG_L  k1, %lo(kernelsp)(k1)
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+               MFC0    k1, CP0_CONTEXT
+               dsra    k1, 23
+               lui     k0, %hi(pgd_current)
+@@ -76,13 +76,13 @@
+               .endm
+               .macro  set_saved_sp stackp temp temp2
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+               mfc0    \temp, CP0_CONTEXT
+               srl     \temp, 23
+               sll     \temp, 2
+               LONG_S  \stackp, kernelsp(\temp)
+ #endif
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+               lw      \temp, TI_CPU(gp)
+               dsll    \temp, 3
+               lui     \temp2, %hi(kernelsp)
+@@ -127,7 +127,7 @@
+               LONG_S  $6, PT_R6(sp)
+               MFC0    v1, CP0_EPC
+               LONG_S  $7, PT_R7(sp)
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+               LONG_S  $8, PT_R8(sp)
+               LONG_S  $9, PT_R9(sp)
+ #endif
+@@ -156,7 +156,7 @@
+               .macro  RESTORE_TEMP
+               LONG_L  $24, PT_LO(sp)
+-#ifdef CONFIG_MIPS32
++#ifndef __mips64
+               LONG_L  $8, PT_R8(sp)
+               LONG_L  $9, PT_R9(sp)
+ #endif
+@@ -204,7 +204,7 @@
+               LONG_L  $31, PT_R31(sp)
+               LONG_L  $28, PT_R28(sp)
+               LONG_L  $25, PT_R25(sp)
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+               LONG_L  $8, PT_R8(sp)
+               LONG_L  $9, PT_R9(sp)
+ #endif
+@@ -249,7 +249,7 @@
+               LONG_L  $31, PT_R31(sp)
+               LONG_L  $28, PT_R28(sp)
+               LONG_L  $25, PT_R25(sp)
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+               LONG_L  $8, PT_R8(sp)
+               LONG_L  $9, PT_R9(sp)
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/system.h linux-libc-headers-2.6.8.0/include/asm-mips/system.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/system.h  2004-08-18 13:15:42.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/system.h       2004-08-28 18:13:39.000000000 -0500
+@@ -15,10 +15,11 @@
+ #include <asm/sgidefs.h>
+ #include <linux/kernel.h>
++#include <linux/linkage.h>
+ #include <asm/addrspace.h>
+ #include <asm/ptrace.h>
+-#include <asm/hazards.h>
++#include <asm/types.h>
+ __asm__ (
+       ".macro\tlocal_irq_enable\n\t"
+@@ -311,7 +312,7 @@
+       return retval;
+ }
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ static inline __u64 __xchg_u64(volatile __u64 * m, __u64 val)
+ {
+       __u64 retval;
+@@ -406,7 +407,7 @@
+       return retval;
+ }
+-#ifdef CONFIG_MIPS64
++#ifdef __mips64
+ static inline unsigned long __cmpxchg_u64(volatile int * m, unsigned long old,
+       unsigned long new)
+ {
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/tx4927/tx4927_mips.h linux-libc-headers-2.6.8.0/include/asm-mips/tx4927/tx4927_mips.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/tx4927/tx4927_mips.h      2003-12-15 12:47:03.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/tx4927/tx4927_mips.h   2004-08-26 05:22:30.000000000 -0500
+@@ -36,15 +36,15 @@
+               ".set\tmips0");
+ }
+-#define reg_rd08(r)    ((u8 )(*((vu8 *)(r))))
+-#define reg_rd16(r)    ((u16)(*((vu16*)(r))))
+-#define reg_rd32(r)    ((u32)(*((vu32*)(r))))
+-#define reg_rd64(r)    ((u64)(*((vu64*)(r))))
++#define reg_rd08(r)    ((__u8 )(*((vu8 *)(r))))
++#define reg_rd16(r)    ((__u16)(*((vu16*)(r))))
++#define reg_rd32(r)    ((__u32)(*((vu32*)(r))))
++#define reg_rd64(r)    ((__u64)(*((vu64*)(r))))
+-#define reg_wr08(r,v)  ((*((vu8 *)(r)))=((u8 )(v)))
+-#define reg_wr16(r,v)  ((*((vu16*)(r)))=((u16)(v)))
+-#define reg_wr32(r,v)  ((*((vu32*)(r)))=((u32)(v)))
+-#define reg_wr64(r,v)  ((*((vu64*)(r)))=((u64)(v)))
++#define reg_wr08(r,v)  ((*((vu8 *)(r)))=((__u8 )(v)))
++#define reg_wr16(r,v)  ((*((vu16*)(r)))=((__u16)(v)))
++#define reg_wr32(r,v)  ((*((vu32*)(r)))=((__u32)(v)))
++#define reg_wr64(r,v)  ((*((vu64*)(r)))=((__u64)(v)))
+ typedef volatile __signed char vs8;
+ typedef volatile unsigned char vu8;
+@@ -55,10 +55,10 @@
+ typedef volatile __signed int vs32;
+ typedef volatile unsigned int vu32;
+-typedef  s8  s08;
++typedef  __s8  s08;
+ typedef vs8 vs08;
+-typedef  u8  u08;
++typedef  __u8  u08;
+ typedef vu8 vu08;
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/unaligned.h linux-libc-headers-2.6.8.0/include/asm-mips/unaligned.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/unaligned.h       2004-08-15 15:38:27.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/asm-mips/unaligned.h    2004-08-26 05:22:21.000000000 -0500
+@@ -17,7 +17,7 @@
+  *
+  * This macro should be used for accessing values larger in size than
+  * single bytes at locations that are expected to be improperly aligned,
+- * e.g. retrieving a u16 value from a location not u16-aligned.
++ * e.g. retrieving a __u16 value from a location not __u16-aligned.
+  *
+  * Note that unaligned accesses can be very expensive on some architectures.
+  */
+@@ -31,7 +31,7 @@
+  *
+  * This macro should be used for placing values larger in size than
+  * single bytes at locations that are expected to be improperly aligned,
+- * e.g. writing a u16 value to a location not u16-aligned.
++ * e.g. writing a __u16 value to a location not __u16-aligned.
+  *
+  * Note that unaligned accesses can be very expensive on some architectures.
+  */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/asm-mips/xtalk/xwidget.h linux-libc-headers-2.6.8.0/include/asm-mips/xtalk/xwidget.h
+--- linux-libc-headers-2.6.8.0-dist/include/asm-mips/xtalk/xwidget.h   2003-12-15 12:47:03.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/asm-mips/xtalk/xwidget.h        2004-08-26 05:23:33.000000000 -0500
+@@ -92,7 +92,7 @@
+  * defined here
+  */
+ #ifndef __ASSEMBLY__
+-typedef u32 widgetreg_t;
++typedef __u32 widgetreg_t;
+ /* widget configuration registers */
+ typedef volatile struct widget_cfg {
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/acpi.h linux-libc-headers-2.6.8.0/include/linux/acpi.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/acpi.h       2004-08-18 13:16:01.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/acpi.h    2004-08-26 05:41:49.000000000 -0500
+@@ -51,49 +51,49 @@
+ struct acpi_table_rsdp {
+       char                    signature[8];
+-      u8                      checksum;
++      __u8                    checksum;
+       char                    oem_id[6];
+-      u8                      revision;
+-      u32                     rsdt_address;
++      __u8                    revision;
++      __u32                   rsdt_address;
+ } __attribute__ ((packed));
+ struct acpi20_table_rsdp {
+       char                    signature[8];
+-      u8                      checksum;
++      __u8                    checksum;
+       char                    oem_id[6];
+-      u8                      revision;
+-      u32                     rsdt_address;
+-      u32                     length;
+-      u64                     xsdt_address;
+-      u8                      ext_checksum;
+-      u8                      reserved[3];
++      __u8                    revision;
++      __u32                   rsdt_address;
++      __u32                   length;
++      __u64                   xsdt_address;
++      __u8                    ext_checksum;
++      __u8                    reserved[3];
+ } __attribute__ ((packed));
+ typedef struct {
+-      u8                      type;
+-      u8                      length;
++      __u8                    type;
++      __u8                    length;
+ } __attribute__ ((packed)) acpi_table_entry_header;
+ /* Root System Description Table (RSDT) */
+ struct acpi_table_rsdt {
+       struct acpi_table_header header;
+-      u32                     entry[8];
++      __u32                   entry[8];
+ } __attribute__ ((packed));
+ /* Extended System Description Table (XSDT) */
+ struct acpi_table_xsdt {
+       struct acpi_table_header header;
+-      u64                     entry[1];
++      __u64                   entry[1];
+ } __attribute__ ((packed));
+ /* Fixed ACPI Description Table (FADT) */
+ struct acpi_table_fadt {
+       struct acpi_table_header header;
+-      u32 facs_addr;
+-      u32 dsdt_addr;
++      __u32 facs_addr;
++      __u32 dsdt_addr;
+       /* ... */
+ } __attribute__ ((packed));
+@@ -101,10 +101,10 @@
+ struct acpi_table_madt {
+       struct acpi_table_header header;
+-      u32                     lapic_address;
++      __u32                   lapic_address;
+       struct {
+-              u32                     pcat_compat:1;
+-              u32                     reserved:31;
++              __u32                   pcat_compat:1;
++              __u32                   reserved:31;
+       }                       flags;
+ } __attribute__ ((packed));
+@@ -122,85 +122,85 @@
+ };
+ typedef struct {
+-      u16                     polarity:2;
+-      u16                     trigger:2;
+-      u16                     reserved:12;
++      __u16                   polarity:2;
++      __u16                   trigger:2;
++      __u16                   reserved:12;
+ } __attribute__ ((packed)) acpi_interrupt_flags;
+ struct acpi_table_lapic {
+       acpi_table_entry_header header;
+-      u8                      acpi_id;
+-      u8                      id;
++      __u8                    acpi_id;
++      __u8                    id;
+       struct {
+-              u32                     enabled:1;
+-              u32                     reserved:31;
++              __u32                   enabled:1;
++              __u32                   reserved:31;
+       }                       flags;
+ } __attribute__ ((packed));
+ struct acpi_table_ioapic {
+       acpi_table_entry_header header;
+-      u8                      id;
+-      u8                      reserved;
+-      u32                     address;
+-      u32                     global_irq_base;
++      __u8                    id;
++      __u8                    reserved;
++      __u32                   address;
++      __u32                   global_irq_base;
+ } __attribute__ ((packed));
+ struct acpi_table_int_src_ovr {
+       acpi_table_entry_header header;
+-      u8                      bus;
+-      u8                      bus_irq;
+-      u32                     global_irq;
++      __u8                    bus;
++      __u8                    bus_irq;
++      __u32                   global_irq;
+       acpi_interrupt_flags    flags;
+ } __attribute__ ((packed));
+ struct acpi_table_nmi_src {
+       acpi_table_entry_header header;
+       acpi_interrupt_flags    flags;
+-      u32                     global_irq;
++      __u32                   global_irq;
+ } __attribute__ ((packed));
+ struct acpi_table_lapic_nmi {
+       acpi_table_entry_header header;
+-      u8                      acpi_id;
++      __u8                    acpi_id;
+       acpi_interrupt_flags    flags;
+-      u8                      lint;
++      __u8                    lint;
+ } __attribute__ ((packed));
+ struct acpi_table_lapic_addr_ovr {
+       acpi_table_entry_header header;
+-      u8                      reserved[2];
+-      u64                     address;
++      __u8                    reserved[2];
++      __u64                   address;
+ } __attribute__ ((packed));
+ struct acpi_table_iosapic {
+       acpi_table_entry_header header;
+-      u8                      id;
+-      u8                      reserved;
+-      u32                     global_irq_base;
+-      u64                     address;
++      __u8                    id;
++      __u8                    reserved;
++      __u32                   global_irq_base;
++      __u64                   address;
+ } __attribute__ ((packed));
+ struct acpi_table_lsapic {
+       acpi_table_entry_header header;
+-      u8                      acpi_id;
+-      u8                      id;
+-      u8                      eid;
+-      u8                      reserved[3];
++      __u8                    acpi_id;
++      __u8                    id;
++      __u8                    eid;
++      __u8                    reserved[3];
+       struct {
+-              u32                     enabled:1;
+-              u32                     reserved:31;
++              __u32                   enabled:1;
++              __u32                   reserved:31;
+       }                       flags;
+ } __attribute__ ((packed));
+ struct acpi_table_plat_int_src {
+       acpi_table_entry_header header;
+       acpi_interrupt_flags    flags;
+-      u8                      type;   /* See acpi_interrupt_type */
+-      u8                      id;
+-      u8                      eid;
+-      u8                      iosapic_vector;
+-      u32                     global_irq;
+-      u32                     reserved;
++      __u8                    type;   /* See acpi_interrupt_type */
++      __u8                    id;
++      __u8                    eid;
++      __u8                    iosapic_vector;
++      __u32                   global_irq;
++      __u32                   reserved;
+ } __attribute__ ((packed));
+ enum acpi_interrupt_id {
+@@ -213,21 +213,21 @@
+ #define       ACPI_SPACE_MEM          0
+ struct acpi_gen_regaddr {
+-      u8  space_id;
+-      u8  bit_width;
+-      u8  bit_offset;
+-      u8  resv;
+-      u32 addrl;
+-      u32 addrh;
++      __u8  space_id;
++      __u8  bit_width;
++      __u8  bit_offset;
++      __u8  resv;
++      __u32 addrl;
++      __u32 addrh;
+ } __attribute__ ((packed));
+ struct acpi_table_hpet {
+       struct acpi_table_header header;
+-      u32 id;
++      __u32 id;
+       struct acpi_gen_regaddr addr;
+-      u8 number;
+-      u16 min_tick;
+-      u8 page_protect;
++      __u8 number;
++      __u16 min_tick;
++      __u8 page_protect;
+ } __attribute__ ((packed));
+ /*
+@@ -236,17 +236,17 @@
+  */
+ struct acpi_table_sbf
+ {
+-      u8 sbf_signature[4];
+-      u32 sbf_len;
+-      u8 sbf_revision;
+-      u8 sbf_csum;
+-      u8 sbf_oemid[6];
+-      u8 sbf_oemtable[8];
+-      u8 sbf_revdata[4];
+-      u8 sbf_creator[4];
+-      u8 sbf_crearev[4];
+-      u8 sbf_cmos;
+-      u8 sbf_spare[3];
++      __u8 sbf_signature[4];
++      __u32 sbf_len;
++      __u8 sbf_revision;
++      __u8 sbf_csum;
++      __u8 sbf_oemid[6];
++      __u8 sbf_oemtable[8];
++      __u8 sbf_revdata[4];
++      __u8 sbf_creator[4];
++      __u8 sbf_crearev[4];
++      __u8 sbf_cmos;
++      __u8 sbf_spare[3];
+ } __attribute__ ((packed));
+ /*
+@@ -256,8 +256,8 @@
+ struct acpi_table_srat {
+       struct acpi_table_header header;
+-      u32                     table_revision;
+-      u64                     reserved;
++      __u32                   table_revision;
++      __u64                   reserved;
+ } __attribute__ ((packed));
+ enum acpi_srat_entry_id {
+@@ -268,31 +268,31 @@
+ struct acpi_table_processor_affinity {
+       acpi_table_entry_header header;
+-      u8                      proximity_domain;
+-      u8                      apic_id;
++      __u8                    proximity_domain;
++      __u8                    apic_id;
+       struct {
+-              u32                     enabled:1;
+-              u32                     reserved:31;
++              __u32                   enabled:1;
++              __u32                   reserved:31;
+       }                       flags;
+-      u8                      lsapic_eid;
+-      u8                      reserved[7];
++      __u8                    lsapic_eid;
++      __u8                    reserved[7];
+ } __attribute__ ((packed));
+ struct acpi_table_memory_affinity {
+       acpi_table_entry_header header;
+-      u8                      proximity_domain;
+-      u8                      reserved1[5];
+-      u32                     base_addr_lo;
+-      u32                     base_addr_hi;
+-      u32                     length_lo;
+-      u32                     length_hi;
+-      u32                     memory_type;    /* See acpi_address_range_id */
++      __u8                    proximity_domain;
++      __u8                    reserved1[5];
++      __u32                   base_addr_lo;
++      __u32                   base_addr_hi;
++      __u32                   length_lo;
++      __u32                   length_hi;
++      __u32                   memory_type;    /* See acpi_address_range_id */
+       struct {
+-              u32                     enabled:1;
+-              u32                     hot_pluggable:1;
+-              u32                     reserved:30;
++              __u32                   enabled:1;
++              __u32                   hot_pluggable:1;
++              __u32                   reserved:30;
+       }                       flags;
+-      u64                     reserved2;
++      __u64                   reserved2;
+ } __attribute__ ((packed));
+ enum acpi_address_range_id {
+@@ -310,17 +310,17 @@
+ struct acpi_table_slit {
+       struct acpi_table_header header;
+-      u64                     localities;
+-      u8                      entry[1];       /* real size = localities^2 */
++      __u64                   localities;
++      __u8                    entry[1];       /* real size = localities^2 */
+ } __attribute__ ((packed));
+ /* Smart Battery Description Table (SBST) */
+ struct acpi_table_sbst {
+       struct acpi_table_header header;
+-      u32                     warning;        /* Warn user */
+-      u32                     low;            /* Critical sleep */
+-      u32                     critical;       /* Critical shutdown */
++      __u32                   warning;        /* Warn user */
++      __u32                   low;            /* Critical sleep */
++      __u32                   critical;       /* Critical shutdown */
+ } __attribute__ ((packed));
+ /* Embedded Controller Boot Resources Table (ECDT) */
+@@ -329,8 +329,8 @@
+       struct acpi_table_header        header;
+       struct acpi_generic_address     ec_control;
+       struct acpi_generic_address     ec_data;
+-      u32                             uid;
+-      u8                              gpe_bit;
++      __u32                           uid;
++      __u8                            gpe_bit;
+       char                            ec_id[0];
+ } __attribute__ ((packed));
+@@ -338,9 +338,9 @@
+ struct acpi_table_mcfg {
+       struct acpi_table_header        header;
+-      u8                              reserved[8];
+-      u32                             base_address;
+-      u32                             base_reserved;
++      __u8                            reserved[8];
++      __u32                           base_address;
++      __u32                           base_reserved;
+ } __attribute__ ((packed));
+ /* Table Handlers */
+@@ -396,7 +396,7 @@
+ extern int acpi_mp_config;
+-extern u32 pci_mmcfg_base_addr;
++extern __u32 pci_mmcfg_base_addr;
+ extern int sbf_port ;
+@@ -411,20 +411,20 @@
+ #endif        /*!CONFIG_ACPI_BOOT*/
+-unsigned int acpi_register_gsi (u32 gsi, int edge_level, int active_high_low);
+-int acpi_gsi_to_irq (u32 gsi, unsigned int *irq);
++unsigned int acpi_register_gsi (__u32 gsi, int edge_level, int active_high_low);
++int acpi_gsi_to_irq (__u32 gsi, unsigned int *irq);
+ #ifdef CONFIG_ACPI_PCI
+ struct acpi_prt_entry {
+       struct list_head        node;
+       struct acpi_pci_id      id;
+-      u8                      pin;
++      __u8                    pin;
+       struct {
+               acpi_handle             handle;
+-              u32                     index;
++              __u32                   index;
+       }                       link;
+-      u32                     irq;
++      __u32                   irq;
+ };
+ struct acpi_prt_list {
+@@ -451,8 +451,8 @@
+ #ifdef CONFIG_ACPI_EC
+-int ec_read(u8 addr, u8 *val);
+-int ec_write(u8 addr, u8 val);
++int ec_read(__u8 addr, __u8 *val);
++int ec_write(__u8 addr, __u8 val);
+ #endif /*CONFIG_ACPI_EC*/
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/affs_fs_i.h linux-libc-headers-2.6.8.0/include/linux/affs_fs_i.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/affs_fs_i.h  2003-12-31 17:46:48.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/affs_fs_i.h       2004-08-26 05:41:49.000000000 -0500
+@@ -9,13 +9,13 @@
+ //#define AFFS_CACHE_SIZE             (4*4)
+ #define AFFS_MAX_PREALLOC     32
+-#define AFFS_LC_SIZE          (AFFS_CACHE_SIZE/sizeof(u32)/2)
++#define AFFS_LC_SIZE          (AFFS_CACHE_SIZE/sizeof(__u32)/2)
+ #define AFFS_AC_SIZE          (AFFS_CACHE_SIZE/sizeof(struct affs_ext_key)/2)
+ #define AFFS_AC_MASK          (AFFS_AC_SIZE-1)
+ struct affs_ext_key {
+-      u32     ext;                            /* idx of the extended block */
+-      u32     key;                            /* block number */
++      __u32   ext;                            /* idx of the extended block */
++      __u32   key;                            /* block number */
+ };
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/affs_fs_sb.h linux-libc-headers-2.6.8.0/include/linux/affs_fs_sb.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/affs_fs_sb.h 2004-08-18 13:16:01.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/affs_fs_sb.h      2004-08-26 05:41:49.000000000 -0500
+@@ -9,8 +9,8 @@
+  */
+ struct affs_bm_info {
+-      u32 bm_key;                     /* Disk block number */
+-      u32 bm_free;                    /* Free blocks in here */
++      __u32 bm_key;                   /* Disk block number */
++      __u32 bm_free;                  /* Free blocks in here */
+ };
+ #define SF_INTL               0x0001          /* International filesystem. */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/affs_hardblocks.h linux-libc-headers-2.6.8.0/include/linux/affs_hardblocks.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/affs_hardblocks.h    2003-12-15 12:46:58.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/affs_hardblocks.h 2004-08-26 05:41:49.000000000 -0500
+@@ -4,59 +4,59 @@
+ /* Just the needed definitions for the RDB of an Amiga HD. */
+ struct RigidDiskBlock {
+-      u32     rdb_ID;
+-      u32     rdb_SummedLongs;
+-      s32     rdb_ChkSum;
+-      u32     rdb_HostID;
+-      u32     rdb_BlockBytes;
+-      u32     rdb_Flags;
+-      u32     rdb_BadBlockList;
+-      u32     rdb_PartitionList;
+-      u32     rdb_FileSysHeaderList;
+-      u32     rdb_DriveInit;
+-      u32     rdb_Reserved1[6];
+-      u32     rdb_Cylinders;
+-      u32     rdb_Sectors;
+-      u32     rdb_Heads;
+-      u32     rdb_Interleave;
+-      u32     rdb_Park;
+-      u32     rdb_Reserved2[3];
+-      u32     rdb_WritePreComp;
+-      u32     rdb_ReducedWrite;
+-      u32     rdb_StepRate;
+-      u32     rdb_Reserved3[5];
+-      u32     rdb_RDBBlocksLo;
+-      u32     rdb_RDBBlocksHi;
+-      u32     rdb_LoCylinder;
+-      u32     rdb_HiCylinder;
+-      u32     rdb_CylBlocks;
+-      u32     rdb_AutoParkSeconds;
+-      u32     rdb_HighRDSKBlock;
+-      u32     rdb_Reserved4;
++      __u32   rdb_ID;
++      __u32   rdb_SummedLongs;
++      __s32   rdb_ChkSum;
++      __u32   rdb_HostID;
++      __u32   rdb_BlockBytes;
++      __u32   rdb_Flags;
++      __u32   rdb_BadBlockList;
++      __u32   rdb_PartitionList;
++      __u32   rdb_FileSysHeaderList;
++      __u32   rdb_DriveInit;
++      __u32   rdb_Reserved1[6];
++      __u32   rdb_Cylinders;
++      __u32   rdb_Sectors;
++      __u32   rdb_Heads;
++      __u32   rdb_Interleave;
++      __u32   rdb_Park;
++      __u32   rdb_Reserved2[3];
++      __u32   rdb_WritePreComp;
++      __u32   rdb_ReducedWrite;
++      __u32   rdb_StepRate;
++      __u32   rdb_Reserved3[5];
++      __u32   rdb_RDBBlocksLo;
++      __u32   rdb_RDBBlocksHi;
++      __u32   rdb_LoCylinder;
++      __u32   rdb_HiCylinder;
++      __u32   rdb_CylBlocks;
++      __u32   rdb_AutoParkSeconds;
++      __u32   rdb_HighRDSKBlock;
++      __u32   rdb_Reserved4;
+       char    rdb_DiskVendor[8];
+       char    rdb_DiskProduct[16];
+       char    rdb_DiskRevision[4];
+       char    rdb_ControllerVendor[8];
+       char    rdb_ControllerProduct[16];
+       char    rdb_ControllerRevision[4];
+-      u32     rdb_Reserved5[10];
++      __u32   rdb_Reserved5[10];
+ };
+ #define       IDNAME_RIGIDDISK        0x5244534B      /* "RDSK" */
+ struct PartitionBlock {
+-      u32     pb_ID;
+-      u32     pb_SummedLongs;
+-      s32     pb_ChkSum;
+-      u32     pb_HostID;
+-      u32     pb_Next;
+-      u32     pb_Flags;
+-      u32     pb_Reserved1[2];
+-      u32     pb_DevFlags;
+-      u8      pb_DriveName[32];
+-      u32     pb_Reserved2[15];
+-      u32     pb_Environment[17];
+-      u32     pb_EReserved[15];
++      __u32   pb_ID;
++      __u32   pb_SummedLongs;
++      __s32   pb_ChkSum;
++      __u32   pb_HostID;
++      __u32   pb_Next;
++      __u32   pb_Flags;
++      __u32   pb_Reserved1[2];
++      __u32   pb_DevFlags;
++      __u8    pb_DriveName[32];
++      __u32   pb_Reserved2[15];
++      __u32   pb_Environment[17];
++      __u32   pb_EReserved[15];
+ };
+ #define       IDNAME_PARTITION        0x50415254      /* "PART" */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/amigaffs.h linux-libc-headers-2.6.8.0/include/linux/amigaffs.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/amigaffs.h   2003-12-31 17:46:48.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/amigaffs.h        2004-08-26 05:41:49.000000000 -0500
+@@ -64,90 +64,90 @@
+ #define AFFS_DATA(bh)         (((struct affs_data_head *)(bh)->b_data)->data)
+ struct affs_date {
+-      u32 days;
+-      u32 mins;
+-      u32 ticks;
++      __u32 days;
++      __u32 mins;
++      __u32 ticks;
+ };
+ struct affs_short_date {
+-      u16 days;
+-      u16 mins;
+-      u16 ticks;
++      __u16 days;
++      __u16 mins;
++      __u16 ticks;
+ };
+ struct affs_root_head {
+-      u32 ptype;
+-      u32 spare1;
+-      u32 spare2;
+-      u32 hash_size;
+-      u32 spare3;
+-      u32 checksum;
+-      u32 hashtable[1];
++      __u32 ptype;
++      __u32 spare1;
++      __u32 spare2;
++      __u32 hash_size;
++      __u32 spare3;
++      __u32 checksum;
++      __u32 hashtable[1];
+ };
+ struct affs_root_tail {
+-      u32 bm_flag;
+-      u32 bm_blk[AFFS_ROOT_BMAPS];
+-      u32 bm_ext;
++      __u32 bm_flag;
++      __u32 bm_blk[AFFS_ROOT_BMAPS];
++      __u32 bm_ext;
+       struct affs_date root_change;
+-      u8 disk_name[32];
+-      u32 spare1;
+-      u32 spare2;
++      __u8 disk_name[32];
++      __u32 spare1;
++      __u32 spare2;
+       struct affs_date disk_change;
+       struct affs_date disk_create;
+-      u32 spare3;
+-      u32 spare4;
+-      u32 dcache;
+-      u32 stype;
++      __u32 spare3;
++      __u32 spare4;
++      __u32 dcache;
++      __u32 stype;
+ };
+ struct affs_head {
+-      u32 ptype;
+-      u32 key;
+-      u32 block_count;
+-      u32 spare1;
+-      u32 first_data;
+-      u32 checksum;
+-      u32 table[1];
++      __u32 ptype;
++      __u32 key;
++      __u32 block_count;
++      __u32 spare1;
++      __u32 first_data;
++      __u32 checksum;
++      __u32 table[1];
+ };
+ struct affs_tail {
+-      u32 spare1;
+-      u16 uid;
+-      u16 gid;
+-      u32 protect;
+-      u32 size;
+-      u8 comment[92];
++      __u32 spare1;
++      __u16 uid;
++      __u16 gid;
++      __u32 protect;
++      __u32 size;
++      __u8 comment[92];
+       struct affs_date change;
+-      u8 name[32];
+-      u32 spare2;
+-      u32 original;
+-      u32 link_chain;
+-      u32 spare[5];
+-      u32 hash_chain;
+-      u32 parent;
+-      u32 extension;
+-      u32 stype;
++      __u8 name[32];
++      __u32 spare2;
++      __u32 original;
++      __u32 link_chain;
++      __u32 spare[5];
++      __u32 hash_chain;
++      __u32 parent;
++      __u32 extension;
++      __u32 stype;
+ };
+ struct slink_front
+ {
+-      u32 ptype;
+-      u32 key;
+-      u32 spare1[3];
+-      u32 checksum;
+-      u8 symname[1];  /* depends on block size */
++      __u32 ptype;
++      __u32 key;
++      __u32 spare1[3];
++      __u32 checksum;
++      __u8 symname[1];        /* depends on block size */
+ };
+ struct affs_data_head
+ {
+-      u32 ptype;
+-      u32 key;
+-      u32 sequence;
+-      u32 size;
+-      u32 next;
+-      u32 checksum;
+-      u8 data[1];     /* depends on block size */
++      __u32 ptype;
++      __u32 key;
++      __u32 sequence;
++      __u32 size;
++      __u32 next;
++      __u32 checksum;
++      __u8 data[1];   /* depends on block size */
+ };
+ /* Permission bits */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/ata.h linux-libc-headers-2.6.8.0/include/linux/ata.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/ata.h        2004-08-18 13:16:01.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/ata.h     2004-08-26 05:41:49.000000000 -0500
+@@ -34,7 +34,7 @@
+       ATA_MAX_PRD             = 256,  /* we could make these 256/256 */
+       ATA_SECT_SIZE           = 512,
+       ATA_SECT_SIZE_MASK      = (ATA_SECT_SIZE - 1),
+-      ATA_SECT_DWORDS         = ATA_SECT_SIZE / sizeof(u32),
++      ATA_SECT_DWORDS         = ATA_SECT_SIZE / sizeof(__u32),
+       ATA_ID_WORDS            = 256,
+       ATA_ID_PROD_OFS         = 27,
+@@ -176,31 +176,31 @@
+ /* core structures */
+ struct ata_prd {
+-      u32                     addr;
+-      u32                     flags_len;
++      __u32                   addr;
++      __u32                   flags_len;
+ } __attribute__((packed));
+ struct ata_taskfile {
+       unsigned long           flags;          /* ATA_TFLAG_xxx */
+-      u8                      protocol;       /* ATA_PROT_xxx */
++      __u8                    protocol;       /* ATA_PROT_xxx */
+-      u8                      ctl;            /* control reg */
++      __u8                    ctl;            /* control reg */
+-      u8                      hob_feature;    /* additional data */
+-      u8                      hob_nsect;      /* to support LBA48 */
+-      u8                      hob_lbal;
+-      u8                      hob_lbam;
+-      u8                      hob_lbah;
++      __u8                    hob_feature;    /* additional data */
++      __u8                    hob_nsect;      /* to support LBA48 */
++      __u8                    hob_lbal;
++      __u8                    hob_lbam;
++      __u8                    hob_lbah;
+-      u8                      feature;
+-      u8                      nsect;
+-      u8                      lbal;
+-      u8                      lbam;
+-      u8                      lbah;
++      __u8                    feature;
++      __u8                    nsect;
++      __u8                    lbal;
++      __u8                    lbam;
++      __u8                    lbah;
+-      u8                      device;
++      __u8                    device;
+-      u8                      command;        /* IO operation */
++      __u8                    command;        /* IO operation */
+ };
+ #define ata_id_is_ata(dev)    (((dev)->id[0] & (1 << 15)) == 0)
+@@ -213,12 +213,12 @@
+ #define ata_id_has_dma(dev)   ((dev)->id[49] & (1 << 8))
+ #define ata_id_removeable(dev)        ((dev)->id[0] & (1 << 7))
+ #define ata_id_u32(dev,n)     \
+-      (((u32) (dev)->id[(n) + 1] << 16) | ((u32) (dev)->id[(n)]))
++      (((__u32) (dev)->id[(n) + 1] << 16) | ((__u32) (dev)->id[(n)]))
+ #define ata_id_u64(dev,n)     \
+-      ( ((u64) dev->id[(n) + 3] << 48) |      \
+-        ((u64) dev->id[(n) + 2] << 32) |      \
+-        ((u64) dev->id[(n) + 1] << 16) |      \
+-        ((u64) dev->id[(n) + 0]) )
++      ( ((__u64) dev->id[(n) + 3] << 48) |    \
++        ((__u64) dev->id[(n) + 2] << 32) |    \
++        ((__u64) dev->id[(n) + 1] << 16) |    \
++        ((__u64) dev->id[(n) + 0]) )
+ static inline int is_atapi_taskfile(struct ata_taskfile *tf)
+ {
+@@ -226,7 +226,7 @@
+              (tf->protocol == ATA_PROT_ATAPI_DMA);
+ }
+-static inline int ata_ok(u8 status)
++static inline int ata_ok(__u8 status)
+ {
+       return ((status & (ATA_BUSY | ATA_DRDY | ATA_DF | ATA_DRQ | ATA_ERR))
+                       == ATA_DRDY);
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/bitops.h linux-libc-headers-2.6.8.0/include/linux/bitops.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/bitops.h     2004-06-09 07:00:49.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/bitops.h  2004-08-26 05:41:49.000000000 -0500
+@@ -114,7 +114,7 @@
+       return generic_hweight32((unsigned int)(w >> 32)) +
+                               generic_hweight32((unsigned int)w);
+ #else
+-      u64 res;
++      __u64 res;
+       res = (w & 0x5555555555555555ul) + ((w >> 1) & 0x5555555555555555ul);
+       res = (res & 0x3333333333333333ul) + ((res >> 2) & 0x3333333333333333ul);
+       res = (res & 0x0F0F0F0F0F0F0F0Ful) + ((res >> 4) & 0x0F0F0F0F0F0F0F0Ful);
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/compat.h linux-libc-headers-2.6.8.0/include/linux/compat.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/compat.h     2004-06-09 07:00:49.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/compat.h  2004-08-26 05:41:49.000000000 -0500
+@@ -78,9 +78,9 @@
+ };
+ struct compat_dirent {
+-      u32             d_ino;
++      __u32           d_ino;
+       compat_off_t    d_off;
+-      u16             d_reclen;
++      __u16           d_reclen;
+       char            d_name[256];
+ };
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/console.h linux-libc-headers-2.6.8.0/include/linux/console.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/console.h    2004-08-18 13:16:02.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/console.h 2004-08-26 05:41:49.000000000 -0500
+@@ -49,9 +49,9 @@
+       int     (*con_scrolldelta)(struct vc_data *, int);
+       int     (*con_set_origin)(struct vc_data *);
+       void    (*con_save_screen)(struct vc_data *);
+-      u8      (*con_build_attr)(struct vc_data *, u8, u8, u8, u8, u8);
+-      void    (*con_invert_region)(struct vc_data *, u16 *, int);
+-      u16    *(*con_screen_pos)(struct vc_data *, int);
++      __u8    (*con_build_attr)(struct vc_data *, __u8, __u8, __u8, __u8, __u8);
++      void    (*con_invert_region)(struct vc_data *, __u16 *, int);
++      __u16    *(*con_screen_pos)(struct vc_data *, int);
+       unsigned long (*con_getxy)(struct vc_data *, unsigned long, int *, int *);
+ };
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/cpufreq.h linux-libc-headers-2.6.8.0/include/linux/cpufreq.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/cpufreq.h    2004-06-23 16:52:53.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/cpufreq.h 2004-08-26 05:41:49.000000000 -0500
+@@ -103,7 +103,7 @@
+       unsigned int cpu;       /* cpu nr */
+       unsigned int old;
+       unsigned int new;
+-      u8 flags;               /* flags of cpufreq_driver, see below. */
++      __u8 flags;             /* flags of cpufreq_driver, see below. */
+ };
+@@ -120,13 +120,13 @@
+ {
+ #if BITS_PER_LONG == 32
+-      u64 result = ((u64) old) * ((u64) mult);
++      __u64 result = ((__u64) old) * ((__u64) mult);
+       do_div(result, div);
+       return (unsigned long) result;
+ #elif BITS_PER_LONG == 64
+-      unsigned long result = old * ((u64) mult);
++      unsigned long result = old * ((__u64) mult);
+       result /= div;
+       return result;
+@@ -178,7 +178,7 @@
+ struct cpufreq_driver {
+       struct module           *owner;
+       char                    name[CPUFREQ_NAME_LEN];
+-      u8                      flags;
++      __u8                    flags;
+       /* needed by all drivers */
+       int     (*init)         (struct cpufreq_policy *policy);
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/cramfs_fs.h linux-libc-headers-2.6.8.0/include/linux/cramfs_fs.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/cramfs_fs.h  2004-01-05 12:42:27.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/cramfs_fs.h       2004-08-26 05:41:49.000000000 -0500
+@@ -2,9 +2,9 @@
+ #define __CRAMFS_H
+-typedef unsigned char u8;
+-typedef unsigned short u16;
+-typedef unsigned int u32;
++typedef unsigned char __u8;
++typedef unsigned short __u16;
++typedef unsigned int __u32;
+ #define CRAMFS_MAGIC          0x28cd3d45      /* some random number */
+@@ -31,9 +31,9 @@
+  * Reasonably terse representation of the inode data.
+  */
+ struct cramfs_inode {
+-      u32 mode:CRAMFS_MODE_WIDTH, uid:CRAMFS_UID_WIDTH;
++      __u32 mode:CRAMFS_MODE_WIDTH, uid:CRAMFS_UID_WIDTH;
+       /* SIZE for device files is i_rdev */
+-      u32 size:CRAMFS_SIZE_WIDTH, gid:CRAMFS_GID_WIDTH;
++      __u32 size:CRAMFS_SIZE_WIDTH, gid:CRAMFS_GID_WIDTH;
+       /* NAMELEN is the length of the file name, divided by 4 and
+            rounded up.  (cramfs doesn't support hard links.) */
+       /* OFFSET: For symlinks and non-empty regular files, this
+@@ -42,27 +42,27 @@
+          see README).  For non-empty directories it is the offset
+          (divided by 4) of the inode of the first file in that
+          directory.  For anything else, offset is zero. */
+-      u32 namelen:CRAMFS_NAMELEN_WIDTH, offset:CRAMFS_OFFSET_WIDTH;
++      __u32 namelen:CRAMFS_NAMELEN_WIDTH, offset:CRAMFS_OFFSET_WIDTH;
+ };
+ struct cramfs_info {
+-      u32 crc;
+-      u32 edition;
+-      u32 blocks;
+-      u32 files;
++      __u32 crc;
++      __u32 edition;
++      __u32 blocks;
++      __u32 files;
+ };
+ /*
+  * Superblock information at the beginning of the FS.
+  */
+ struct cramfs_super {
+-      u32 magic;                      /* 0x28cd3d45 - random number */
+-      u32 size;                       /* length in bytes */
+-      u32 flags;                      /* feature flags */
+-      u32 future;                     /* reserved for future use */
+-      u8 signature[16];               /* "Compressed ROMFS" */
++      __u32 magic;                    /* 0x28cd3d45 - random number */
++      __u32 size;                     /* length in bytes */
++      __u32 flags;                    /* feature flags */
++      __u32 future;                   /* reserved for future use */
++      __u8 signature[16];             /* "Compressed ROMFS" */
+       struct cramfs_info fsid;        /* unique filesystem info */
+-      u8 name[16];                    /* user-defined name */
++      __u8 name[16];                  /* user-defined name */
+       struct cramfs_inode root;       /* root inode data */
+ };
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/crc32.h linux-libc-headers-2.6.8.0/include/linux/crc32.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/crc32.h      2003-12-15 12:46:57.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/crc32.h   2004-08-26 05:41:49.000000000 -0500
+@@ -7,9 +7,9 @@
+ #include <linux/types.h>
+-extern u32  crc32_le(u32 crc, unsigned char const *p, size_t len);
+-extern u32  crc32_be(u32 crc, unsigned char const *p, size_t len);
+-extern u32  bitreverse(u32 in);
++extern __u32  crc32_le(__u32 crc, unsigned char const *p, size_t len);
++extern __u32  crc32_be(__u32 crc, unsigned char const *p, size_t len);
++extern __u32  bitreverse(__u32 in);
+ #define crc32(seed, data, length)  crc32_le(seed, (unsigned char const *)data, length)
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/crypto.h linux-libc-headers-2.6.8.0/include/linux/crypto.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/crypto.h     2004-04-19 16:13:51.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/crypto.h  2004-08-26 05:41:49.000000000 -0500
+@@ -63,28 +63,28 @@
+ struct cipher_alg {
+       unsigned int cia_min_keysize;
+       unsigned int cia_max_keysize;
+-      int (*cia_setkey)(void *ctx, const u8 *key,
+-                        unsigned int keylen, u32 *flags);
+-      void (*cia_encrypt)(void *ctx, u8 *dst, const u8 *src);
+-      void (*cia_decrypt)(void *ctx, u8 *dst, const u8 *src);
++      int (*cia_setkey)(void *ctx, const __u8 *key,
++                        unsigned int keylen, __u32 *flags);
++      void (*cia_encrypt)(void *ctx, __u8 *dst, const __u8 *src);
++      void (*cia_decrypt)(void *ctx, __u8 *dst, const __u8 *src);
+ };
+ struct digest_alg {
+       unsigned int dia_digestsize;
+       void (*dia_init)(void *ctx);
+-      void (*dia_update)(void *ctx, const u8 *data, unsigned int len);
+-      void (*dia_final)(void *ctx, u8 *out);
+-      int (*dia_setkey)(void *ctx, const u8 *key,
+-                        unsigned int keylen, u32 *flags);
++      void (*dia_update)(void *ctx, const __u8 *data, unsigned int len);
++      void (*dia_final)(void *ctx, __u8 *out);
++      int (*dia_setkey)(void *ctx, const __u8 *key,
++                        unsigned int keylen, __u32 *flags);
+ };
+ struct compress_alg {
+       int (*coa_init)(void *ctx);
+       void (*coa_exit)(void *ctx);
+-      int (*coa_compress)(void *ctx, const u8 *src, unsigned int slen,
+-                          u8 *dst, unsigned int *dlen);
+-      int (*coa_decompress)(void *ctx, const u8 *src, unsigned int slen,
+-                            u8 *dst, unsigned int *dlen);
++      int (*coa_compress)(void *ctx, const __u8 *src, unsigned int slen,
++                          __u8 *dst, unsigned int *dlen);
++      int (*coa_decompress)(void *ctx, const __u8 *src, unsigned int slen,
++                            __u8 *dst, unsigned int *dlen);
+ };
+ #define cra_cipher    cra_u.cipher
+@@ -93,7 +93,7 @@
+ struct crypto_alg {
+       struct list_head cra_list;
+-      u32 cra_flags;
++      __u32 cra_flags;
+       unsigned int cra_blocksize;
+       unsigned int cra_ctxsize;
+       const char cra_name[CRYPTO_MAX_ALG_NAME];
+@@ -116,7 +116,7 @@
+ /*
+  * Algorithm query interface.
+  */
+-int crypto_alg_available(const char *name, u32 flags);
++int crypto_alg_available(const char *name, __u32 flags);
+ /*
+  * Transforms: user-instantiated objects which encapsulate algorithms
+@@ -128,9 +128,9 @@
+ struct cipher_tfm {
+       void *cit_iv;
+       unsigned int cit_ivsize;
+-      u32 cit_mode;
++      __u32 cit_mode;
+       int (*cit_setkey)(struct crypto_tfm *tfm,
+-                        const u8 *key, unsigned int keylen);
++                        const __u8 *key, unsigned int keylen);
+       int (*cit_encrypt)(struct crypto_tfm *tfm,
+                          struct scatterlist *dst,
+                          struct scatterlist *src,
+@@ -138,7 +138,7 @@
+       int (*cit_encrypt_iv)(struct crypto_tfm *tfm,
+                             struct scatterlist *dst,
+                             struct scatterlist *src,
+-                            unsigned int nbytes, u8 *iv);
++                            unsigned int nbytes, __u8 *iv);
+       int (*cit_decrypt)(struct crypto_tfm *tfm,
+                          struct scatterlist *dst,
+                          struct scatterlist *src,
+@@ -146,19 +146,19 @@
+       int (*cit_decrypt_iv)(struct crypto_tfm *tfm,
+                          struct scatterlist *dst,
+                          struct scatterlist *src,
+-                         unsigned int nbytes, u8 *iv);
+-      void (*cit_xor_block)(u8 *dst, const u8 *src);
++                         unsigned int nbytes, __u8 *iv);
++      void (*cit_xor_block)(__u8 *dst, const __u8 *src);
+ };
+ struct digest_tfm {
+       void (*dit_init)(struct crypto_tfm *tfm);
+       void (*dit_update)(struct crypto_tfm *tfm,
+                          struct scatterlist *sg, unsigned int nsg);
+-      void (*dit_final)(struct crypto_tfm *tfm, u8 *out);
++      void (*dit_final)(struct crypto_tfm *tfm, __u8 *out);
+       void (*dit_digest)(struct crypto_tfm *tfm, struct scatterlist *sg,
+-                         unsigned int nsg, u8 *out);
++                         unsigned int nsg, __u8 *out);
+       int (*dit_setkey)(struct crypto_tfm *tfm,
+-                        const u8 *key, unsigned int keylen);
++                        const __u8 *key, unsigned int keylen);
+ #ifdef CONFIG_CRYPTO_HMAC
+       void *dit_hmac_block;
+ #endif
+@@ -166,11 +166,11 @@
+ struct compress_tfm {
+       int (*cot_compress)(struct crypto_tfm *tfm,
+-                          const u8 *src, unsigned int slen,
+-                          u8 *dst, unsigned int *dlen);
++                          const __u8 *src, unsigned int slen,
++                          __u8 *dst, unsigned int *dlen);
+       int (*cot_decompress)(struct crypto_tfm *tfm,
+-                            const u8 *src, unsigned int slen,
+-                            u8 *dst, unsigned int *dlen);
++                            const __u8 *src, unsigned int slen,
++                            __u8 *dst, unsigned int *dlen);
+ };
+ #define crt_cipher    crt_u.cipher
+@@ -179,7 +179,7 @@
+ struct crypto_tfm {
+-      u32 crt_flags;
++      __u32 crt_flags;
+       
+       union {
+               struct cipher_tfm cipher;
+@@ -203,7 +203,7 @@
+  * crypto_free_tfm() frees up the transform and any associated resources,
+  * then drops the refcount on the associated algorithm.
+  */
+-struct crypto_tfm *crypto_alloc_tfm(const char *alg_name, u32 tfm_flags);
++struct crypto_tfm *crypto_alloc_tfm(const char *alg_name, __u32 tfm_flags);
+ void crypto_free_tfm(struct crypto_tfm *tfm);
+ /*
+@@ -219,7 +219,7 @@
+       return module_name(tfm->__crt_alg->cra_module);
+ }
+-static inline u32 crypto_tfm_alg_type(struct crypto_tfm *tfm)
++static inline __u32 crypto_tfm_alg_type(struct crypto_tfm *tfm)
+ {
+       return tfm->__crt_alg->cra_flags & CRYPTO_ALG_TYPE_MASK;
+ }
+@@ -270,7 +270,7 @@
+       tfm->crt_digest.dit_update(tfm, sg, nsg);
+ }
+-static inline void crypto_digest_final(struct crypto_tfm *tfm, u8 *out)
++static inline void crypto_digest_final(struct crypto_tfm *tfm, __u8 *out)
+ {
+       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST);
+       tfm->crt_digest.dit_final(tfm, out);
+@@ -278,14 +278,14 @@
+ static inline void crypto_digest_digest(struct crypto_tfm *tfm,
+                                         struct scatterlist *sg,
+-                                        unsigned int nsg, u8 *out)
++                                        unsigned int nsg, __u8 *out)
+ {
+       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST);
+       tfm->crt_digest.dit_digest(tfm, sg, nsg, out);
+ }
+ static inline int crypto_digest_setkey(struct crypto_tfm *tfm,
+-                                       const u8 *key, unsigned int keylen)
++                                       const __u8 *key, unsigned int keylen)
+ {
+       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST);
+       if (tfm->crt_digest.dit_setkey == NULL)
+@@ -294,7 +294,7 @@
+ }
+ static inline int crypto_cipher_setkey(struct crypto_tfm *tfm,
+-                                       const u8 *key, unsigned int keylen)
++                                       const __u8 *key, unsigned int keylen)
+ {
+       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
+       return tfm->crt_cipher.cit_setkey(tfm, key, keylen);
+@@ -312,7 +312,7 @@
+ static inline int crypto_cipher_encrypt_iv(struct crypto_tfm *tfm,
+                                            struct scatterlist *dst,
+                                            struct scatterlist *src,
+-                                           unsigned int nbytes, u8 *iv)
++                                           unsigned int nbytes, __u8 *iv)
+ {
+       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
+       BUG_ON(tfm->crt_cipher.cit_mode == CRYPTO_TFM_MODE_ECB);
+@@ -331,7 +331,7 @@
+ static inline int crypto_cipher_decrypt_iv(struct crypto_tfm *tfm,
+                                            struct scatterlist *dst,
+                                            struct scatterlist *src,
+-                                           unsigned int nbytes, u8 *iv)
++                                           unsigned int nbytes, __u8 *iv)
+ {
+       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
+       BUG_ON(tfm->crt_cipher.cit_mode == CRYPTO_TFM_MODE_ECB);
+@@ -339,30 +339,30 @@
+ }
+ static inline void crypto_cipher_set_iv(struct crypto_tfm *tfm,
+-                                        const u8 *src, unsigned int len)
++                                        const __u8 *src, unsigned int len)
+ {
+       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
+       memcpy(tfm->crt_cipher.cit_iv, src, len);
+ }
+ static inline void crypto_cipher_get_iv(struct crypto_tfm *tfm,
+-                                        u8 *dst, unsigned int len)
++                                        __u8 *dst, unsigned int len)
+ {
+       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
+       memcpy(dst, tfm->crt_cipher.cit_iv, len);
+ }
+ static inline int crypto_comp_compress(struct crypto_tfm *tfm,
+-                                       const u8 *src, unsigned int slen,
+-                                       u8 *dst, unsigned int *dlen)
++                                       const __u8 *src, unsigned int slen,
++                                       __u8 *dst, unsigned int *dlen)
+ {
+       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_COMPRESS);
+       return tfm->crt_compress.cot_compress(tfm, src, slen, dst, dlen);
+ }
+ static inline int crypto_comp_decompress(struct crypto_tfm *tfm,
+-                                         const u8 *src, unsigned int slen,
+-                                         u8 *dst, unsigned int *dlen)
++                                         const __u8 *src, unsigned int slen,
++                                         __u8 *dst, unsigned int *dlen)
+ {
+       BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_COMPRESS);
+       return tfm->crt_compress.cot_decompress(tfm, src, slen, dst, dlen);
+@@ -372,13 +372,13 @@
+  * HMAC support.
+  */
+ #ifdef CONFIG_CRYPTO_HMAC
+-void crypto_hmac_init(struct crypto_tfm *tfm, u8 *key, unsigned int *keylen);
++void crypto_hmac_init(struct crypto_tfm *tfm, __u8 *key, unsigned int *keylen);
+ void crypto_hmac_update(struct crypto_tfm *tfm,
+                         struct scatterlist *sg, unsigned int nsg);
+-void crypto_hmac_final(struct crypto_tfm *tfm, u8 *key,
+-                       unsigned int *keylen, u8 *out);
+-void crypto_hmac(struct crypto_tfm *tfm, u8 *key, unsigned int *keylen,
+-                 struct scatterlist *sg, unsigned int nsg, u8 *out);
++void crypto_hmac_final(struct crypto_tfm *tfm, __u8 *key,
++                       unsigned int *keylen, __u8 *out);
++void crypto_hmac(struct crypto_tfm *tfm, __u8 *key, unsigned int *keylen,
++                 struct scatterlist *sg, unsigned int nsg, __u8 *out);
+ #endif        /* CONFIG_CRYPTO_HMAC */
+ #endif        /* _LINUX_CRYPTO_H */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/cycx_drv.h linux-libc-headers-2.6.8.0/include/linux/cycx_drv.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/cycx_drv.h   2003-12-15 12:46:57.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/cycx_drv.h        2004-08-26 05:41:49.000000000 -0500
+@@ -14,9 +14,9 @@
+ * ============================================================================
+ * 1999/10/23  acme            cycxhw_t cleanup
+ * 1999/01/03  acme            more judicious use of data types...
+-*                             uclong, ucchar, etc deleted, the u8, u16, u32
++*                             uclong, ucchar, etc deleted, the __u8, __u16, __u32
+ *                             types are the portable way to go.
+-* 1999/01/03  acme            judicious use of data types... u16, u32, etc
++* 1999/01/03  acme            judicious use of data types... __u16, __u32, etc
+ * 1998/12/26  acme            FIXED_BUFFERS, CONF_OFFSET,
+ *                               removal of cy_read{bwl}
+ * 1998/08/08  acme            Initial version.
+@@ -46,18 +46,18 @@
+  *    @reserved - reserved for future use
+  */
+ struct cycx_hw {
+-      u32 fwid;
++      __u32 fwid;
+       int irq;
+       void *dpmbase;
+-      u32 dpmsize;
+-      u32 reserved[5];
++      __u32 dpmsize;
++      __u32 reserved[5];
+ };
+ /* Function Prototypes */
+-extern int cycx_setup(struct cycx_hw *hw, void *sfm, u32 len);
++extern int cycx_setup(struct cycx_hw *hw, void *sfm, __u32 len);
+ extern int cycx_down(struct cycx_hw *hw);
+-extern int cycx_peek(struct cycx_hw *hw, u32 addr, void *buf, u32 len);
+-extern int cycx_poke(struct cycx_hw *hw, u32 addr, void *buf, u32 len);
++extern int cycx_peek(struct cycx_hw *hw, __u32 addr, void *buf, __u32 len);
++extern int cycx_poke(struct cycx_hw *hw, __u32 addr, void *buf, __u32 len);
+ extern int cycx_exec(void *addr);
+ extern void cycx_inten(struct cycx_hw *hw);
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/cycx_x25.h linux-libc-headers-2.6.8.0/include/linux/cycx_x25.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/cycx_x25.h   2003-12-15 12:46:58.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/cycx_x25.h        2004-08-26 05:41:49.000000000 -0500
+@@ -38,10 +38,10 @@
+ /* Data Structures */
+ /* X.25 Command Block. */
+ struct cycx_x25_cmd {
+-      u16 command PACKED;
+-      u16 link    PACKED; /* values: 0 or 1 */
+-      u16 len     PACKED; /* values: 0 thru 0x205 (517) */
+-      u32 buf     PACKED;
++      __u16 command PACKED;
++      __u16 link    PACKED; /* values: 0 or 1 */
++      __u16 len     PACKED; /* values: 0 thru 0x205 (517) */
++      __u32 buf     PACKED;
+ };
+ /* Defines for the 'command' field. */
+@@ -92,34 +92,34 @@
+  *    @flags - see dosx25.doc, in portuguese, for details
+  */
+ struct cycx_x25_config {
+-      u8  link        PACKED;
+-      u8  speed       PACKED;
+-      u8  clock       PACKED;
+-      u8  n2          PACKED;
+-      u8  n2win       PACKED;
+-      u8  n3win       PACKED;
+-      u8  nvc         PACKED;
+-      u8  pktlen      PACKED;
+-      u8  locaddr     PACKED;
+-      u8  remaddr     PACKED;
+-      u16 t1          PACKED;
+-      u16 t2          PACKED;
+-      u8  t21         PACKED;
+-      u8  npvc        PACKED;
+-      u8  t23         PACKED;
+-      u8  flags       PACKED;
++      __u8  link      PACKED;
++      __u8  speed     PACKED;
++      __u8  clock     PACKED;
++      __u8  n2                PACKED;
++      __u8  n2win     PACKED;
++      __u8  n3win     PACKED;
++      __u8  nvc               PACKED;
++      __u8  pktlen    PACKED;
++      __u8  locaddr   PACKED;
++      __u8  remaddr   PACKED;
++      __u16 t1                PACKED;
++      __u16 t2                PACKED;
++      __u8  t21               PACKED;
++      __u8  npvc      PACKED;
++      __u8  t23               PACKED;
++      __u8  flags     PACKED;
+ };
+ struct cycx_x25_stats {
+-      u16 rx_crc_errors       PACKED;
+-      u16 rx_over_errors      PACKED;
+-      u16 n2_tx_frames        PACKED;
+-      u16 n2_rx_frames        PACKED;
+-      u16 tx_timeouts         PACKED;
+-      u16 rx_timeouts         PACKED;
+-      u16 n3_tx_packets       PACKED;
+-      u16 n3_rx_packets       PACKED;
+-      u16 tx_aborts           PACKED;
+-      u16 rx_aborts           PACKED;
++      __u16 rx_crc_errors     PACKED;
++      __u16 rx_over_errors    PACKED;
++      __u16 n2_tx_frames      PACKED;
++      __u16 n2_rx_frames      PACKED;
++      __u16 tx_timeouts       PACKED;
++      __u16 rx_timeouts       PACKED;
++      __u16 n3_tx_packets     PACKED;
++      __u16 n3_rx_packets     PACKED;
++      __u16 tx_aborts         PACKED;
++      __u16 rx_aborts         PACKED;
+ };
+ #endif        /* _CYCX_X25_H */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/device.h linux-libc-headers-2.6.8.0/include/linux/device.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/device.h     2004-08-18 13:16:02.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/device.h  2004-08-26 05:41:49.000000000 -0500
+@@ -57,7 +57,7 @@
+       struct device * (*add)  (struct device * parent, char * bus_id);
+       int             (*hotplug) (struct device *dev, char **envp, 
+                                   int num_envp, char *buffer, int buffer_size);
+-      int             (*suspend)(struct device * dev, u32 state);
++      int             (*suspend)(struct device * dev, __u32 state);
+       int             (*resume)(struct device * dev);
+ };
+@@ -105,8 +105,8 @@
+       int     (*probe)        (struct device * dev);
+       int     (*remove)       (struct device * dev);
+       void    (*shutdown)     (struct device * dev);
+-      int     (*suspend)      (struct device * dev, u32 state, u32 level);
+-      int     (*resume)       (struct device * dev, u32 level);
++      int     (*suspend)      (struct device * dev, __u32 state, __u32 level);
++      int     (*resume)       (struct device * dev, __u32 level);
+ };
+@@ -262,17 +262,17 @@
+       void            *platform_data; /* Platform specific data (e.g. ACPI,
+                                          BIOS data relevant to device) */
+       struct dev_pm_info      power;
+-      u32             power_state;    /* Current operating state. In
++      __u32           power_state;    /* Current operating state. In
+                                          ACPI-speak, this is D0-D3, D0
+                                          being fully functional, and D3
+                                          being off. */
+       unsigned char *saved_state;     /* saved device state */
+-      u32             detach_state;   /* State to enter when device is
++      __u32           detach_state;   /* State to enter when device is
+                                          detached from its driver. */
+-      u64             *dma_mask;      /* dma mask (if dma'able device) */
+-      u64             coherent_dma_mask;/* Like dma_mask, but for
++      __u64           *dma_mask;      /* dma mask (if dma'able device) */
++      __u64           coherent_dma_mask;/* Like dma_mask, but for
+                                            alloc_coherent mappings as
+                                            not all hardware supports
+                                            64 bit addresses for consistent
+@@ -360,9 +360,9 @@
+ struct platform_device {
+       char            * name;
+-      u32             id;
++      __u32           id;
+       struct device   dev;
+-      u32             num_resources;
++      __u32           num_resources;
+       struct resource * resource;
+ };
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/divert.h linux-libc-headers-2.6.8.0/include/linux/divert.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/divert.h     2004-06-09 07:00:49.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/divert.h  2004-08-26 05:41:49.000000000 -0500
+@@ -27,10 +27,10 @@
+ {
+       int             divert;  /* are we active */
+       unsigned int protos;    /* protocols */
+-      u16             tcp_dst[MAX_DIVERT_PORTS]; /* specific tcp dst ports to divert */
+-      u16             tcp_src[MAX_DIVERT_PORTS]; /* specific tcp src ports to divert */
+-      u16             udp_dst[MAX_DIVERT_PORTS]; /* specific udp dst ports to divert */
+-      u16             udp_src[MAX_DIVERT_PORTS]; /* specific udp src ports to divert */
++      __u16           tcp_dst[MAX_DIVERT_PORTS]; /* specific tcp dst ports to divert */
++      __u16           tcp_src[MAX_DIVERT_PORTS]; /* specific tcp src ports to divert */
++      __u16           udp_dst[MAX_DIVERT_PORTS]; /* specific udp dst ports to divert */
++      __u16           udp_src[MAX_DIVERT_PORTS]; /* specific udp src ports to divert */
+ };
+ /*
+@@ -40,12 +40,12 @@
+ typedef union _divert_cf_arg
+ {
+-      s16             int16;
+-      u16             uint16;
+-      s32             int32;
+-      u32             uint32;
+-      s64             int64;
+-      u64             uint64;
++      __s16           int16;
++      __u16           uint16;
++      __s32           int32;
++      __u32           uint32;
++      __s64           int64;
++      __u64           uint64;
+       void    *ptr;
+ } divert_cf_arg;
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/eeprom.h linux-libc-headers-2.6.8.0/include/linux/eeprom.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/eeprom.h     2003-12-19 07:05:15.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/eeprom.h  2004-08-26 13:26:38.000000000 -0500
+@@ -26,15 +26,15 @@
+       unsigned        ee_state;
+       spinlock_t      *lock;
+-      u32             *cache;
++      __u32           *cache;
+ };
+-u8   eeprom_readb(struct eeprom *ee, unsigned address);
+-void eeprom_read(struct eeprom *ee, unsigned address, u8 *bytes,
++__u8   eeprom_readb(struct eeprom *ee, unsigned address);
++void eeprom_read(struct eeprom *ee, unsigned address, __u8 *bytes,
+               unsigned count);
+-void eeprom_writeb(struct eeprom *ee, unsigned address, u8 data);
+-void eeprom_write(struct eeprom *ee, unsigned address, u8 *bytes,
++void eeprom_writeb(struct eeprom *ee, unsigned address, __u8 data);
++void eeprom_write(struct eeprom *ee, unsigned address, __u8 *bytes,
+               unsigned count);
+ /* The EEPROM commands include the alway-set leading bit. */
+@@ -56,10 +56,10 @@
+ }
+ /* foo. put this in a .c file */
+-static inline void eeprom_update(struct eeprom *ee, u32 mask, int pol)
++static inline void eeprom_update(struct eeprom *ee, __u32 mask, int pol)
+ {
+       unsigned long flags;
+-      u32 data;
++      __u32 data;
+       spin_lock_irqsave(ee->lock, flags);
+       data = *ee->cache;
+@@ -106,17 +106,17 @@
+       eeprom_update(ee, ee->eedi, pol);
+ }
+-u16   eeprom_readw(struct eeprom *ee, unsigned address)
++__u16   eeprom_readw(struct eeprom *ee, unsigned address)
+ {
+       unsigned i;
+-      u16     res = 0;
++      __u16   res = 0;
+       eeprom_clk_lo(ee);
+       eeprom_update(ee, ee->eesel, 1 ^ !!(ee->polarity & EEPOL_EESEL));
+       eeprom_send_addr(ee, address);
+       for (i=0; i<16; i++) {
+-              u32 data;
++              __u32 data;
+               eeprom_clk_hi(ee);
+               res <<= 1;
+               data = readl(ee->addr);
+@@ -130,6 +130,6 @@
+ }
+-void eeprom_writeb(struct eeprom *ee, unsigned address, u8 data)
++void eeprom_writeb(struct eeprom *ee, unsigned address, __u8 data)
+ {
+ }
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/efi.h linux-libc-headers-2.6.8.0/include/linux/efi.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/efi.h        2004-08-18 13:16:02.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/efi.h     2004-08-26 05:42:08.000000000 -0500
+@@ -30,12 +30,12 @@
+ #define EFI_NOT_FOUND         (14 | (1UL << (BITS_PER_LONG-1)))
+ typedef unsigned long efi_status_t;
+-typedef u8 efi_bool_t;
+-typedef u16 efi_char16_t;             /* UNICODE character */
++typedef __u8 efi_bool_t;
++typedef __u16 efi_char16_t;           /* UNICODE character */
+ typedef struct {
+-      u8 b[16];
++      __u8 b[16];
+ } efi_guid_t;
+ #define EFI_GUID(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) \
+@@ -49,11 +49,11 @@
+  * Generic EFI table header
+  */
+ typedef       struct {
+-      u64 signature;
+-      u32 revision;
+-      u32 headersize;
+-      u32 crc32;
+-      u32 reserved;
++      __u64 signature;
++      __u32 revision;
++      __u32 headersize;
++      __u32 crc32;
++      __u32 reserved;
+ } efi_table_hdr_t;
+ /*
+@@ -78,14 +78,14 @@
+ #define EFI_MAX_MEMORY_TYPE           14
+ /* Attribute values: */
+-#define EFI_MEMORY_UC         ((u64)0x0000000000000001ULL)    /* uncached */
+-#define EFI_MEMORY_WC         ((u64)0x0000000000000002ULL)    /* write-coalescing */
+-#define EFI_MEMORY_WT         ((u64)0x0000000000000004ULL)    /* write-through */
+-#define EFI_MEMORY_WB         ((u64)0x0000000000000008ULL)    /* write-back */
+-#define EFI_MEMORY_WP         ((u64)0x0000000000001000ULL)    /* write-protect */
+-#define EFI_MEMORY_RP         ((u64)0x0000000000002000ULL)    /* read-protect */
+-#define EFI_MEMORY_XP         ((u64)0x0000000000004000ULL)    /* execute-protect */
+-#define EFI_MEMORY_RUNTIME    ((u64)0x8000000000000000ULL)    /* range requires runtime mapping */
++#define EFI_MEMORY_UC         ((__u64)0x0000000000000001ULL)  /* uncached */
++#define EFI_MEMORY_WC         ((__u64)0x0000000000000002ULL)  /* write-coalescing */
++#define EFI_MEMORY_WT         ((__u64)0x0000000000000004ULL)  /* write-through */
++#define EFI_MEMORY_WB         ((__u64)0x0000000000000008ULL)  /* write-back */
++#define EFI_MEMORY_WP         ((__u64)0x0000000000001000ULL)  /* write-protect */
++#define EFI_MEMORY_RP         ((__u64)0x0000000000002000ULL)  /* read-protect */
++#define EFI_MEMORY_XP         ((__u64)0x0000000000004000ULL)  /* execute-protect */
++#define EFI_MEMORY_RUNTIME    ((__u64)0x8000000000000000ULL)  /* range requires runtime mapping */
+ #define EFI_MEMORY_DESCRIPTOR_VERSION 1
+ #define EFI_PAGE_SHIFT                12
+@@ -96,14 +96,14 @@
+  * the case in ia64.  Need to have this fixed in the f/w.
+  */
+ typedef struct {
+-      u32 type;
+-      u32 pad;
+-      u64 phys_addr;
+-      u64 virt_addr;
+-      u64 num_pages;
+-      u64 attribute;
++      __u32 type;
++      __u32 pad;
++      __u64 phys_addr;
++      __u64 virt_addr;
++      __u64 num_pages;
++      __u64 attribute;
+ #if defined (__i386__)
+-      u64 pad1;
++      __u64 pad1;
+ #endif
+ } efi_memory_desc_t;
+@@ -117,23 +117,23 @@
+ #define EFI_UNSPECIFIED_TIMEZONE 0x07ff
+ typedef struct {
+-      u16 year;
+-      u8 month;
+-      u8 day;
+-      u8 hour;
+-      u8 minute;
+-      u8 second;
+-      u8 pad1;
+-      u32 nanosecond;
+-      s16 timezone;
+-      u8 daylight;
+-      u8 pad2;
++      __u16 year;
++      __u8 month;
++      __u8 day;
++      __u8 hour;
++      __u8 minute;
++      __u8 second;
++      __u8 pad1;
++      __u32 nanosecond;
++      __s16 timezone;
++      __u8 daylight;
++      __u8 pad2;
+ } efi_time_t;
+ typedef struct {
+-      u32 resolution;
+-      u32 accuracy;
+-      u8 sets_to_zero;
++      __u32 resolution;
++      __u32 accuracy;
++      __u8 sets_to_zero;
+ } efi_time_cap_t;
+ /*
+@@ -146,7 +146,7 @@
+ /*
+  * EFI Runtime Services table
+  */
+-#define EFI_RUNTIME_SERVICES_SIGNATURE ((u64)0x5652453544e5552ULL)
++#define EFI_RUNTIME_SERVICES_SIGNATURE ((__u64)0x5652453544e5552ULL)
+ #define EFI_RUNTIME_SERVICES_REVISION  0x00010000
+ typedef struct {
+@@ -169,19 +169,19 @@
+ typedef efi_status_t efi_get_wakeup_time_t (efi_bool_t *enabled, efi_bool_t *pending,
+                                           efi_time_t *tm);
+ typedef efi_status_t efi_set_wakeup_time_t (efi_bool_t enabled, efi_time_t *tm);
+-typedef efi_status_t efi_get_variable_t (efi_char16_t *name, efi_guid_t *vendor, u32 *attr,
++typedef efi_status_t efi_get_variable_t (efi_char16_t *name, efi_guid_t *vendor, __u32 *attr,
+                                        unsigned long *data_size, void *data);
+ typedef efi_status_t efi_get_next_variable_t (unsigned long *name_size, efi_char16_t *name,
+                                             efi_guid_t *vendor);
+ typedef efi_status_t efi_set_variable_t (efi_char16_t *name, efi_guid_t *vendor, 
+                                        unsigned long attr, unsigned long data_size, 
+                                        void *data);
+-typedef efi_status_t efi_get_next_high_mono_count_t (u32 *count);
++typedef efi_status_t efi_get_next_high_mono_count_t (__u32 *count);
+ typedef void efi_reset_system_t (int reset_type, efi_status_t status,
+                                unsigned long data_size, efi_char16_t *data);
+ typedef efi_status_t efi_set_virtual_address_map_t (unsigned long memory_map_size,
+                                               unsigned long descriptor_size,
+-                                              u32 descriptor_version,
++                                              __u32 descriptor_version,
+                                               efi_memory_desc_t *virtual_map);
+ /*
+@@ -219,13 +219,13 @@
+       unsigned long table;
+ } efi_config_table_t;
+-#define EFI_SYSTEM_TABLE_SIGNATURE ((u64)0x5453595320494249ULL)
++#define EFI_SYSTEM_TABLE_SIGNATURE ((__u64)0x5453595320494249ULL)
+ #define EFI_SYSTEM_TABLE_REVISION  ((1 << 16) | 00)
+ typedef struct {
+       efi_table_hdr_t hdr;
+       unsigned long fw_vendor;        /* physical addr of CHAR16 vendor string */
+-      u32 fw_revision;
++      __u32 fw_revision;
+       unsigned long con_in_handle;
+       unsigned long con_in;
+       unsigned long con_out_handle;
+@@ -293,9 +293,9 @@
+ extern void efi_memmap_walk (efi_freemem_callback_t callback, void *arg);
+ extern void efi_gettimeofday (struct timespec *ts);
+ extern void efi_enter_virtual_mode (void);    /* switch EFI to virtual mode, if possible */
+-extern u64 efi_get_iobase (void);
+-extern u32 efi_mem_type (unsigned long phys_addr);
+-extern u64 efi_mem_attributes (unsigned long phys_addr);
++extern __u64 efi_get_iobase (void);
++extern __u32 efi_mem_type (unsigned long phys_addr);
++extern __u64 efi_mem_attributes (unsigned long phys_addr);
+ extern int __init efi_uart_console_only (void);
+ extern void efi_initialize_iomem_resources(struct resource *code_resource,
+                                       struct resource *data_resource);
+@@ -368,9 +368,9 @@
+ #define   EFI_DEV_END_ENTIRE                  0xFF
+ struct efi_generic_dev_path {
+-      u8 type;
+-      u8 sub_type;
+-      u16 length;
++      __u8 type;
++      __u8 sub_type;
++      __u16 length;
+ } __attribute ((packed));
+ #endif /* _LINUX_EFI_H */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/eisa.h linux-libc-headers-2.6.8.0/include/linux/eisa.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/eisa.h       2003-12-15 12:46:58.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/eisa.h    2004-08-26 05:42:08.000000000 -0500
+@@ -43,7 +43,7 @@
+       int                   state;
+       unsigned long         base_addr;
+       struct resource       res[EISA_MAX_RESOURCES];
+-      u64                   dma_mask;
++      __u64                   dma_mask;
+       struct device         dev; /* generic device */
+ #ifdef CONFIG_EISA_NAMES
+       char                  pretty_name[DEVICE_NAME_SIZE];
+@@ -91,7 +91,7 @@
+       unsigned long    bus_base_addr;
+       int              slots;  /* Max slot number */
+       int              force_probe; /* Probe even when no slot 0 */
+-      u64              dma_mask; /* from bridge device */
++      __u64            dma_mask; /* from bridge device */
+       int              bus_nr; /* Set by eisa_root_register */
+       struct resource  eisa_root_res; /* ditto */
+ };
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/ethtool.h linux-libc-headers-2.6.8.0/include/linux/ethtool.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/ethtool.h    2004-06-23 16:52:54.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/ethtool.h 2004-08-26 13:29:11.000000000 -0500
+@@ -15,24 +15,24 @@
+ /* This should work for both 32 and 64 bit userland. */
+ struct ethtool_cmd {
+-      u32     cmd;
+-      u32     supported;      /* Features this interface supports */
+-      u32     advertising;    /* Features this interface advertises */
+-      u16     speed;          /* The forced speed, 10Mb, 100Mb, gigabit */
+-      u8      duplex;         /* Duplex, half or full */
+-      u8      port;           /* Which connector port */
+-      u8      phy_address;
+-      u8      transceiver;    /* Which transceiver to use */
+-      u8      autoneg;        /* Enable or disable autonegotiation */
+-      u32     maxtxpkt;       /* Tx pkts before generating tx int */
+-      u32     maxrxpkt;       /* Rx pkts before generating rx int */
+-      u32     reserved[4];
++      __u32   cmd;
++      __u32   supported;      /* Features this interface supports */
++      __u32   advertising;    /* Features this interface advertises */
++      __u16   speed;          /* The forced speed, 10Mb, 100Mb, gigabit */
++      __u8    duplex;         /* Duplex, half or full */
++      __u8    port;           /* Which connector port */
++      __u8    phy_address;
++      __u8    transceiver;    /* Which transceiver to use */
++      __u8    autoneg;        /* Enable or disable autonegotiation */
++      __u32   maxtxpkt;       /* Tx pkts before generating tx int */
++      __u32   maxrxpkt;       /* Rx pkts before generating rx int */
++      __u32   reserved[4];
+ };
+ #define ETHTOOL_BUSINFO_LEN   32
+ /* these strings are set to whatever the driver author decides... */
+ struct ethtool_drvinfo {
+-      u32     cmd;
++      __u32   cmd;
+       char    driver[32];     /* driver short name, "tulip", "eepro100" */
+       char    version[32];    /* driver version string */
+       char    fw_version[32]; /* firmware version string, if applicable */
+@@ -40,53 +40,53 @@
+                               /* For PCI devices, use pci_name(pci_dev). */
+       char    reserved1[32];
+       char    reserved2[16];
+-      u32     n_stats;        /* number of u64's from ETHTOOL_GSTATS */
+-      u32     testinfo_len;
+-      u32     eedump_len;     /* Size of data from ETHTOOL_GEEPROM (bytes) */
+-      u32     regdump_len;    /* Size of data from ETHTOOL_GREGS (bytes) */
++      __u32   n_stats;        /* number of __u64's from ETHTOOL_GSTATS */
++      __u32   testinfo_len;
++      __u32   eedump_len;     /* Size of data from ETHTOOL_GEEPROM (bytes) */
++      __u32   regdump_len;    /* Size of data from ETHTOOL_GREGS (bytes) */
+ };
+ #define SOPASS_MAX    6
+ /* wake-on-lan settings */
+ struct ethtool_wolinfo {
+-      u32     cmd;
+-      u32     supported;
+-      u32     wolopts;
+-      u8      sopass[SOPASS_MAX]; /* SecureOn(tm) password */
++      __u32   cmd;
++      __u32   supported;
++      __u32   wolopts;
++      __u8    sopass[SOPASS_MAX]; /* SecureOn(tm) password */
+ };
+ /* for passing single values */
+ struct ethtool_value {
+-      u32     cmd;
+-      u32     data;
++      __u32   cmd;
++      __u32   data;
+ };
+ /* for passing big chunks of data */
+ struct ethtool_regs {
+-      u32     cmd;
+-      u32     version; /* driver-specific, indicates different chips/revs */
+-      u32     len; /* bytes */
+-      u8      data[0];
++      __u32   cmd;
++      __u32   version; /* driver-specific, indicates different chips/revs */
++      __u32   len; /* bytes */
++      __u8    data[0];
+ };
+ /* for passing EEPROM chunks */
+ struct ethtool_eeprom {
+-      u32     cmd;
+-      u32     magic;
+-      u32     offset; /* in bytes */
+-      u32     len; /* in bytes */
+-      u8      data[0];
++      __u32   cmd;
++      __u32   magic;
++      __u32   offset; /* in bytes */
++      __u32   len; /* in bytes */
++      __u8    data[0];
+ };
+ /* for configuring coalescing parameters of chip */
+ struct ethtool_coalesce {
+-      u32     cmd;    /* ETHTOOL_{G,S}COALESCE */
++      __u32   cmd;    /* ETHTOOL_{G,S}COALESCE */
+       /* How many usecs to delay an RX interrupt after
+        * a packet arrives.  If 0, only rx_max_coalesced_frames
+        * is used.
+        */
+-      u32     rx_coalesce_usecs;
++      __u32   rx_coalesce_usecs;
+       /* How many packets to delay an RX interrupt after
+        * a packet arrives.  If 0, only rx_coalesce_usecs is
+@@ -94,21 +94,21 @@
+        * to zero as this would cause RX interrupts to never be
+        * generated.
+        */
+-      u32     rx_max_coalesced_frames;
++      __u32   rx_max_coalesced_frames;
+       /* Same as above two parameters, except that these values
+        * apply while an IRQ is being serviced by the host.  Not
+        * all cards support this feature and the values are ignored
+        * in that case.
+        */
+-      u32     rx_coalesce_usecs_irq;
+-      u32     rx_max_coalesced_frames_irq;
++      __u32   rx_coalesce_usecs_irq;
++      __u32   rx_max_coalesced_frames_irq;
+       /* How many usecs to delay a TX interrupt after
+        * a packet is sent.  If 0, only tx_max_coalesced_frames
+        * is used.
+        */
+-      u32     tx_coalesce_usecs;
++      __u32   tx_coalesce_usecs;
+       /* How many packets to delay a TX interrupt after
+        * a packet is sent.  If 0, only tx_coalesce_usecs is
+@@ -116,22 +116,22 @@
+        * to zero as this would cause TX interrupts to never be
+        * generated.
+        */
+-      u32     tx_max_coalesced_frames;
++      __u32   tx_max_coalesced_frames;
+       /* Same as above two parameters, except that these values
+        * apply while an IRQ is being serviced by the host.  Not
+        * all cards support this feature and the values are ignored
+        * in that case.
+        */
+-      u32     tx_coalesce_usecs_irq;
+-      u32     tx_max_coalesced_frames_irq;
++      __u32   tx_coalesce_usecs_irq;
++      __u32   tx_max_coalesced_frames_irq;
+       /* How many usecs to delay in-memory statistics
+        * block updates.  Some drivers do not have an in-memory
+        * statistic block, and in such cases this value is ignored.
+        * This value must not be zero.
+        */
+-      u32     stats_block_coalesce_usecs;
++      __u32   stats_block_coalesce_usecs;
+       /* Adaptive RX/TX coalescing is an algorithm implemented by
+        * some drivers to improve latency under low packet rates and
+@@ -140,18 +140,18 @@
+        * not implemented by the driver causes these values to be
+        * silently ignored.
+        */
+-      u32     use_adaptive_rx_coalesce;
+-      u32     use_adaptive_tx_coalesce;
++      __u32   use_adaptive_rx_coalesce;
++      __u32   use_adaptive_tx_coalesce;
+       /* When the packet rate (measured in packets per second)
+        * is below pkt_rate_low, the {rx,tx}_*_low parameters are
+        * used.
+        */
+-      u32     pkt_rate_low;
+-      u32     rx_coalesce_usecs_low;
+-      u32     rx_max_coalesced_frames_low;
+-      u32     tx_coalesce_usecs_low;
+-      u32     tx_max_coalesced_frames_low;
++      __u32   pkt_rate_low;
++      __u32   rx_coalesce_usecs_low;
++      __u32   rx_max_coalesced_frames_low;
++      __u32   tx_coalesce_usecs_low;
++      __u32   tx_max_coalesced_frames_low;
+       /* When the packet rate is below pkt_rate_high but above
+        * pkt_rate_low (both measured in packets per second) the
+@@ -162,43 +162,43 @@
+        * is above pkt_rate_high, the {rx,tx}_*_high parameters are
+        * used.
+        */
+-      u32     pkt_rate_high;
+-      u32     rx_coalesce_usecs_high;
+-      u32     rx_max_coalesced_frames_high;
+-      u32     tx_coalesce_usecs_high;
+-      u32     tx_max_coalesced_frames_high;
++      __u32   pkt_rate_high;
++      __u32   rx_coalesce_usecs_high;
++      __u32   rx_max_coalesced_frames_high;
++      __u32   tx_coalesce_usecs_high;
++      __u32   tx_max_coalesced_frames_high;
+       /* How often to do adaptive coalescing packet rate sampling,
+        * measured in seconds.  Must not be zero.
+        */
+-      u32     rate_sample_interval;
++      __u32   rate_sample_interval;
+ };
+ /* for configuring RX/TX ring parameters */
+ struct ethtool_ringparam {
+-      u32     cmd;    /* ETHTOOL_{G,S}RINGPARAM */
++      __u32   cmd;    /* ETHTOOL_{G,S}RINGPARAM */
+       /* Read only attributes.  These indicate the maximum number
+        * of pending RX/TX ring entries the driver will allow the
+        * user to set.
+        */
+-      u32     rx_max_pending;
+-      u32     rx_mini_max_pending;
+-      u32     rx_jumbo_max_pending;
+-      u32     tx_max_pending;
++      __u32   rx_max_pending;
++      __u32   rx_mini_max_pending;
++      __u32   rx_jumbo_max_pending;
++      __u32   tx_max_pending;
+       /* Values changeable by the user.  The valid values are
+        * in the range 1 to the "*_max_pending" counterpart above.
+        */
+-      u32     rx_pending;
+-      u32     rx_mini_pending;
+-      u32     rx_jumbo_pending;
+-      u32     tx_pending;
++      __u32   rx_pending;
++      __u32   rx_mini_pending;
++      __u32   rx_jumbo_pending;
++      __u32   tx_pending;
+ };
+ /* for configuring link flow control parameters */
+ struct ethtool_pauseparam {
+-      u32     cmd;    /* ETHTOOL_{G,S}PAUSEPARAM */
++      __u32   cmd;    /* ETHTOOL_{G,S}PAUSEPARAM */
+       /* If the link is being auto-negotiated (via ethtool_cmd.autoneg
+        * being true) the user may set 'autonet' here non-zero to have the
+@@ -210,9 +210,9 @@
+        * then {rx,tx}_pause force the driver to use/not-use pause
+        * flow control.
+        */
+-      u32     autoneg;
+-      u32     rx_pause;
+-      u32     tx_pause;
++      __u32   autoneg;
++      __u32   rx_pause;
++      __u32   tx_pause;
+ };
+ #define ETH_GSTRING_LEN               32
+@@ -223,10 +223,10 @@
+ /* for passing string sets for data tagging */
+ struct ethtool_gstrings {
+-      u32     cmd;            /* ETHTOOL_GSTRINGS */
+-      u32     string_set;     /* string set id e.c. ETH_SS_TEST, etc*/
+-      u32     len;            /* number of strings in the string set */
+-      u8      data[0];
++      __u32   cmd;            /* ETHTOOL_GSTRINGS */
++      __u32   string_set;     /* string set id e.c. ETH_SS_TEST, etc*/
++      __u32   len;            /* number of strings in the string set */
++      __u8    data[0];
+ };
+ enum ethtool_test_flags {
+@@ -236,30 +236,30 @@
+ /* for requesting NIC test and getting results*/
+ struct ethtool_test {
+-      u32     cmd;            /* ETHTOOL_TEST */
+-      u32     flags;          /* ETH_TEST_FL_xxx */
+-      u32     reserved;
+-      u32     len;            /* result length, in number of u64 elements */
+-      u64     data[0];
++      __u32   cmd;            /* ETHTOOL_TEST */
++      __u32   flags;          /* ETH_TEST_FL_xxx */
++      __u32   reserved;
++      __u32   len;            /* result length, in number of __u64 elements */
++      __u64   data[0];
+ };
+ /* for dumping NIC-specific statistics */
+ struct ethtool_stats {
+-      u32     cmd;            /* ETHTOOL_GSTATS */
+-      u32     n_stats;        /* number of u64's being returned */
+-      u64     data[0];
++      __u32   cmd;            /* ETHTOOL_GSTATS */
++      __u32   n_stats;        /* number of __u64's being returned */
++      __u64   data[0];
+ };
+ struct net_device;
+ /* Some generic methods drivers may use in their ethtool_ops */
+-u32 ethtool_op_get_link(struct net_device *dev);
+-u32 ethtool_op_get_tx_csum(struct net_device *dev);
+-int ethtool_op_set_tx_csum(struct net_device *dev, u32 data);
+-u32 ethtool_op_get_sg(struct net_device *dev);
+-int ethtool_op_set_sg(struct net_device *dev, u32 data);
+-u32 ethtool_op_get_tso(struct net_device *dev);
+-int ethtool_op_set_tso(struct net_device *dev, u32 data);
++__u32 ethtool_op_get_link(struct net_device *dev);
++__u32 ethtool_op_get_tx_csum(struct net_device *dev);
++int ethtool_op_set_tx_csum(struct net_device *dev, __u32 data);
++__u32 ethtool_op_get_sg(struct net_device *dev);
++int ethtool_op_set_sg(struct net_device *dev, __u32 data);
++__u32 ethtool_op_get_tso(struct net_device *dev);
++int ethtool_op_set_tso(struct net_device *dev, __u32 data);
+ /**
+  * &ethtool_ops - Alter and report network device settings
+@@ -324,33 +324,33 @@
+       void    (*get_regs)(struct net_device *, struct ethtool_regs *, void *);
+       void    (*get_wol)(struct net_device *, struct ethtool_wolinfo *);
+       int     (*set_wol)(struct net_device *, struct ethtool_wolinfo *);
+-      u32     (*get_msglevel)(struct net_device *);
+-      void    (*set_msglevel)(struct net_device *, u32);
++      __u32   (*get_msglevel)(struct net_device *);
++      void    (*set_msglevel)(struct net_device *, __u32);
+       int     (*nway_reset)(struct net_device *);
+-      u32     (*get_link)(struct net_device *);
++      __u32   (*get_link)(struct net_device *);
+       int     (*get_eeprom_len)(struct net_device *);
+-      int     (*get_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);
+-      int     (*set_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);
++      int     (*get_eeprom)(struct net_device *, struct ethtool_eeprom *, __u8 *);
++      int     (*set_eeprom)(struct net_device *, struct ethtool_eeprom *, __u8 *);
+       int     (*get_coalesce)(struct net_device *, struct ethtool_coalesce *);
+       int     (*set_coalesce)(struct net_device *, struct ethtool_coalesce *);
+       void    (*get_ringparam)(struct net_device *, struct ethtool_ringparam *);
+       int     (*set_ringparam)(struct net_device *, struct ethtool_ringparam *);
+       void    (*get_pauseparam)(struct net_device *, struct ethtool_pauseparam*);
+       int     (*set_pauseparam)(struct net_device *, struct ethtool_pauseparam*);
+-      u32     (*get_rx_csum)(struct net_device *);
+-      int     (*set_rx_csum)(struct net_device *, u32);
+-      u32     (*get_tx_csum)(struct net_device *);
+-      int     (*set_tx_csum)(struct net_device *, u32);
+-      u32     (*get_sg)(struct net_device *);
+-      int     (*set_sg)(struct net_device *, u32);
+-      u32     (*get_tso)(struct net_device *);
+-      int     (*set_tso)(struct net_device *, u32);
++      __u32   (*get_rx_csum)(struct net_device *);
++      int     (*set_rx_csum)(struct net_device *, __u32);
++      __u32   (*get_tx_csum)(struct net_device *);
++      int     (*set_tx_csum)(struct net_device *, __u32);
++      __u32   (*get_sg)(struct net_device *);
++      int     (*set_sg)(struct net_device *, __u32);
++      __u32   (*get_tso)(struct net_device *);
++      int     (*set_tso)(struct net_device *, __u32);
+       int     (*self_test_count)(struct net_device *);
+-      void    (*self_test)(struct net_device *, struct ethtool_test *, u64 *);
+-      void    (*get_strings)(struct net_device *, u32 stringset, u8 *);
+-      int     (*phys_id)(struct net_device *, u32);
++      void    (*self_test)(struct net_device *, struct ethtool_test *, __u64 *);
++      void    (*get_strings)(struct net_device *, __u32 stringset, __u8 *);
++      int     (*phys_id)(struct net_device *, __u32);
+       int     (*get_stats_count)(struct net_device *);
+-      void    (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *);
++      void    (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, __u64 *);
+       int     (*begin)(struct net_device *);
+       void    (*complete)(struct net_device *);
+ };
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/firmware.h linux-libc-headers-2.6.8.0/include/linux/firmware.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/firmware.h   2003-12-15 12:46:58.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/firmware.h        2004-08-26 05:42:08.000000000 -0500
+@@ -5,7 +5,7 @@
+ #define FIRMWARE_NAME_MAX 30 
+ struct firmware {
+       size_t size;
+-      u8 *data;
++      __u8 *data;
+ };
+ int request_firmware(const struct firmware **fw, const char *name,
+                    struct device *device);
+@@ -15,5 +15,5 @@
+       void (*cont)(const struct firmware *fw, void *context));
+ void release_firmware(const struct firmware *fw);
+-void register_firmware(const char *name, const u8 *data, size_t size);
++void register_firmware(const char *name, const __u8 *data, size_t size);
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/fs.h linux-libc-headers-2.6.8.0/include/linux/fs.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/fs.h 2004-08-18 13:16:02.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/fs.h      2004-08-26 05:42:08.000000000 -0500
+@@ -198,7 +198,7 @@
+ /* A jump here: 108-111 have been used for various private purposes. */
+ #define BLKBSZGET  _IOR(0x12,112,size_t)
+ #define BLKBSZSET  _IOW(0x12,113,size_t)
+-#define BLKGETSIZE64 _IOR(0x12,114,size_t)    /* return device size in bytes (u64 *arg) */
++#define BLKGETSIZE64 _IOR(0x12,114,size_t)    /* return device size in bytes (__u64 *arg) */
+ #define BMAP_IOCTL 1          /* obsolete - kept for compatibility */
+ #define FIBMAP           _IO(0x00,1)  /* bmap access */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/i2c.h linux-libc-headers-2.6.8.0/include/linux/i2c.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/i2c.h        2004-06-23 16:52:54.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/i2c.h     2004-08-26 05:42:08.000000000 -0500
+@@ -70,36 +70,36 @@
+    and probably just as fast. 
+    Note that we use i2c_adapter here, because you do not need a specific
+    smbus adapter to call this function. */
+-extern s32 i2c_smbus_xfer (struct i2c_adapter * adapter, u16 addr, 
++extern __s32 i2c_smbus_xfer (struct i2c_adapter * adapter, __u16 addr, 
+                            unsigned short flags,
+-                           char read_write, u8 command, int size,
++                           char read_write, __u8 command, int size,
+                            union i2c_smbus_data * data);
+ /* Now follow the 'nice' access routines. These also document the calling
+    conventions of smbus_access. */
+-extern s32 i2c_smbus_write_quick(struct i2c_client * client, u8 value);
+-extern s32 i2c_smbus_read_byte(struct i2c_client * client);
+-extern s32 i2c_smbus_write_byte(struct i2c_client * client, u8 value);
+-extern s32 i2c_smbus_read_byte_data(struct i2c_client * client, u8 command);
+-extern s32 i2c_smbus_write_byte_data(struct i2c_client * client,
+-                                     u8 command, u8 value);
+-extern s32 i2c_smbus_read_word_data(struct i2c_client * client, u8 command);
+-extern s32 i2c_smbus_write_word_data(struct i2c_client * client,
+-                                     u8 command, u16 value);
+-extern s32 i2c_smbus_process_call(struct i2c_client * client,
+-                                  u8 command, u16 value);
++extern __s32 i2c_smbus_write_quick(struct i2c_client * client, __u8 value);
++extern __s32 i2c_smbus_read_byte(struct i2c_client * client);
++extern __s32 i2c_smbus_write_byte(struct i2c_client * client, __u8 value);
++extern __s32 i2c_smbus_read_byte_data(struct i2c_client * client, __u8 command);
++extern __s32 i2c_smbus_write_byte_data(struct i2c_client * client,
++                                     __u8 command, __u8 value);
++extern __s32 i2c_smbus_read_word_data(struct i2c_client * client, __u8 command);
++extern __s32 i2c_smbus_write_word_data(struct i2c_client * client,
++                                     __u8 command, __u16 value);
++extern __s32 i2c_smbus_process_call(struct i2c_client * client,
++                                  __u8 command, __u16 value);
+ /* Returns the number of read bytes */
+-extern s32 i2c_smbus_read_block_data(struct i2c_client * client,
+-                                     u8 command, u8 *values);
+-extern s32 i2c_smbus_write_block_data(struct i2c_client * client,
+-                                      u8 command, u8 length,
+-                                      u8 *values);
+-extern s32 i2c_smbus_read_i2c_block_data(struct i2c_client * client,
+-                                         u8 command, u8 *values);
+-extern s32 i2c_smbus_write_i2c_block_data(struct i2c_client * client,
+-                                          u8 command, u8 length,
+-                                          u8 *values);
++extern __s32 i2c_smbus_read_block_data(struct i2c_client * client,
++                                     __u8 command, __u8 *values);
++extern __s32 i2c_smbus_write_block_data(struct i2c_client * client,
++                                      __u8 command, __u8 length,
++                                      __u8 *values);
++extern __s32 i2c_smbus_read_i2c_block_data(struct i2c_client * client,
++                                         __u8 command, __u8 *values);
++extern __s32 i2c_smbus_write_i2c_block_data(struct i2c_client * client,
++                                          __u8 command, __u8 length,
++                                          __u8 *values);
+ /*
+@@ -203,9 +203,9 @@
+          using common I2C messages */
+       int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg msgs[], 
+                          int num);
+-      int (*smbus_xfer) (struct i2c_adapter *adap, u16 addr, 
++      int (*smbus_xfer) (struct i2c_adapter *adap, __u16 addr, 
+                          unsigned short flags, char read_write,
+-                         u8 command, int size, union i2c_smbus_data * data);
++                         __u8 command, int size, union i2c_smbus_data * data);
+       /* --- these optional/future use for some adapter types.*/
+       int (*slave_send)(struct i2c_adapter *,char*,int);
+@@ -215,7 +215,7 @@
+       int (*algo_control)(struct i2c_adapter *, unsigned int, unsigned long);
+       /* To determine what the adapter supports */
+-      u32 (*functionality) (struct i2c_adapter *);
++      __u32 (*functionality) (struct i2c_adapter *);
+ };
+ /*
+@@ -381,10 +381,10 @@
+ /* Return the functionality mask */
+-extern u32 i2c_get_functionality (struct i2c_adapter *adap);
++extern __u32 i2c_get_functionality (struct i2c_adapter *adap);
+ /* Return 1 if adapter supports everything we need, 0 if not. */
+-extern int i2c_check_functionality (struct i2c_adapter *adap, u32 func);
++extern int i2c_check_functionality (struct i2c_adapter *adap, __u32 func);
+ /*
+  * I2C Message - used for pure i2c transaction, also from /dev interface
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/i2o-dev.h linux-libc-headers-2.6.8.0/include/linux/i2o-dev.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/i2o-dev.h    2004-06-23 16:52:54.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/i2o-dev.h 2004-08-26 05:42:08.000000000 -0500
+@@ -29,7 +29,7 @@
+  * I2O Control IOCTLs and structures
+  */
+ #define I2O_MAGIC_NUMBER      'i'
+-#define I2OGETIOPS            _IOR(I2O_MAGIC_NUMBER,0,u8[MAX_I2O_CONTROLLERS])
++#define I2OGETIOPS            _IOR(I2O_MAGIC_NUMBER,0,__u8[MAX_I2O_CONTROLLERS])
+ #define I2OHRTGET             _IOWR(I2O_MAGIC_NUMBER,1,struct i2o_cmd_hrtlct)
+ #define I2OLCTGET             _IOWR(I2O_MAGIC_NUMBER,2,struct i2o_cmd_hrtlct)
+ #define I2OPARMSET            _IOWR(I2O_MAGIC_NUMBER,3,struct i2o_cmd_psetget)
+@@ -37,7 +37,7 @@
+ #define I2OSWDL               _IOWR(I2O_MAGIC_NUMBER,5,struct i2o_sw_xfer)
+ #define I2OSWUL               _IOWR(I2O_MAGIC_NUMBER,6,struct i2o_sw_xfer)
+ #define I2OSWDEL              _IOWR(I2O_MAGIC_NUMBER,7,struct i2o_sw_xfer)
+-#define I2OVALIDATE           _IOR(I2O_MAGIC_NUMBER,8,u32)
++#define I2OVALIDATE           _IOR(I2O_MAGIC_NUMBER,8,__u32)
+ #define I2OHTML               _IOWR(I2O_MAGIC_NUMBER,9,struct i2o_html)
+ #define I2OEVTREG             _IOW(I2O_MAGIC_NUMBER,10,struct i2o_evt_id)
+ #define I2OEVTGET             _IOR(I2O_MAGIC_NUMBER,11,struct i2o_evt_info)
+@@ -129,65 +129,65 @@
+ #define I2O_BUS_CARDBUS 7
+ #define I2O_BUS_UNKNOWN 0x80
+-typedef unsigned char u8;
+-typedef unsigned short u16;
+-typedef unsigned int u32;
++typedef unsigned char __u8;
++typedef unsigned short __u16;
++typedef unsigned int __u32;
+ typedef struct _i2o_pci_bus
+ {
+-      u8      PciFunctionNumber;
+-      u8      PciDeviceNumber;
+-      u8      PciBusNumber;
+-      u8      reserved;
+-      u16     PciVendorID;
+-      u16     PciDeviceID;
++      __u8    PciFunctionNumber;
++      __u8    PciDeviceNumber;
++      __u8    PciBusNumber;
++      __u8    reserved;
++      __u16   PciVendorID;
++      __u16   PciDeviceID;
+ } i2o_pci_bus;
+ typedef struct _i2o_local_bus
+ {
+-      u16     LbBaseIOPort;
+-      u16     reserved;
+-      u32     LbBaseMemoryAddress;
++      __u16   LbBaseIOPort;
++      __u16   reserved;
++      __u32   LbBaseMemoryAddress;
+ } i2o_local_bus;
+ typedef struct _i2o_isa_bus
+ {
+-      u16     IsaBaseIOPort;
+-      u8      CSN;
+-      u8      reserved;
+-      u32     IsaBaseMemoryAddress;
++      __u16   IsaBaseIOPort;
++      __u8    CSN;
++      __u8    reserved;
++      __u32   IsaBaseMemoryAddress;
+ } i2o_isa_bus;
+ typedef struct _i2o_eisa_bus_info
+ {
+-      u16     EisaBaseIOPort;
+-      u8      reserved;
+-      u8      EisaSlotNumber;
+-      u32     EisaBaseMemoryAddress;
++      __u16   EisaBaseIOPort;
++      __u8    reserved;
++      __u8    EisaSlotNumber;
++      __u32   EisaBaseMemoryAddress;
+ } i2o_eisa_bus;
+ typedef struct _i2o_mca_bus
+ {
+-      u16     McaBaseIOPort;
+-      u8      reserved;
+-      u8      McaSlotNumber;
+-      u32     McaBaseMemoryAddress;
++      __u16   McaBaseIOPort;
++      __u8    reserved;
++      __u8    McaSlotNumber;
++      __u32   McaBaseMemoryAddress;
+ } i2o_mca_bus;
+ typedef struct _i2o_other_bus
+ {
+-      u16 BaseIOPort;
+-      u16 reserved;
+-      u32 BaseMemoryAddress;
++      __u16 BaseIOPort;
++      __u16 reserved;
++      __u32 BaseMemoryAddress;
+ } i2o_other_bus;
+ typedef struct _i2o_hrt_entry
+ {
+-      u32     adapter_id;
+-      u32     parent_tid:12;
+-      u32     state:4;
+-      u32     bus_num:8;
+-      u32     bus_type:8;
++      __u32   adapter_id;
++      __u32   parent_tid:12;
++      __u32   state:4;
++      __u32   bus_num:8;
++      __u32   bus_type:8;
+       union
+       {
+               i2o_pci_bus     pci_bus;
+@@ -201,69 +201,69 @@
+ typedef struct _i2o_hrt
+ {
+-      u16     num_entries;
+-      u8      entry_len;
+-      u8      hrt_version;
+-      u32     change_ind;
++      __u16   num_entries;
++      __u8    entry_len;
++      __u8    hrt_version;
++      __u32   change_ind;
+       i2o_hrt_entry hrt_entry[1];
+ } i2o_hrt;
+ typedef struct _i2o_lct_entry
+ {
+-      u32     entry_size:16;
+-      u32     tid:12;
+-      u32     reserved:4;
+-      u32     change_ind;
+-      u32     device_flags;
+-      u32     class_id:12;
+-      u32     version:4;
+-      u32     vendor_id:16;
+-      u32     sub_class;
+-      u32     user_tid:12;
+-      u32     parent_tid:12;
+-      u32     bios_info:8;
+-      u8      identity_tag[8];
+-      u32     event_capabilities;
++      __u32   entry_size:16;
++      __u32   tid:12;
++      __u32   reserved:4;
++      __u32   change_ind;
++      __u32   device_flags;
++      __u32   class_id:12;
++      __u32   version:4;
++      __u32   vendor_id:16;
++      __u32   sub_class;
++      __u32   user_tid:12;
++      __u32   parent_tid:12;
++      __u32   bios_info:8;
++      __u8    identity_tag[8];
++      __u32   event_capabilities;
+ } i2o_lct_entry;
+ typedef struct _i2o_lct
+ {
+-      u32     table_size:16;
+-      u32     boot_tid:12;
+-      u32     lct_ver:4;
+-      u32     iop_flags;
+-      u32     change_ind;
++      __u32   table_size:16;
++      __u32   boot_tid:12;
++      __u32   lct_ver:4;
++      __u32   iop_flags;
++      __u32   change_ind;
+       i2o_lct_entry lct_entry[1];
+ } i2o_lct;
+ typedef struct _i2o_status_block
+ {
+-      u16     org_id;
+-      u16     reserved;
+-      u16     iop_id:12;
+-      u16     reserved1:4;
+-      u16     host_unit_id;
+-      u16     segment_number:12;
+-      u16     i2o_version:4;
+-      u8      iop_state;
+-      u8      msg_type;
+-      u16     inbound_frame_size;
+-      u8      init_code;
+-      u8      reserved2;
+-      u32     max_inbound_frames;
+-      u32     cur_inbound_frames;
+-      u32     max_outbound_frames;
++      __u16   org_id;
++      __u16   reserved;
++      __u16   iop_id:12;
++      __u16   reserved1:4;
++      __u16   host_unit_id;
++      __u16   segment_number:12;
++      __u16   i2o_version:4;
++      __u8    iop_state;
++      __u8    msg_type;
++      __u16   inbound_frame_size;
++      __u8    init_code;
++      __u8    reserved2;
++      __u32   max_inbound_frames;
++      __u32   cur_inbound_frames;
++      __u32   max_outbound_frames;
+       char    product_id[24];
+-      u32     expected_lct_size;
+-      u32     iop_capabilities;
+-      u32     desired_mem_size;
+-      u32     current_mem_size;
+-      u32     current_mem_base;
+-      u32     desired_io_size;
+-      u32     current_io_size;
+-      u32     current_io_base;
+-      u32     reserved3:24;
+-      u32     cmd_status:8;
++      __u32   expected_lct_size;
++      __u32   iop_capabilities;
++      __u32   desired_mem_size;
++      __u32   current_mem_size;
++      __u32   current_mem_base;
++      __u32   desired_io_size;
++      __u32   current_io_size;
++      __u32   current_io_base;
++      __u32   reserved3:24;
++      __u32   cmd_status:8;
+ } i2o_status_block;
+ /* Event indicator mask flags */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/isdn/capilli.h linux-libc-headers-2.6.8.0/include/linux/isdn/capilli.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/isdn/capilli.h       2004-03-28 07:52:12.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/isdn/capilli.h    2004-08-26 13:26:47.000000000 -0500
+@@ -43,20 +43,20 @@
+       char *driver_name;                      /* name of driver */
+       int (*load_firmware)(struct capi_ctr *, capiloaddata *);
+       void (*reset_ctr)(struct capi_ctr *);
+-      void (*register_appl)(struct capi_ctr *, u16 appl,
++      void (*register_appl)(struct capi_ctr *, __u16 appl,
+                             capi_register_params *);
+-      void (*release_appl)(struct capi_ctr *, u16 appl);
+-      u16  (*send_message)(struct capi_ctr *, struct sk_buff *skb);
++      void (*release_appl)(struct capi_ctr *, __u16 appl);
++      __u16  (*send_message)(struct capi_ctr *, struct sk_buff *skb);
+       
+       char *(*procinfo)(struct capi_ctr *);
+       int (*ctr_read_proc)(char *page, char **start, off_t off,
+                            int count, int *eof, struct capi_ctr *card);
+       /* filled in before calling ready callback */
+-      u8 manu[CAPI_MANUFACTURER_LEN];         /* CAPI_GET_MANUFACTURER */
++      __u8 manu[CAPI_MANUFACTURER_LEN];               /* CAPI_GET_MANUFACTURER */
+       capi_version version;                   /* CAPI_GET_VERSION */
+       capi_profile profile;                   /* CAPI_GET_PROFILE */
+-      u8 serial[CAPI_SERIAL_LEN];             /* CAPI_GET_SERIAL */
++      __u8 serial[CAPI_SERIAL_LEN];           /* CAPI_GET_SERIAL */
+       /* management information for kcapi */
+@@ -81,7 +81,7 @@
+ void capi_ctr_reseted(struct capi_ctr * card);
+ void capi_ctr_suspend_output(struct capi_ctr * card);
+ void capi_ctr_resume_output(struct capi_ctr * card);
+-void capi_ctr_handle_message(struct capi_ctr * card, u16 appl, struct sk_buff *skb);
++void capi_ctr_handle_message(struct capi_ctr * card, __u16 appl, struct sk_buff *skb);
+ // ---------------------------------------------------------------------------
+ // needed for AVM capi drivers
+@@ -102,11 +102,11 @@
+ // ---------------------------------------------------------------------------
+ // library functions for use by hardware controller drivers
+-void capilib_new_ncci(struct list_head *head, u16 applid, u32 ncci, u32 winsize);
+-void capilib_free_ncci(struct list_head *head, u16 applid, u32 ncci);
+-void capilib_release_appl(struct list_head *head, u16 applid);
++void capilib_new_ncci(struct list_head *head, __u16 applid, __u32 ncci, __u32 winsize);
++void capilib_free_ncci(struct list_head *head, __u16 applid, __u32 ncci);
++void capilib_release_appl(struct list_head *head, __u16 applid);
+ void capilib_release(struct list_head *head);
+-void capilib_data_b3_conf(struct list_head *head, u16 applid, u32 ncci, u16 msgid);
+-u16  capilib_data_b3_req(struct list_head *head, u16 applid, u32 ncci, u16 msgid);
++void capilib_data_b3_conf(struct list_head *head, __u16 applid, __u32 ncci, __u16 msgid);
++__u16  capilib_data_b3_req(struct list_head *head, __u16 applid, __u32 ncci, __u16 msgid);
+ #endif                                /* __CAPILLI_H__ */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/jhash.h linux-libc-headers-2.6.8.0/include/linux/jhash.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/jhash.h      2004-03-28 07:52:09.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/jhash.h   2004-08-26 05:42:08.000000000 -0500
+@@ -41,19 +41,19 @@
+  * of bytes.  No alignment or length assumptions are made about
+  * the input key.
+  */
+-static inline u32 jhash(const void *key, u32 length, u32 initval)
++static inline __u32 jhash(const void *key, __u32 length, __u32 initval)
+ {
+-      u32 a, b, c, len;
+-      const u8 *k = key;
++      __u32 a, b, c, len;
++      const __u8 *k = key;
+       len = length;
+       a = b = JHASH_GOLDEN_RATIO;
+       c = initval;
+       while (len >= 12) {
+-              a += (k[0] +((u32)k[1]<<8) +((u32)k[2]<<16) +((u32)k[3]<<24));
+-              b += (k[4] +((u32)k[5]<<8) +((u32)k[6]<<16) +((u32)k[7]<<24));
+-              c += (k[8] +((u32)k[9]<<8) +((u32)k[10]<<16)+((u32)k[11]<<24));
++              a += (k[0] +((__u32)k[1]<<8) +((__u32)k[2]<<16) +((__u32)k[3]<<24));
++              b += (k[4] +((__u32)k[5]<<8) +((__u32)k[6]<<16) +((__u32)k[7]<<24));
++              c += (k[8] +((__u32)k[9]<<8) +((__u32)k[10]<<16)+((__u32)k[11]<<24));
+               __jhash_mix(a,b,c);
+@@ -63,16 +63,16 @@
+       c += length;
+       switch (len) {
+-      case 11: c += ((u32)k[10]<<24);
+-      case 10: c += ((u32)k[9]<<16);
+-      case 9 : c += ((u32)k[8]<<8);
+-      case 8 : b += ((u32)k[7]<<24);
+-      case 7 : b += ((u32)k[6]<<16);
+-      case 6 : b += ((u32)k[5]<<8);
++      case 11: c += ((__u32)k[10]<<24);
++      case 10: c += ((__u32)k[9]<<16);
++      case 9 : c += ((__u32)k[8]<<8);
++      case 8 : b += ((__u32)k[7]<<24);
++      case 7 : b += ((__u32)k[6]<<16);
++      case 6 : b += ((__u32)k[5]<<8);
+       case 5 : b += k[4];
+-      case 4 : a += ((u32)k[3]<<24);
+-      case 3 : a += ((u32)k[2]<<16);
+-      case 2 : a += ((u32)k[1]<<8);
++      case 4 : a += ((__u32)k[3]<<24);
++      case 3 : a += ((__u32)k[2]<<16);
++      case 2 : a += ((__u32)k[1]<<8);
+       case 1 : a += k[0];
+       };
+@@ -81,12 +81,12 @@
+       return c;
+ }
+-/* A special optimized version that handles 1 or more of u32s.
+- * The length parameter here is the number of u32s in the key.
++/* A special optimized version that handles 1 or more of __u32s.
++ * The length parameter here is the number of __u32s in the key.
+  */
+-static inline u32 jhash2(u32 *k, u32 length, u32 initval)
++static inline __u32 jhash2(__u32 *k, __u32 length, __u32 initval)
+ {
+-      u32 a, b, c, len;
++      __u32 a, b, c, len;
+       a = b = JHASH_GOLDEN_RATIO;
+       c = initval;
+@@ -119,7 +119,7 @@
+  * NOTE: In partilar the "c += length; __jhash_mix(a,b,c);" normally
+  *       done at the end is not done here.
+  */
+-static inline u32 jhash_3words(u32 a, u32 b, u32 c, u32 initval)
++static inline __u32 jhash_3words(__u32 a, __u32 b, __u32 c, __u32 initval)
+ {
+       a += JHASH_GOLDEN_RATIO;
+       b += JHASH_GOLDEN_RATIO;
+@@ -130,12 +130,12 @@
+       return c;
+ }
+-static inline u32 jhash_2words(u32 a, u32 b, u32 initval)
++static inline __u32 jhash_2words(__u32 a, __u32 b, __u32 initval)
+ {
+       return jhash_3words(a, b, 0, initval);
+ }
+-static inline u32 jhash_1word(u32 a, u32 initval)
++static inline __u32 jhash_1word(__u32 a, __u32 initval)
+ {
+       return jhash_3words(a, 0, 0, initval);
+ }
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/jiffies.h linux-libc-headers-2.6.8.0/include/linux/jiffies.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/jiffies.h    2004-01-17 17:04:30.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/jiffies.h 2004-08-26 13:26:33.000000000 -0500
+@@ -12,15 +12,15 @@
+  * without sampling the sequence number in xtime_lock.
+  * get_jiffies_64() will do this for you as appropriate.
+  */
+-extern u64 jiffies_64;
++extern __u64 jiffies_64;
+ extern unsigned long volatile jiffies;
+ #if (BITS_PER_LONG < 64)
+-u64 get_jiffies_64(void);
++__u64 get_jiffies_64(void);
+ #else
+-static inline u64 get_jiffies_64(void)
++static inline __u64 get_jiffies_64(void)
+ {
+-      return (u64)jiffies;
++      return (__u64)jiffies;
+ }
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/kernel_stat.h linux-libc-headers-2.6.8.0/include/linux/kernel_stat.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/kernel_stat.h        2004-04-19 16:13:51.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/kernel_stat.h     2004-08-26 05:42:08.000000000 -0500
+@@ -12,13 +12,13 @@
+  */
+ struct cpu_usage_stat {
+-      u64 user;
+-      u64 nice;
+-      u64 system;
+-      u64 softirq;
+-      u64 irq;
+-      u64 idle;
+-      u64 iowait;
++      __u64 user;
++      __u64 nice;
++      __u64 system;
++      __u64 softirq;
++      __u64 irq;
++      __u64 idle;
++      __u64 iowait;
+ };
+ struct kernel_stat {
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/libata.h linux-libc-headers-2.6.8.0/include/linux/libata.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/libata.h     2004-08-18 13:16:03.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/libata.h  2004-08-26 05:42:08.000000000 -0500
+@@ -160,7 +160,7 @@
+ struct ata_queued_cmd;
+ /* typedefs */
+-typedef int (*ata_qc_cb_t) (struct ata_queued_cmd *qc, u8 drv_stat);
++typedef int (*ata_qc_cb_t) (struct ata_queued_cmd *qc, __u8 drv_stat);
+ struct ata_ioports {
+       unsigned long           cmd_addr;
+@@ -246,18 +246,18 @@
+ };
+ struct ata_device {
+-      u64                     n_sectors;      /* size of device, if ATA */
++      __u64                   n_sectors;      /* size of device, if ATA */
+       unsigned long           flags;          /* ATA_DFLAG_xxx */
+       unsigned int            class;          /* ATA_DEV_xxx */
+       unsigned int            devno;          /* 0 or 1 */
+-      u16                     id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */
++      __u16                   id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */
+       unsigned int            pio_mode;
+       unsigned int            udma_mode;
+       /* cache info about current transfer mode */
+-      u8                      xfer_protocol;  /* taskfile xfer protocol */
+-      u8                      read_cmd;       /* opcode to use on read */
+-      u8                      write_cmd;      /* opcode to use on write */
++      __u8                    xfer_protocol;  /* taskfile xfer protocol */
++      __u8                    read_cmd;       /* opcode to use on read */
++      __u8                    write_cmd;      /* opcode to use on write */
+ };
+ struct ata_port {
+@@ -272,8 +272,8 @@
+       struct ata_ioports      ioaddr; /* ATA cmd/ctl/dma register blocks */
+-      u8                      ctl;    /* cache of ATA control register */
+-      u8                      last_ctl;       /* Cache last written value */
++      __u8                    ctl;    /* cache of ATA control register */
++      __u8                    last_ctl;       /* Cache last written value */
+       unsigned int            bus_state;
+       unsigned int            port_state;
+       unsigned int            pio_mask;
+@@ -312,7 +312,7 @@
+       void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf);
+       void (*exec_command)(struct ata_port *ap, struct ata_taskfile *tf);
+-      u8   (*check_status)(struct ata_port *ap);
++      __u8   (*check_status)(struct ata_port *ap);
+       void (*phy_reset) (struct ata_port *ap);
+       void (*post_set_mode) (struct ata_port *ap);
+@@ -328,9 +328,9 @@
+       irqreturn_t (*irq_handler)(int, void *, struct pt_regs *);
+       void (*irq_clear) (struct ata_port *);
+-      u32 (*scr_read) (struct ata_port *ap, unsigned int sc_reg);
++      __u32 (*scr_read) (struct ata_port *ap, unsigned int sc_reg);
+       void (*scr_write) (struct ata_port *ap, unsigned int sc_reg,
+-                         u32 val);
++                         __u32 val);
+       int (*port_start) (struct ata_port *ap);
+       void (*port_stop) (struct ata_port *ap);
+@@ -374,10 +374,10 @@
+ extern void ata_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf);
+ extern void ata_tf_read_pio(struct ata_port *ap, struct ata_taskfile *tf);
+ extern void ata_tf_read_mmio(struct ata_port *ap, struct ata_taskfile *tf);
+-extern void ata_tf_to_fis(struct ata_taskfile *tf, u8 *fis, u8 pmp);
+-extern void ata_tf_from_fis(u8 *fis, struct ata_taskfile *tf);
+-extern u8 ata_check_status_pio(struct ata_port *ap);
+-extern u8 ata_check_status_mmio(struct ata_port *ap);
++extern void ata_tf_to_fis(struct ata_taskfile *tf, __u8 *fis, __u8 pmp);
++extern void ata_tf_from_fis(__u8 *fis, struct ata_taskfile *tf);
++extern __u8 ata_check_status_pio(struct ata_port *ap);
++extern __u8 ata_check_status_mmio(struct ata_port *ap);
+ extern void ata_exec_command_pio(struct ata_port *ap, struct ata_taskfile *tf);
+ extern void ata_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf);
+ extern int ata_port_start (struct ata_port *ap);
+@@ -397,7 +397,7 @@
+ extern void ata_bmdma_start_pio (struct ata_queued_cmd *qc);
+ extern void ata_bmdma_irq_clear(struct ata_port *ap);
+ extern int pci_test_config_bits(struct pci_dev *pdev, struct pci_bits *bits);
+-extern void ata_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat);
++extern void ata_qc_complete(struct ata_queued_cmd *qc, __u8 drv_stat);
+ extern void ata_eng_timeout(struct ata_port *ap);
+ extern int ata_std_bios_param(struct scsi_device *sdev,
+                             struct block_device *bdev,
+@@ -416,7 +416,7 @@
+               (dev->class == ATA_DEV_ATAPI));
+ }
+-static inline u8 ata_chk_err(struct ata_port *ap)
++static inline __u8 ata_chk_err(struct ata_port *ap)
+ {
+       if (ap->flags & ATA_FLAG_MMIO) {
+               return readb((void *) ap->ioaddr.error_addr);
+@@ -424,12 +424,12 @@
+       return inb(ap->ioaddr.error_addr);
+ }
+-static inline u8 ata_chk_status(struct ata_port *ap)
++static inline __u8 ata_chk_status(struct ata_port *ap)
+ {
+       return ap->ops->check_status(ap);
+ }
+-static inline u8 ata_altstatus(struct ata_port *ap)
++static inline __u8 ata_altstatus(struct ata_port *ap)
+ {
+       if (ap->flags & ATA_FLAG_MMIO)
+               return readb(ap->ioaddr.altstatus_addr);
+@@ -442,10 +442,10 @@
+       ndelay(400);
+ }
+-static inline u8 ata_busy_wait(struct ata_port *ap, unsigned int bits,
++static inline __u8 ata_busy_wait(struct ata_port *ap, unsigned int bits,
+                              unsigned int max)
+ {
+-      u8 status;
++      __u8 status;
+       do {
+               udelay(10);
+@@ -456,9 +456,9 @@
+       return status;
+ }
+-static inline u8 ata_wait_idle(struct ata_port *ap)
++static inline __u8 ata_wait_idle(struct ata_port *ap)
+ {
+-      u8 status = ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 1000);
++      __u8 status = ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 1000);
+       if (status & (ATA_BUSY | ATA_DRQ)) {
+               unsigned long l = ap->ioaddr.status_addr;
+@@ -495,10 +495,10 @@
+               tf->device = ATA_DEVICE_OBS | ATA_DEV1;
+ }
+-static inline u8 ata_irq_on(struct ata_port *ap)
++static inline __u8 ata_irq_on(struct ata_port *ap)
+ {
+       struct ata_ioports *ioaddr = &ap->ioaddr;
+-      u8 tmp;
++      __u8 tmp;
+       ap->ctl &= ~ATA_NIEN;
+       ap->last_ctl = ap->ctl;
+@@ -514,10 +514,10 @@
+       return tmp;
+ }
+-static inline u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq)
++static inline __u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq)
+ {
+       unsigned int bits = chk_drq ? ATA_BUSY | ATA_DRQ : ATA_BUSY;
+-      u8 host_stat, post_stat, status;
++      __u8 host_stat, post_stat, status;
+       status = ata_busy_wait(ap, bits, 1000);
+       if (status & bits)
+@@ -545,12 +545,12 @@
+       return status;
+ }
+-static inline u32 scr_read(struct ata_port *ap, unsigned int reg)
++static inline __u32 scr_read(struct ata_port *ap, unsigned int reg)
+ {
+       return ap->ops->scr_read(ap, reg);
+ }
+-static inline void scr_write(struct ata_port *ap, unsigned int reg, u32 val)
++static inline void scr_write(struct ata_port *ap, unsigned int reg, __u32 val)
+ {
+       ap->ops->scr_write(ap, reg, val);
+ }
+@@ -589,9 +589,9 @@
+       }
+ }
+-static inline u8 ata_bmdma_status(struct ata_port *ap)
++static inline __u8 ata_bmdma_status(struct ata_port *ap)
+ {
+-      u8 host_stat;
++      __u8 host_stat;
+       if (ap->flags & ATA_FLAG_MMIO) {
+               void *mmio = (void *) ap->ioaddr.bmdma_addr;
+               host_stat = readb(mmio + ATA_DMA_STATUS);
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/bind.h linux-libc-headers-2.6.8.0/include/linux/lockd/bind.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/bind.h 2003-12-15 12:46:58.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/lockd/bind.h      2004-08-26 05:42:08.000000000 -0500
+@@ -18,7 +18,7 @@
+  * This is the set of functions for lockd->nfsd communication
+  */
+ struct nlmsvc_binding {
+-      u32                     (*fopen)(struct svc_rqst *,
++      __u32                   (*fopen)(struct svc_rqst *,
+                                               struct nfs_fh *,
+                                               struct file *);
+       void                    (*fclose)(struct file *);
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/nlm.h linux-libc-headers-2.6.8.0/include/linux/lockd/nlm.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/nlm.h  2004-01-17 17:04:34.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/lockd/nlm.h       2004-08-26 05:42:08.000000000 -0500
+@@ -11,8 +11,8 @@
+ /* Maximum file offset in file_lock.fl_end */
+-# define NLM_OFFSET_MAX               ((s32) 0x7fffffff)
+-# define NLM4_OFFSET_MAX      ((s64) ((~(u64)0) >> 1))
++# define NLM_OFFSET_MAX               ((__s32) 0x7fffffff)
++# define NLM4_OFFSET_MAX      ((__s64) ((~(__u64)0) >> 1))
+ /* Return states for NLM */
+ enum {
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/share.h linux-libc-headers-2.6.8.0/include/linux/lockd/share.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/share.h        2003-12-15 12:46:58.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/lockd/share.h     2004-08-26 13:26:43.000000000 -0500
+@@ -17,13 +17,13 @@
+       struct nlm_host *       s_host;         /* client host */
+       struct nlm_file *       s_file;         /* shared file */
+       struct xdr_netobj       s_owner;        /* owner handle */
+-      u32                     s_access;       /* access mode */
+-      u32                     s_mode;         /* deny mode */
++      __u32                   s_access;       /* access mode */
++      __u32                   s_mode;         /* deny mode */
+ };
+-u32   nlmsvc_share_file(struct nlm_host *, struct nlm_file *,
++__u32 nlmsvc_share_file(struct nlm_host *, struct nlm_file *,
+                                              struct nlm_args *);
+-u32   nlmsvc_unshare_file(struct nlm_host *, struct nlm_file *,
++__u32 nlmsvc_unshare_file(struct nlm_host *, struct nlm_file *,
+                                              struct nlm_args *);
+ int   nlmsvc_traverse_shares(struct nlm_host *, struct nlm_file *, int);
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/sm_inter.h linux-libc-headers-2.6.8.0/include/linux/lockd/sm_inter.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/sm_inter.h     2003-12-15 12:46:58.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/lockd/sm_inter.h  2004-08-26 05:42:08.000000000 -0500
+@@ -24,23 +24,23 @@
+  * Arguments for all calls to statd
+  */
+ struct nsm_args {
+-      u32             addr;           /* remote address */
+-      u32             prog;           /* RPC callback info */
+-      u32             vers;
+-      u32             proc;
+-      u32             proto;          /* protocol (udp/tcp) plus server/client flag */
++      __u32           addr;           /* remote address */
++      __u32           prog;           /* RPC callback info */
++      __u32           vers;
++      __u32           proc;
++      __u32           proto;          /* protocol (udp/tcp) plus server/client flag */
+ };
+ /*
+  * Result returned by statd
+  */
+ struct nsm_res {
+-      u32             status;
+-      u32             state;
++      __u32           status;
++      __u32           state;
+ };
+ int           nsm_monitor(struct nlm_host *);
+ int           nsm_unmonitor(struct nlm_host *);
+-extern u32    nsm_local_state;
++extern __u32  nsm_local_state;
+ #endif /* LINUX_LOCKD_SM_INTER_H */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/xdr.h linux-libc-headers-2.6.8.0/include/linux/lockd/xdr.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/xdr.h  2004-01-05 12:42:33.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/lockd/xdr.h       2004-08-26 05:42:08.000000000 -0500
+@@ -48,12 +48,12 @@
+ struct nlm_args {
+       struct nlm_cookie       cookie;
+       struct nlm_lock         lock;
+-      u32                     block;
+-      u32                     reclaim;
+-      u32                     state;
+-      u32                     monitor;
+-      u32                     fsm_access;
+-      u32                     fsm_mode;
++      __u32                   block;
++      __u32                   reclaim;
++      __u32                   state;
++      __u32                   monitor;
++      __u32                   fsm_access;
++      __u32                   fsm_mode;
+ };
+ typedef struct nlm_args nlm_args;
+@@ -63,7 +63,7 @@
+  */
+ struct nlm_res {
+       struct nlm_cookie       cookie;
+-      u32                     status;
++      __u32                   status;
+       struct nlm_lock         lock;
+ };
+@@ -73,10 +73,10 @@
+ struct nlm_reboot {
+       char *          mon;
+       int             len;
+-      u32             state;
+-      u32             addr;
+-      u32             vers;
+-      u32             proto;
++      __u32           state;
++      __u32           addr;
++      __u32           vers;
++      __u32           proto;
+ };
+ /*
+@@ -84,24 +84,24 @@
+  */
+ #define NLMSVC_XDRSIZE                sizeof(struct nlm_args)
+-int   nlmsvc_decode_testargs(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlmsvc_encode_testres(struct svc_rqst *, u32 *, struct nlm_res *);
+-int   nlmsvc_decode_lockargs(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlmsvc_decode_cancargs(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlmsvc_decode_unlockargs(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlmsvc_encode_res(struct svc_rqst *, u32 *, struct nlm_res *);
+-int   nlmsvc_decode_res(struct svc_rqst *, u32 *, struct nlm_res *);
+-int   nlmsvc_encode_void(struct svc_rqst *, u32 *, void *);
+-int   nlmsvc_decode_void(struct svc_rqst *, u32 *, void *);
+-int   nlmsvc_decode_shareargs(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlmsvc_encode_shareres(struct svc_rqst *, u32 *, struct nlm_res *);
+-int   nlmsvc_decode_notify(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlmsvc_decode_reboot(struct svc_rqst *, u32 *, struct nlm_reboot *);
++int   nlmsvc_decode_testargs(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlmsvc_encode_testres(struct svc_rqst *, __u32 *, struct nlm_res *);
++int   nlmsvc_decode_lockargs(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlmsvc_decode_cancargs(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlmsvc_decode_unlockargs(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlmsvc_encode_res(struct svc_rqst *, __u32 *, struct nlm_res *);
++int   nlmsvc_decode_res(struct svc_rqst *, __u32 *, struct nlm_res *);
++int   nlmsvc_encode_void(struct svc_rqst *, __u32 *, void *);
++int   nlmsvc_decode_void(struct svc_rqst *, __u32 *, void *);
++int   nlmsvc_decode_shareargs(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlmsvc_encode_shareres(struct svc_rqst *, __u32 *, struct nlm_res *);
++int   nlmsvc_decode_notify(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlmsvc_decode_reboot(struct svc_rqst *, __u32 *, struct nlm_reboot *);
+ /*
+-int   nlmclt_encode_testargs(struct rpc_rqst *, u32 *, struct nlm_args *);
+-int   nlmclt_encode_lockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
+-int   nlmclt_encode_cancargs(struct rpc_rqst *, u32 *, struct nlm_args *);
+-int   nlmclt_encode_unlockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
++int   nlmclt_encode_testargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
++int   nlmclt_encode_lockargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
++int   nlmclt_encode_cancargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
++int   nlmclt_encode_unlockargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
+  */
+ #endif /* LOCKD_XDR_H */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/lockd/xdr4.h linux-libc-headers-2.6.8.0/include/linux/lockd/xdr4.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/lockd/xdr4.h 2004-01-05 12:42:33.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/lockd/xdr4.h      2004-08-26 05:42:08.000000000 -0500
+@@ -22,24 +22,24 @@
+-int   nlm4svc_decode_testargs(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlm4svc_encode_testres(struct svc_rqst *, u32 *, struct nlm_res *);
+-int   nlm4svc_decode_lockargs(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlm4svc_decode_cancargs(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlm4svc_decode_unlockargs(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlm4svc_encode_res(struct svc_rqst *, u32 *, struct nlm_res *);
+-int   nlm4svc_decode_res(struct svc_rqst *, u32 *, struct nlm_res *);
+-int   nlm4svc_encode_void(struct svc_rqst *, u32 *, void *);
+-int   nlm4svc_decode_void(struct svc_rqst *, u32 *, void *);
+-int   nlm4svc_decode_shareargs(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlm4svc_encode_shareres(struct svc_rqst *, u32 *, struct nlm_res *);
+-int   nlm4svc_decode_notify(struct svc_rqst *, u32 *, struct nlm_args *);
+-int   nlm4svc_decode_reboot(struct svc_rqst *, u32 *, struct nlm_reboot *);
++int   nlm4svc_decode_testargs(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlm4svc_encode_testres(struct svc_rqst *, __u32 *, struct nlm_res *);
++int   nlm4svc_decode_lockargs(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlm4svc_decode_cancargs(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlm4svc_decode_unlockargs(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlm4svc_encode_res(struct svc_rqst *, __u32 *, struct nlm_res *);
++int   nlm4svc_decode_res(struct svc_rqst *, __u32 *, struct nlm_res *);
++int   nlm4svc_encode_void(struct svc_rqst *, __u32 *, void *);
++int   nlm4svc_decode_void(struct svc_rqst *, __u32 *, void *);
++int   nlm4svc_decode_shareargs(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlm4svc_encode_shareres(struct svc_rqst *, __u32 *, struct nlm_res *);
++int   nlm4svc_decode_notify(struct svc_rqst *, __u32 *, struct nlm_args *);
++int   nlm4svc_decode_reboot(struct svc_rqst *, __u32 *, struct nlm_reboot *);
+ /*
+-int   nlmclt_encode_testargs(struct rpc_rqst *, u32 *, struct nlm_args *);
+-int   nlmclt_encode_lockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
+-int   nlmclt_encode_cancargs(struct rpc_rqst *, u32 *, struct nlm_args *);
+-int   nlmclt_encode_unlockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
++int   nlmclt_encode_testargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
++int   nlmclt_encode_lockargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
++int   nlmclt_encode_cancargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
++int   nlmclt_encode_unlockargs(struct rpc_rqst *, __u32 *, struct nlm_args *);
+  */
+ #endif /* LOCKD_XDR4_H */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/mca.h linux-libc-headers-2.6.8.0/include/linux/mca.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/mca.h        2004-08-18 13:16:03.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/mca.h     2004-08-26 05:42:08.000000000 -0500
+@@ -50,7 +50,7 @@
+ };
+ struct mca_device {
+-      u64                     dma_mask;
++      __u64                   dma_mask;
+       int                     pos_id;
+       int                     slot;
+@@ -91,7 +91,7 @@
+ };
+ struct mca_bus {
+-      u64                     default_dma_mask;
++      __u64                   default_dma_mask;
+       int                     number;
+       struct mca_bus_accessor_functions f;
+       struct device           dev;
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/mii.h linux-libc-headers-2.6.8.0/include/linux/mii.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/mii.h        2004-06-23 16:52:55.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/mii.h     2004-08-26 05:42:08.000000000 -0500
+@@ -138,10 +138,10 @@
+ /* This structure is used in all SIOCxMIIxxx ioctl calls */
+ struct mii_ioctl_data {
+-      u16             phy_id;
+-      u16             reg_num;
+-      u16             val_in;
+-      u16             val_out;
++      __u16           phy_id;
++      __u16           reg_num;
++      __u16           val_in;
++      __u16           val_out;
+ };
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/mtd/map.h linux-libc-headers-2.6.8.0/include/linux/mtd/map.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/mtd/map.h    2004-08-18 13:16:06.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/mtd/map.h 2004-08-26 05:42:08.000000000 -0500
+@@ -36,20 +36,20 @@
+       int buswidth; /* in octets */
+ #ifdef CONFIG_MTD_COMPLEX_MAPPINGS
+-      u8 (*read8)(struct map_info *, unsigned long);
+-      u16 (*read16)(struct map_info *, unsigned long);
+-      u32 (*read32)(struct map_info *, unsigned long);  
+-      u64 (*read64)(struct map_info *, unsigned long);  
++      __u8 (*read8)(struct map_info *, unsigned long);
++      __u16 (*read16)(struct map_info *, unsigned long);
++      __u32 (*read32)(struct map_info *, unsigned long);  
++      __u64 (*read64)(struct map_info *, unsigned long);  
+       /* If it returned a 'long' I'd call it readl.
+        * It doesn't.
+        * I won't.
+        * dwmw2 */
+       
+       void (*copy_from)(struct map_info *, void *, unsigned long, ssize_t);
+-      void (*write8)(struct map_info *, u8, unsigned long);
+-      void (*write16)(struct map_info *, u16, unsigned long);
+-      void (*write32)(struct map_info *, u32, unsigned long);
+-      void (*write64)(struct map_info *, u64, unsigned long);
++      void (*write8)(struct map_info *, __u8, unsigned long);
++      void (*write16)(struct map_info *, __u16, unsigned long);
++      void (*write32)(struct map_info *, __u32, unsigned long);
++      void (*write64)(struct map_info *, __u64, unsigned long);
+       void (*copy_to)(struct map_info *, unsigned long, const void *, ssize_t);
+       /* We can perhaps put in 'point' and 'unpoint' methods, if we really
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/mtd/nand.h linux-libc-headers-2.6.8.0/include/linux/mtd/nand.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/mtd/nand.h   2004-08-18 13:16:06.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/mtd/nand.h        2004-08-26 05:42:08.000000000 -0500
+@@ -271,8 +271,8 @@
+       
+       u_char          (*read_byte)(struct mtd_info *mtd);
+       void            (*write_byte)(struct mtd_info *mtd, u_char byte);
+-      u16             (*read_word)(struct mtd_info *mtd);
+-      void            (*write_word)(struct mtd_info *mtd, u16 word);
++      __u16           (*read_word)(struct mtd_info *mtd);
++      void            (*write_word)(struct mtd_info *mtd, __u16 word);
+       
+       void            (*write_buf)(struct mtd_info *mtd, const u_char *buf, int len);
+       void            (*read_buf)(struct mtd_info *mtd, u_char *buf, int len);
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/mtd/pmc551.h linux-libc-headers-2.6.8.0/include/linux/mtd/pmc551.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/mtd/pmc551.h 2004-03-28 07:52:13.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/mtd/pmc551.h      2004-08-26 05:42:08.000000000 -0500
+@@ -25,9 +25,9 @@
+ struct mypriv {
+         struct pci_dev *dev;
+         u_char *start;
+-        u32    base_map0;
+-        u32    curr_map0;
+-        u32    asize;
++        __u32    base_map0;
++        __u32    curr_map0;
++        __u32    asize;
+       struct mtd_info *nextpmc551;
+ };                       
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nbd.h linux-libc-headers-2.6.8.0/include/linux/nbd.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/nbd.h        2004-03-28 07:52:09.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/nbd.h     2004-08-26 05:42:08.000000000 -0500
+@@ -45,11 +45,11 @@
+  * server. All data are in network byte order.
+  */
+ struct nbd_request {
+-      u32 magic;
+-      u32 type;       /* == READ || == WRITE  */
++      __u32 magic;
++      __u32 type;     /* == READ || == WRITE  */
+       char handle[8];
+-      u64 from;
+-      u32 len;
++      __u64 from;
++      __u32 len;
+ }
+ #ifdef __GNUC__
+       __attribute__ ((packed))
+@@ -61,8 +61,8 @@
+  * it has completed an I/O request (or an error occurs).
+  */
+ struct nbd_reply {
+-      u32 magic;
+-      u32 error;              /* 0 = ok, else error   */
++      __u32 magic;
++      __u32 error;            /* 0 = ok, else error   */
+       char handle[8];         /* handle you got from request  */
+ };
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfs_fs_i.h linux-libc-headers-2.6.8.0/include/linux/nfs_fs_i.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/nfs_fs_i.h   2004-01-17 17:04:31.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/nfs_fs_i.h        2004-08-26 05:42:08.000000000 -0500
+@@ -8,8 +8,8 @@
+  * NFS lock info
+  */
+ struct nfs_lock_info {
+-      u32             state;
+-      u32             flags;
++      __u32           state;
++      __u32           flags;
+       struct nlm_host *host;
+ };
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfs_fs_sb.h linux-libc-headers-2.6.8.0/include/linux/nfs_fs_sb.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/nfs_fs_sb.h  2004-06-09 07:00:50.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/nfs_fs_sb.h       2004-08-26 05:42:08.000000000 -0500
+@@ -37,10 +37,10 @@
+       struct list_head        nfs4_siblings;  /* List of other nfs_server structs
+                                                * that share the same clientid
+                                                */
+-      u32                     attr_bitmask[2];/* V4 bitmask representing the set
++      __u32                   attr_bitmask[2];/* V4 bitmask representing the set
+                                                  of attributes supported on this
+                                                  filesystem */
+-      u32                     acl_bitmask;    /* V4 bitmask representing the ACEs
++      __u32                   acl_bitmask;    /* V4 bitmask representing the ACEs
+                                                  that are supported on this
+                                                  filesystem */
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfs_xdr.h linux-libc-headers-2.6.8.0/include/linux/nfs_xdr.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/nfs_xdr.h    2004-06-09 07:00:50.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/nfs_xdr.h 2004-08-26 05:42:08.000000000 -0500
+@@ -90,9 +90,9 @@
+ };
+ struct nfs4_change_info {
+-      u32                     atomic;
+-      u64                     before;
+-      u64                     after;
++      __u32                   atomic;
++      __u64                   before;
++      __u64                   after;
+ };
+ /*
+@@ -112,7 +112,7 @@
+       } u;
+       const struct qstr *     name;
+       const struct nfs_server *server;         /* Needed for ID mapping */
+-      const u32 *             bitmask;
++      const __u32 *           bitmask;
+ };
+ struct nfs_openres {
+@@ -168,7 +168,7 @@
+  *   */
+ struct nfs_lowner {
+       __u64           clientid;
+-      u32                     id;
++      __u32                     id;
+ };
+ struct nfs_open_to_lock {
+@@ -328,7 +328,7 @@
+       nfs4_stateid                    stateid;
+       struct iattr *                  iap;
+       const struct nfs_server *       server; /* Needed for name mapping */
+-      const u32 *                     bitmask;
++      const __u32 *                   bitmask;
+ };
+ struct nfs_setattrres {
+@@ -482,32 +482,32 @@
+ #ifdef CONFIG_NFS_V4
+-typedef u64 clientid4;
++typedef __u64 clientid4;
+ struct nfs4_accessargs {
+       const struct nfs_fh *           fh;
+-      u32                             access;
++      __u32                           access;
+ };
+ struct nfs4_accessres {
+-      u32                             supported;
+-      u32                             access;
++      __u32                           supported;
++      __u32                           access;
+ };
+ struct nfs4_create_arg {
+-      u32                             ftype;
++      __u32                           ftype;
+       union {
+               struct qstr *           symlink;    /* NF4LNK */
+               struct {
+-                      u32             specdata1;
+-                      u32             specdata2;
++                      __u32           specdata1;
++                      __u32           specdata2;
+               } device;    /* NF4BLK, NF4CHR */
+       } u;
+       const struct qstr *             name;
+       const struct nfs_server *       server;
+       const struct iattr *            attrs;
+       const struct nfs_fh *           dir_fh;
+-      const u32 *                     bitmask;
++      const __u32 *                   bitmask;
+ };
+ struct nfs4_create_res {
+@@ -519,12 +519,12 @@
+ struct nfs4_fsinfo_arg {
+       const struct nfs_fh *           fh;
+-      const u32 *                     bitmask;
++      const __u32 *                   bitmask;
+ };
+ struct nfs4_getattr_arg {
+       const struct nfs_fh *           fh;
+-      const u32 *                     bitmask;
++      const __u32 *                   bitmask;
+ };
+ struct nfs4_getattr_res {
+@@ -541,7 +541,7 @@
+ struct nfs4_lookup_arg {
+       const struct nfs_fh *           dir_fh;
+       const struct qstr *             name;
+-      const u32 *                     bitmask;
++      const __u32 *                   bitmask;
+ };
+ struct nfs4_lookup_res {
+@@ -551,19 +551,19 @@
+ };
+ struct nfs4_lookup_root_arg {
+-      const u32 *                     bitmask;
++      const __u32 *                   bitmask;
+ };
+ struct nfs4_pathconf_arg {
+       const struct nfs_fh *           fh;
+-      const u32 *                     bitmask;
++      const __u32 *                   bitmask;
+ };
+ struct nfs4_readdir_arg {
+       const struct nfs_fh *           fh;
+-      u64                             cookie;
++      __u64                           cookie;
+       nfs4_verifier                   verifier;
+-      u32                             count;
++      __u32                           count;
+       struct page **                  pages;  /* zero-copy data */
+       unsigned int                    pgbase; /* zero-copy data */
+ };
+@@ -575,7 +575,7 @@
+ struct nfs4_readlink {
+       const struct nfs_fh *           fh;
+-      u32                             count;   /* zero-copy data */
++      __u32                           count;   /* zero-copy data */
+       struct page **                  pages;   /* zero-copy data */
+ };
+@@ -599,23 +599,23 @@
+ struct nfs4_setclientid {
+       nfs4_verifier                   sc_verifier;      /* request */
+       char *                          sc_name;          /* request */
+-      u32                             sc_prog;          /* request */
++      __u32                           sc_prog;          /* request */
+       char                            sc_netid[4];      /* request */
+       char                            sc_uaddr[24];     /* request */
+-      u32                             sc_cb_ident;      /* request */
++      __u32                           sc_cb_ident;      /* request */
+       struct nfs4_client *            sc_state;         /* response */
+ };
+ struct nfs4_statfs_arg {
+       const struct nfs_fh *           fh;
+-      const u32 *                     bitmask;
++      const __u32 *                   bitmask;
+ };
+ struct nfs4_server_caps_res {
+-      u32                             attr_bitmask[2];
+-      u32                             acl_bitmask;
+-      u32                             has_links;
+-      u32                             has_symlinks;
++      __u32                           attr_bitmask[2];
++      __u32                           acl_bitmask;
++      __u32                           has_links;
++      __u32                           has_symlinks;
+ };
+ #endif /* CONFIG_NFS_V4 */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/state.h linux-libc-headers-2.6.8.0/include/linux/nfsd/state.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/state.h 2004-08-18 13:16:07.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/nfsd/state.h      2004-08-26 05:42:08.000000000 -0500
+@@ -41,18 +41,18 @@
+ #define NFS4_OPAQUE_LIMIT 1024
+ typedef struct {
+-      u32             cl_boot;
+-      u32             cl_id;
++      __u32             cl_boot;
++      __u32             cl_id;
+ } clientid_t;
+ typedef struct {
+-      u32             so_boot;
+-      u32             so_stateownerid;
+-      u32             so_fileid;
++      __u32             so_boot;
++      __u32             so_stateownerid;
++      __u32             so_fileid;
+ } stateid_opaque_t;
+ typedef struct {
+-      u32                     si_generation;
++      __u32                     si_generation;
+       stateid_opaque_t        si_opaque;
+ } stateid_t;
+ #define si_boot           si_opaque.so_boot
+@@ -68,14 +68,14 @@
+ /* client delegation callback info */
+ struct nfs4_callback {
+       /* SETCLIENTID info */
+-      u32                     cb_parsed;  /* addr parsed */
+-      u32                     cb_addr;
++      __u32                   cb_parsed;  /* addr parsed */
++      __u32                     cb_addr;
+       unsigned short          cb_port;
+-      u32                     cb_prog;
+-      u32                     cb_ident;
++      __u32                     cb_prog;
++      __u32                     cb_ident;
+       struct xdr_netobj       cb_netid;
+       /* RPC client info */
+-      u32                     cb_set;     /* successful CB_NULL call */
++      __u32                   cb_set;     /* successful CB_NULL call */
+       struct rpc_program      cb_program;
+       struct rpc_stat         cb_stat;
+       struct rpc_clnt *       cb_client;
+@@ -99,7 +99,7 @@
+       struct xdr_netobj       cl_name;        /* id generated by client */
+       nfs4_verifier           cl_verifier;    /* generated by client */
+       time_t                  cl_time;        /* time of last lease renewal */
+-      u32                     cl_addr;        /* client ipaddress */
++      __u32                   cl_addr;        /* client ipaddress */
+       struct svc_cred         cl_cred;        /* setclientid principal */
+       clientid_t              cl_clientid;    /* generated by server */
+       nfs4_verifier           cl_confirm;     /* generated by server */
+@@ -116,7 +116,7 @@
+       struct list_head        cr_strhash;     /* hash by cr_name */
+       struct xdr_netobj       cr_name;        /* id generated by client */
+       time_t                  cr_first_state; /* first state aquisition */
+-      u32                     cr_expired;     /* boolean: lease expired? */
++      __u32                   cr_expired;     /* boolean: lease expired? */
+ };
+ static inline void
+@@ -139,7 +139,7 @@
+  * is cached. 
+  */
+ struct nfs4_replay {
+-      u32                     rp_status;
++      __u32                   rp_status;
+       unsigned int            rp_buflen;
+       char                    *rp_buf;
+       unsigned                intrp_allocated;
+@@ -175,9 +175,9 @@
+       struct list_head        so_close_lru; /* tail queue */
+       time_t                  so_time; /* time of placement on so_close_lru */
+       int                     so_is_open_owner; /* 1=openowner,0=lockowner */
+-      u32                     so_id;
++      __u32                     so_id;
+       struct nfs4_client *    so_client;
+-      u32                     so_seqid;    
++      __u32                     so_seqid;    
+       struct xdr_netobj       so_owner;     /* open owner name */
+       int                     so_confirmed; /* successful OPEN_CONFIRM? */
+       struct nfs4_replay      so_replay;
+@@ -192,7 +192,7 @@
+       struct list_head        fi_hash;    /* hash by "struct inode *" */
+       struct list_head        fi_perfile; /* list: nfs4_stateid */
+       struct inode            *fi_inode;
+-      u32                     fi_id;      /* used with stateowner->so_id 
++      __u32                     fi_id;      /* used with stateowner->so_id 
+                                            * for stateid_hashtbl hash */
+ };
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr.h linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr.h   2004-08-18 13:16:07.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr.h        2004-08-26 05:42:08.000000000 -0500
+@@ -83,7 +83,7 @@
+       struct svc_fh           fh;
+       __u32                   cookie;
+       __u32                   count;
+-      u32 *                   buffer;
++      __u32 *                 buffer;
+ };
+ struct nfsd_attrstat {
+@@ -107,9 +107,9 @@
+       int                     count;
+       struct readdir_cd       common;
+-      u32 *                   buffer;
++      __u32 *                 buffer;
+       int                     buflen;
+-      u32 *                   offset;
++      __u32 *                 offset;
+ };
+ struct nfsd_statfsres {
+@@ -134,39 +134,39 @@
+ #define NFS2_SVC_XDRSIZE      sizeof(union nfsd_xdrstore)
+-int nfssvc_decode_void(struct svc_rqst *, u32 *, void *);
+-int nfssvc_decode_fhandle(struct svc_rqst *, u32 *, struct nfsd_fhandle *);
+-int nfssvc_decode_sattrargs(struct svc_rqst *, u32 *,
++int nfssvc_decode_void(struct svc_rqst *, __u32 *, void *);
++int nfssvc_decode_fhandle(struct svc_rqst *, __u32 *, struct nfsd_fhandle *);
++int nfssvc_decode_sattrargs(struct svc_rqst *, __u32 *,
+                               struct nfsd_sattrargs *);
+-int nfssvc_decode_diropargs(struct svc_rqst *, u32 *,
++int nfssvc_decode_diropargs(struct svc_rqst *, __u32 *,
+                               struct nfsd_diropargs *);
+-int nfssvc_decode_readargs(struct svc_rqst *, u32 *,
++int nfssvc_decode_readargs(struct svc_rqst *, __u32 *,
+                               struct nfsd_readargs *);
+-int nfssvc_decode_writeargs(struct svc_rqst *, u32 *,
++int nfssvc_decode_writeargs(struct svc_rqst *, __u32 *,
+                               struct nfsd_writeargs *);
+-int nfssvc_decode_createargs(struct svc_rqst *, u32 *,
++int nfssvc_decode_createargs(struct svc_rqst *, __u32 *,
+                               struct nfsd_createargs *);
+-int nfssvc_decode_renameargs(struct svc_rqst *, u32 *,
++int nfssvc_decode_renameargs(struct svc_rqst *, __u32 *,
+                               struct nfsd_renameargs *);
+-int nfssvc_decode_readlinkargs(struct svc_rqst *, u32 *,
++int nfssvc_decode_readlinkargs(struct svc_rqst *, __u32 *,
+                               struct nfsd_readlinkargs *);
+-int nfssvc_decode_linkargs(struct svc_rqst *, u32 *,
++int nfssvc_decode_linkargs(struct svc_rqst *, __u32 *,
+                               struct nfsd_linkargs *);
+-int nfssvc_decode_symlinkargs(struct svc_rqst *, u32 *,
++int nfssvc_decode_symlinkargs(struct svc_rqst *, __u32 *,
+                               struct nfsd_symlinkargs *);
+-int nfssvc_decode_readdirargs(struct svc_rqst *, u32 *,
++int nfssvc_decode_readdirargs(struct svc_rqst *, __u32 *,
+                               struct nfsd_readdirargs *);
+-int nfssvc_encode_void(struct svc_rqst *, u32 *, void *);
+-int nfssvc_encode_attrstat(struct svc_rqst *, u32 *, struct nfsd_attrstat *);
+-int nfssvc_encode_diropres(struct svc_rqst *, u32 *, struct nfsd_diropres *);
+-int nfssvc_encode_readlinkres(struct svc_rqst *, u32 *, struct nfsd_readlinkres *);
+-int nfssvc_encode_readres(struct svc_rqst *, u32 *, struct nfsd_readres *);
+-int nfssvc_encode_statfsres(struct svc_rqst *, u32 *, struct nfsd_statfsres *);
+-int nfssvc_encode_readdirres(struct svc_rqst *, u32 *, struct nfsd_readdirres *);
++int nfssvc_encode_void(struct svc_rqst *, __u32 *, void *);
++int nfssvc_encode_attrstat(struct svc_rqst *, __u32 *, struct nfsd_attrstat *);
++int nfssvc_encode_diropres(struct svc_rqst *, __u32 *, struct nfsd_diropres *);
++int nfssvc_encode_readlinkres(struct svc_rqst *, __u32 *, struct nfsd_readlinkres *);
++int nfssvc_encode_readres(struct svc_rqst *, __u32 *, struct nfsd_readres *);
++int nfssvc_encode_statfsres(struct svc_rqst *, __u32 *, struct nfsd_statfsres *);
++int nfssvc_encode_readdirres(struct svc_rqst *, __u32 *, struct nfsd_readdirres *);
+ int nfssvc_encode_entry(struct readdir_cd *, const char *name,
+                               int namlen, loff_t offset, ino_t ino, unsigned int);
+-int nfssvc_release_fhandle(struct svc_rqst *, u32 *, struct nfsd_fhandle *);
++int nfssvc_release_fhandle(struct svc_rqst *, __u32 *, struct nfsd_fhandle *);
+ #endif /* LINUX_NFSD_H */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr3.h linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr3.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr3.h  2004-08-18 13:16:07.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr3.h       2004-08-26 05:42:08.000000000 -0500
+@@ -101,7 +101,7 @@
+       __u32                   dircount;
+       __u32                   count;
+       __u32 *                 verf;
+-      u32 *                   buffer;
++      __u32 *                 buffer;
+ };
+ struct nfsd3_commitargs {
+@@ -167,10 +167,10 @@
+       __u32                   verf[2];
+       struct readdir_cd       common;
+-      u32 *                   buffer;
++      __u32 *                 buffer;
+       int                     buflen;
+-      u32 *                   offset;
+-      u32 *                   offset1;
++      __u32 *                 offset;
++      __u32 *                 offset1;
+       struct svc_rqst *       rqstp;
+ };
+@@ -245,70 +245,70 @@
+ #define NFS3_SVC_XDRSIZE              sizeof(union nfsd3_xdrstore)
+-int nfs3svc_decode_fhandle(struct svc_rqst *, u32 *, struct nfsd_fhandle *);
+-int nfs3svc_decode_sattrargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_fhandle(struct svc_rqst *, __u32 *, struct nfsd_fhandle *);
++int nfs3svc_decode_sattrargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_sattrargs *);
+-int nfs3svc_decode_diropargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_diropargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_diropargs *);
+-int nfs3svc_decode_accessargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_accessargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_accessargs *);
+-int nfs3svc_decode_readargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_readargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_readargs *);
+-int nfs3svc_decode_writeargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_writeargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_writeargs *);
+-int nfs3svc_decode_createargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_createargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_createargs *);
+-int nfs3svc_decode_mkdirargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_mkdirargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_createargs *);
+-int nfs3svc_decode_mknodargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_mknodargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_mknodargs *);
+-int nfs3svc_decode_renameargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_renameargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_renameargs *);
+-int nfs3svc_decode_readlinkargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_readlinkargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_readlinkargs *);
+-int nfs3svc_decode_linkargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_linkargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_linkargs *);
+-int nfs3svc_decode_symlinkargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_symlinkargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_symlinkargs *);
+-int nfs3svc_decode_readdirargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_readdirargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_readdirargs *);
+-int nfs3svc_decode_readdirplusargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_readdirplusargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_readdirargs *);
+-int nfs3svc_decode_commitargs(struct svc_rqst *, u32 *,
++int nfs3svc_decode_commitargs(struct svc_rqst *, __u32 *,
+                               struct nfsd3_commitargs *);
+-int nfs3svc_encode_voidres(struct svc_rqst *, u32 *, void *);
+-int nfs3svc_encode_attrstat(struct svc_rqst *, u32 *,
++int nfs3svc_encode_voidres(struct svc_rqst *, __u32 *, void *);
++int nfs3svc_encode_attrstat(struct svc_rqst *, __u32 *,
+                               struct nfsd3_attrstat *);
+-int nfs3svc_encode_wccstat(struct svc_rqst *, u32 *,
++int nfs3svc_encode_wccstat(struct svc_rqst *, __u32 *,
+                               struct nfsd3_attrstat *);
+-int nfs3svc_encode_diropres(struct svc_rqst *, u32 *,
++int nfs3svc_encode_diropres(struct svc_rqst *, __u32 *,
+                               struct nfsd3_diropres *);
+-int nfs3svc_encode_accessres(struct svc_rqst *, u32 *,
++int nfs3svc_encode_accessres(struct svc_rqst *, __u32 *,
+                               struct nfsd3_accessres *);
+-int nfs3svc_encode_readlinkres(struct svc_rqst *, u32 *,
++int nfs3svc_encode_readlinkres(struct svc_rqst *, __u32 *,
+                               struct nfsd3_readlinkres *);
+-int nfs3svc_encode_readres(struct svc_rqst *, u32 *, struct nfsd3_readres *);
+-int nfs3svc_encode_writeres(struct svc_rqst *, u32 *, struct nfsd3_writeres *);
+-int nfs3svc_encode_createres(struct svc_rqst *, u32 *,
++int nfs3svc_encode_readres(struct svc_rqst *, __u32 *, struct nfsd3_readres *);
++int nfs3svc_encode_writeres(struct svc_rqst *, __u32 *, struct nfsd3_writeres *);
++int nfs3svc_encode_createres(struct svc_rqst *, __u32 *,
+                               struct nfsd3_diropres *);
+-int nfs3svc_encode_renameres(struct svc_rqst *, u32 *,
++int nfs3svc_encode_renameres(struct svc_rqst *, __u32 *,
+                               struct nfsd3_renameres *);
+-int nfs3svc_encode_linkres(struct svc_rqst *, u32 *,
++int nfs3svc_encode_linkres(struct svc_rqst *, __u32 *,
+                               struct nfsd3_linkres *);
+-int nfs3svc_encode_readdirres(struct svc_rqst *, u32 *,
++int nfs3svc_encode_readdirres(struct svc_rqst *, __u32 *,
+                               struct nfsd3_readdirres *);
+-int nfs3svc_encode_fsstatres(struct svc_rqst *, u32 *,
++int nfs3svc_encode_fsstatres(struct svc_rqst *, __u32 *,
+                               struct nfsd3_fsstatres *);
+-int nfs3svc_encode_fsinfores(struct svc_rqst *, u32 *,
++int nfs3svc_encode_fsinfores(struct svc_rqst *, __u32 *,
+                               struct nfsd3_fsinfores *);
+-int nfs3svc_encode_pathconfres(struct svc_rqst *, u32 *,
++int nfs3svc_encode_pathconfres(struct svc_rqst *, __u32 *,
+                               struct nfsd3_pathconfres *);
+-int nfs3svc_encode_commitres(struct svc_rqst *, u32 *,
++int nfs3svc_encode_commitres(struct svc_rqst *, __u32 *,
+                               struct nfsd3_commitres *);
+-int nfs3svc_release_fhandle(struct svc_rqst *, u32 *,
++int nfs3svc_release_fhandle(struct svc_rqst *, __u32 *,
+                               struct nfsd3_attrstat *);
+-int nfs3svc_release_fhandle2(struct svc_rqst *, u32 *,
++int nfs3svc_release_fhandle2(struct svc_rqst *, __u32 *,
+                               struct nfsd3_fhandle_pair *);
+ int nfs3svc_encode_entry(struct readdir_cd *, const char *name,
+                               int namlen, loff_t offset, ino_t ino,
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr4.h linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr4.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/nfsd/xdr4.h  2004-08-18 13:16:07.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/nfsd/xdr4.h       2004-08-26 05:42:08.000000000 -0500
+@@ -42,9 +42,9 @@
+ #define NFSD4_MAX_TAGLEN      128
+ #define XDR_LEN(n)                     (((n) + 3) & ~3)
+-typedef u32 delegation_zero_t;
+-typedef u32 delegation_boot_t;
+-typedef u64 delegation_id_t;
++typedef __u32 delegation_zero_t;
++typedef __u32 delegation_boot_t;
++typedef __u64 delegation_id_t;
+ typedef struct {
+       delegation_zero_t       ds_zero;
+@@ -53,46 +53,46 @@
+ } delegation_stateid_t;
+ struct nfsd4_change_info {
+-      u32             atomic;
+-      u32             before_ctime_sec;
+-      u32             before_ctime_nsec;
+-      u32             after_ctime_sec;
+-      u32             after_ctime_nsec;
++      __u32           atomic;
++      __u32           before_ctime_sec;
++      __u32           before_ctime_nsec;
++      __u32           after_ctime_sec;
++      __u32           after_ctime_nsec;
+ };
+ struct nfsd4_access {
+-      u32             ac_req_access;      /* request */
+-      u32             ac_supported;       /* response */
+-      u32             ac_resp_access;     /* response */
++      __u32           ac_req_access;      /* request */
++      __u32           ac_supported;       /* response */
++      __u32           ac_resp_access;     /* response */
+ };
+ struct nfsd4_close {
+-      u32             cl_seqid;           /* request */
++      __u32           cl_seqid;           /* request */
+       stateid_t       cl_stateid;         /* request+response */
+       struct nfs4_stateowner * cl_stateowner; /* response */
+ };
+ struct nfsd4_commit {
+-      u64             co_offset;          /* request */
+-      u32             co_count;           /* request */
++      __u64           co_offset;          /* request */
++      __u32           co_count;           /* request */
+       nfs4_verifier   co_verf;            /* response */
+ };
+ struct nfsd4_create {
+-      u32             cr_namelen;         /* request */
++      __u32           cr_namelen;         /* request */
+       char *          cr_name;            /* request */
+-      u32             cr_type;            /* request */
++      __u32           cr_type;            /* request */
+       union {                             /* request */
+               struct {
+-                      u32 namelen;
++                      __u32 namelen;
+                       char *name;
+               } link;   /* NF4LNK */
+               struct {
+-                      u32 specdata1;
+-                      u32 specdata2;
++                      __u32 specdata1;
++                      __u32 specdata2;
+               } dev;    /* NF4BLK, NF4CHR */
+       } u;
+-      u32             cr_bmval[2];        /* request */
++      __u32           cr_bmval[2];        /* request */
+       struct iattr    cr_iattr;           /* request */
+       struct nfsd4_change_info  cr_cinfo; /* response */
+ };
+@@ -102,41 +102,41 @@
+ #define cr_specdata2  u.dev.specdata2
+ struct nfsd4_getattr {
+-      u32             ga_bmval[2];        /* request */
++      __u32           ga_bmval[2];        /* request */
+       struct svc_fh   *ga_fhp;            /* response */
+ };
+ struct nfsd4_link {
+-      u32             li_namelen;         /* request */
++      __u32           li_namelen;         /* request */
+       char *          li_name;            /* request */
+       struct nfsd4_change_info  li_cinfo; /* response */
+ };
+ struct nfsd4_lock_denied {
+       struct nfs4_stateowner   *ld_sop;
+-      u64             ld_start;
+-      u64             ld_length;
+-      u32             ld_type;
++      __u64             ld_start;
++      __u64             ld_length;
++      __u32             ld_type;
+ };
+ struct nfsd4_lock {
+       /* request */
+-      u32             lk_type;
+-      u32             lk_reclaim;         /* boolean */
+-      u64             lk_offset;
+-      u64             lk_length;
+-      u32             lk_is_new;
++      __u32             lk_type;
++      __u32             lk_reclaim;         /* boolean */
++      __u64             lk_offset;
++      __u64             lk_length;
++      __u32             lk_is_new;
+       union {
+               struct {
+-                      u32             open_seqid;
++                      __u32             open_seqid;
+                       stateid_t       open_stateid;
+-                      u32             lock_seqid;
++                      __u32             lock_seqid;
+                       clientid_t      clientid;
+                       struct xdr_netobj owner;
+               } new;
+               struct {
+                       stateid_t       lock_stateid;
+-                      u32             lock_seqid;
++                      __u32             lock_seqid;
+               } old;
+       } v;
+@@ -164,56 +164,56 @@
+ struct nfsd4_lockt {
+-      u32                             lt_type;
++      __u32                           lt_type;
+       clientid_t                      lt_clientid;
+       struct xdr_netobj               lt_owner;
+-      u64                             lt_offset;
+-      u64                             lt_length;
++      __u64                           lt_offset;
++      __u64                           lt_length;
+       struct nfs4_stateowner *        lt_stateowner;
+       struct nfsd4_lock_denied        lt_denied;
+ };
+  
+ struct nfsd4_locku {
+-      u32             lu_type;
+-      u32             lu_seqid;
++      __u32             lu_type;
++      __u32             lu_seqid;
+       stateid_t       lu_stateid;
+-      u64             lu_offset;
+-      u64             lu_length;
++      __u64             lu_offset;
++      __u64             lu_length;
+       struct nfs4_stateowner  *lu_stateowner;
+ };
+ struct nfsd4_lookup {
+-      u32             lo_len;             /* request */
++      __u32           lo_len;             /* request */
+       char *          lo_name;            /* request */
+ };
+ struct nfsd4_putfh {
+-      u32             pf_fhlen;           /* request */
++      __u32           pf_fhlen;           /* request */
+       char            *pf_fhval;          /* request */
+ };
+ struct nfsd4_open {
+-      u32             op_claim_type;      /* request */
++      __u32           op_claim_type;      /* request */
+       struct xdr_netobj op_fname;         /* request - everything but CLAIM_PREV */
+-      u32             op_delegate_type;   /* request - CLAIM_PREV only */
++      __u32           op_delegate_type;   /* request - CLAIM_PREV only */
+       delegation_stateid_t    op_delegate_stateid; /* request - CLAIM_DELEGATE_CUR only */
+-      u32             op_create;          /* request */
+-      u32             op_createmode;      /* request */
+-      u32             op_bmval[2];        /* request */
++      __u32           op_create;          /* request */
++      __u32           op_createmode;      /* request */
++      __u32           op_bmval[2];        /* request */
+       union {                             /* request */
+               struct iattr    iattr;                      /* UNCHECKED4,GUARDED4 */
+               nfs4_verifier   verf;                                /* EXCLUSIVE4 */
+       } u;
+       clientid_t      op_clientid;        /* request */
+       struct xdr_netobj op_owner;           /* request */
+-      u32             op_seqid;           /* request */
+-      u32             op_share_access;    /* request */
+-      u32             op_share_deny;      /* request */
++      __u32           op_seqid;           /* request */
++      __u32           op_share_access;    /* request */
++      __u32           op_share_deny;      /* request */
+       stateid_t       op_stateid;         /* response */
+       struct nfsd4_change_info  op_cinfo; /* response */
+-      u32             op_rflags;          /* response */
++      __u32           op_rflags;          /* response */
+       int             op_truncate;        /* used during processing */
+       struct nfs4_stateowner *op_stateowner; /* used during processing */
+@@ -223,24 +223,24 @@
+ struct nfsd4_open_confirm {
+       stateid_t       oc_req_stateid          /* request */;
+-      u32             oc_seqid                /* request */;
++      __u32           oc_seqid                /* request */;
+       stateid_t       oc_resp_stateid         /* response */;
+       struct nfs4_stateowner * oc_stateowner; /* response */
+ };
+ struct nfsd4_open_downgrade {
+       stateid_t       od_stateid;
+-      u32             od_seqid;
+-      u32             od_share_access;
+-      u32             od_share_deny;
++      __u32             od_seqid;
++      __u32             od_share_access;
++      __u32             od_share_deny;
+       struct nfs4_stateowner *od_stateowner;
+ };
+ struct nfsd4_read {
+       stateid_t       rd_stateid;         /* request */
+-      u64             rd_offset;          /* request */
+-      u32             rd_length;          /* request */
++      __u64           rd_offset;          /* request */
++      __u32           rd_length;          /* request */
+       struct kvec     rd_iov[RPCSVC_MAXPAGES];
+       int             rd_vlen;
+       
+@@ -249,18 +249,18 @@
+ };
+ struct nfsd4_readdir {
+-      u64             rd_cookie;          /* request */
++      __u64           rd_cookie;          /* request */
+       nfs4_verifier   rd_verf;            /* request */
+-      u32             rd_dircount;        /* request */
+-      u32             rd_maxcount;        /* request */
+-      u32             rd_bmval[2];        /* request */
++      __u32           rd_dircount;        /* request */
++      __u32           rd_maxcount;        /* request */
++      __u32           rd_bmval[2];        /* request */
+       struct svc_rqst *rd_rqstp;          /* response */
+       struct svc_fh * rd_fhp;             /* response */
+       struct readdir_cd       common;
+-      u32 *                   buffer;
++      __u32 *                 buffer;
+       int                     buflen;
+-      u32 *                   offset;
++      __u32 *                 offset;
+ };
+ struct nfsd4_release_lockowner {
+@@ -273,15 +273,15 @@
+ };
+ struct nfsd4_remove {
+-      u32             rm_namelen;         /* request */
++      __u32           rm_namelen;         /* request */
+       char *          rm_name;            /* request */
+       struct nfsd4_change_info  rm_cinfo; /* response */
+ };
+ struct nfsd4_rename {
+-      u32             rn_snamelen;        /* request */
++      __u32           rn_snamelen;        /* request */
+       char *          rn_sname;           /* request */
+-      u32             rn_tnamelen;        /* request */
++      __u32           rn_tnamelen;        /* request */
+       char *          rn_tname;           /* request */
+       struct nfsd4_change_info  rn_sinfo; /* response */
+       struct nfsd4_change_info  rn_tinfo; /* response */
+@@ -289,20 +289,20 @@
+ struct nfsd4_setattr {
+       stateid_t       sa_stateid;         /* request */
+-      u32             sa_bmval[2];        /* request */
++      __u32           sa_bmval[2];        /* request */
+       struct iattr    sa_iattr;           /* request */
+ };
+ struct nfsd4_setclientid {
+       nfs4_verifier   se_verf;            /* request */
+-      u32             se_namelen;         /* request */
++      __u32           se_namelen;         /* request */
+       char *          se_name;            /* request */
+-      u32             se_callback_prog;   /* request */
+-      u32             se_callback_netid_len;  /* request */
++      __u32           se_callback_prog;   /* request */
++      __u32           se_callback_netid_len;  /* request */
+       char *          se_callback_netid_val;  /* request */
+-      u32             se_callback_addr_len;   /* request */
++      __u32           se_callback_addr_len;   /* request */
+       char *          se_callback_addr_val;   /* request */
+-      u32             se_callback_ident;  /* request */
++      __u32           se_callback_ident;  /* request */
+       clientid_t      se_clientid;        /* response */
+       nfs4_verifier   se_confirm;         /* response */
+ };
+@@ -314,21 +314,21 @@
+ /* also used for NVERIFY */
+ struct nfsd4_verify {
+-      u32             ve_bmval[2];        /* request */
+-      u32             ve_attrlen;         /* request */
++      __u32           ve_bmval[2];        /* request */
++      __u32           ve_attrlen;         /* request */
+       char *          ve_attrval;         /* request */
+ };
+ struct nfsd4_write {
+       stateid_t       wr_stateid;         /* request */
+-      u64             wr_offset;          /* request */
+-      u32             wr_stable_how;      /* request */
+-      u32             wr_buflen;          /* request */
++      __u64           wr_offset;          /* request */
++      __u32           wr_stable_how;      /* request */
++      __u32           wr_buflen;          /* request */
+       struct kvec     wr_vec[RPCSVC_MAXPAGES]; /* request */
+       int             wr_vlen;
+-      u32             wr_bytes_written;   /* response */
+-      u32             wr_how_written;     /* response */
++      __u32           wr_bytes_written;   /* response */
++      __u32           wr_how_written;     /* response */
+       nfs4_verifier   wr_verifier;        /* response */
+ };
+@@ -370,12 +370,12 @@
+ struct nfsd4_compoundargs {
+       /* scratch variables for XDR decode */
+-      u32 *                           p;
+-      u32 *                           end;
++      __u32 *                         p;
++      __u32 *                         end;
+       struct page **                  pagelist;
+       int                             pagelen;
+-      u32                             tmp[8];
+-      u32 *                           tmpp;
++      __u32                           tmp[8];
++      __u32 *                         tmpp;
+       struct tmpbuf {
+               struct tmpbuf *next;
+               void (*release)(const void *);
+@@ -384,25 +384,25 @@
+       struct svc_rqst                 *rqstp;
+-      u32                             taglen;
++      __u32                           taglen;
+       char *                          tag;
+-      u32                             minorversion;
+-      u32                             opcnt;
++      __u32                           minorversion;
++      __u32                           opcnt;
+       struct nfsd4_op                 *ops;
+       struct nfsd4_op                 iops[8];
+ };
+ struct nfsd4_compoundres {
+       /* scratch variables for XDR encode */
+-      u32 *                           p;
+-      u32 *                           end;
++      __u32 *                         p;
++      __u32 *                         end;
+       struct xdr_buf *                xbuf;
+       struct svc_rqst *               rqstp;
+-      u32                             taglen;
++      __u32                           taglen;
+       char *                          tag;
+-      u32                             opcnt;
+-      u32 *                           tagp; /* where to encode tag and  opcount */
++      __u32                           opcnt;
++      __u32 *                         tagp; /* where to encode tag and  opcount */
+ };
+ #define NFS4_SVC_XDRSIZE              sizeof(struct nfsd4_compoundargs)
+@@ -418,16 +418,16 @@
+       cinfo->after_ctime_nsec = fhp->fh_post_ctime.tv_nsec;
+ }
+-int nfs4svc_encode_voidres(struct svc_rqst *, u32 *, void *);
+-int nfs4svc_decode_compoundargs(struct svc_rqst *, u32 *, 
++int nfs4svc_encode_voidres(struct svc_rqst *, __u32 *, void *);
++int nfs4svc_decode_compoundargs(struct svc_rqst *, __u32 *, 
+               struct nfsd4_compoundargs *);
+-int nfs4svc_encode_compoundres(struct svc_rqst *, u32 *, 
++int nfs4svc_encode_compoundres(struct svc_rqst *, __u32 *, 
+               struct nfsd4_compoundres *);
+ void nfsd4_encode_operation(struct nfsd4_compoundres *, struct nfsd4_op *);
+ void nfsd4_encode_replay(struct nfsd4_compoundres *resp, struct nfsd4_op *op);
+ int nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp,
+-                     struct dentry *dentry, u32 *buffer, int *countp, 
+-                     u32 *bmval, struct svc_rqst *);
++                     struct dentry *dentry, __u32 *buffer, int *countp, 
++                     __u32 *bmval, struct svc_rqst *);
+ extern int nfsd4_setclientid(struct svc_rqst *rqstp, 
+               struct nfsd4_setclientid *setclid);
+ extern int nfsd4_setclientid_confirm(struct svc_rqst *rqstp, 
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/pmu.h linux-libc-headers-2.6.8.0/include/linux/pmu.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/pmu.h        2004-01-17 17:04:31.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/pmu.h     2004-08-26 05:42:08.000000000 -0500
+@@ -120,15 +120,15 @@
+ /* no param */
+ #define PMU_IOC_SLEEP         _IO('B', 0)
+-/* out param: u32*    backlight value: 0 to 15 */
++/* out param: __u32*  backlight value: 0 to 15 */
+ #define PMU_IOC_GET_BACKLIGHT _IOR('B', 1, size_t)
+-/* in param: u32      backlight value: 0 to 15 */
++/* in param: __u32    backlight value: 0 to 15 */
+ #define PMU_IOC_SET_BACKLIGHT _IOW('B', 2, size_t)
+-/* out param: u32*    PMU model */
++/* out param: __u32*  PMU model */
+ #define PMU_IOC_GET_MODEL     _IOR('B', 3, size_t)
+-/* out param: u32*    has_adb: 0 or 1 */
++/* out param: __u32*  has_adb: 0 or 1 */
+ #define PMU_IOC_HAS_ADB               _IOR('B', 4, size_t) 
+-/* out param: u32*    can_sleep: 0 or 1 */
++/* out param: __u32*  can_sleep: 0 or 1 */
+ #define PMU_IOC_CAN_SLEEP     _IOR('B', 5, size_t) 
+ /* no param, but historically was _IOR('B', 6, 0), meaning 4 bytes */
+ #define PMU_IOC_GRAB_BACKLIGHT        _IOR('B', 6, size_t) 
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/reiserfs_fs.h linux-libc-headers-2.6.8.0/include/linux/reiserfs_fs.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/reiserfs_fs.h        2004-08-18 13:16:04.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/reiserfs_fs.h     2004-08-26 13:26:06.000000000 -0500
+@@ -1821,7 +1821,7 @@
+  * to use for a new object underneat it.  The locality is returned
+  * in disk byte order (le).
+  */
+-u32 reiserfs_choose_packing(struct inode *dir);
++__u32 reiserfs_choose_packing(struct inode *dir);
+ int is_reusable (struct super_block * s, b_blocknr_t block, int bit_value);
+ void reiserfs_free_block (struct reiserfs_transaction_handle *th, struct inode *, b_blocknr_t, int for_unformatted);
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/scx200_gpio.h linux-libc-headers-2.6.8.0/include/linux/scx200_gpio.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/scx200_gpio.h        2004-01-17 17:04:32.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/scx200_gpio.h     2004-08-26 13:26:01.000000000 -0500
+@@ -1,5 +1,5 @@
+-u32 scx200_gpio_configure(int index, u32 set, u32 clear);
++__u32 scx200_gpio_configure(int index, __u32 set, __u32 clear);
+ void scx200_gpio_dump(unsigned index);
+ extern unsigned scx200_gpio_base;
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sdladrv.h linux-libc-headers-2.6.8.0/include/linux/sdladrv.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/sdladrv.h    2003-12-15 12:46:58.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/sdladrv.h 2004-08-26 05:42:08.000000000 -0500
+@@ -55,8 +55,8 @@
+ extern int sdla_inten (sdlahw_t* hw);
+ extern int sdla_intde (sdlahw_t* hw);
+ extern int sdla_intack        (sdlahw_t* hw);
+-extern void S514_intack  (sdlahw_t* hw, u32 int_status);
+-extern void read_S514_int_stat (sdlahw_t* hw, u32* int_status);
++extern void S514_intack  (sdlahw_t* hw, __u32 int_status);
++extern void read_S514_int_stat (sdlahw_t* hw, __u32* int_status);
+ extern int sdla_intr  (sdlahw_t* hw);
+ extern int sdla_mapmem        (sdlahw_t* hw, unsigned long addr);
+ extern int sdla_peek  (sdlahw_t* hw, unsigned long addr, void* buf,
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/selection.h linux-libc-headers-2.6.8.0/include/linux/selection.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/selection.h  2004-06-23 16:52:56.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/selection.h       2004-08-26 05:42:08.000000000 -0500
+@@ -32,14 +32,14 @@
+ extern int default_blu[];
+ extern unsigned short *screen_pos(int currcons, int w_offset, int viewed);
+-extern u16 screen_glyph(int currcons, int offset);
++extern __u16 screen_glyph(int currcons, int offset);
+ extern void complement_pos(int currcons, int offset);
+ extern void invert_screen(int currcons, int offset, int count, int shift);
+ extern void getconsxy(int currcons, unsigned char *p);
+ extern void putconsxy(int currcons, unsigned char *p);
+-extern u16 vcs_scr_readw(int currcons, const u16 *org);
+-extern void vcs_scr_writew(int currcons, u16 val, u16 *org);
++extern __u16 vcs_scr_readw(int currcons, const __u16 *org);
++extern void vcs_scr_writew(int currcons, __u16 val, __u16 *org);
+ #endif
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/serialP.h linux-libc-headers-2.6.8.0/include/linux/serialP.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/serialP.h    2004-08-18 13:16:04.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/serialP.h 2004-08-26 05:42:08.000000000 -0500
+@@ -39,8 +39,8 @@
+       int     xmit_fifo_size;
+       int     custom_divisor;
+       int     count;
+-      u8      *iomem_base;
+-      u16     iomem_reg_shift;
++      __u8    *iomem_base;
++      __u16   iomem_reg_shift;
+       unsigned short  close_delay;
+       unsigned short  closing_wait; /* time to wait before closing */
+       struct async_icount     icount; 
+@@ -75,8 +75,8 @@
+       int                     blocked_open; /* # of blocked opens */
+       struct circ_buf         xmit;
+       spinlock_t              xmit_lock;
+-      u8                      *iomem_base;
+-      u16                     iomem_reg_shift;
++      __u8                    *iomem_base;
++      __u16                   iomem_reg_shift;
+       int                     io_type;
+       struct work_struct                      work;
+       struct tasklet_struct   tlet;
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/clnt.h linux-libc-headers-2.6.8.0/include/linux/sunrpc/clnt.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/clnt.h        2004-02-29 10:36:05.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/sunrpc/clnt.h     2004-08-26 05:42:08.000000000 -0500
+@@ -36,7 +36,7 @@
+       atomic_t                cl_users;       /* number of references */
+       struct rpc_xprt *       cl_xprt;        /* transport */
+       struct rpc_procinfo *   cl_procinfo;    /* procedure info */
+-      u32                     cl_maxproc;     /* max procedure number */
++      __u32                   cl_maxproc;     /* max procedure number */
+       char *                  cl_server;      /* server machine name */
+       char *                  cl_protname;    /* protocol name */
+@@ -75,7 +75,7 @@
+ #define RPC_MAXVERSION                4
+ struct rpc_program {
+       char *                  name;           /* protocol name */
+-      u32                     number;         /* program number */
++      __u32                   number;         /* program number */
+       unsigned int            nrvers;         /* number of versions */
+       struct rpc_version **   version;        /* version array */
+       struct rpc_stat *       stats;          /* statistics */
+@@ -83,7 +83,7 @@
+ };
+ struct rpc_version {
+-      u32                     number;         /* version number */
++      __u32                   number;         /* version number */
+       unsigned int            nrprocs;        /* number of procs */
+       struct rpc_procinfo *   procs;          /* procedure array */
+ };
+@@ -92,7 +92,7 @@
+  * Procedure information
+  */
+ struct rpc_procinfo {
+-      u32                     p_proc;         /* RPC procedure number */
++      __u32                   p_proc;         /* RPC procedure number */
+       kxdrproc_t              p_encode;       /* XDR encode function */
+       kxdrproc_t              p_decode;       /* XDR decode function */
+       unsigned int            p_bufsiz;       /* req. buffer size */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/gss_asn1.h linux-libc-headers-2.6.8.0/include/linux/sunrpc/gss_asn1.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/gss_asn1.h    2004-06-23 16:52:58.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/sunrpc/gss_asn1.h 2004-08-26 13:26:25.000000000 -0500
+@@ -64,14 +64,14 @@
+    (((o1)->len == (o2)->len) && \
+     (memcmp((o1)->data,(o2)->data,(int) (o1)->len) == 0))
+-u32 g_verify_token_header(
++__u32 g_verify_token_header(
+      struct xdr_netobj *mech,
+      int *body_size,
+      unsigned char **buf_in,
+      int tok_type,
+      int toksize);
+-u32 g_get_mech_oid(struct xdr_netobj *mech, struct xdr_netobj * in_buf);
++__u32 g_get_mech_oid(struct xdr_netobj *mech, struct xdr_netobj * in_buf);
+ int g_token_size(
+      struct xdr_netobj *mech,
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/gss_krb5.h linux-libc-headers-2.6.8.0/include/linux/sunrpc/gss_krb5.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/gss_krb5.h    2004-06-23 16:52:58.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/sunrpc/gss_krb5.h 2004-08-26 13:26:21.000000000 -0500
+@@ -46,8 +46,8 @@
+       int                     sealalg;
+       struct crypto_tfm       *enc;
+       struct crypto_tfm       *seq;
+-      s32                     endtime;
+-      u32                     seq_send;
++      __s32                   endtime;
++      __u32                   seq_send;
+       struct xdr_netobj       mech_used;
+ };
+@@ -112,35 +112,35 @@
+ #define ENCTYPE_DES3_CBC_SHA1   0x0010
+ #define ENCTYPE_UNKNOWN         0x01ff
+-s32
+-make_checksum(s32 cksumtype, char *header, int hdrlen, struct xdr_buf *body,
++__s32
++make_checksum(__s32 cksumtype, char *header, int hdrlen, struct xdr_buf *body,
+                  struct xdr_netobj *cksum);
+-u32
++__u32
+ krb5_make_token(struct krb5_ctx *context_handle, int qop_req,
+       struct xdr_buf *input_message_buffer,
+       struct xdr_netobj *output_message_buffer, int toktype);
+-u32
++__u32
+ krb5_read_token(struct krb5_ctx *context_handle,
+         struct xdr_netobj *input_token_buffer,
+         struct xdr_buf *message_buffer,
+         int *qop_state, int toktype);
+-u32
++__u32
+ krb5_encrypt(struct crypto_tfm * key,
+            void *iv, void *in, void *out, int length);
+-u32
++__u32
+ krb5_decrypt(struct crypto_tfm * key,
+            void *iv, void *in, void *out, int length); 
+-s32
++__s32
+ krb5_make_seq_num(struct crypto_tfm * key,
+               int direction,
+-              s32 seqnum, unsigned char *cksum, unsigned char *buf);
++              __s32 seqnum, unsigned char *cksum, unsigned char *buf);
+-s32
++__s32
+ krb5_get_seq_num(struct crypto_tfm * key,
+              unsigned char *cksum,
+-             unsigned char *buf, int *direction, s32 * seqnum);
++             unsigned char *buf, int *direction, __s32 * seqnum);
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/svc.h linux-libc-headers-2.6.8.0/include/linux/sunrpc/svc.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/svc.h 2004-08-18 13:16:07.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/sunrpc/svc.h      2004-08-26 05:42:08.000000000 -0500
+@@ -75,20 +75,20 @@
+  */
+ #define RPCSVC_MAXPAGES               ((RPCSVC_MAXPAYLOAD+PAGE_SIZE-1)/PAGE_SIZE + 2)
+-static inline u32 svc_getu32(struct kvec *iov)
++static inline __u32 svc_getu32(struct kvec *iov)
+ {
+-      u32 val, *vp;
++      __u32 val, *vp;
+       vp = iov->iov_base;
+       val = *vp++;
+       iov->iov_base = (void*)vp;
+-      iov->iov_len -= sizeof(u32);
++      iov->iov_len -= sizeof(__u32);
+       return val;
+ }
+-static inline void svc_putu32(struct kvec *iov, u32 val)
++static inline void svc_putu32(struct kvec *iov, __u32 val)
+ {
+-      u32 *vp = iov->iov_base + iov->iov_len;
++      __u32 *vp = iov->iov_base + iov->iov_len;
+       *vp = val;
+-      iov->iov_len += sizeof(u32);
++      iov->iov_len += sizeof(__u32);
+ }
+       
+@@ -119,11 +119,11 @@
+       short                   rq_arghi;       /* pages available in argument page list */
+       short                   rq_resused;     /* pages used for result */
+-      u32                     rq_xid;         /* transmission id */
+-      u32                     rq_prog;        /* program number */
+-      u32                     rq_vers;        /* program version */
+-      u32                     rq_proc;        /* procedure number */
+-      u32                     rq_prot;        /* IP protocol */
++      __u32                   rq_xid;         /* transmission id */
++      __u32                   rq_prog;        /* program number */
++      __u32                   rq_vers;        /* program version */
++      __u32                   rq_proc;        /* procedure number */
++      __u32                   rq_prot;        /* IP protocol */
+       unsigned short
+                               rq_secure  : 1; /* secure port */
+@@ -156,7 +156,7 @@
+  * Check buffer bounds after decoding arguments
+  */
+ static inline int
+-xdr_argsize_check(struct svc_rqst *rqstp, u32 *p)
++xdr_argsize_check(struct svc_rqst *rqstp, __u32 *p)
+ {
+       char *cp = (char *)p;
+       struct kvec *vec = &rqstp->rq_arg.head[0];
+@@ -164,7 +164,7 @@
+ }
+ static inline int
+-xdr_ressize_check(struct svc_rqst *rqstp, u32 *p)
++xdr_ressize_check(struct svc_rqst *rqstp, __u32 *p)
+ {
+       struct kvec *vec = &rqstp->rq_res.head[0];
+       char *cp = (char*)p;
+@@ -220,19 +220,19 @@
+ }
+ struct svc_deferred_req {
+-      u32                     prot;   /* protocol (UDP or TCP) */
++      __u32                   prot;   /* protocol (UDP or TCP) */
+       struct sockaddr_in      addr;
+       struct svc_sock         *svsk;  /* where reply must go */
+       struct cache_deferred_req handle;
+       int                     argslen;
+-      u32                     args[0];
++      __u32                   args[0];
+ };
+ /*
+  * RPC program
+  */
+ struct svc_program {
+-      u32                     pg_prog;        /* program number */
++      __u32                   pg_prog;        /* program number */
+       unsigned int            pg_lovers;      /* lowest version */
+       unsigned int            pg_hivers;      /* lowest version */
+       unsigned int            pg_nvers;       /* number of versions */
+@@ -246,16 +246,16 @@
+  * RPC program version
+  */
+ struct svc_version {
+-      u32                     vs_vers;        /* version number */
+-      u32                     vs_nproc;       /* number of procedures */
++      __u32                   vs_vers;        /* version number */
++      __u32                   vs_nproc;       /* number of procedures */
+       struct svc_procedure *  vs_proc;        /* per-procedure info */
+-      u32                     vs_xdrsize;     /* xdrsize needed for this version */
++      __u32                   vs_xdrsize;     /* xdrsize needed for this version */
+       /* Override dispatch function (e.g. when caching replies).
+        * A return value of 0 means drop the request. 
+        * vs_dispatch == NULL means use default dispatcher.
+        */
+-      int                     (*vs_dispatch)(struct svc_rqst *, u32 *);
++      int                     (*vs_dispatch)(struct svc_rqst *, __u32 *);
+ };
+ /*
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/xprt.h linux-libc-headers-2.6.8.0/include/linux/sunrpc/xprt.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/sunrpc/xprt.h        2004-06-23 16:52:58.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/sunrpc/xprt.h     2004-08-26 05:42:08.000000000 -0500
+@@ -93,7 +93,7 @@
+       __u32                   rq_xid;         /* request XID */
+       int                     rq_cong;        /* has incremented xprt->cong */
+       int                     rq_received;    /* receive completed */
+-      u32                     rq_seqno;       /* gss seq no. used on req. */
++      __u32                   rq_seqno;       /* gss seq no. used on req. */
+       struct list_head        rq_list;
+@@ -106,13 +106,13 @@
+       /*
+        * For authentication (e.g. auth_des)
+        */
+-      u32                     rq_creddata[2];
++      __u32                   rq_creddata[2];
+       
+       /*
+        * Partial send handling
+        */
+       
+-      u32                     rq_bytes_sent;  /* Bytes we have sent */
++      __u32                   rq_bytes_sent;  /* Bytes we have sent */
+       unsigned long           rq_xtime;       /* when transmitted */
+       int                     rq_ntrans;
+@@ -160,7 +160,7 @@
+       /*
+        * State of TCP reply receive stuff
+        */
+-      u32                     tcp_recm,       /* Fragment header */
++      __u32                   tcp_recm,       /* Fragment header */
+                               tcp_xid,        /* Current XID */
+                               tcp_reclen,     /* fragment length */
+                               tcp_offset;     /* fragment offset */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/suspend.h linux-libc-headers-2.6.8.0/include/linux/suspend.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/suspend.h    2004-08-18 13:16:05.000000000 -0500
++++ linux-libc-headers-2.6.8.0/include/linux/suspend.h 2004-08-26 05:42:08.000000000 -0500
+@@ -23,7 +23,7 @@
+ #define SWAP_FILENAME_MAXLENGTH       32
+ struct suspend_header {
+-      u32 version_code;
++      __u32 version_code;
+       unsigned long num_physpages;
+       char machine[8];
+       char version[20];
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sysdev.h linux-libc-headers-2.6.8.0/include/linux/sysdev.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/sysdev.h     2004-03-28 07:52:11.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/sysdev.h  2004-08-26 05:42:08.000000000 -0500
+@@ -31,7 +31,7 @@
+       /* Default operations for these types of devices */
+       int     (*shutdown)(struct sys_device *);
+-      int     (*suspend)(struct sys_device *, u32 state);
++      int     (*suspend)(struct sys_device *, __u32 state);
+       int     (*resume)(struct sys_device *);
+       struct kset             kset;
+ };
+@@ -50,7 +50,7 @@
+       int     (*add)(struct sys_device *);
+       int     (*remove)(struct sys_device *);
+       int     (*shutdown)(struct sys_device *);
+-      int     (*suspend)(struct sys_device *, u32 state);
++      int     (*suspend)(struct sys_device *, __u32 state);
+       int     (*resume)(struct sys_device *);
+ };
+@@ -65,7 +65,7 @@
+  */
+ struct sys_device {
+-      u32             id;
++      __u32           id;
+       struct sysdev_class     * cls;
+       struct kobject          kobj;
+ };
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/sysv_fs.h linux-libc-headers-2.6.8.0/include/linux/sysv_fs.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/sysv_fs.h    2003-12-15 12:46:58.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/sysv_fs.h 2004-08-26 05:42:08.000000000 -0500
+@@ -9,12 +9,12 @@
+ /* inode numbers are 16 bit */
+-typedef u16 sysv_ino_t;
++typedef __u16 sysv_ino_t;
+ /* Block numbers are 24 bit, sometimes stored in 32 bit.
+    On Coherent FS, they are always stored in PDP-11 manner: the least
+    significant 16 bits come last. */
+-typedef u32 sysv_zone_t;
++typedef __u32 sysv_zone_t;
+ /* 0 is non-existent */
+ #define SYSV_BADBL_INO        1       /* inode of bad blocks file */
+@@ -25,29 +25,29 @@
+ #define XENIX_NICINOD 100     /* number of inode cache entries */
+ #define XENIX_NICFREE 100     /* number of free block list chunk entries */
+ struct xenix_super_block {
+-      u16             s_isize; /* index of first data zone */
+-      u32             s_fsize __packed2__; /* total number of zones of this fs */
++      __u16           s_isize; /* index of first data zone */
++      __u32           s_fsize __packed2__; /* total number of zones of this fs */
+       /* the start of the free block list: */
+-      u16             s_nfree;        /* number of free blocks in s_free, <= XENIX_NICFREE */
+-      u32             s_free[XENIX_NICFREE]; /* first free block list chunk */
++      __u16           s_nfree;        /* number of free blocks in s_free, <= XENIX_NICFREE */
++      __u32           s_free[XENIX_NICFREE]; /* first free block list chunk */
+       /* the cache of free inodes: */
+-      u16             s_ninode; /* number of free inodes in s_inode, <= XENIX_NICINOD */
++      __u16           s_ninode; /* number of free inodes in s_inode, <= XENIX_NICINOD */
+       sysv_ino_t      s_inode[XENIX_NICINOD]; /* some free inodes */
+       /* locks, not used by Linux: */
+       char            s_flock;        /* lock during free block list manipulation */
+       char            s_ilock;        /* lock during inode cache manipulation */
+       char            s_fmod;         /* super-block modified flag */
+       char            s_ronly;        /* flag whether fs is mounted read-only */
+-      u32             s_time __packed2__; /* time of last super block update */
+-      u32             s_tfree __packed2__; /* total number of free zones */
+-      u16             s_tinode;       /* total number of free inodes */
+-      s16             s_dinfo[4];     /* device information ?? */
++      __u32           s_time __packed2__; /* time of last super block update */
++      __u32           s_tfree __packed2__; /* total number of free zones */
++      __u16           s_tinode;       /* total number of free inodes */
++      __s16           s_dinfo[4];     /* device information ?? */
+       char            s_fname[6];     /* file system volume name */
+       char            s_fpack[6];     /* file system pack name */
+       char            s_clean;        /* set to 0x46 when filesystem is properly unmounted */
+       char            s_fill[371];
+-      s32             s_magic;        /* version of file system */
+-      s32             s_type;         /* type of file system: 1 for 512 byte blocks
++      __s32           s_magic;        /* version of file system */
++      __s32           s_type;         /* type of file system: 1 for 512 byte blocks
+                                                               2 for 1024 byte blocks
+                                                               3 for 2048 byte blocks */
+                                                               
+@@ -63,61 +63,61 @@
+ /* SystemV4 super-block data on disk */
+ struct sysv4_super_block {
+-      u16     s_isize;        /* index of first data zone */
+-      u16     s_pad0;
+-      u32     s_fsize;        /* total number of zones of this fs */
++      __u16   s_isize;        /* index of first data zone */
++      __u16   s_pad0;
++      __u32   s_fsize;        /* total number of zones of this fs */
+       /* the start of the free block list: */
+-      u16     s_nfree;        /* number of free blocks in s_free, <= SYSV_NICFREE */
+-      u16     s_pad1;
+-      u32     s_free[SYSV_NICFREE]; /* first free block list chunk */
++      __u16   s_nfree;        /* number of free blocks in s_free, <= SYSV_NICFREE */
++      __u16   s_pad1;
++      __u32   s_free[SYSV_NICFREE]; /* first free block list chunk */
+       /* the cache of free inodes: */
+-      u16     s_ninode;       /* number of free inodes in s_inode, <= SYSV_NICINOD */
+-      u16     s_pad2;
++      __u16   s_ninode;       /* number of free inodes in s_inode, <= SYSV_NICINOD */
++      __u16   s_pad2;
+       sysv_ino_t     s_inode[SYSV_NICINOD]; /* some free inodes */
+       /* locks, not used by Linux: */
+       char    s_flock;        /* lock during free block list manipulation */
+       char    s_ilock;        /* lock during inode cache manipulation */
+       char    s_fmod;         /* super-block modified flag */
+       char    s_ronly;        /* flag whether fs is mounted read-only */
+-      u32     s_time;         /* time of last super block update */
+-      s16     s_dinfo[4];     /* device information ?? */
+-      u32     s_tfree;        /* total number of free zones */
+-      u16     s_tinode;       /* total number of free inodes */
+-      u16     s_pad3;
++      __u32   s_time;         /* time of last super block update */
++      __s16   s_dinfo[4];     /* device information ?? */
++      __u32   s_tfree;        /* total number of free zones */
++      __u16   s_tinode;       /* total number of free inodes */
++      __u16   s_pad3;
+       char    s_fname[6];     /* file system volume name */
+       char    s_fpack[6];     /* file system pack name */
+-      s32     s_fill[12];
+-      s32     s_state;        /* file system state: 0x7c269d38-s_time means clean */
+-      s32     s_magic;        /* version of file system */
+-      s32     s_type;         /* type of file system: 1 for 512 byte blocks
++      __s32   s_fill[12];
++      __s32   s_state;        /* file system state: 0x7c269d38-s_time means clean */
++      __s32   s_magic;        /* version of file system */
++      __s32   s_type;         /* type of file system: 1 for 512 byte blocks
+                                                               2 for 1024 byte blocks */
+ };
+ /* SystemV2 super-block data on disk */
+ struct sysv2_super_block {
+-      u16     s_isize;                /* index of first data zone */
+-      u32     s_fsize __packed2__;    /* total number of zones of this fs */
++      __u16   s_isize;                /* index of first data zone */
++      __u32   s_fsize __packed2__;    /* total number of zones of this fs */
+       /* the start of the free block list: */
+-      u16     s_nfree;                /* number of free blocks in s_free, <= SYSV_NICFREE */
+-      u32     s_free[SYSV_NICFREE];   /* first free block list chunk */
++      __u16   s_nfree;                /* number of free blocks in s_free, <= SYSV_NICFREE */
++      __u32   s_free[SYSV_NICFREE];   /* first free block list chunk */
+       /* the cache of free inodes: */
+-      u16     s_ninode;               /* number of free inodes in s_inode, <= SYSV_NICINOD */
++      __u16   s_ninode;               /* number of free inodes in s_inode, <= SYSV_NICINOD */
+       sysv_ino_t     s_inode[SYSV_NICINOD]; /* some free inodes */
+       /* locks, not used by Linux: */
+       char    s_flock;                /* lock during free block list manipulation */
+       char    s_ilock;                /* lock during inode cache manipulation */
+       char    s_fmod;                 /* super-block modified flag */
+       char    s_ronly;                /* flag whether fs is mounted read-only */
+-      u32     s_time __packed2__;     /* time of last super block update */
+-      s16     s_dinfo[4];             /* device information ?? */
+-      u32     s_tfree __packed2__;    /* total number of free zones */
+-      u16     s_tinode;               /* total number of free inodes */
++      __u32   s_time __packed2__;     /* time of last super block update */
++      __s16   s_dinfo[4];             /* device information ?? */
++      __u32   s_tfree __packed2__;    /* total number of free zones */
++      __u16   s_tinode;               /* total number of free inodes */
+       char    s_fname[6];             /* file system volume name */
+       char    s_fpack[6];             /* file system pack name */
+-      s32     s_fill[14];
+-      s32     s_state;                /* file system state: 0xcb096f43 means clean */
+-      s32     s_magic;                /* version of file system */
+-      s32     s_type;                 /* type of file system: 1 for 512 byte blocks
++      __s32   s_fill[14];
++      __s32   s_state;                /* file system state: 0xcb096f43 means clean */
++      __s32   s_magic;                /* version of file system */
++      __s32   s_type;                 /* type of file system: 1 for 512 byte blocks
+                                                               2 for 1024 byte blocks */
+ };
+@@ -125,25 +125,25 @@
+ #define V7_NICINOD     100     /* number of inode cache entries */
+ #define V7_NICFREE     50      /* number of free block list chunk entries */
+ struct v7_super_block {
+-      u16    s_isize;        /* index of first data zone */
+-      u32    s_fsize __packed2__; /* total number of zones of this fs */
++      __u16    s_isize;        /* index of first data zone */
++      __u32    s_fsize __packed2__; /* total number of zones of this fs */
+       /* the start of the free block list: */
+-      u16    s_nfree;        /* number of free blocks in s_free, <= V7_NICFREE */
+-      u32    s_free[V7_NICFREE]; /* first free block list chunk */
++      __u16    s_nfree;        /* number of free blocks in s_free, <= V7_NICFREE */
++      __u32    s_free[V7_NICFREE]; /* first free block list chunk */
+       /* the cache of free inodes: */
+-      u16    s_ninode;       /* number of free inodes in s_inode, <= V7_NICINOD */
++      __u16    s_ninode;       /* number of free inodes in s_inode, <= V7_NICINOD */
+       sysv_ino_t      s_inode[V7_NICINOD]; /* some free inodes */
+       /* locks, not used by Linux or V7: */
+       char    s_flock;        /* lock during free block list manipulation */
+       char    s_ilock;        /* lock during inode cache manipulation */
+       char    s_fmod;         /* super-block modified flag */
+       char    s_ronly;        /* flag whether fs is mounted read-only */
+-      u32     s_time __packed2__; /* time of last super block update */
++      __u32     s_time __packed2__; /* time of last super block update */
+       /* the following fields are not maintained by V7: */
+-      u32     s_tfree __packed2__; /* total number of free zones */
+-      u16     s_tinode;       /* total number of free inodes */
+-      u16     s_m;            /* interleave factor */
+-      u16     s_n;            /* interleave factor */
++      __u32     s_tfree __packed2__; /* total number of free zones */
++      __u16     s_tinode;       /* total number of free inodes */
++      __u16     s_m;            /* interleave factor */
++      __u16     s_n;            /* interleave factor */
+       char    s_fname[6];     /* file system name */
+       char    s_fpack[6];     /* file system pack name */
+ };
+@@ -152,41 +152,41 @@
+ #define COH_NICINOD   100     /* number of inode cache entries */
+ #define COH_NICFREE   64      /* number of free block list chunk entries */
+ struct coh_super_block {
+-      u16             s_isize;        /* index of first data zone */
+-      u32             s_fsize __packed2__; /* total number of zones of this fs */
++      __u16           s_isize;        /* index of first data zone */
++      __u32           s_fsize __packed2__; /* total number of zones of this fs */
+       /* the start of the free block list: */
+-      u16 s_nfree;    /* number of free blocks in s_free, <= COH_NICFREE */
+-      u32             s_free[COH_NICFREE] __packed2__; /* first free block list chunk */
++      __u16 s_nfree;  /* number of free blocks in s_free, <= COH_NICFREE */
++      __u32           s_free[COH_NICFREE] __packed2__; /* first free block list chunk */
+       /* the cache of free inodes: */
+-      u16             s_ninode;       /* number of free inodes in s_inode, <= COH_NICINOD */
++      __u16           s_ninode;       /* number of free inodes in s_inode, <= COH_NICINOD */
+       sysv_ino_t      s_inode[COH_NICINOD]; /* some free inodes */
+       /* locks, not used by Linux: */
+       char            s_flock;        /* lock during free block list manipulation */
+       char            s_ilock;        /* lock during inode cache manipulation */
+       char            s_fmod;         /* super-block modified flag */
+       char            s_ronly;        /* flag whether fs is mounted read-only */
+-      u32             s_time __packed2__; /* time of last super block update */
+-      u32             s_tfree __packed2__; /* total number of free zones */
+-      u16             s_tinode;       /* total number of free inodes */
+-      u16             s_interleave_m; /* interleave factor */
+-      u16             s_interleave_n;
++      __u32           s_time __packed2__; /* time of last super block update */
++      __u32           s_tfree __packed2__; /* total number of free zones */
++      __u16           s_tinode;       /* total number of free inodes */
++      __u16           s_interleave_m; /* interleave factor */
++      __u16           s_interleave_n;
+       char            s_fname[6];     /* file system volume name */
+       char            s_fpack[6];     /* file system pack name */
+-      u32             s_unique;       /* zero, not used */
++      __u32           s_unique;       /* zero, not used */
+ };
+ /* SystemV/Coherent inode data on disk */
+ struct sysv_inode {
+-      u16 i_mode;
+-      u16 i_nlink;
+-      u16 i_uid;
+-      u16 i_gid;
+-      u32 i_size;
+-      u8  i_data[3*(10+1+1+1)];
+-      u8  i_gen;
+-      u32 i_atime;    /* time of last access */
+-      u32 i_mtime;    /* time of last modification */
+-      u32 i_ctime;    /* time of creation */
++      __u16 i_mode;
++      __u16 i_nlink;
++      __u16 i_uid;
++      __u16 i_gid;
++      __u32 i_size;
++      __u8  i_data[3*(10+1+1+1)];
++      __u8  i_gen;
++      __u32 i_atime;  /* time of last access */
++      __u32 i_mtime;  /* time of last modification */
++      __u32 i_ctime;  /* time of creation */
+ };
+ /* SystemV/Coherent directory entry on disk */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/tiocl.h linux-libc-headers-2.6.8.0/include/linux/tiocl.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/tiocl.h      2003-12-15 12:46:58.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/tiocl.h   2004-08-26 05:42:08.000000000 -0500
+@@ -23,7 +23,7 @@
+ #define TIOCL_SELLOADLUT      5
+       /* set characters to be considered alphabetic when selecting */
+-      /* u32[8] bit array, 4 bytes-aligned with type */
++      /* __u32[8] bit array, 4 bytes-aligned with type */
+ /* these two don't return a value: they write it back in the type */
+ #define TIOCL_GETSHIFTSTATE   6       /* write shift state */
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/umem.h linux-libc-headers-2.6.8.0/include/linux/umem.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/umem.h       2003-12-15 12:46:58.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/umem.h    2004-08-26 05:42:08.000000000 -0500
+@@ -110,19 +110,19 @@
+ #define DMA_WRITE_TO_HOST 1
+ struct mm_dma_desc {
+-      u64     pci_addr;
+-      u64     local_addr;
+-      u32     transfer_size;
+-      u32     zero1;
+-      u64     next_desc_addr;
+-      u64     sem_addr;
+-      u32     control_bits;
+-      u32     zero2;
++      __u64   pci_addr;
++      __u64   local_addr;
++      __u32   transfer_size;
++      __u32   zero1;
++      __u64   next_desc_addr;
++      __u64   sem_addr;
++      __u32   control_bits;
++      __u32   zero2;
+       dma_addr_t data_dma_handle;
+       /* Copy of the bits */
+-      u64     sem_control_bits;
++      __u64   sem_control_bits;
+ } __attribute__((aligned(8)));
+ #define PCI_VENDOR_ID_MICRO_MEMORY            0x1332
+diff -urN linux-libc-headers-2.6.8.0-dist/include/linux/vt_buffer.h linux-libc-headers-2.6.8.0/include/linux/vt_buffer.h
+--- linux-libc-headers-2.6.8.0-dist/include/linux/vt_buffer.h  2004-01-17 17:04:33.000000000 -0600
++++ linux-libc-headers-2.6.8.0/include/linux/vt_buffer.h       2004-08-26 05:42:08.000000000 -0500
+@@ -28,7 +28,7 @@
+ #endif
+ #ifndef VT_BUF_HAVE_MEMSETW
+-static inline void scr_memsetw(u16 *s, u16 c, unsigned int count)
++static inline void scr_memsetw(__u16 *s, __u16 c, unsigned int count)
+ {
+       count /= 2;
+       while (count--)
+@@ -37,7 +37,7 @@
+ #endif
+ #ifndef VT_BUF_HAVE_MEMCPYW
+-static inline void scr_memcpyw(u16 *d, const u16 *s, unsigned int count)
++static inline void scr_memcpyw(__u16 *d, const __u16 *s, unsigned int count)
+ {
+       count /= 2;
+       while (count--)
+@@ -46,7 +46,7 @@
+ #endif
+ #ifndef VT_BUF_HAVE_MEMMOVEW
+-static inline void scr_memmovew(u16 *d, const u16 *s, unsigned int count)
++static inline void scr_memmovew(__u16 *d, const __u16 *s, unsigned int count)
+ {
+       if (d < s)
+               scr_memcpyw(d, s, count);
diff --git a/toolchain/patch-kernel.sh b/toolchain/patch-kernel.sh
new file mode 100755 (executable)
index 0000000..79401c2
--- /dev/null
@@ -0,0 +1,53 @@
+#! /bin/sh
+# A little script I whipped up to make it easy to
+# patch source trees and have sane error handling
+# -Erik
+#
+# (c) 2002 Erik Andersen <andersen@codepoet.org>
+
+# Set directories from arguments, or use defaults.
+targetdir=${1-.}
+patchdir=${2-../kernel-patches}
+patchpattern=${3-*}
+
+if [ ! -d "${targetdir}" ] ; then
+    echo "Aborting.  '${targetdir}' is not a directory."
+    exit 1
+fi
+if [ ! -d "${patchdir}" ] ; then
+    echo "Aborting.  '${patchdir}' is not a directory."
+    exit 1
+fi
+    
+for i in ${patchdir}/${patchpattern} ; do 
+    case "$i" in
+       *.gz)
+       type="gzip"; uncomp="gunzip -dc"; ;; 
+       *.bz)
+       type="bzip"; uncomp="bunzip -dc"; ;; 
+       *.bz2)
+       type="bzip2"; uncomp="bunzip2 -dc"; ;; 
+       *.zip)
+       type="zip"; uncomp="unzip -d"; ;; 
+       *.Z)
+       type="compress"; uncomp="uncompress -c"; ;; 
+       *)
+       type="plaintext"; uncomp="cat"; ;; 
+    esac
+    echo ""
+    echo "Applying ${i} using ${type}: " 
+    ${uncomp} ${i} | patch -p1 -E -d ${targetdir} 
+    if [ $? != 0 ] ; then
+        echo "Patch failed!  Please fix $i!"
+       exit 1
+    fi
+done
+
+# Check for rejects...
+if [ "`find $targetdir/ '(' -name '*.rej' -o -name '.*.rej' ')' -print`" ] ; then
+    echo "Aborting.  Reject files found."
+    exit 1
+fi
+
+# Remove backup files
+find $targetdir/ '(' -name '*.orig' -o -name '.*.orig' ')' -exec rm -f {} \;