wok-undigest rev 674

Add new toolchain: binutils 2.22, GCC 4.6.2, glibc 2.14.1, linux 3.2.14 (3.2.x serie is stable on kernel.org)
author Christophe Lincoln <pankso@slitaz.org>
date Mon Apr 09 13:36:35 2012 +0200 (2012-04-09)
parents 961a0cf7c48a
children b7f79e26b912
files aufs/receipt aufs/stuff/aufs2-module-2.6.36.patch binutils/description.txt binutils/receipt gcc+gcj/receipt gcc-lib-base/description.txt gcc-lib-base/receipt gcc/description.txt gcc/receipt gcc/stuff/gcc-4.5.2-startfiles_fix-1.patch gfortran/receipt glibc-base/receipt glibc-base/stuff/mkdir.list glibc-base/stuff/wanted-files.list glibc-dev/receipt glibc-extra-samba/receipt glibc-locale/receipt glibc/receipt glibc/stuff/glibc-2.13-gcc_fix-1.patch glibc/stuff/glibc-2.14-reexport-rpc-interface.patch glibc/stuff/glibc-2.14-reinstall-nis-rpc-headers.patch glibc/stuff/glibc-2.14-revert-4768ae77.patch glibc/stuff/glibc-2.14.1-fixes-1.patch glibc/stuff/glibc-2.14.1-gcc_fix-1.patch glibc/stuff/glibc-2.14.1-sort-1.patch gmp-dev/receipt gmp/receipt libgfortran/receipt libgomp/receipt libobjc/receipt linux-api-headers/receipt linux-module-headers/receipt linux/receipt linux/stuff/aufs2-base.patch linux/stuff/aufs2-kbuild.patch linux/stuff/aufs2-standalone.patch linux/stuff/bootloader.sh linux/stuff/channel-negative-one-maxim.patch linux/stuff/check_modules.sh linux/stuff/gztazmod.sh linux/stuff/linux-diff.u linux/stuff/linux-freeinitrd-2.6.38.u linux/stuff/linux-header.u linux/stuff/linux-slitaz.config linux/stuff/linux-unlzma-2.6.38.u linux/stuff/list_modules.sh linux/stuff/mac80211.compat08082009.wl_frag+ack_v1.patch linux/stuff/modules.list mpc-library/receipt mpfr-dev/receipt mpfr/receipt mpfr/stuff/mpfr-3.0.0.patch mpfr/stuff/mpfr-3.0.1.patch slitaz-toolchain/receipt
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/aufs/receipt	Mon Apr 09 13:36:35 2012 +0200
     1.3 @@ -0,0 +1,73 @@
     1.4 +# SliTaz package receipt.
     1.5 +
     1.6 +PACKAGE="aufs"
     1.7 +VERSION="20120109"
     1.8 +CATEGORY="base-system"
     1.9 +SHORT_DESC="aufs2 kernel module"
    1.10 +MAINTAINER="slaxemulator@gmail.com"
    1.11 +WEB_SITE="http://aufs.sf.net/"
    1.12 +PROVIDE="linux-aufs"
    1.13 +TARBALL="$PACKAGE-$VERSION.tar.bz2"
    1.14 +WGET_URL="git|git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git"
    1.15 +BRANCH="origin/${PACKAGE}3.2"
    1.16 +COOK_OPT="!remove_src"
    1.17 +
    1.18 +DEPENDS="linux"
    1.19 +BUILD_DEPENDS="linux-module-headers git lzma"
    1.20 +
    1.21 +# Rules to configure and make the package.
    1.22 +compile_rules()
    1.23 +{
    1.24 +	cd $src
    1.25 +
    1.26 +	sed -i 's|CONFIG_AUFS_BRANCH_MAX_127 =.*|CONFIG_AUFS_BRANCH_MAX_127 =|' \
    1.27 +		config.mk || return 1
    1.28 +	sed -i 's|#CONFIG_AUFS_BRANCH_MAX_32767 =.*|CONFIG_AUFS_BRANCH_MAX_32767 = y|' \
    1.29 +		config.mk || return 1
    1.30 +	sed -i 's|CONFIG_AUFS_HNOTIFY =.*|CONFIG_AUFS_HNOTIFY = y|' \
    1.31 +		config.mk || return 1
    1.32 +	sed -i 's|CONFIG_AUFS_HFSNOTIFY =.*|CONFIG_AUFS_HFSNOTIFY = y|' \
    1.33 +		config.mk || return 1
    1.34 +	sed -i 's|CONFIG_AUFS_EXPORT =.*|CONFIG_AUFS_EXPORT = y|' \
    1.35 +		config.mk || return 1
    1.36 +	sed -i 's|CONFIG_AUFS_SHWH =.*|CONFIG_AUFS_SHWH = y|' \
    1.37 +		config.mk || return 1
    1.38 +	sed -i 's|CONFIG_AUFS_BDEV_LOOP =.*|CONFIG_AUFS_BDEV_LOOP = y|' \
    1.39 +		config.mk || return 1
    1.40 +	sed -i 's|CONFIG_AUFS_BR_RAMFS =.*|CONFIG_AUFS_BR_RAMFS = y|' \
    1.41 +		config.mk || return 1
    1.42 +	sed -i 's|CONFIG_AUFS_DEBUG =.*|CONFIG_AUFS_DEBUG =|' \
    1.43 +		config.mk || return 1
    1.44 +
    1.45 +	# The sed fixes are from gentoo portage build.
    1.46 +	sed -i "s:aufs.ko usr/include/linux/aufs_type.h:aufs.ko:g" Makefile
    1.47 +	sed -i "s:__user::g" include/linux/aufs_type.h
    1.48 +	make -j 1 KDIR=/usr/src/linux
    1.49 +}
    1.50 +
    1.51 +# Rules to gen a SliTaz package suitable for Tazpkg.
    1.52 +genpkg_rules()
    1.53 +{
    1.54 +	KERNEL_VERSION=`grep  ^VERSION= $WOK/linux/receipt | cut -d "=" -f2 | sed -e 's/"//g'`
    1.55 +	BASEVER=${KERNEL_VERSION:0:3}
    1.56 +	EXTRAVERSION=_$BASEVER
    1.57 +	mkdir -p $fs/lib/modules/$BASEVER-slitaz/kernel/fs/aufs
    1.58 +	lzma e $src/fs/aufs/aufs.ko \
    1.59 +		$fs/lib/modules/$BASEVER-slitaz/kernel/fs/aufs/aufs.ko.gz
    1.60 +	chown root $fs/lib/modules/$BASEVER-slitaz/kernel/fs/aufs/aufs.ko.gz
    1.61 +	chown 0644 $fs/lib/modules/$BASEVER-slitaz/kernel/fs/aufs/aufs.ko.gz
    1.62 +	install -D -m 644 $src/include/linux/aufs_type.h \
    1.63 +		$fs/usr/include/linux/aufs_type.h
    1.64 +}
    1.65 +
    1.66 +post_install()
    1.67 +{
    1.68 +	echo "Processing post-install commands..."
    1.69 +	chroot "$1/" depmod -a ${EXTRAVERSION#_}-slitaz
    1.70 +}
    1.71 +
    1.72 +post_remove()
    1.73 +{
    1.74 +	echo "Processing post-remove commands..."
    1.75 +	chroot "$1/" depmod -a ${EXTRAVERSION#_}-slitaz
    1.76 +}
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/aufs/stuff/aufs2-module-2.6.36.patch	Mon Apr 09 13:36:35 2012 +0200
     2.3 @@ -0,0 +1,47 @@
     2.4 +diff --git a/ubuntu/aufs/branch.c b/ubuntu/aufs/branch.c
     2.5 +index cd4463c..ff6b158 100644
     2.6 +--- a/fs/aufs/branch.c
     2.7 ++++ b/fs/aufs/branch.c
     2.8 +@@ -22,6 +22,8 @@
     2.9 + 
    2.10 + #include <linux/file.h>
    2.11 + #include <linux/statfs.h>
    2.12 ++#include <linux/lglock.h>
    2.13 ++#include <linux/percpu.h>
    2.14 + #include "aufs.h"
    2.15 + 
    2.16 + /*
    2.17 +@@ -851,7 +853,8 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex)
    2.18 + 		goto out;
    2.19 + 
    2.20 + 	/* no need file_list_lock() since sbinfo is locked? defered? */
    2.21 +-	list_for_each_entry(file, &sb->s_files, f_u.fu_list) {
    2.22 ++        lg_global_lock(files_lglock);
    2.23 ++	do_file_list_for_each_entry(sb, file) {
    2.24 + 		if (special_file(file->f_dentry->d_inode->i_mode))
    2.25 + 			continue;
    2.26 + 
    2.27 +@@ -861,6 +864,7 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex)
    2.28 + 			err = -EBUSY;
    2.29 + 			FiMustNoWaiters(file);
    2.30 + 			fi_read_unlock(file);
    2.31 ++			lg_global_unlock(files_lglock);
    2.32 + 			goto out_free;
    2.33 + 		}
    2.34 + 
    2.35 +@@ -889,10 +893,13 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex)
    2.36 + 			if (p) {
    2.37 + 				a = p;
    2.38 + 				a[n++] = hf;
    2.39 +-			} else
    2.40 ++			} else {
    2.41 ++				lg_global_unlock(files_lglock);
    2.42 + 				goto out_free;
    2.43 ++			}
    2.44 + 		}
    2.45 +-	}
    2.46 ++	} while_file_list_for_each_entry;
    2.47 ++	lg_global_unlock(files_lglock);
    2.48 + 
    2.49 + 	err = 0;
    2.50 + 	if (n)
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/binutils/description.txt	Mon Apr 09 13:36:35 2012 +0200
     3.3 @@ -0,0 +1,4 @@
     3.4 +The GNU Binutils are a collection of binary tools. The main ones are:
     3.5 +
     3.6 +    ld - the GNU linker.
     3.7 +    as - the GNU assembler.
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/binutils/receipt	Mon Apr 09 13:36:35 2012 +0200
     4.3 @@ -0,0 +1,89 @@
     4.4 +# SliTaz package receipt.
     4.5 +
     4.6 +PACKAGE="binutils"
     4.7 +VERSION="2.22"
     4.8 +CATEGORY="development"
     4.9 +SHORT_DESC="GNU assembler, linker and binary utilities."
    4.10 +MAINTAINER="pankso@slitaz.org"
    4.11 +TARBALL="$PACKAGE-$VERSION.tar.bz2"
    4.12 +WEB_SITE="http://www.gnu.org/software/binutils/"
    4.13 +WGET_URL="$GNU_MIRROR/$PACKAGE/$TARBALL"
    4.14 +PROVIDE="libbfd"
    4.15 +TAGS="assembler linker"
    4.16 +
    4.17 +DEPENDS="glibc zlib"
    4.18 +BUILD_DEPENDS="glibc-dev zlib-dev"
    4.19 +
    4.20 +# Rules to compile & install the temporary toolchain.
    4.21 +precook_tmp_toolchain()
    4.22 +{
    4.23 +	mkdir -p binutils-build && cd binutils-build
    4.24 +	{ $src/configure \
    4.25 +		--target=$HOST_SYSTEM --disable-nls \
    4.26 +		--disable-werror &&
    4.27 +	make
    4.28 +	 } || return 1
    4.29 +
    4.30 +	#If building on x86_64, create a symlink to ensure the sanity of the toolchain.
    4.31 +	[ "$ARCH" = x86_64 ] && mkdir /tools/lib && ln -s lib /tools/lib64
    4.32 +
    4.33 +	make install
    4.34 +}
    4.35 +
    4.36 +cook_tmp_toolchain()
    4.37 +{
    4.38 +	mkdir -p binutils-build && cd binutils-build
    4.39 +	{ CC="$HOST_SYSTEM-gcc -B/tools/lib/" \
    4.40 +		AR=$HOST_SYSTEM-ar RANLIB=$HOST_SYSTEM-ranlib \
    4.41 +		$src/configure $CONFIGURE_ARGS \
    4.42 +		--disable-nls --with-lib-path=/tools/lib &&
    4.43 +	make &&
    4.44 +	make install &&
    4.45 +	make -C ld clean &&
    4.46 +	make -C ld LIB_PATH=/usr/lib:/lib 
    4.47 +	} || return 1
    4.48 +	cp ld/ld-new /tools/bin
    4.49 +}
    4.50 +
    4.51 +# Rules to configure and make the package.
    4.52 +compile_rules()
    4.53 +{
    4.54 +	cd $src
    4.55 +	mkdir -p ../binutils-build && cd ../binutils-build
    4.56 +	$src/configure \
    4.57 +		--program-prefix=$TOOLPREFIX \
    4.58 +		--enable-shared \
    4.59 +		$CONFIGURE_ARGS &&
    4.60 +	make tooldir=/usr &&
    4.61 +	make tooldir=/usr install &&
    4.62 +	# This is the default binutils, so create symlinks to the target platform
    4.63 +	# binutil binaries. Delete duplicate binaries to save space.
    4.64 +	for binutil in $(ls -1 $DESTDIR/usr/bin | grep "${TOOLPREFIX}") ; do
    4.65 +		path="$DESTDIR/usr/bin/$(echo "$binutil" | sed "s:$TOOLPREFIX::g")"
    4.66 +		if [ -e $path ] ; then
    4.67 +			rm -f $path
    4.68 +		fi
    4.69 +		ln -s $binutil $path
    4.70 +	done
    4.71 +}
    4.72 +
    4.73 +# Rules to gen a SliTaz package suitable for Tazpkg.
    4.74 +genpkg_rules()
    4.75 +{
    4.76 +	mkdir -p $fs/usr/lib
    4.77 +	cp -a $install/usr/bin $fs/usr
    4.78 +	cp -a $install/usr/lib/*.so* $fs/usr/lib
    4.79 +	cp -a $install/usr/lib/*.a $fs/usr/lib
    4.80 +	cp -a $install/usr/include $fs/usr
    4.81 +	
    4.82 +	# libiberty.h
    4.83 +	cp -a $src/include/libiberty.h $fs/usr/include
    4.84 +	
    4.85 +	# Remove 'strings' (Busybox).
    4.86 +	#rm $fs/usr/lib/libiberty.a
    4.87 +	rm $fs/usr/bin/strings $fs/usr/bin/*-strings
    4.88 +	
    4.89 +	# Remove build directory (cookutils and tazwok path).
    4.90 +	rm -rf $WOK/$PACKAGE/source/$PACKAGE-build
    4.91 +	rm -rf $WOK/$PACKAGE/$PACKAGE-build
    4.92 +}
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/gcc+gcj/receipt	Mon Apr 09 13:36:35 2012 +0200
     5.3 @@ -0,0 +1,105 @@
     5.4 +# SliTaz package receipt.
     5.5 +
     5.6 +PACKAGE="gcc+gcj"
     5.7 +SOURCE="gcc"
     5.8 +VERSION="4.6.2"
     5.9 +CATEGORY="development"
    5.10 +SHORT_DESC="The GNU Compiler Collection, including the gcj Compiler for Java."
    5.11 +MAINTAINER="rcx@zoominternet.net"
    5.12 +TARBALL="$SOURCE-$VERSION.tar.bz2"
    5.13 +WEB_SITE="http://gcc.gnu.org/java/"
    5.14 +WGET_URL="$GNU_MIRROR/$SOURCE/$SOURCE-$VERSION/$TARBALL"
    5.15 +PROVIDE="$SOURCE jre jdk"
    5.16 +
    5.17 +DEPENDS="glibc-base glib gcc-lib-base libgio util-linux-ng-uuid zlib libgomp gmp mpfr python \
    5.18 +gtk+ atk cairo expat fontconfig freetype pango pixman libpng libxcb xcb-util \
    5.19 +xorg-libICE xorg-libSM xorg-libX11 xorg-libXau xorg-libXcomposite \
    5.20 +xorg-libXcursor xorg-libXdamage xorg-libXdmcp xorg-libXext xorg-libXfixes \
    5.21 +xorg-libXinerama xorg-libXrandr xorg-libXrender xorg-libXtst alsa-lib elfutils"
    5.22 +BUILD_DEPENDS="glibc-dev gawk flex python perl gmp gmp-dev mpfr mpfr-dev mpc-library \
    5.23 +expat-dev zlib-dev fastjar gtk+-dev libart_lgpl-dev xorg-dev xorg-inputproto \
    5.24 +xorg-kbproto xorg-libXtst xorg-randrproto xorg-renderproto xorg-xextproto xorg-xproto \
    5.25 +elfutils elfutils-dev"
    5.26 +
    5.27 +# Rules to configure and make the package.
    5.28 +compile_rules()
    5.29 +{
    5.30 +	cd $src
    5.31 +	# Set HOST_SYSTEM if not defined in tazwok.conf as it should be
    5.32 +	if [ -z "$HOST_SYSTEM" ] ; then
    5.33 +		HOST_SYSTEM="i486-slitaz-linux"
    5.34 +	fi
    5.35 +	GCC_TARGET=$HOST_SYSTEM
    5.36 +
    5.37 +	# Get ecj.jar needed to build gcj. We have to dl it each time from the
    5.38 +	# sources repository to ensure that we receive the latest JAR.
    5.39 +	# (See http://gcc.gnu.org/install/configure.html --with-ecj-jar)
    5.40 +	ECJ_JAR="ecj-latest.jar"
    5.41 +	ECJ_URL="ftp://sourceware.org/pub/java/$ECJ_JAR"
    5.42 +	if [ ! -f "$ECJ_JAR" ] ; then
    5.43 +		echo "Downloading ECJ jar to: $(pwd)"
    5.44 +		wget -c $ECJ_URL
    5.45 +		# Exit if download failed to avoid errors.
    5.46 +		if [ ! -f "$ECJ_JAR" ] ; then
    5.47 +			echo -e "\nECJ jar download failed, exiting. Please check ECJ_URL variable.\n"
    5.48 +			return 1
    5.49 +		fi
    5.50 +	fi
    5.51 +
    5.52 +	# Use libiberty.a from binutils.
    5.53 +	sed -i 's/install_to_$(INSTALL_DEST) //' \
    5.54 +		$src/libiberty/Makefile.in || return 1
    5.55 +    mkdir -p ../build && cd ../build
    5.56 +	
    5.57 +    PYTHON_LIB=python$(grep ^VERSION= $WOK/python/receipt | sed 's/.*"\(...\).*/\1/')
    5.58 +    ../${src##*/}/configure --prefix=/usr --libexecdir=/usr/lib \
    5.59 +		--infodir=/usr/share/info --mandir=/usr/share/man --enable-nls \
    5.60 +		--enable-languages=c,c++,objc,java --enable-shared \
    5.61 +		--with-system-zlib \
    5.62 +		--enable-clocale=gnu --enable-objc-gc --enable-__cxa_atexit \
    5.63 +		--enable-threads=posix --with-tune=i486 \
    5.64 +		--enable-java-home --with-arch-directory=i386 \
    5.65 +		--with-jvm-root-dir=/usr/lib/jvm/java-gcj \
    5.66 +		--with-jvm-jar-dir=/usr/lib/jvm-exports/java-gcj \
    5.67 +		--with-python-dir=/usr/lib/$PYTHON_LIB/site-packages \
    5.68 +		--with-x --enable-java-awt=gtk \
    5.69 +		--enable-gtk-cairo \
    5.70 +		--enable-lto \
    5.71 +		$CONFIGURE_ARGS $GCC_TARGET  &&
    5.72 +    make bootstrap &&
    5.73 +    # Make install in the source tree to help creating derived pkgs
    5.74 +    # and keep $install variable set for genpkg.
    5.75 +    make install
    5.76 +}
    5.77 +
    5.78 +# Rules to gen a SliTaz package suitable for Tazpkg.
    5.79 +genpkg_rules()
    5.80 +{
    5.81 +	mkdir -p  $fs/usr/share
    5.82 +	cp -a $install/usr/share/java $fs/usr/share
    5.83 +    cp -a $install/usr/bin $fs/usr
    5.84 +    # Copy all libs. Remove libgcc_s.so and libstdc++.so
    5.85 +    # they goes in gcc-lib-base-$VERSION package.
    5.86 +    cp -a $install/usr/lib $fs/usr
    5.87 +    rm $fs/usr/lib/libgcc_s.so*
    5.88 +    rm $fs/usr/lib/libstdc++.so*
    5.89 +    rm $fs/usr/lib/libgomp.so*
    5.90 +    rm $fs/usr/lib/gcj-$VERSION-11/*.la
    5.91 +    rm $fs/usr/lib/*.la
    5.92 +    # Include files.
    5.93 +    cp -a $install/usr/include $fs/usr
    5.94 +}
    5.95 +
    5.96 +# Post install commands for Tazpkg.
    5.97 +post_install()
    5.98 +{
    5.99 +	local root
   5.100 +	root=$1
   5.101 +	echo "Processing post-install commands..."
   5.102 +	if [ ! -f "$root/lib/cpp" ] ; then
   5.103 +		ln -s ../usr/bin/cpp $root/lib
   5.104 +	fi
   5.105 +	if [ ! -f "$root/usr/bin/cc" ] ; then
   5.106 +		ln -s gcc $root/usr/bin/cc
   5.107 +	fi
   5.108 +}
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/gcc-lib-base/description.txt	Mon Apr 09 13:36:35 2012 +0200
     6.3 @@ -0,0 +1,3 @@
     6.4 +The GNU Compiler Collection includes front ends for C, C++, Objective-C, 
     6.5 +Fortran, Java, Ada, and Go, as well as libraries for these languages (libstdc++,
     6.6 +libgcj,...). 
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/gcc-lib-base/receipt	Mon Apr 09 13:36:35 2012 +0200
     7.3 @@ -0,0 +1,19 @@
     7.4 +# SliTaz package receipt.
     7.5 +
     7.6 +PACKAGE="gcc-lib-base"
     7.7 +VERSION="4.6.2"
     7.8 +CATEGORY="development"
     7.9 +SHORT_DESC="GCC base libraries, libgcc_s and libstdc++."
    7.10 +WEB_SITE="http://gcc.gnu.org/"
    7.11 +MAINTAINER="pankso@slitaz.org"
    7.12 +WANTED="gcc"
    7.13 +
    7.14 +# Rules to gen a SliTaz package suitable for Tazpkg.
    7.15 +genpkg_rules()
    7.16 +{
    7.17 +	mkdir -p $fs/usr/lib
    7.18 +	cp -a $install/usr/lib/libgcc_s.so* $fs/usr/lib
    7.19 +	cp -a $install/usr/lib/libstdc++.so* $fs/usr/lib
    7.20 +	rm $fs/usr/lib/*-gdb.py
    7.21 +}
    7.22 +
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/gcc/description.txt	Mon Apr 09 13:36:35 2012 +0200
     8.3 @@ -0,0 +1,3 @@
     8.4 +The GNU Compiler Collection includes front ends for C, C++, Objective-C, 
     8.5 +Fortran, Java, Ada, and Go, as well as libraries for these languages (libstdc++,
     8.6 +libgcj,...). 
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/gcc/receipt	Mon Apr 09 13:36:35 2012 +0200
     9.3 @@ -0,0 +1,228 @@
     9.4 +# SliTaz package receipt.
     9.5 +
     9.6 +PACKAGE="gcc"
     9.7 +VERSION="4.6.2"
     9.8 +CATEGORY="development"
     9.9 +SHORT_DESC="The the GNU Compiler Collection."
    9.10 +MAINTAINER="pankso@slitaz.org"
    9.11 +TARBALL="$PACKAGE-$VERSION.tar.bz2"
    9.12 +WEB_SITE="http://gcc.gnu.org/"
    9.13 +WGET_URL="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$VERSION/$TARBALL"
    9.14 +
    9.15 +# We need gawk since busybox awk is not sufficient. We have BUILD_DEPENDS
    9.16 +# for cookutils that are not used by tazwok/cook-toolchain since it install
    9.17 +# and use it's own copy.
    9.18 +DEPENDS="binutils libgomp libobjc gcc-lib-base mpc-library elfutils"
    9.19 +BUILD_DEPENDS="elfutils mpc-library mpfr mpfr-dev gmp gmp-dev \
    9.20 +elfutils-dev"
    9.21 +
    9.22 +# Rules to compile & install the temporary toolchain.
    9.23 +precook_tmp_toolchain()
    9.24 +{
    9.25 +	report open-bloc
    9.26 +	cd $src
    9.27 +
    9.28 +	# GCC requires the GMP, MPFR and MPC packages.
    9.29 +	tazwok get-src mpfr --target=$PWD/mpfr || { report close-bloc; return 1; }
    9.30 +	tazwok get-src gmp --target=$PWD/gmp || { report close-bloc; return 1; }
    9.31 +	tazwok get-src mpc-library --target=$PWD/mpc || { report close-bloc; return 1; }
    9.32 +
    9.33 +	report step "Running compilation"
    9.34 +
    9.35 +	# Use libiberty.a from binutils.
    9.36 +	sed -i 's/install_to_$(INSTALL_DEST) //' \
    9.37 +		libiberty/Makefile.in || return 1
    9.38 +
    9.39 +	# Build it in a separate directory.
    9.40 +	mkdir ../gcc-build
    9.41 +	cd ../gcc-build
    9.42 +
    9.43 +	{ $src/configure \
    9.44 +		--target=$HOST_SYSTEM \
    9.45 +		--disable-nls --disable-shared --disable-multilib \
    9.46 +		--disable-decimal-float --disable-threads \
    9.47 +		--disable-libmudflap --disable-libssp \
    9.48 +		--disable-libgomp --enable-languages=c \
    9.49 +		--with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \
    9.50 +		--without-ppl --without-cloog &&
    9.51 +	make &&
    9.52 +	make install
    9.53 +	} || { report close-bloc; return 1; }
    9.54 +
    9.55 +	# See LFS for more detais about this.
    9.56 +	ln -s libgcc.a `$HOST_SYSTEM-gcc -print-libgcc-file-name | \
    9.57 +    		sed 's/libgcc/&_eh/'`
    9.58 +	report close-bloc
    9.59 +}
    9.60 +
    9.61 +cook_tmp_toolchain()
    9.62 +{
    9.63 +	report open-bloc
    9.64 +	cd $src
    9.65 +	patch -Np1 -i $stuff/gcc-$VERSION-startfiles_fix-1.patch || { report close-bloc; return 1; }
    9.66 +
    9.67 +	# Details about theses lines are in LFS book.
    9.68 +	sed 's@\./fixinc\.sh@-c true@' -i gcc/Makefile.in
    9.69 +	sed 's/^T_CFLAGS =$/& -fomit-frame-pointer/' -i gcc/Makefile.in
    9.70 +	for file in \
    9.71 +		$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
    9.72 +	do
    9.73 +		sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
    9.74 +			-e 's@/usr@/tools@g' -i $file
    9.75 +		echo '
    9.76 +#undef STANDARD_INCLUDE_DIR
    9.77 +#define STANDARD_INCLUDE_DIR 0
    9.78 +#define STANDARD_STARTFILE_PREFIX_1 ""
    9.79 +#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
    9.80 +	done
    9.81 +
    9.82 +	if [ "$ARCH" = x86_64 ]; then
    9.83 +		for file in $(find gcc/config -name t-linux64) ; do
    9.84 +			sed '/MULTILIB_OSDIRNAMES/d' -i $file
    9.85 +		done
    9.86 +	fi
    9.87 +	
    9.88 +	# GCC requires the GMP, MPFR and MPC packages.
    9.89 +	tazwok get-src mpfr --target=$PWD/mpfr || { report close-bloc; return 1; }
    9.90 +	tazwok get-src gmp --target=$PWD/gmp || { report close-bloc; return 1; }
    9.91 +	tazwok get-src mpc-library --target=$PWD/mpc || { report close-bloc; return 1; }
    9.92 +
    9.93 +	report step "Running compilation"
    9.94 +
    9.95 +	# Use libiberty.a from binutils.
    9.96 +	sed -i 's/install_to_$(INSTALL_DEST) //' \
    9.97 +		libiberty/Makefile.in || return 1
    9.98 +
    9.99 +	# Build it in a separate directory.
   9.100 +	mkdir ../gcc-build
   9.101 +	cd ../gcc-build
   9.102 +
   9.103 +	{ CC="$HOST_SYSTEM-gcc -B/tools/lib/" \
   9.104 +		AR=$HOST_SYSTEM-ar RANLIB=$HOST_SYSTEM-ranlib \
   9.105 +		$src/configure \
   9.106 +		--with-local-prefix=/tools --enable-clocale=gnu \
   9.107 +		--enable-shared --enable-threads=posix \
   9.108 +		--enable-__cxa_atexit --enable-languages=c,c++ \
   9.109 +		--disable-libstdcxx-pch --disable-multilib \
   9.110 +		--disable-bootstrap --disable-libgomp \
   9.111 +		--with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \
   9.112 +		--without-ppl --without-cloog &&
   9.113 +	make &&
   9.114 +	make install
   9.115 +	} || { report close-bloc; return 1; }
   9.116 +	ln -s gcc /tools/bin/cc
   9.117 +	report close-bloc
   9.118 +}
   9.119 +
   9.120 +# Rules to configure and make the package.
   9.121 +compile_rules()
   9.122 +{
   9.123 +	cd $src
   9.124 +
   9.125 +	# SliTaz is a Busybox based OS, why we so small and fast. Using gawk by
   9.126 +	# default to build package will not ensure package work with Busybox awk
   9.127 +	# and so should NOT be use to cook.
   9.128 +	if [ -x /usr/bin/cook ]; then
   9.129 +		[ -d "/var/lib/tazpkg/installed/gawk" ] || tazpkg get-install gawk
   9.130 +	fi
   9.131 +
   9.132 +	# Package slitaz-toolchain use 'cook --options' when rebuilding
   9.133 +	# the full SliTaz toolchain.
   9.134 +	[ "$2" == "--first-pass" ] && opt=$2
   9.135 +	[ "$3" == "--first-pass" ] && opt=$3
   9.136 +	
   9.137 +	# Use libiberty.a from binutils.
   9.138 +	sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in || return 1
   9.139 +	
   9.140 +	case $ARCH in
   9.141 +		i?86) sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' \
   9.142 +			gcc/Makefile.in ;;
   9.143 +	esac
   9.144 +	
   9.145 +	#sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
   9.146 +	
   9.147 +	mkdir -p ../gcc-build && cd ../gcc-build
   9.148 +
   9.149 +	# This is the default GCC and we want a native build to cross compile after.
   9.150 +	# SliTaz target i486 host so we need a native i486 build for GCC.
   9.151 +	case "$opt" in
   9.152 +		--first-pass)
   9.153 +			# Used by slitaz-toolchain when rebuilding the full toolchain.
   9.154 +			echo "cook: configure GCC for: toolchain first pass"
   9.155 +			$src/configure \
   9.156 +				--libexecdir=/usr/lib \
   9.157 +				--disable-nls \
   9.158 +				--enable-shared \
   9.159 +				--enable-languages=c,c++ \
   9.160 +				--disable-libstdcxx-pch \
   9.161 +				--enable-__cxa_atexit \
   9.162 +				--enable-clocale=gnu \
   9.163 +				--enable-threads=posix \
   9.164 +				--disable-bootstrap \
   9.165 +				--build=$HOST_SYSTEM \
   9.166 +				--host=$HOST_SYSTEM &&
   9.167 +			make && make install ;;
   9.168 +		*)
   9.169 +			# Used by default to produce a full featured X86 GCC compiler.
   9.170 +			echo "cook: configure GCC for: final/full build"
   9.171 +			$src/configure \
   9.172 +				--libexecdir=/usr/lib \
   9.173 +				--enable-nls \
   9.174 +				--enable-languages=c,c++,objc,fortran \
   9.175 +				--enable-shared \
   9.176 +				--with-system-zlib \
   9.177 +				--enable-clocale=gnu \
   9.178 +				--enable-objc-gc \
   9.179 +				--enable-__cxa_atexit \
   9.180 +				--enable-lto \
   9.181 +				--enable-threads=posix \
   9.182 +				--disable-bootstrap \
   9.183 +				--with-pkgversion="SliTaz" \
   9.184 +				--with-tune=$ARCH \
   9.185 +				--build=$HOST_SYSTEM \
   9.186 +				--host=$HOST_SYSTEM &&
   9.187 +			make && make install ;;
   9.188 +	esac
   9.189 +}
   9.190 +
   9.191 +# Rules to gen a SliTaz package suitable for Tazpkg.
   9.192 +genpkg_rules()
   9.193 +{
   9.194 +	mkdir -p  $fs/usr/share
   9.195 +	cp -a $install/usr/bin $fs/usr
   9.196 +	
   9.197 +	# Copy all libs. Remove libgcc_s.so and libstdc++.so they goes in
   9.198 +	# the gcc-lib-base package.
   9.199 +	cp -a $install/usr/lib $fs/usr
   9.200 +	rm -f $fs/usr/lib/libgcc_s.so*
   9.201 +	rm -f $fs/usr/lib/libstdc++.so*
   9.202 +	rm -f $fs/usr/lib/libgomp.so*
   9.203 +	rm -f $fs/usr/lib/libobjc.so*
   9.204 +
   9.205 +	# Include files.
   9.206 +	cp -a $install/usr/include $fs/usr
   9.207 +	
   9.208 +	# Gfortran goes in gfortran package.
   9.209 +	rm -f $fs/usr/bin/*gfortran
   9.210 +	rm -f $fs/usr/lib/libgfortran*
   9.211 +	rm -f $fs/usr/lib/gcc/*/$VERSION/libgfortran*
   9.212 +	rm -rf $fs/usr/lib/gcc/*/$VERSION/f*
   9.213 +	
   9.214 +	# Remove build directory.
   9.215 +	rm -rf $WOK/$PACKAGE/source/$PACKAGE-build
   9.216 +	rm -rf $WOK/$PACKAGE/$PACKAGE-build
   9.217 +}
   9.218 +
   9.219 +# Post install commands for Tazpkg.
   9.220 +post_install()
   9.221 +{
   9.222 +	local root
   9.223 +	root=$1
   9.224 +	echo "Processing post-install commands..."
   9.225 +	if [ ! -f "$root/lib/cpp" ]; then
   9.226 +		ln -s ../usr/bin/cpp $root/lib
   9.227 +	fi
   9.228 +	if [ ! -f "$root/usr/bin/cc" ]; then
   9.229 +		ln -s gcc $root/usr/bin/cc
   9.230 +	fi
   9.231 +}
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/gcc/stuff/gcc-4.5.2-startfiles_fix-1.patch	Mon Apr 09 13:36:35 2012 +0200
    10.3 @@ -0,0 +1,33 @@
    10.4 +Submitted By: Jeremy Huntwork (jhuntwork AT linuxfromscratch DOT org)
    10.5 +Date: 2008-12-05
    10.6 +Initial Package Version: 4.3.2
    10.7 +Upstream Status: See below.
    10.8 +Origin: DIY Linux, See below.
    10.9 +Description: Original patch follows:
   10.10 +
   10.11 +# DIY Linux Patch
   10.12 +Date: 2008-09-09
   10.13 +Author: Refer Origin.
   10.14 +Origin: Partial revert of http://gcc.gnu.org/ml/gcc-cvs/2006-11/msg00416.html
   10.15 +Maker: Greg Schafer <gschafer@zip.com.au>
   10.16 +Upstream Status: Not applicable. Tweak only for Temptools phase GCC-Pass2.
   10.17 +Description: Partially revert GCC driver to pre-GCC-4.3 state to allow startfiles to be
   10.18 +  found in $prefix when GCC is configured for a non-standard prefix eg: /temptools. Full
   10.19 +  background info in thread starting here: http://gcc.gnu.org/ml/gcc/2008-03/msg00095.html
   10.20 +  and GCC bugzilla here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35532
   10.21 +
   10.22 +diff -Naur gcc-4.3.0-RC-20080222.orig/gcc/gcc.c gcc-4.3.0-RC-20080222/gcc/gcc.c
   10.23 +--- gcc-4.3.0-RC-20080222.orig/gcc/gcc.c	2008-01-24 18:57:12.000000000 +0000
   10.24 ++++ gcc-4.3.0-RC-20080222/gcc/gcc.c	2008-03-02 06:07:36.000000000 +0000
   10.25 +@@ -6370,6 +6370,11 @@
   10.26 + 			      machine_suffix, 
   10.27 + 			      standard_startfile_prefix, NULL),
   10.28 + 		      NULL, PREFIX_PRIORITY_LAST, 0, 1);
   10.29 ++	  add_prefix (&startfile_prefixes,
   10.30 ++		      concat (standard_exec_prefix,
   10.31 ++			      machine_suffix,
   10.32 ++			      standard_startfile_prefix, NULL),
   10.33 ++		      NULL, PREFIX_PRIORITY_LAST, 0, 1);
   10.34 + 	}
   10.35 + 
   10.36 +       /* Sysrooted prefixes are relocated because target_system_root is
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/gfortran/receipt	Mon Apr 09 13:36:35 2012 +0200
    11.3 @@ -0,0 +1,22 @@
    11.4 +# SliTaz package receipt.
    11.5 +
    11.6 +PACKAGE="gfortran"
    11.7 +VERSION="4.6.2"
    11.8 +CATEGORY="development"
    11.9 +SHORT_DESC="GCC fortran extension."
   11.10 +WEB_SITE="http://gcc.gnu.org/"
   11.11 +MAINTAINER="pascal.bellard@slitaz.org"
   11.12 +DEPENDS="gcc libgfortran"
   11.13 +WANTED="gcc"
   11.14 +
   11.15 +# Rules to gen a SliTaz package suitable for Tazpkg.
   11.16 +genpkg_rules()
   11.17 +{
   11.18 +	mkdir -p $fs/usr/lib/gcc/$HOST_SYSTEM/$VERSION $fs/usr/bin
   11.19 +	cp -a $install/usr/bin/*gfortran $fs/usr/bin
   11.20 +	cp -a $install/usr/lib/libgfortran*a $fs/usr/lib
   11.21 +	cp -a $install/usr/lib/gcc/$HOST_SYSTEM/$VERSION/f* \
   11.22 +		$fs/usr/lib/gcc/$HOST_SYSTEM/$VERSION
   11.23 +	cp -a $install/usr/lib/gcc/$HOST_SYSTEM/$VERSION/libgfortran* \
   11.24 +		$fs/usr/lib/gcc/$HOST_SYSTEM/$VERSION
   11.25 +}
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/glibc-base/receipt	Mon Apr 09 13:36:35 2012 +0200
    12.3 @@ -0,0 +1,43 @@
    12.4 +# SliTaz package receipt.
    12.5 +
    12.6 +PACKAGE="glibc-base"
    12.7 +VERSION="2.14.1"
    12.8 +CATEGORY="base-system"
    12.9 +SHORT_DESC="GNU libc minimal libraries and UTF-8 support for SliTaz."
   12.10 +WEB_SITE="http://www.gnu.org/software/libc/"
   12.11 +WANTED="glibc"
   12.12 +MAINTAINER="pankso@slitaz.org"
   12.13 +
   12.14 +DEFAULT_LOCALE="de_DE en_US en_GB es_ES fr_FR it_IT pt_BR pt_PT ru_RU"
   12.15 +
   12.16 +# Rules to gen a SliTaz package suitable for Tazpkg.
   12.17 +#
   12.18 +# Full glibc is very long to compile (see package glibc for more
   12.19 +# informations). You can use the precompiled package available on
   12.20 +# SliTaz mirror to build a distro without recompiling glibc.
   12.21 +#
   12.22 +genpkg_rules()
   12.23 +{
   12.24 +	# Mkdir's.
   12.25 +	for dir in $(cat $stuff/mkdir.list)
   12.26 +	do
   12.27 +		mkdir -p ${fs}$dir
   12.28 +	done
   12.29 +    # Copy all files specified in stuff/files.list. We get the files
   12.30 +    # from glibc package.
   12.31 +    for file in $(cat $stuff/wanted-files.list)
   12.32 +    do
   12.33 +    	cp -a ${_pkg}$file ${fs}$file
   12.34 +    done
   12.35 +    # i18n
   12.36 +    for i in $DEFAULT_LOCALE
   12.37 +	do
   12.38 +		cp $install/usr/share/i18n/locales/$i $fs/usr/share/i18n/locales
   12.39 +	done
   12.40 +}
   12.41 +
   12.42 +# Remove an eventual locale-archive since we use directories.
   12.43 +pre_install()
   12.44 +{
   12.45 +	rm -f $1/usr/lib/locale/locale-archive
   12.46 +}
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/glibc-base/stuff/mkdir.list	Mon Apr 09 13:36:35 2012 +0200
    13.3 @@ -0,0 +1,10 @@
    13.4 +/etc
    13.5 +/lib
    13.6 +/usr/bin
    13.7 +/usr/lib/gconv
    13.8 +/usr/lib/locale
    13.9 +/usr/share/zoneinfo/America
   13.10 +/usr/share/zoneinfo/Europe
   13.11 +/usr/share/i18n/locales
   13.12 +/usr/share/i18n/charmaps
   13.13 +/usr/share/locale
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/glibc-base/stuff/wanted-files.list	Mon Apr 09 13:36:35 2012 +0200
    14.3 @@ -0,0 +1,88 @@
    14.4 +/lib/libutil-2.14.1.so
    14.5 +/lib/libnss_dns-2.14.1.so
    14.6 +/lib/libnsl-2.14.1.so
    14.7 +/lib/libanl-2.14.1.so
    14.8 +/lib/libm-2.14.1.so
    14.9 +/lib/libpthread-2.14.1.so
   14.10 +/lib/libthread_db-1.0.so
   14.11 +/lib/libnss_compat-2.14.1.so
   14.12 +/lib/libc-2.14.1.so
   14.13 +/lib/librt-2.14.1.so
   14.14 +/lib/libcrypt-2.14.1.so
   14.15 +/lib/ld-2.14.1.so
   14.16 +/lib/libresolv-2.14.1.so
   14.17 +/lib/libnss_files-2.14.1.so
   14.18 +/lib/libdl-2.14.1.so
   14.19 +
   14.20 +/usr/lib/gconv/UNICODE.so
   14.21 +/usr/lib/gconv/gconv-modules
   14.22 +/usr/lib/gconv/ANSI_X3.110.so
   14.23 +/usr/lib/gconv/ISO8859-1.so
   14.24 +/usr/lib/gconv/UTF-16.so
   14.25 +/usr/lib/gconv/CP1252.so
   14.26 +
   14.27 +/usr/bin/locale
   14.28 +/usr/bin/localedef
   14.29 +
   14.30 +/usr/share/locale/locale.alias
   14.31 +/usr/share/i18n/charmaps/UTF-8.gz
   14.32 +
   14.33 +/usr/share/i18n/locales/i18n
   14.34 +/usr/share/i18n/locales/iso14651_t1 
   14.35 +/usr/share/i18n/locales/iso14651_t1_common 
   14.36 +/usr/share/i18n/locales/translit_neutral 
   14.37 +/usr/share/i18n/locales/translit_combining
   14.38 +/usr/share/i18n/locales/translit_circle 
   14.39 +/usr/share/i18n/locales/translit_cjk_compat 
   14.40 +/usr/share/i18n/locales/translit_compat 
   14.41 +/usr/share/i18n/locales/translit_font 
   14.42 +/usr/share/i18n/locales/translit_fraction
   14.43 +/usr/share/i18n/locales/translit_narrow
   14.44 +/usr/share/i18n/locales/translit_small
   14.45 +/usr/share/i18n/locales/translit_wide
   14.46 +
   14.47 +/usr/share/zoneinfo/Europe/Madrid
   14.48 +/usr/share/zoneinfo/Europe/Moscow
   14.49 +/usr/share/zoneinfo/Europe/London
   14.50 +/usr/share/zoneinfo/Europe/Zurich
   14.51 +/usr/share/zoneinfo/Europe/Paris
   14.52 +/usr/share/zoneinfo/UTC
   14.53 +/usr/share/zoneinfo/CET
   14.54 +/usr/share/zoneinfo/America/Montreal
   14.55 +/usr/share/zoneinfo/America/New_York
   14.56 +/usr/share/zoneinfo/America/Los_Angeles
   14.57 +/usr/share/zoneinfo/America/Sao_Paulo
   14.58 +/usr/share/zoneinfo/America/Mexico_City
   14.59 +
   14.60 +/etc/rpc
   14.61 +/etc/ld.so.conf
   14.62 +/etc/ld.so.cache
   14.63 +
   14.64 +/lib/libc.so.6
   14.65 +/lib/librt.so.1
   14.66 +/lib/libdl.so.2
   14.67 +/lib/libanl.so.1
   14.68 +/lib/libutil.so.1
   14.69 +/lib/libnss_dns.so.2
   14.70 +/lib/libnss_compat.so.2
   14.71 +/lib/libcrypt.so.1
   14.72 +/lib/libpthread.so.0
   14.73 +/lib/libthread_db.so.1
   14.74 +/lib/libm.so.6
   14.75 +/lib/ld-linux.so.2
   14.76 +/lib/libresolv.so.2
   14.77 +/lib/libnsl.so.1
   14.78 +/lib/libnss_files.so.2
   14.79 +
   14.80 +/usr/lib/libnss_dns.so
   14.81 +/usr/lib/libnss_files.so
   14.82 +/usr/lib/libcrypt.so
   14.83 +/usr/lib/libnss_compat.so
   14.84 +/usr/lib/libdl.so
   14.85 +/usr/lib/libm.so
   14.86 +/usr/lib/librt.so
   14.87 +/usr/lib/libresolv.so
   14.88 +/usr/lib/libnsl.so
   14.89 +/usr/lib/libutil.so
   14.90 +/usr/lib/libanl.so
   14.91 +/usr/lib/libthread_db.so
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/glibc-dev/receipt	Mon Apr 09 13:36:35 2012 +0200
    15.3 @@ -0,0 +1,40 @@
    15.4 +# SliTaz package receipt.
    15.5 +
    15.6 +PACKAGE="glibc-dev"
    15.7 +VERSION="2.14.1"
    15.8 +CATEGORY="development"
    15.9 +SHORT_DESC="The GNU C libraries devel files (Part of SliTaz toolchain)."
   15.10 +MAINTAINER="pankso@slitaz.org"
   15.11 +DEPENDS="glibc-base"
   15.12 +WANTED="glibc"
   15.13 +WEB_SITE="http://www.gnu.org/software/libc/"
   15.14 +
   15.15 +# Rules to gen a SliTaz package suitable for Tazpkg.
   15.16 +#
   15.17 +# This package is part of the toolchain. We use list to mkdir and cp files.
   15.18 +#
   15.19 +genpkg_rules()
   15.20 +{
   15.21 +    # Mass copy and then remove all files specified in stuff/base-files.list.
   15.22 +    # We get the files from glibc-base. Locale files are in: glibc-locale.
   15.23 +    cp -a $install/* $fs
   15.24 +    
   15.25 +    # Rm base files.
   15.26 +    echo -n "Removing all base files..."
   15.27 +    for file in `cat $WOK/glibc-base/taz/glibc-base-$VERSION/files.list`
   15.28 +    do
   15.29 +    	rm -f ${fs}$file
   15.30 +    done
   15.31 +    rm -rf $fs/etc
   15.32 +    rm -rf $fs/usr/share
   15.33 +    status
   15.34 +    
   15.35 +    # Rm locale.
   15.36 +    echo -n "Removing all locale files..."
   15.37 +    for file in `cat $WOK/glibc-locale/taz/glibc-locale-$VERSION/files.list`
   15.38 +    do
   15.39 +    	rm -f ${fs}$file
   15.40 +    done
   15.41 +    rm -rf $fs/usr/lib/gconv
   15.42 +    status
   15.43 +}
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/glibc-extra-samba/receipt	Mon Apr 09 13:36:35 2012 +0200
    16.3 @@ -0,0 +1,19 @@
    16.4 +# SliTaz package receipt.
    16.5 +
    16.6 +PACKAGE="glibc-extra-samba"
    16.7 +VERSION="2.14.1"
    16.8 +CATEGORY="base-system"
    16.9 +SHORT_DESC="GNU libc extra gconv modules for samba."
   16.10 +WEB_SITE="http://gcc.gnu.org/"
   16.11 +WANTED="glibc"
   16.12 +MAINTAINER="pascal.bellard@slitaz.org"
   16.13 +
   16.14 +# Rules to gen a SliTaz package suitable for Tazpkg.
   16.15 +#
   16.16 +genpkg_rules()
   16.17 +{
   16.18 +	mkdir -p $fs/usr/lib/gconv
   16.19 +	for i in IBM850.so IBM437.so; do
   16.20 +		cp $install/usr/lib/gconv/$i $fs/usr/lib/gconv/$i
   16.21 +	done
   16.22 +}
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/glibc-locale/receipt	Mon Apr 09 13:36:35 2012 +0200
    17.3 @@ -0,0 +1,51 @@
    17.4 +# SliTaz package receipt.
    17.5 +
    17.6 +PACKAGE="glibc-locale"
    17.7 +VERSION="2.14.1"
    17.8 +CATEGORY="system-tools"
    17.9 +SHORT_DESC="The GNU C libraries locale files and utilities (see also locale-*)."
   17.10 +MAINTAINER="pankso@slitaz.org"
   17.11 +DEPENDS="glibc-base glibc-extra-samba"
   17.12 +WANTED="glibc"
   17.13 +WEB_SITE="http://www.gnu.org/software/libc/"
   17.14 +
   17.15 +LOCALE_PACK="cs de es fr hu id it pt ru sl zh_CN zh_TW"
   17.16 +
   17.17 +# Rules to gen a SliTaz package suitable for Tazpkg.
   17.18 +genpkg_rules()
   17.19 +{
   17.20 +	mkdir -p $fs/usr/share $fs/usr/lib $fs/usr/bin
   17.21 +
   17.22 +	cp -a $install/usr/lib/gconv $fs/usr/lib
   17.23 +	cp -a $install/usr/share/locale $fs/usr/share
   17.24 +	cp -a $install/usr/share/i18n $fs/usr/share
   17.25 +	cp -a $install/usr/share/zoneinfo $fs/usr/share
   17.26 +
   17.27 +	# Utilities and tools
   17.28 +	cp -a $install/usr/bin/iconv $fs/usr/bin
   17.29 +	cp -a $install/usr/bin/tzselect $fs/usr/bin
   17.30 +
   17.31 +	# Rm base files.
   17.32 +	echo -n "* Removing all base files..."
   17.33 +	for file in `cat $WOK/glibc-base/taz/glibc-base-$VERSION/files.list`
   17.34 +	do
   17.35 +		rm -f ${fs}$file
   17.36 +	done
   17.37 +	status
   17.38 +	
   17.39 +	# Rm glibc-extra-samba files.
   17.40 +	echo -n "* Removing extra samba files..."
   17.41 +	for file in `cat $WOK/glibc-extra-samba/taz/glibc-extra-samba-$VERSION/files.list`
   17.42 +	do
   17.43 +		rm -f ${fs}$file
   17.44 +	done
   17.45 +	status
   17.46 +
   17.47 +	# Rm files provided by locale-pack.
   17.48 +	for i in $LOCALE_PACK
   17.49 +	do
   17.50 +		echo -n "* Removing locale: $i"
   17.51 +		rm -rf $fs/usr/share/locale/$i
   17.52 +		status
   17.53 +	done
   17.54 +}
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/glibc/receipt	Mon Apr 09 13:36:35 2012 +0200
    18.3 @@ -0,0 +1,148 @@
    18.4 +# SliTaz package receipt.
    18.5 +
    18.6 +PACKAGE="glibc"
    18.7 +VERSION="2.14.1"
    18.8 +CATEGORY="meta"
    18.9 +SHORT_DESC="The GNU C libraries. This package is used to compile the libc."
   18.10 +MAINTAINER="pankso@slitaz.org"
   18.11 +TARBALL="$PACKAGE-$VERSION.tar.gz"
   18.12 +WEB_SITE="http://www.gnu.org/software/libc/"
   18.13 +WGET_URL="$GNU_MIRROR/$PACKAGE/$TARBALL"
   18.14 +
   18.15 +DEPENDS="glibc-base glibc-locale glibc-dev"
   18.16 +BUILD_DEPENDS="linux-api-headers autoconf bash"
   18.17 +
   18.18 +# Genpkg order for tazwok.
   18.19 +COOK_OPT="genpkg=glibc-base:glibc-extra-samba:glib-locale:glibc-dev"
   18.20 +	
   18.21 +# Rules to compile & install the temporary toolchain.
   18.22 +cook_tmp_toolchain()
   18.23 +{
   18.24 +	cd $src
   18.25 +	
   18.26 +	# Glibc Bug Fixes Patch from LFS
   18.27 +	patch -Np1 -i $stuff/glibc-2.14.1-fixes-1.patch
   18.28 +	# Glibc Bug Sort Relocatable Objects Patch
   18.29 +	patch -Np1 -i $stuff/glibc-2.14.1-sort-1.patch
   18.30 +	# Fix a bug that prevents Glibc from building with GCC-4.6.2
   18.31 +	patch -Np1 -i stuff/glibc-2.14.1-gcc_fix-1.patch
   18.32 +
   18.33 +	# Build in a separate directory.
   18.34 +	mkdir ../glibc-build && cd ../glibc-build
   18.35 +
   18.36 +	# glibc no longer support i386, so use -march=i486 for better compatibility.
   18.37 +	# If i686 ???
   18.38 +	unset CFLAGS CXXFLAGS
   18.39 +	case $ARCH in
   18.40 +		i386|i486)
   18.41 +			echo "CFLAGS += -O2 -march=i486 -mtune=i486" > configparms ;;
   18.42 +		*)
   18.43 +			echo "CFLAGS += -O2 -march=$ARCH -mtune=$ARCH" > configparms ;;
   18.44 +	esac
   18.45 +
   18.46 +	{ $src/configure \
   18.47 +		--host=$HOST_SYSTEM \
   18.48 +		--build=$($src/scripts/config.guess) \
   18.49 +		--disable-profile --enable-add-ons \
   18.50 +		--enable-kernel=2.6.30 --with-headers=/tools/include \
   18.51 +		libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes &&
   18.52 +	make &&
   18.53 +	make install
   18.54 +	} || return 1
   18.55 +
   18.56 +	# Link compiler to this new glibc.
   18.57 +	SPECS=`dirname $($HOST_SYSTEM-gcc -print-libgcc-file-name)`/specs
   18.58 +	$HOST_SYSTEM-gcc -dumpspecs | sed \
   18.59 +		-e 's@/lib\(64\)\?/ld@/tools&@g' \
   18.60 +		-e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" > $SPECS 
   18.61 +	unset SPECS
   18.62 +}
   18.63 +
   18.64 +# Rules to configure and make the package.
   18.65 +compile_rules()
   18.66 +{
   18.67 +	cd $src
   18.68 +
   18.69 +	# SliTaz is a Busybox based OS, why we so small and fast. Using gawk by
   18.70 +	# default to build package will not ensure package work with Busybox awk
   18.71 +	# and so should NOT be use to cook.
   18.72 +	if [ -x /usr/bin/cook ]; then
   18.73 +		[ -d "/var/lib/tazpkg/installed/gawk" ] || tazpkg get-install gawk
   18.74 +	fi
   18.75 +
   18.76 +	# Fixes and patches from LFS, Redhat
   18.77 +	sed -i -e 's/"db1"/& \&\& $name ne "nss_test1"/' scripts/test-installation.pl
   18.78 +	sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in
   18.79 +
   18.80 +	# Glibc misc Bug Fixes
   18.81 +	patch -Np1 -i $stuff/glibc-2.14.1-fixes-1.patch
   18.82 +	
   18.83 +	# Glibc Bug Sort Relocatable Objects Patch
   18.84 +	#patch -Np1 -i $stuff/glibc-2.14.1-sort-1.patch
   18.85 +	
   18.86 +	# Fix a bug that prevents Glibc from building with GCC-4.6.2
   18.87 +	patch -Np1 -i $stuff/glibc-2.14.1-gcc_fix-1.patch
   18.88 +	
   18.89 +	# Revert commit causing issues with crappy DNS servers
   18.90 +	patch -Np1 -i $stuff/glibc-2.14-revert-4768ae77.patch
   18.91 +	
   18.92 +	# re-export RPC interface until libtirpc is ready as a replacement
   18.93 +	# http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (only fedora branch...)
   18.94 +	patch -Np1 -i $stuff/glibc-2.14-reexport-rpc-interface.patch
   18.95 +	# http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (only fedora branch...)
   18.96 +	patch -Np1 -i $stuff/glibc-2.14-reinstall-nis-rpc-headers.patch
   18.97 +
   18.98 +	# Fix a stack imbalance that occurs under some conditions:
   18.99 +	sed -i '195,213 s/PRIVATE_FUTEX/FUTEX_CLOCK_REALTIME/' \
  18.100 +		nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S \
  18.101 +		nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
  18.102 +
  18.103 +	# Glibc needs ld.so.conf in the install destdir.
  18.104 +	mkdir -p $WOK/$PACKAGE/install/etc
  18.105 +	touch $WOK/$PACKAGE/install/etc/ld.so.conf
  18.106 +	mkdir ../glibc-build && cd ../glibc-build
  18.107 +	
  18.108 +	# Read the INSTALL file in glibc. Also Glibc dont build with -Os flag.
  18.109 +	# --enale-kernel use latest SliTaz Kernel version. From Glibc INSTALL:
  18.110 +	# "The higher the VERSION number is, the less compatibility code is
  18.111 +	# added, and the faster the code gets."
  18.112 +	unset CFLAGS CXXFLAGS
  18.113 +	case "$ARCH" in
  18.114 +		i386|i486)
  18.115 +			echo "CFLAGS += -O2 -march=i486 -mtune=i486" > configparms ;;
  18.116 +		*)
  18.117 +			echo "CFLAGS += -O2 -march=$ARCH -mtune=$ARCH" > configparms ;;
  18.118 +	esac
  18.119 +	{ $src/configure \
  18.120 +		--disable-profile \
  18.121 +		--enable-add-ons \
  18.122 +		--enable-kernel=2.6.30 \
  18.123 +		--libexecdir=/usr/lib/glibc \
  18.124 +		--build=$HOST_SYSTEM \
  18.125 +		--host=$HOST_SYSTEM \
  18.126 +		--target=$BUILD_SYSTEM &&
  18.127 +	make && make install_root=$DESTDIR install
  18.128 +	} || return 1
  18.129 +
  18.130 +	# If temporary toolchain was previously used, switch to regular toolchain.
  18.131 +	[ -d /tools ] || return
  18.132 +	mv /tools/bin/ld /tools/bin/ld-old
  18.133 +	mv /tools/$(gcc -dumpmachine)/bin/ld /tools/$(gcc -dumpmachine)/bin/ld-old
  18.134 +	mv /tools/bin/ld-new /tools/bin/ld
  18.135 +	ln -s /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld
  18.136 +	gcc -dumpspecs | sed -e 's@/tools@@g' \
  18.137 +		-e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \
  18.138 +		-e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' > \
  18.139 +		`dirname $(gcc --print-libgcc-file-name)`/specs
  18.140 +}
  18.141 +
  18.142 +# Rules to gen a SliTaz package suitable for Tazpkg.
  18.143 +genpkg_rules()
  18.144 +{
  18.145 +	LOCALE=""
  18.146 +	mkdir -p $fs/var
  18.147 +
  18.148 +	# Remove build directory.
  18.149 +	rm -rf $WOK/$PACKAGE/source/$PACKAGE-build
  18.150 +	rm -rf $WOK/$PACKAGE/$PACKAGE-build
  18.151 +}
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/glibc/stuff/glibc-2.13-gcc_fix-1.patch	Mon Apr 09 13:36:35 2012 +0200
    19.3 @@ -0,0 +1,49 @@
    19.4 +Submitted By:            Matt Burgess <matthew_at_linuxfromscratch_dot_org>
    19.5 +Date:                    2010-04-18
    19.6 +Initial Package Version: 2.11.1
    19.7 +Upstream Status:         Not Submitted
    19.8 +Origin:                  http://www.eglibc.org/archives/patches/msg00073.html
    19.9 +Description:             Fixes the following build problem with GCC-4.5.0:
   19.10 +
   19.11 +/mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os
   19.12 +./sysdeps/i386/fpu/s_frexp.S: Assembler messages:
   19.13 +./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef"
   19.14 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
   19.15 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
   19.16 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
   19.17 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.'
   19.18 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
   19.19 +./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive
   19.20 +./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if"
   19.21 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression
   19.22 +make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1
   19.23 +
   19.24 +diff -Naur glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c
   19.25 +--- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c	2009-12-08 20:10:20.000000000 +0000
   19.26 ++++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c	2010-04-17 11:34:06.882681001 +0000
   19.27 +@@ -45,6 +45,11 @@
   19.28 + /* Embed an #include to pull in the alignment and .end directives. */
   19.29 + asm ("\n#include \"defs.h\"");
   19.30 + 
   19.31 ++asm ("\n#if defined __i686 && defined __ASSEMBLER__");
   19.32 ++asm ("\n#undef __i686");
   19.33 ++asm ("\n#define __i686 __i686");
   19.34 ++asm ("\n#endif");
   19.35 ++
   19.36 + /* The initial common code ends here. */
   19.37 + asm ("\n/*@HEADER_ENDS*/");
   19.38 + 
   19.39 +diff -Naur glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h
   19.40 +--- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h	2009-12-08 20:10:20.000000000 +0000
   19.41 ++++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h	2010-04-17 11:34:06.882681001 +0000
   19.42 +@@ -29,6 +29,10 @@
   19.43 + #include <dl-sysdep.h>
   19.44 + #include <tls.h>
   19.45 + 
   19.46 ++#if defined __i686 && defined __ASSEMBLER__
   19.47 ++#undef __i686
   19.48 ++#define __i686 __i686
   19.49 ++#endif
   19.50 + 
   19.51 + /* For Linux we can use the system call table in the header file
   19.52 + 	/usr/include/asm/unistd.h
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/glibc/stuff/glibc-2.14-reexport-rpc-interface.patch	Mon Apr 09 13:36:35 2012 +0200
    20.3 @@ -0,0 +1,26 @@
    20.4 +diff --git a/include/libc-symbols.h b/include/libc-symbols.h
    20.5 +index 67e1ca2..5e7cca5 100644
    20.6 +--- a/include/libc-symbols.h
    20.7 ++++ b/include/libc-symbols.h
    20.8 +@@ -635,7 +635,7 @@ for linking")
    20.9 + # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
   20.10 + # define libc_hidden_def(name) hidden_def (name)
   20.11 + # define libc_hidden_weak(name) hidden_weak (name)
   20.12 +-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
   20.13 ++# define libc_hidden_nolink(name, version) hidden_def (name)
   20.14 + # define libc_hidden_ver(local, name) hidden_ver (local, name)
   20.15 + # define libc_hidden_data_def(name) hidden_data_def (name)
   20.16 + # define libc_hidden_data_weak(name) hidden_data_weak (name)
   20.17 +diff --git a/sunrpc/Makefile b/sunrpc/Makefile
   20.18 +index 5134ce9..40c73d1 100644
   20.19 +--- a/sunrpc/Makefile
   20.20 ++++ b/sunrpc/Makefile
   20.21 +@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
   20.22 + 				    des_crypt.h)
   20.23 + headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
   20.24 + 		       $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
   20.25 +-headers = rpc/netdb.h
   20.26 ++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
   20.27 + install-others = $(inst_sysconfdir)/rpc
   20.28 + generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
   20.29 + 	    $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/glibc/stuff/glibc-2.14-reinstall-nis-rpc-headers.patch	Mon Apr 09 13:36:35 2012 +0200
    21.3 @@ -0,0 +1,28 @@
    21.4 +From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001
    21.5 +From: Andreas Schwab <schwab@redhat.com>
    21.6 +Date: Tue, 17 May 2011 17:42:30 +0200
    21.7 +Subject: [PATCH] Reinstall NIS RPC headers
    21.8 +
    21.9 +---
   21.10 + nis/Makefile |    4 ++--
   21.11 + 1 files changed, 2 insertions(+), 2 deletions(-)
   21.12 +
   21.13 +diff --git a/nis/Makefile b/nis/Makefile
   21.14 +index b5c9609..d2934d9 100644
   21.15 +--- a/nis/Makefile
   21.16 ++++ b/nis/Makefile
   21.17 +@@ -23,9 +23,9 @@ subdir	:= nis
   21.18 + 
   21.19 + aux			:= nis_hash
   21.20 + 
   21.21 ++headers			:= $(wildcard rpcsvc/*.[hx])
   21.22 + distribute		:= nss-nis.h nss-nisplus.h nis_intern.h Banner \
   21.23 +-			   nisplus-parser.h nis_xdr.h nss \
   21.24 +-			   $(wildcard rpcsvc/*.[hx])
   21.25 ++			   nisplus-parser.h nis_xdr.h nss
   21.26 + 
   21.27 + # These are the databases available for the nis (and perhaps later nisplus)
   21.28 + # service.  This must be a superset of the services in nss.
   21.29 +-- 
   21.30 +1.7.5.4
   21.31 +
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/glibc/stuff/glibc-2.14-revert-4768ae77.patch	Mon Apr 09 13:36:35 2012 +0200
    22.3 @@ -0,0 +1,37 @@
    22.4 +diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c
    22.5 +--- glibc-orig//resolv/res_send.c	2011-06-10 18:59:03.041436996 +1000
    22.6 ++++ glibc/resolv/res_send.c	2011-06-10 19:08:09.379309323 +1000
    22.7 +@@ -549,7 +549,7 @@
    22.8 +				    ns, ansp, ansp2, nansp2, resplen2);
    22.9 +			if (n < 0)
   22.10 +				return (-1);
   22.11 +-			if (n == 0 && (buf2 == NULL || *resplen2 == 0))
   22.12 ++			if (n == 0)
   22.13 +				goto next_ns;
   22.14 +		} else {
   22.15 +			/* Use datagrams. */
   22.16 +@@ -559,7 +559,7 @@
   22.17 +				    ansp2, nansp2, resplen2);
   22.18 +			if (n < 0)
   22.19 +				return (-1);
   22.20 +-			if (n == 0 && (buf2 == NULL || *resplen2 == 0))
   22.21 ++			if (n == 0)
   22.22 +				goto next_ns;
   22.23 +			if (v_circuit)
   22.24 +			  // XXX Check whether both requests failed or
   22.25 +@@ -1275,14 +1275,10 @@
   22.26 +				(*thisresplenp > *thisanssizp)
   22.27 +				? *thisanssizp : *thisresplenp);
   22.28 +
   22.29 +-			if (recvresp1 || (buf2 != NULL && recvresp2)) {
   22.30 +-			  *resplen2 = 0;
   22.31 ++			if (recvresp1 || (buf2 != NULL && recvresp2))
   22.32 +			  return resplen;
   22.33 +-			}
   22.34 +			if (buf2 != NULL)
   22.35 +			  {
   22.36 +-			    /* No data from the first reply.  */
   22.37 +-			    resplen = 0;
   22.38 +			    /* We are waiting for a possible second reply.  */
   22.39 +			    if (hp->id == anhp->id)
   22.40 +			      recvresp1 = 1;
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/glibc/stuff/glibc-2.14.1-fixes-1.patch	Mon Apr 09 13:36:35 2012 +0200
    23.3 @@ -0,0 +1,159 @@
    23.4 +Submitted By:            Matt Burgess <matthew_at_linuxfromscratch_dot_org>
    23.5 +Date:                    2011-10-07
    23.6 +Initial Package Version: 2.14.1
    23.7 +Upstream Status:         From upstream
    23.8 +Origin:                  Matt Burgess
    23.9 +Description:             Fixes Firefox crashes and a bug when programs link to
   23.10 +                         SDL.
   23.11 +
   23.12 +diff -Naur glibc-2.14.1.orig/elf/dl-close.c glibc-2.14.1/elf/dl-close.c
   23.13 +--- glibc-2.14.1.orig/elf/dl-close.c	2011-10-07 09:48:55.000000000 +0000
   23.14 ++++ glibc-2.14.1/elf/dl-close.c	2011-10-07 19:43:10.346411120 +0000
   23.15 +@@ -119,17 +119,8 @@
   23.16 +   if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
   23.17 +       || dl_close_state != not_pending)
   23.18 +     {
   23.19 +-      if (map->l_direct_opencount == 0)
   23.20 +-	{
   23.21 +-	  if (map->l_type == lt_loaded)
   23.22 +-	    dl_close_state = rerun;
   23.23 +-	  else if (map->l_type == lt_library)
   23.24 +-	    {
   23.25 +-	      struct link_map **oldp = map->l_initfini;
   23.26 +-	      map->l_initfini = map->l_orig_initfini;
   23.27 +-	      _dl_scope_free (oldp);
   23.28 +-	    }
   23.29 +-	}
   23.30 ++      if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
   23.31 ++	dl_close_state = rerun;
   23.32 + 
   23.33 +       /* There are still references to this object.  Do nothing more.  */
   23.34 +       if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
   23.35 +diff -Naur glibc-2.14.1.orig/elf/dl-deps.c glibc-2.14.1/elf/dl-deps.c
   23.36 +--- glibc-2.14.1.orig/elf/dl-deps.c	2011-10-07 09:48:55.000000000 +0000
   23.37 ++++ glibc-2.14.1/elf/dl-deps.c	2011-10-07 19:43:10.348432639 +0000
   23.38 +@@ -478,6 +478,7 @@
   23.39 + 		  nneeded * sizeof needed[0]);
   23.40 + 	  atomic_write_barrier ();
   23.41 + 	  l->l_initfini = l_initfini;
   23.42 ++	  l->l_free_initfini = 1;
   23.43 + 	}
   23.44 + 
   23.45 +       /* If we have no auxiliary objects just go on to the next map.  */
   23.46 +@@ -678,6 +679,7 @@
   23.47 +   l_initfini[nlist] = NULL;
   23.48 +   atomic_write_barrier ();
   23.49 +   map->l_initfini = l_initfini;
   23.50 ++  map->l_free_initfini = 1;
   23.51 +   if (l_reldeps != NULL)
   23.52 +     {
   23.53 +       atomic_write_barrier ();
   23.54 +@@ -686,7 +688,7 @@
   23.55 +       _dl_scope_free (old_l_reldeps);
   23.56 +     }
   23.57 +   if (old_l_initfini != NULL)
   23.58 +-      map->l_orig_initfini = old_l_initfini;
   23.59 ++    _dl_scope_free (old_l_initfini);
   23.60 + 
   23.61 +   if (errno_reason)
   23.62 +     _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname,
   23.63 +diff -Naur glibc-2.14.1.orig/elf/dl-libc.c glibc-2.14.1/elf/dl-libc.c
   23.64 +--- glibc-2.14.1.orig/elf/dl-libc.c	2011-10-07 09:48:55.000000000 +0000
   23.65 ++++ glibc-2.14.1/elf/dl-libc.c	2011-10-07 19:43:10.352411141 +0000
   23.66 +@@ -279,6 +279,10 @@
   23.67 + 	      if (! old->dont_free)
   23.68 + 		free (old);
   23.69 + 	    }
   23.70 ++
   23.71 ++	  /* Free the initfini dependency list.  */
   23.72 ++	  if (l->l_free_initfini)
   23.73 ++	    free (l->l_initfini);
   23.74 + 	}
   23.75 + 
   23.76 +       if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
   23.77 +diff -Naur glibc-2.14.1.orig/elf/rtld.c glibc-2.14.1/elf/rtld.c
   23.78 +--- glibc-2.14.1.orig/elf/rtld.c	2011-10-07 09:48:55.000000000 +0000
   23.79 ++++ glibc-2.14.1/elf/rtld.c	2011-10-07 19:43:10.355406263 +0000
   23.80 +@@ -2263,6 +2263,7 @@
   23.81 + 	      lnp->dont_free = 1;
   23.82 + 	      lnp = lnp->next;
   23.83 + 	    }
   23.84 ++	  l->l_free_initfini = 0;
   23.85 + 
   23.86 + 	  if (l != &GL(dl_rtld_map))
   23.87 + 	    _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
   23.88 +diff -Naur glibc-2.14.1.orig/include/link.h glibc-2.14.1/include/link.h
   23.89 +--- glibc-2.14.1.orig/include/link.h	2011-10-07 09:48:55.000000000 +0000
   23.90 ++++ glibc-2.14.1/include/link.h	2011-10-07 19:43:10.357462703 +0000
   23.91 +@@ -192,6 +192,9 @@
   23.92 + 						 during LD_TRACE_PRELINKING=1
   23.93 + 						 contains any DT_SYMBOLIC
   23.94 + 						 libraries.  */
   23.95 ++    unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
   23.96 ++				       freed, ie. not allocated with
   23.97 ++				       the dummy malloc in ld.so.  */
   23.98 + 
   23.99 +     /* Collected information about own RPATH directories.  */
  23.100 +     struct r_search_path_struct l_rpath_dirs;
  23.101 +@@ -240,9 +243,6 @@
  23.102 + 
  23.103 +     /* List of object in order of the init and fini calls.  */
  23.104 +     struct link_map **l_initfini;
  23.105 +-    /* The init and fini list generated at startup, saved when the
  23.106 +-       object is also loaded dynamically.  */
  23.107 +-    struct link_map **l_orig_initfini;
  23.108 + 
  23.109 +     /* List of the dependencies introduced through symbol binding.  */
  23.110 +     struct link_map_reldeps
  23.111 +diff -Naur glibc-2.14.1.orig/resolv/res_query.c glibc-2.14.1/resolv/res_query.c
  23.112 +--- glibc-2.14.1.orig/resolv/res_query.c	2011-10-07 09:48:55.000000000 +0000
  23.113 ++++ glibc-2.14.1/resolv/res_query.c	2011-10-07 19:43:10.361412711 +0000
  23.114 +@@ -122,6 +122,7 @@
  23.115 + 		  int *resplen2)
  23.116 + {
  23.117 + 	HEADER *hp = (HEADER *) answer;
  23.118 ++	HEADER *hp2;
  23.119 + 	int n, use_malloc = 0;
  23.120 + 	u_int oflags = statp->_flags;
  23.121 + 
  23.122 +@@ -239,26 +240,25 @@
  23.123 + 	  /* __libc_res_nsend might have reallocated the buffer.  */
  23.124 + 	  hp = (HEADER *) *answerp;
  23.125 + 
  23.126 +-	/* We simplify the following tests by assigning HP to HP2.  It
  23.127 +-	   is easy to verify that this is the same as ignoring all
  23.128 +-	   tests of HP2.  */
  23.129 +-	HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp;
  23.130 +-
  23.131 +-	if (n < (int) sizeof (HEADER) && answerp2 != NULL
  23.132 +-	    && *resplen2 > (int) sizeof (HEADER))
  23.133 ++	/* We simplify the following tests by assigning HP to HP2 or
  23.134 ++	   vice versa.  It is easy to verify that this is the same as
  23.135 ++	   ignoring all tests of HP or HP2.  */
  23.136 ++	if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER))
  23.137 + 	  {
  23.138 +-	    /* Special case of partial answer.  */
  23.139 +-	    assert (hp != hp2);
  23.140 +-	    hp = hp2;
  23.141 ++	    hp2 = hp;
  23.142 + 	  }
  23.143 +-	else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER)
  23.144 +-		 && n > (int) sizeof (HEADER))
  23.145 ++	else
  23.146 + 	  {
  23.147 +-	    /* Special case of partial answer.  */
  23.148 +-	    assert (hp != hp2);
  23.149 +-	    hp2 = hp;
  23.150 ++	    hp2 = (HEADER *) *answerp2;
  23.151 ++	    if (n < (int) sizeof (HEADER))
  23.152 ++	      {
  23.153 ++	        hp = hp2;
  23.154 ++	      }
  23.155 + 	  }
  23.156 + 
  23.157 ++	/* Make sure both hp and hp2 are defined */
  23.158 ++	assert((hp != NULL) && (hp2 != NULL));
  23.159 ++
  23.160 + 	if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0)
  23.161 + 	    && (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) {
  23.162 + #ifdef DEBUG
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/glibc/stuff/glibc-2.14.1-gcc_fix-1.patch	Mon Apr 09 13:36:35 2012 +0200
    24.3 @@ -0,0 +1,49 @@
    24.4 +Submitted By:            Matt Burgess <matthew_at_linuxfromscratch_dot_org>
    24.5 +Date:                    2010-04-18
    24.6 +Initial Package Version: 2.11.1
    24.7 +Upstream Status:         Not Submitted
    24.8 +Origin:                  http://www.eglibc.org/archives/patches/msg00073.html
    24.9 +Description:             Fixes the following build problem with GCC-4.5.0:
   24.10 +
   24.11 +/mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os
   24.12 +./sysdeps/i386/fpu/s_frexp.S: Assembler messages:
   24.13 +./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef"
   24.14 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
   24.15 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
   24.16 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
   24.17 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.'
   24.18 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
   24.19 +./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive
   24.20 +./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if"
   24.21 +./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression
   24.22 +make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1
   24.23 +
   24.24 +diff -Naur glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c
   24.25 +--- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c	2009-12-08 20:10:20.000000000 +0000
   24.26 ++++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c	2010-04-17 11:34:06.882681001 +0000
   24.27 +@@ -45,6 +45,11 @@
   24.28 + /* Embed an #include to pull in the alignment and .end directives. */
   24.29 + asm ("\n#include \"defs.h\"");
   24.30 + 
   24.31 ++asm ("\n#if defined __i686 && defined __ASSEMBLER__");
   24.32 ++asm ("\n#undef __i686");
   24.33 ++asm ("\n#define __i686 __i686");
   24.34 ++asm ("\n#endif");
   24.35 ++
   24.36 + /* The initial common code ends here. */
   24.37 + asm ("\n/*@HEADER_ENDS*/");
   24.38 + 
   24.39 +diff -Naur glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h
   24.40 +--- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h	2009-12-08 20:10:20.000000000 +0000
   24.41 ++++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h	2010-04-17 11:34:06.882681001 +0000
   24.42 +@@ -29,6 +29,10 @@
   24.43 + #include <dl-sysdep.h>
   24.44 + #include <tls.h>
   24.45 + 
   24.46 ++#if defined __i686 && defined __ASSEMBLER__
   24.47 ++#undef __i686
   24.48 ++#define __i686 __i686
   24.49 ++#endif
   24.50 + 
   24.51 + /* For Linux we can use the system call table in the header file
   24.52 + 	/usr/include/asm/unistd.h
    25.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2 +++ b/glibc/stuff/glibc-2.14.1-sort-1.patch	Mon Apr 09 13:36:35 2012 +0200
    25.3 @@ -0,0 +1,273 @@
    25.4 +Submitted By:            Bruce Dubbs <bdubbs_at_linuxfromscratch_dot_org>
    25.5 +Date:                    2012-02-24
    25.6 +Initial Package Version: 2.14.1
    25.7 +Upstream Status:         From upstream
    25.8 +Origin:                  Upstream
    25.9 +Description:             Sort objects by dependency before relocation.
   25.10 +                         Fixes segfault in dlopen for several programs.
   25.11 +
   25.12 +diff --git a/Makeconfig b/Makeconfig
   25.13 +index 2db2821..68547b2 100644
   25.14 +--- a/Makeconfig
   25.15 ++++ b/Makeconfig
   25.16 +@@ -938,6 +938,12 @@ libdl =
   25.17 + endif
   25.18 + endif
   25.19 + 
   25.20 ++ifeq ($(build-shared),yes)
   25.21 ++libm = $(common-objpfx)math/libm.so$(libm.so-version)
   25.22 ++else
   25.23 ++libm = $(common-objpfx)math/libm.a
   25.24 ++endif
   25.25 ++
   25.26 + # These are the subdirectories containing the library source.  The order
   25.27 + # is more or less arbitrary.  The sorting step will take care of the
   25.28 + # dependencies.
   25.29 +diff --git a/elf/Makefile b/elf/Makefile
   25.30 +index 052e763..3f1772a 100644
   25.31 +--- a/elf/Makefile
   25.32 ++++ b/elf/Makefile
   25.33 +@@ -124,7 +124,8 @@ distribute	:= rtld-Rules \
   25.34 + 		   tst-initordera1.c tst-initordera2.c tst-initorderb1.c \
   25.35 + 		   tst-initorderb2.c tst-initordera3.c tst-initordera4.c \
   25.36 + 		   tst-initorder.c \
   25.37 +-		   tst-initorder2.c
   25.38 ++		   tst-initorder2.c \
   25.39 ++		   tst-relsort1.c tst-relsort1mod1.c tst-relsort1mod2.c
   25.40 + 
   25.41 + CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables
   25.42 + CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables
   25.43 +@@ -227,7 +228,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
   25.44 + 	 tst-audit1 tst-audit2 \
   25.45 + 	 tst-stackguard1 tst-addr1 tst-thrlock \
   25.46 + 	 tst-unique1 tst-unique2 tst-unique3 tst-unique4 \
   25.47 +-	 tst-initorder tst-initorder2
   25.48 ++	 tst-initorder tst-initorder2 tst-relsort1
   25.49 + #	 reldep9
   25.50 + test-srcs = tst-pathopt
   25.51 + selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null)
   25.52 +@@ -290,7 +291,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
   25.53 + 		tst-initordera1 tst-initorderb1 \
   25.54 + 		tst-initordera2 tst-initorderb2 \
   25.55 + 		tst-initordera3 tst-initordera4 \
   25.56 +-		tst-initorder2a tst-initorder2b tst-initorder2c tst-initorder2d
   25.57 ++		tst-initorder2a tst-initorder2b tst-initorder2c \
   25.58 ++		tst-initorder2d \
   25.59 ++		tst-relsort1mod1 tst-relsort1mod2
   25.60 + ifeq (yes,$(have-initfini-array))
   25.61 + modules-names += tst-array2dep tst-array5dep
   25.62 + endif
   25.63 +@@ -1195,3 +1198,9 @@ CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS)
   25.64 + CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS)
   25.65 + CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS)
   25.66 + endif
   25.67 ++
   25.68 ++$(objpfx)tst-relsort1: $(libdl)
   25.69 ++$(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so
   25.70 ++$(objpfx)tst-relsort1mod2.so: $(libm)
   25.71 ++$(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \
   25.72 ++			   $(objpfx)tst-relsort1mod2.so
   25.73 +diff --git a/elf/dl-open.c b/elf/dl-open.c
   25.74 +index a0b5c50..a56bdc1 100644
   25.75 +--- a/elf/dl-open.c
   25.76 ++++ b/elf/dl-open.c
   25.77 +@@ -1,5 +1,5 @@
   25.78 + /* Load a shared object at runtime, relocate it, and run its initializer.
   25.79 +-   Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
   25.80 ++   Copyright (C) 1996-2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
   25.81 +    This file is part of the GNU C Library.
   25.82 + 
   25.83 +    The GNU C Library is free software; you can redistribute it and/or
   25.84 +@@ -303,45 +303,109 @@ dl_open_worker (void *a)
   25.85 +   if (GLRO(dl_lazy))
   25.86 +     reloc_mode |= mode & RTLD_LAZY;
   25.87 + 
   25.88 +-  /* Relocate the objects loaded.  We do this in reverse order so that copy
   25.89 +-     relocs of earlier objects overwrite the data written by later objects.  */
   25.90 +-
   25.91 ++  /* Sort the objects by dependency for the relocation process.  This
   25.92 ++     allows IFUNC relocations to work and it also means copy
   25.93 ++     relocation of dependencies are if necessary overwritten.  */
   25.94 ++  size_t nmaps = 0;
   25.95 +   struct link_map *l = new;
   25.96 +-  while (l->l_next)
   25.97 +-    l = l->l_next;
   25.98 +-  while (1)
   25.99 ++  do
  25.100 ++    {
  25.101 ++      if (! l->l_real->l_relocated)
  25.102 ++	++nmaps;
  25.103 ++      l = l->l_next;
  25.104 ++    }
  25.105 ++  while (l != NULL);
  25.106 ++  struct link_map *maps[nmaps];
  25.107 ++  nmaps = 0;
  25.108 ++  l = new;
  25.109 ++  do
  25.110 +     {
  25.111 +       if (! l->l_real->l_relocated)
  25.112 ++	maps[nmaps++] = l;
  25.113 ++      l = l->l_next;
  25.114 ++    }
  25.115 ++  while (l != NULL);
  25.116 ++  if (nmaps > 1)
  25.117 ++    {
  25.118 ++      char seen[nmaps];
  25.119 ++      memset (seen, '\0', nmaps);
  25.120 ++      size_t i = 0;
  25.121 ++      while (1)
  25.122 + 	{
  25.123 +-#ifdef SHARED
  25.124 +-	  if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
  25.125 ++	  ++seen[i];
  25.126 ++	  struct link_map *thisp = maps[i];
  25.127 ++
  25.128 ++	  /* Find the last object in the list for which the current one is
  25.129 ++	     a dependency and move the current object behind the object
  25.130 ++	     with the dependency.  */
  25.131 ++	  size_t k = nmaps - 1;
  25.132 ++	  while (k > i)
  25.133 + 	    {
  25.134 +-	      /* If this here is the shared object which we want to profile
  25.135 +-		 make sure the profile is started.  We can find out whether
  25.136 +-		 this is necessary or not by observing the `_dl_profile_map'
  25.137 +-		 variable.  If was NULL but is not NULL afterwars we must
  25.138 +-		 start the profiling.  */
  25.139 +-	      struct link_map *old_profile_map = GL(dl_profile_map);
  25.140 ++	      struct link_map **runp = maps[k]->l_initfini;
  25.141 ++	      if (runp != NULL)
  25.142 ++		/* Look through the dependencies of the object.  */
  25.143 ++		while (*runp != NULL)
  25.144 ++		  if (__builtin_expect (*runp++ == thisp, 0))
  25.145 ++		    {
  25.146 ++		      /* Move the current object to the back past the last
  25.147 ++			 object with it as the dependency.  */
  25.148 ++		      memmove (&maps[i], &maps[i + 1],
  25.149 ++			       (k - i) * sizeof (maps[0]));
  25.150 ++		      maps[k] = thisp;
  25.151 ++
  25.152 ++		      if (seen[i + 1] > 1)
  25.153 ++			{
  25.154 ++			  ++i;
  25.155 ++			  goto next_clear;
  25.156 ++			}
  25.157 ++
  25.158 ++		      char this_seen = seen[i];
  25.159 ++		      memmove (&seen[i], &seen[i + 1],
  25.160 ++			       (k - i) * sizeof (seen[0]));
  25.161 ++		      seen[k] = this_seen;
  25.162 ++
  25.163 ++		      goto next;
  25.164 ++		    }
  25.165 ++
  25.166 ++	      --k;
  25.167 ++	    }
  25.168 + 
  25.169 +-	      _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
  25.170 ++	  if (++i == nmaps)
  25.171 ++	    break;
  25.172 ++	next_clear:
  25.173 ++	  memset (&seen[i], 0, (nmaps - i) * sizeof (seen[0]));
  25.174 ++	next:;
  25.175 ++	}
  25.176 ++    }
  25.177 + 
  25.178 +-	      if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
  25.179 +-		{
  25.180 +-		  /* We must prepare the profiling.  */
  25.181 +-		  _dl_start_profile ();
  25.182 ++  for (size_t i = nmaps; i-- > 0; )
  25.183 ++    {
  25.184 ++      l = maps[i];
  25.185 + 
  25.186 +-		  /* Prevent unloading the object.  */
  25.187 +-		  GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
  25.188 +-		}
  25.189 ++#ifdef SHARED
  25.190 ++      if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
  25.191 ++	{
  25.192 ++	  /* If this here is the shared object which we want to profile
  25.193 ++	     make sure the profile is started.  We can find out whether
  25.194 ++	     this is necessary or not by observing the `_dl_profile_map'
  25.195 ++	     variable.  If it was NULL but is not NULL afterwars we must
  25.196 ++	     start the profiling.  */
  25.197 ++	  struct link_map *old_profile_map = GL(dl_profile_map);
  25.198 ++
  25.199 ++	  _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
  25.200 ++
  25.201 ++	  if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
  25.202 ++	    {
  25.203 ++	      /* We must prepare the profiling.  */
  25.204 ++	      _dl_start_profile ();
  25.205 ++
  25.206 ++	      /* Prevent unloading the object.  */
  25.207 ++	      GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
  25.208 + 	    }
  25.209 +-	  else
  25.210 +-#endif
  25.211 +-	    _dl_relocate_object (l, l->l_scope, reloc_mode, 0);
  25.212 + 	}
  25.213 +-
  25.214 +-      if (l == new)
  25.215 +-	break;
  25.216 +-      l = l->l_prev;
  25.217 ++      else
  25.218 ++#endif
  25.219 ++	_dl_relocate_object (l, l->l_scope, reloc_mode, 0);
  25.220 +     }
  25.221 + 
  25.222 +   /* If the file is not loaded now as a dependency, add the search
  25.223 +diff --git a/elf/tst-relsort1.c b/elf/tst-relsort1.c
  25.224 +new file mode 100644
  25.225 +index 0000000..972100c
  25.226 +--- /dev/null
  25.227 ++++ b/elf/tst-relsort1.c
  25.228 +@@ -0,0 +1,19 @@
  25.229 ++#include <dlfcn.h>
  25.230 ++#include <stdio.h>
  25.231 ++
  25.232 ++
  25.233 ++static int
  25.234 ++do_test ()
  25.235 ++{
  25.236 ++  const char lib[] = "$ORIGIN/tst-relsort1mod1.so";
  25.237 ++  void *h = dlopen (lib, RTLD_NOW);
  25.238 ++  if (h == NULL)
  25.239 ++    {
  25.240 ++      puts (dlerror ());
  25.241 ++      return 1;
  25.242 ++    }
  25.243 ++  return 0;
  25.244 ++}
  25.245 ++
  25.246 ++#define TEST_FUNCTION do_test ()
  25.247 ++#include "../test-skeleton.c"
  25.248 +diff --git a/elf/tst-relsort1mod1.c b/elf/tst-relsort1mod1.c
  25.249 +new file mode 100644
  25.250 +index 0000000..9e4a943
  25.251 +--- /dev/null
  25.252 ++++ b/elf/tst-relsort1mod1.c
  25.253 +@@ -0,0 +1,7 @@
  25.254 ++extern int foo (double);
  25.255 ++
  25.256 ++int
  25.257 ++bar (void)
  25.258 ++{
  25.259 ++  return foo (1.2);
  25.260 ++}
  25.261 +diff --git a/elf/tst-relsort1mod2.c b/elf/tst-relsort1mod2.c
  25.262 +new file mode 100644
  25.263 +index 0000000..a2c3e55
  25.264 +--- /dev/null
  25.265 ++++ b/elf/tst-relsort1mod2.c
  25.266 +@@ -0,0 +1,7 @@
  25.267 ++#include <math.h>
  25.268 ++
  25.269 ++int
  25.270 ++foo (double d)
  25.271 ++{
  25.272 ++  return floor (d) != 0.0;
  25.273 ++}
  25.274 +-- 
  25.275 +1.7.3.4
  25.276 +
    26.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.2 +++ b/gmp-dev/receipt	Mon Apr 09 13:36:35 2012 +0200
    26.3 @@ -0,0 +1,18 @@
    26.4 +# SliTaz package receipt
    26.5 +
    26.6 +PACKAGE="gmp-dev"
    26.7 +VERSION="5.0.4"
    26.8 +CATEGORY="development"
    26.9 +SHORT_DESC="GNU Multiple Precision Arithmetic devel files."
   26.10 +MAINTAINER="pankso@slitaz.org"
   26.11 +WANTED="gmp"
   26.12 +WEB_SITE="http://gmplib.org/"
   26.13 +
   26.14 +# Rules to gen a SliTaz package suitable for Tazpkg.
   26.15 +genpkg_rules()
   26.16 +{
   26.17 +	mkdir -p $fs/usr/lib
   26.18 +	cp -a $install/usr/lib/*.*a $fs/usr/lib
   26.19 +	cp -a $install/usr/include $fs/usr
   26.20 +}
   26.21 +
    27.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.2 +++ b/gmp/receipt	Mon Apr 09 13:36:35 2012 +0200
    27.3 @@ -0,0 +1,37 @@
    27.4 +# SliTaz package receipt
    27.5 +
    27.6 +PACKAGE="gmp"
    27.7 +VERSION="5.0.4"
    27.8 +CATEGORY="development"
    27.9 +SHORT_DESC="GNU Multiple Precision Arithmetic Library."
   27.10 +MAINTAINER="pankso@slitaz.org"
   27.11 +TARBALL="$PACKAGE-$VERSION.tar.bz2"
   27.12 +WEB_SITE="http://gmplib.org/"
   27.13 +WGET_URL="$GNU_MIRROR/$PACKAGE/$TARBALL"
   27.14 +
   27.15 +DEPENDS="glibc-base"
   27.16 +BUILD_DEPENDS="binutils"
   27.17 +
   27.18 +# Rules to configure and make the package.
   27.19 +compile_rules()
   27.20 +{	
   27.21 +	cd $src
   27.22 +	if [ -x /usr/bin/cook ]; then
   27.23 +		[ -d "/var/lib/tazpkg/binutils" ] || tazpkg get-install binutils
   27.24 +	fi
   27.25 +	# gmp try to cook for 64bits system if kernel can support when using
   27.26 +	# tmp toolchain. Not only and this export does nothing !!!
   27.27 +	export ABI=32
   27.28 +	./configure $CONFIGURE_ARGS &&
   27.29 +	make &&
   27.30 +	# -j > 1 make install fails.
   27.31 +	make -j 1 install
   27.32 +}
   27.33 +
   27.34 +# Rules to gen a SliTaz package suitable for Tazpkg.
   27.35 +genpkg_rules()
   27.36 +{
   27.37 +	mkdir -p $fs/usr/lib
   27.38 +	cp -a $install/usr/lib/*.so* $fs/usr/lib
   27.39 +}
   27.40 +
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/libgfortran/receipt	Mon Apr 09 13:36:35 2012 +0200
    28.3 @@ -0,0 +1,16 @@
    28.4 +# SliTaz package receipt.
    28.5 +
    28.6 +PACKAGE="libgfortran"
    28.7 +VERSION="4.6.2"
    28.8 +CATEGORY="misc"
    28.9 +SHORT_DESC="GCC fortran runtime."
   28.10 +WEB_SITE="http://gcc.gnu.org/"
   28.11 +MAINTAINER="pascal.bellard@slitaz.org"
   28.12 +WANTED="gcc"
   28.13 +
   28.14 +# Rules to gen a SliTaz package suitable for Tazpkg.
   28.15 +genpkg_rules()
   28.16 +{
   28.17 +	mkdir -p $fs/usr/lib
   28.18 +	cp -a $install/usr/lib/libgfortran.so* $fs/usr/lib
   28.19 +}
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/libgomp/receipt	Mon Apr 09 13:36:35 2012 +0200
    29.3 @@ -0,0 +1,16 @@
    29.4 +# SliTaz package receipt.
    29.5 +
    29.6 +PACKAGE="libgomp"
    29.7 +VERSION="4.6.2"
    29.8 +CATEGORY="development"
    29.9 +SHORT_DESC="API specification for parallel programming."
   29.10 +MAINTAINER="pascal.bellard@slitaz.org"
   29.11 +WEB_SITE="http://gcc.gnu.org/"
   29.12 +WANTED="gcc"
   29.13 +
   29.14 +# Rules to gen a SliTaz package suitable for Tazpkg.
   29.15 +genpkg_rules()
   29.16 +{
   29.17 +    mkdir -p  $fs/usr/lib
   29.18 +    cp -a $install/usr/lib/libgomp.so* $fs/usr/lib
   29.19 +}
    30.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.2 +++ b/libobjc/receipt	Mon Apr 09 13:36:35 2012 +0200
    30.3 @@ -0,0 +1,18 @@
    30.4 +# SliTaz package receipt.
    30.5 +
    30.6 +PACKAGE="libobjc"
    30.7 +VERSION="4.6.2"
    30.8 +CATEGORY="development"
    30.9 +SHORT_DESC="API for gcc object"
   30.10 +MAINTAINER="slaxemulator@gmail.com"
   30.11 +WEB_SITE="http://gcc.gnu.org/"
   30.12 +DEPENDS="gcc-lib-base"
   30.13 +WANTED="gcc"
   30.14 +
   30.15 +# Rules to gen a SliTaz package suitable for Tazpkg.
   30.16 +genpkg_rules()
   30.17 +{
   30.18 +	mkdir -p $fs/usr/lib
   30.19 +	cp -a $install/usr/lib/libobjc.so* $fs/usr/lib
   30.20 +}
   30.21 +
    31.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.2 +++ b/linux-api-headers/receipt	Mon Apr 09 13:36:35 2012 +0200
    31.3 @@ -0,0 +1,60 @@
    31.4 +# SliTaz package receipt.
    31.5 +
    31.6 +PACKAGE="linux-api-headers"
    31.7 +VERSION="3.2.14"
    31.8 +KBASEVER="${VERSION:0:3}"
    31.9 +CATEGORY="development"
   31.10 +SHORT_DESC="Kernel headers sanitized for use in userspace."
   31.11 +MAINTAINER="devel@slitaz.org"
   31.12 +SOURCE="linux"
   31.13 +TARBALL="$SOURCE-$KBASEVER.tar.xz"
   31.14 +WEB_SITE="http://www.kernel.org/"
   31.15 +WGET_URL="http://www.kernel.org/pub/linux/kernel/v3.0/$TARBALL"
   31.16 +
   31.17 +BUILD_DEPENDS="bash"
   31.18 +
   31.19 +[ "$KBASEVER" != "$VERSION" ] && PATCH="http://www.kernel.org/pub/linux/kernel/v3.0/patch-$VERSION.xz"
   31.20 +
   31.21 +# Rules to compile & install the temporary toolchain.
   31.22 +cook_tmp_toolchain()
   31.23 +{
   31.24 +	cd $src
   31.25 +	make mrproper &&
   31.26 +	make headers_check &&
   31.27 +	make INSTALL_HDR_PATH=dest headers_install &&
   31.28 +	cp -r dest/include/* /tools/include
   31.29 +}
   31.30 +
   31.31 +# Rules to configure and make the package.
   31.32 +compile_rules()
   31.33 +{
   31.34 +	cd $src
   31.35 +	
   31.36 +	if [ "$KBASEVER" != "$VERSION" ]; then
   31.37 +		if [ -f $SOURCES_REPOSITORY/$(basename $PATCH) ]; then
   31.38 +			xzcat $SOURCES_REPOSITORY/$(basename $PATCH) | patch -Np1
   31.39 +		else
   31.40 +			wget $PATCH -O $SRC/$(basename $PATCH)
   31.41 +			xzcat $SRC/$(basename $PATCH) | patch -Np1
   31.42 +		fi
   31.43 +	fi
   31.44 +
   31.45 +	make mrproper &&
   31.46 +	make headers_check &&
   31.47 +	make INSTALL_HDR_PATH=$DESTDIR/usr headers_install
   31.48 +}
   31.49 +
   31.50 +# Rules to gen a SliTaz package suitable for Tazpkg.
   31.51 +genpkg_rules()
   31.52 +{
   31.53 +	mkdir -p $fs/usr
   31.54 +	cp -a $_pkg/usr/include $fs/usr
   31.55 +	rm -f $(find ${fs} -name .install -or -name ..install.cmd)
   31.56 +}
   31.57 +
   31.58 +# Post install commands for Tazpkg.
   31.59 +post_install()
   31.60 +{
   31.61 +	# Removed old linux-headers
   31.62 +	rm -rf ${1}${INSTALLED}/linux-headers 2>/dev/null
   31.63 +}
    32.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.2 +++ b/linux-module-headers/receipt	Mon Apr 09 13:36:35 2012 +0200
    32.3 @@ -0,0 +1,136 @@
    32.4 +# SliTaz package receipt.
    32.5 +
    32.6 +PACKAGE="linux-module-headers"
    32.7 +VERSION="3.2.14"
    32.8 +BASEVER="${VERSION:0:3}"
    32.9 +CATEGORY="development"
   32.10 +SHORT_DESC="Header files and scripts for building modules for linux kernel."
   32.11 +MAINTAINER="deve@slitaz.org"
   32.12 +DEPENDS="slitaz-toolchain"
   32.13 +WANTED="linux"
   32.14 +WEB_SITE="http://kernel.org/"
   32.15 +KVERSION=$BASEVER-slitaz
   32.16 +
   32.17 +# Rules to gen a SliTaz package suitable for Tazpkg.
   32.18 +genpkg_rules()
   32.19 +{
   32.20 +	local path
   32.21 +	_AUFSVER=`grep  ^VERSION= $WOK/aufs/receipt | cut -d "=" -f2 | sed -e 's/"//g'`
   32.22 +	AUFSDIR="$WOK/$WANTED/aufs-${_AUFSVER}"
   32.23 +	path=usr/src/linux-$KVERSION
   32.24 +	mkdir -p $fs/lib/modules/$KVERSION
   32.25 +	ln -sf /$path $fs/lib/modules/$KVERSION/build
   32.26 +	install -D -m644 $src/Makefile \
   32.27 +		$fs/$path/Makefile
   32.28 +	install -D -m644 $src/kernel/Makefile \
   32.29 +		$fs/$path/kernel/Makefile
   32.30 +	install -D -m644 $src/.config \
   32.31 +		$fs/$path/.config
   32.32 +	mkdir -p $fs/$path/include
   32.33 +
   32.34 +	for i in acpi asm-generic config crypto drm generated linux math-emu \
   32.35 +		media net pcmcia scsi sound trace video xen; do
   32.36 +		cp -a $src/include/$i $fs/$path/include/
   32.37 +	done
   32.38 +
   32.39 +	# copy arch includes for external modules
   32.40 +	mkdir -p $fs/$path/arch/x86
   32.41 +	cp -a $src/arch/x86/include $fs/$path/arch/x86/
   32.42 +
   32.43 +	# copy files necessary for later builds, like nvidia and vmware
   32.44 +  	cp -a $src/Module.symvers-modules $fs/$path/Module.symvers
   32.45 +  	cp -a $src/scripts $fs/$path
   32.46 +  	# fix permissions on scripts dir
   32.47 +  	chmod og-w -R $fs/$path/scripts
   32.48 +  	mkdir -p $fs/$path/.tmp_versions
   32.49 +
   32.50 +	mkdir -p $fs/$path/arch/x86/kernel
   32.51 +	cp -a $src/arch/x86/Makefile $fs/$path/arch/x86/
   32.52 +	cp -a $src/arch/x86/Makefile_32.cpu $fs/$path/arch/x86/
   32.53 +	cp -a $src/arch/x86/kernel/asm-offsets.s $fs/$path/arch/x86/kernel/
   32.54 +
   32.55 +	# add headers for lirc package
   32.56 +	mkdir -p $fs/$path/drivers/media/video
   32.57 +	cp -a $src/drivers/media/video/*.h  $fs/$path/drivers/media/video/
   32.58 +
   32.59 +	for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 ; do
   32.60 +   		mkdir -p $fs/$path/drivers/media/video/$i
   32.61 +   		cp -a $src/drivers/media/video/$i/*.h $fs/$path/drivers/media/video/$i
   32.62 +	done
   32.63 +
   32.64 +	# add docbook makefile
   32.65 +	install -D -m644 $src/Documentation/DocBook/Makefile \
   32.66 +    		$fs/$path/Documentation/DocBook/Makefile
   32.67 +
   32.68 +	# add dm headers
   32.69 +	mkdir -p $fs/$path/drivers/md
   32.70 +	cp -a $src/drivers/md/*.h  $fs/$path/drivers/md
   32.71 +
   32.72 +	# add inotify.h
   32.73 +	mkdir -p $fs/$path/include/linux
   32.74 +	cp -a $src/include/linux/inotify.h $fs/$path/include/linux/
   32.75 +
   32.76 +	# add wireless headers
   32.77 +	mkdir -p $fs/$path/net/mac80211/
   32.78 +	cp -a $src/net/mac80211/*.h $fs/$path/net/mac80211/
   32.79 +
   32.80 +	# add dvb headers for external modules
   32.81 +	# in reference to:
   32.82 +	# http://bugs.archlinux.org/task/9912
   32.83 +	mkdir -p $fs/$path/drivers/media/dvb/dvb-core
   32.84 +	cp -a $src/drivers/media/dvb/dvb-core/*.h $fs/$path/drivers/media/dvb/dvb-core/
   32.85 +
   32.86 +	# add dvb headers for external modules
   32.87 +	# in reference to:
   32.88 +	# http://bugs.archlinux.org/task/11194
   32.89 +	if [ -d $src/include/config/dvb/ ]; then
   32.90 +		mkdir -p $fs/$path/include/config/dvb/
   32.91 +		cp $src/include/config/dvb/*.h $fs/$path/include/config/dvb/
   32.92 +	fi
   32.93 +
   32.94 +	# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
   32.95 +	# in reference to:
   32.96 +	# http://bugs.archlinux.org/task/13146
   32.97 +	mkdir -p $fs/$path/drivers/media/dvb/frontends/
   32.98 +	cp -a $src/drivers/media/dvb/frontends/lgdt330x.h $fs/$path/drivers/media/dvb/frontends/
   32.99 +	cp -a $src/drivers/media/video/msp3400-driver.h $fs/$path/drivers/media/dvb/frontends/
  32.100 +
  32.101 +	# add dvb headers  
  32.102 +	# in reference to:
  32.103 +	# http://bugs.archlinux.org/task/20402
  32.104 +	mkdir -p $fs/$path/drivers/media/dvb/dvb-usb
  32.105 +	cp -a $src/drivers/media/dvb/dvb-usb/*.h $fs/$path/drivers/media/dvb/dvb-usb/
  32.106 +	mkdir -p $fs/$path/drivers/media/dvb/frontends
  32.107 +	cp -a $src/drivers/media/dvb/frontends/*.h $fs/$path/drivers/media/dvb/frontends/
  32.108 +	mkdir -p $fs/$path/drivers/media/common/tuners
  32.109 +	cp -a $src/drivers/media/common/tuners/*.h $fs/$path/drivers/media/common/tuners/
  32.110 +
  32.111 +	# add xfs and shmem for aufs building
  32.112 +	mkdir -p $fs/$path/fs/xfs
  32.113 +	mkdir -p $fs/$path/mm
  32.114 +	cp -a $src/fs/xfs/xfs_sb.h $fs/$path/fs/xfs/xfs_sb.h
  32.115 +	
  32.116 +	# copy in Kconfig files
  32.117 +	for i in $(find . -name "Kconfig*"); do 
  32.118 +		mkdir -p $fs/$path/$(echo $i | sed 's|/Kconfig.*||')
  32.119 +		cp -a $src/$i $fs/$path/$i
  32.120 +	done
  32.121 +
  32.122 +	chown -R root.root $fs/$path
  32.123 +	find $fs/$path -type d -exec chmod 755 {} \;
  32.124 +	# remove unneeded architectures
  32.125 +	rm -rf $fs/$path/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
  32.126 +
  32.127 +}	
  32.128 +
  32.129 +pre_remove() {
  32.130 +	if [ -e $1/usr/src/linux ]; then
  32.131 +		rm -rf $1/usr/src/linux
  32.132 +	fi
  32.133 +}
  32.134 +
  32.135 +post_install() {
  32.136 +	# Added soft link to make it easier to point to kernel folder
  32.137 +	[ -L $1/usr/src/linux ] && rm -f $1/usr/src/linux 
  32.138 +	ln -sf /usr/src/linux-$KVERSION $1/usr/src/linux
  32.139 +}
    33.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.2 +++ b/linux/receipt	Mon Apr 09 13:36:35 2012 +0200
    33.3 @@ -0,0 +1,228 @@
    33.4 +# SliTaz package receipt.
    33.5 +
    33.6 +PACKAGE="linux"
    33.7 +VERSION="3.2.14"
    33.8 +KBASEVER="${VERSION:0:3}"
    33.9 +CATEGORY="base-system"
   33.10 +SHORT_DESC="The Linux kernel and modules."
   33.11 +MAINTAINER="devel@slitaz.org"
   33.12 +TARBALL="$PACKAGE-$KBASEVER.tar.xz"
   33.13 +WEB_SITE="http://www.kernel.org/"
   33.14 +WGET_URL="http://www.kernel.org/pub/linux/kernel/v3.0/$TARBALL"
   33.15 +CONFIG_FILES="/lib/modules/$KBASEVER-slitaz/modules.dep"
   33.16 +
   33.17 +DEPENDS="depmod"
   33.18 +BUILD_DEPENDS="slitaz-toolchain perl git lzma patch"
   33.19 +[ "$KBASEVER" != "$VERSION" ] && PATCH="http://www.kernel.org/pub/linux/kernel/v3.0/patch-$VERSION.xz"
   33.20 +
   33.21 +# Rules to configure and make the package.
   33.22 +compile_rules()
   33.23 +{
   33.24 +	cd $src
   33.25 +	# this is code to help update the kernel version faster
   33.26 +	#for i in $(grep -l 'WANTED="linux"' $WOK/*/receipt)
   33.27 +	#do
   33.28 +	#	sed -i 's|VERSION="OLDVERSION"|VERSION="NEWVERSION"|g' $i
   33.29 +	#done
   33.30 +
   33.31 +	[ ! -x /usr/bin/cook ] && report open-bloc
   33.32 +
   33.33 +	# Check for Aufs and cook it if unbuilt.
   33.34 +	echo "Checking for Aufs packages..."
   33.35 +	_AUFSVER=`grep ^VERSION= $WOK/aufs/receipt | cut -d "=" -f2 | sed -e 's/"//g'`
   33.36 +	if [ -x /usr/bin/cook ]; then
   33.37 +		# Give info an redirect to /dev/null since aufs got it own log.
   33.38 +		AUFSDIR=$WOK/aufs/source/aufs-${_AUFSVER}
   33.39 +		[ -d "$AUFSDIR" ] && rm -rf $AUFSDIR
   33.40 +		#echo "Cook: aufs $_AUFSVER"
   33.41 +		cook aufs --getsrc --extract > /dev/null
   33.42 +	elif [ -x /usr/bin/tazwok ]; then
   33.43 +		# we just need aufs source. Also cooking now is a bad idea since it
   33.44 +		# needs linux-module-headers. The one your cooking not the one from the web.
   33.45 +		AUFSDIR=$WOK/aufs/aufs-${_AUFSVER}
   33.46 +		[ -d "$AUFSDIR" ] && rm -rf $AUFSDIR
   33.47 +		tazwok get-src aufs --target=$AUFSDIR || { report close-bloc; return 1; }
   33.48 +	fi
   33.49 +	echo "cook:linux" > $command
   33.50 +
   33.51 +	echo "Copying Aufs files and patches..."
   33.52 +	cp -a $AUFSDIR/Documentation $AUFSDIR/fs $AUFSDIR/include $src
   33.53 +	cp -a $AUFSDIR/aufs3-*.patch $stuff
   33.54 +
   33.55 +	# SliTaz db
   33.56 +	[ -d $WOK/$PACKAGE/source/slitaz ] && rm -rf $WOK/$PACKAGE/source/slitaz 2> /dev/null
   33.57 +	mkdir -p $WOK/$PACKAGE/source/slitaz
   33.58 +	echo "$WGET_URL" > $WOK/$PACKAGE/slitaz/url
   33.59 +	cp $stuff/gztazmod.sh $stuff/list_modules.sh $WOK/$PACKAGE/source/slitaz
   33.60 +	cp $stuff/bootloader.sh $WOK/$PACKAGE/source/slitaz
   33.61 +	
   33.62 +	# Apply patches
   33.63 +	echo "Applying patches..."
   33.64 +	while read patch_file; do
   33.65 +		echo "$patch_file" >> $WOK/$PACKAGE/source/slitaz/patches
   33.66 +		cp $stuff/$patch_file $WOK/$PACKAGE/source/slitaz
   33.67 +		if [ -f done.$patch_file ]; then
   33.68 +			echo "Skipping $patch_file"
   33.69 +			continue
   33.70 +		fi
   33.71 +		echo "Apply $patch_file"
   33.72 +		if [ -x /usr/bin/cook ]; then
   33.73 +			patch -p1 < $WOK/$PACKAGE/source/slitaz/$patch_file || return 1
   33.74 +		elif [ -x /usr/bin/tazwok ]; then
   33.75 +			patch -p1 < $WOK/$PACKAGE/source/slitaz/$patch_file || { report close-bloc; return 1; }
   33.76 +		fi
   33.77 +		touch done.$patch_file
   33.78 +	done <<EOT
   33.79 +$PACKAGE-diff.u
   33.80 +$PACKAGE-header.u
   33.81 +aufs3-base.patch
   33.82 +aufs3-standalone.patch
   33.83 +aufs3-loopback.patch
   33.84 +aufs3-proc_map.patch
   33.85 +channel-negative-one-maxim.patch
   33.86 +mac80211.compat08082009.wl_frag+ack_v1.patch
   33.87 +EOT
   33.88 +
   33.89 +	if [ "$KBASEVER" != "$VERSION" ]; then
   33.90 +		if [ -f $SOURCES_REPOSITORY/$(basename $PATCH) ]; then
   33.91 +			xzcat $SOURCES_REPOSITORY/$(basename $PATCH) | patch -Np1
   33.92 +			touch done.patch-$VERSION
   33.93 +		else
   33.94 +			wget $PATCH -O $SRC/$(basename $PATCH)
   33.95 +			xzcat $SRC/$(basename $PATCH) | patch -Np1
   33.96 +			touch done.patch-$VERSION
   33.97 +		fi
   33.98 +	fi
   33.99 +
  33.100 +	sed -i 's|SUBLEVEL =.*|SUBLEVEL =|g' Makefile
  33.101 +
  33.102 +	[ ! -x /usr/bin/cook ] && report step "Make kernel proper and then build lguest"
  33.103 +	
  33.104 +	make mrproper
  33.105 +	cd Documentation/virtual/lguest
  33.106 +	if [ -x /usr/bin/cook ]; then
  33.107 +		make lguest || return 1
  33.108 +	elif [ -x /usr/bin/tazwok ]; then
  33.109 +		make lguest || { report close-bloc; return 1; }
  33.110 +	fi
  33.111 +	cd $src
  33.112 +
  33.113 +	[ ! -x /usr/bin/cook ] && report step "Make bzImage without modules first"
  33.114 +
  33.115 +	# Build bzImage without modules first
  33.116 +	cp -f $stuff/$PACKAGE-slitaz.config .config
  33.117 +	sed -i 's/CONFIG_MODULES=y/# CONFIG_MODULES is not set/' .config
  33.118 +	
  33.119 +	# We can't keep every driver in staging 
  33.120 +	sed -i -e 's/^CONFIG_RTL8192/#&/' \
  33.121 +	       -e 's/^CONFIG_R8187SE/#&/' \
  33.122 +	       -e 's/^CONFIG_RT2870/#&/' .config
  33.123 +	yes '' | make oldconfig
  33.124 +	if [ -x /usr/bin/cook ]; then
  33.125 +		make -j 4 bzImage || exit 1
  33.126 +	elif [ -x /usr/bin/tazwok ]; then
  33.127 +		make -j 4 bzImage || { report close-bloc; return 1; }
  33.128 +	fi
  33.129 +	[ -d $DESTDIR ] || mkdir -p $DESTDIR
  33.130 +	mv arch/x86/boot/bzImage $DESTDIR
  33.131 +	mv System.map System.map-without-modules
  33.132 +
  33.133 +	[ ! -x /usr/bin/cook ] && report step "Now build bzImage with modules"
  33.134 +	
  33.135 +	# Build bzImage with modules
  33.136 +	cp -f $stuff/$PACKAGE-slitaz.config .config
  33.137 +	#make oldconfig
  33.138 +	ln .config $WOK/$PACKAGE/source/slitaz/config
  33.139 +	make -j 4 bzImage &&
  33.140 +	make -j 4 modules &&
  33.141 +	make INSTALL_MOD_PATH=$DESTDIR modules_install &&
  33.142 +	make INSTALL_HDR_PATH=$DESTDIR/usr headers_install &&
  33.143 +	if [ -x /usr/bin/cook ]; then
  33.144 +		[ -s arch/x86/boot/bzImage ] || return 1
  33.145 +	elif [ -x /usr/bin/tazwok ]; then
  33.146 +		[ -s arch/x86/boot/bzImage ] || { report close-bloc; return 1; }
  33.147 +	fi
  33.148 +	mkdir -p $DESTDIR/boot 2> /dev/null
  33.149 +	mv arch/x86/boot/bzImage $DESTDIR/boot/vmlinuz-$VERSION-slitaz
  33.150 +	
  33.151 +	[ ! -x /usr/bin/cook ] && report step "Compressing all modules"
  33.152 +	
  33.153 +	# Compress all modules.
  33.154 +	$stuff/gztazmod.sh $DESTDIR/lib/modules/$KBASEVER-slitaz
  33.155 +	ln System.map System.map-modules
  33.156 +	ln Module.symvers Module.symvers-modules
  33.157 +	
  33.158 +	if [ ! -x /usr/bin/cook ]; then
  33.159 +		report close-bloc
  33.160 +	fi
  33.161 +}
  33.162 +
  33.163 +# Rules to gen a SliTaz package suitable for Tazpkg.
  33.164 +genpkg_rules()
  33.165 +{
  33.166 +    local path
  33.167 +    cp -a $_pkg/boot $fs
  33.168 +    # Compress all modules.
  33.169 +    #$stuff/gztazmod.sh $_pkg/lib/modules/$KBASEVER-slitaz
  33.170 +    path=$fs/lib/modules/$KBASEVER-slitaz/kernel
  33.171 +    mkdir -p $path
  33.172 +    cp -a $_pkg/lib/modules/$KBASEVER-slitaz/mo* \
  33.173 +		$fs/lib/modules/$KBASEVER-slitaz
  33.174 +    # Get the base modules
  33.175 +    export src
  33.176 +    export _pkg
  33.177 +    mkdir -p $WOK/$PACKAGE/source/tmp
  33.178 +    $stuff/list_modules.sh \
  33.179 +	$(cat $stuff/modules.list) > $WOK/$PACKAGE/source/tmp/modules.list
  33.180 +    while read module; do
  33.181 +    	dir=$(dirname $module)
  33.182 +    	[ -d $path/$dir ] || mkdir -p $path/$dir
  33.183 +        cp -a $_pkg/lib/modules/$KBASEVER-slitaz/kernel/$module $path/$dir
  33.184 +    done < $WOK/$PACKAGE/source/tmp/modules.list
  33.185 +    # Remove unresolved links
  33.186 +    rm -f $fs/lib/modules/$KBASEVER-slitaz/build
  33.187 +    rm -f $fs/lib/modules/$KBASEVER-slitaz/source
  33.188 +    # Cook all packages with a kernel module
  33.189 +    for i in $(cd $WOK; grep -l 'tazwok cook linux$' */receipt)
  33.190 +    do
  33.191 +    	echo tazwok cook ${i%/receipt}
  33.192 +    done
  33.193 +    # Fixed modules.dep to use right path
  33.194 +    # saves 100kb of space too
  33.195 +    sed -i "s|$_pkg||g" $fs/lib/modules/$KBASEVER-slitaz/modules.dep
  33.196 +    sed -i "s|99.98.$KBASEVER-slitaz|$KBASEVER-slitaz|g" $fs/lib/modules/$KBASEVER-slitaz/modules.dep
  33.197 +    # Check and echo any module in kernel .config that's not added to 
  33.198 +    # one of linux-* pkgs
  33.199 +	$stuff/check_modules.sh 
  33.200 +}
  33.201 +
  33.202 +# Pre and post install commands for Tazpkg.
  33.203 +post_install()
  33.204 +{
  33.205 +    echo "Processing post-install commands..."
  33.206 +    chroot "$1/" depmod -a $KBASEVER-slitaz
  33.207 +    # GRUB stuff.
  33.208 +    if [ -f "$1/boot/grub/menu.lst" ]; then
  33.209 +    	root_dev=`cat $1/boot/grub/menu.lst | grep root= | sed 's/.*root=\([^ ]*\).*/\1/' | head -n 1`
  33.210 +		grub_dev=`cat $1/boot/grub/menu.lst | grep "root (" | head -n 1`
  33.211 +		# Add new kernel entry in case of upgrade for installed system.
  33.212 +		if ! grep -q $PACKAGE-$VERSION-slitaz $1/boot/grub/menu.lst; then
  33.213 +    		cat >> $1/boot/grub/menu.lst << EOT
  33.214 +
  33.215 +title SliTaz GNU/Linux (Kernel $VERSION-slitaz)
  33.216 +$grub_dev
  33.217 +kernel /boot/vmlinuz-$VERSION-slitaz root=$root_dev
  33.218 +EOT
  33.219 +		fi
  33.220 +		# Display information message.
  33.221 +    	cat <<EOT
  33.222 +----
  33.223 +GRUB is installed, these tree lines must be in your /boot/grub/menu.lst:
  33.224 +
  33.225 +title  SliTaz GNU/Linux (Kernel $VERSION-slitaz)
  33.226 +$grub_dev
  33.227 +kernel /boot/vmlinuz-$VERSION-slitaz root=$root_dev
  33.228 +----
  33.229 +EOT
  33.230 +	fi
  33.231 +}
    34.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.2 +++ b/linux/stuff/aufs2-base.patch	Mon Apr 09 13:36:35 2012 +0200
    34.3 @@ -0,0 +1,70 @@
    34.4 +aufs2.1 base patch for linux-2.6.
    34.5 +
    34.6 +diff --git a/fs/namei.c b/fs/namei.c
    34.7 +index 5c867dd..95978ec 100644
    34.8 +--- a/fs/namei.c
    34.9 ++++ b/fs/namei.c
   34.10 +@@ -1692,7 +1692,7 @@ static struct dentry *__lookup_hash(struct qstr *name,
   34.11 +  * needs parent already locked. Doesn't follow mounts.
   34.12 +  * SMP-safe.
   34.13 +  */
   34.14 +-static struct dentry *lookup_hash(struct nameidata *nd)
   34.15 ++struct dentry *lookup_hash(struct nameidata *nd)
   34.16 + {
   34.17 + 	return __lookup_hash(&nd->last, nd->path.dentry, nd);
   34.18 + }
   34.19 +diff --git a/fs/splice.c b/fs/splice.c
   34.20 +index aa866d3..19afec6 100644
   34.21 +--- a/fs/splice.c
   34.22 ++++ b/fs/splice.c
   34.23 +@@ -1085,8 +1085,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
   34.24 + /*
   34.25 +  * Attempt to initiate a splice from pipe to file.
   34.26 +  */
   34.27 +-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
   34.28 +-			   loff_t *ppos, size_t len, unsigned int flags)
   34.29 ++long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
   34.30 ++		    loff_t *ppos, size_t len, unsigned int flags)
   34.31 + {
   34.32 + 	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
   34.33 + 				loff_t *, size_t, unsigned int);
   34.34 +@@ -1113,9 +1113,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
   34.35 + /*
   34.36 +  * Attempt to initiate a splice from a file to a pipe.
   34.37 +  */
   34.38 +-static long do_splice_to(struct file *in, loff_t *ppos,
   34.39 +-			 struct pipe_inode_info *pipe, size_t len,
   34.40 +-			 unsigned int flags)
   34.41 ++long do_splice_to(struct file *in, loff_t *ppos,
   34.42 ++		  struct pipe_inode_info *pipe, size_t len,
   34.43 ++		  unsigned int flags)
   34.44 + {
   34.45 + 	ssize_t (*splice_read)(struct file *, loff_t *,
   34.46 + 			       struct pipe_inode_info *, size_t, unsigned int);
   34.47 +diff --git a/include/linux/namei.h b/include/linux/namei.h
   34.48 +index eba45ea..21ed6c9 100644
   34.49 +--- a/include/linux/namei.h
   34.50 ++++ b/include/linux/namei.h
   34.51 +@@ -82,6 +82,7 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
   34.52 + extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry,
   34.53 + 		int (*open)(struct inode *, struct file *));
   34.54 + 
   34.55 ++extern struct dentry *lookup_hash(struct nameidata *nd);
   34.56 + extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
   34.57 + 
   34.58 + extern int follow_down_one(struct path *);
   34.59 +diff --git a/include/linux/splice.h b/include/linux/splice.h
   34.60 +index 997c3b4..be9a153 100644
   34.61 +--- a/include/linux/splice.h
   34.62 ++++ b/include/linux/splice.h
   34.63 +@@ -89,4 +89,10 @@ extern int splice_grow_spd(struct pipe_inode_info *, struct splice_pipe_desc *);
   34.64 + extern void splice_shrink_spd(struct pipe_inode_info *,
   34.65 + 				struct splice_pipe_desc *);
   34.66 + 
   34.67 ++extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
   34.68 ++			   loff_t *ppos, size_t len, unsigned int flags);
   34.69 ++extern long do_splice_to(struct file *in, loff_t *ppos,
   34.70 ++			 struct pipe_inode_info *pipe, size_t len,
   34.71 ++			 unsigned int flags);
   34.72 ++
   34.73 + #endif
    35.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.2 +++ b/linux/stuff/aufs2-kbuild.patch	Mon Apr 09 13:36:35 2012 +0200
    35.3 @@ -0,0 +1,35 @@
    35.4 +aufs2.1 kbuild patch for linux-2.6.
    35.5 +
    35.6 +diff --git a/fs/Kconfig b/fs/Kconfig
    35.7 +index 19891aa..b660b64 100644
    35.8 +--- a/fs/Kconfig
    35.9 ++++ b/fs/Kconfig
   35.10 +@@ -208,6 +208,7 @@ source "fs/pstore/Kconfig"
   35.11 + source "fs/sysv/Kconfig"
   35.12 + source "fs/ufs/Kconfig"
   35.13 + source "fs/exofs/Kconfig"
   35.14 ++source "fs/aufs/Kconfig"
   35.15 + 
   35.16 + endif # MISC_FILESYSTEMS
   35.17 + 
   35.18 +diff --git a/fs/Makefile b/fs/Makefile
   35.19 +index fb68c2b..c031a85 100644
   35.20 +--- a/fs/Makefile
   35.21 ++++ b/fs/Makefile
   35.22 +@@ -124,3 +124,4 @@ obj-$(CONFIG_GFS2_FS)           += gfs2/
   35.23 + obj-$(CONFIG_EXOFS_FS)          += exofs/
   35.24 + obj-$(CONFIG_CEPH_FS)		+= ceph/
   35.25 + obj-$(CONFIG_PSTORE)		+= pstore/
   35.26 ++obj-$(CONFIG_AUFS_FS)           += aufs/
   35.27 +diff --git a/include/linux/Kbuild b/include/linux/Kbuild
   35.28 +index 01f6362..8b3b9f1 100644
   35.29 +--- a/include/linux/Kbuild
   35.30 ++++ b/include/linux/Kbuild
   35.31 +@@ -65,6 +65,7 @@ header-y += atmppp.h
   35.32 + header-y += atmsap.h
   35.33 + header-y += atmsvc.h
   35.34 + header-y += audit.h
   35.35 ++header-y += aufs_type.h
   35.36 + header-y += auto_fs.h
   35.37 + header-y += auto_fs4.h
   35.38 + header-y += auxvec.h
    36.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.2 +++ b/linux/stuff/aufs2-standalone.patch	Mon Apr 09 13:36:35 2012 +0200
    36.3 @@ -0,0 +1,257 @@
    36.4 +aufs2.1 standalone patch for linux-2.6.
    36.5 +
    36.6 +diff --git a/fs/file_table.c b/fs/file_table.c
    36.7 +index 01e4c1e..0e800e2 100644
    36.8 +--- a/fs/file_table.c
    36.9 ++++ b/fs/file_table.c
   36.10 +@@ -443,6 +443,8 @@ void file_sb_list_del(struct file *file)
   36.11 + 	}
   36.12 + }
   36.13 + 
   36.14 ++EXPORT_SYMBOL(file_sb_list_del);
   36.15 ++
   36.16 + #ifdef CONFIG_SMP
   36.17 + 
   36.18 + /*
   36.19 +diff --git a/fs/inode.c b/fs/inode.c
   36.20 +index 43566d1..4291eae 100644
   36.21 +--- a/fs/inode.c
   36.22 ++++ b/fs/inode.c
   36.23 +@@ -69,6 +69,7 @@ static DEFINE_SPINLOCK(inode_lru_lock);
   36.24 + 
   36.25 + __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_sb_list_lock);
   36.26 + __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_wb_list_lock);
   36.27 ++EXPORT_SYMBOL(inode_sb_list_lock);
   36.28 + 
   36.29 + /*
   36.30 +  * iprune_sem provides exclusion between the icache shrinking and the
   36.31 +diff --git a/fs/namei.c b/fs/namei.c
   36.32 +index 95978ec..f86d670 100644
   36.33 +--- a/fs/namei.c
   36.34 ++++ b/fs/namei.c
   36.35 +@@ -365,6 +365,7 @@ int deny_write_access(struct file * file)
   36.36 + 
   36.37 + 	return 0;
   36.38 + }
   36.39 ++EXPORT_SYMBOL(deny_write_access);
   36.40 + 
   36.41 + /**
   36.42 +  * path_get - get a reference to a path
   36.43 +@@ -1696,6 +1697,7 @@ struct dentry *lookup_hash(struct nameidata *nd)
   36.44 + {
   36.45 + 	return __lookup_hash(&nd->last, nd->path.dentry, nd);
   36.46 + }
   36.47 ++EXPORT_SYMBOL(lookup_hash);
   36.48 + 
   36.49 + /**
   36.50 +  * lookup_one_len - filesystem helper to lookup single pathname component
   36.51 +diff --git a/fs/namespace.c b/fs/namespace.c
   36.52 +index fe59bd1..7d3843f 100644
   36.53 +--- a/fs/namespace.c
   36.54 ++++ b/fs/namespace.c
   36.55 +@@ -1508,6 +1508,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
   36.56 + 	}
   36.57 + 	return 0;
   36.58 + }
   36.59 ++EXPORT_SYMBOL(iterate_mounts);
   36.60 + 
   36.61 + static void cleanup_group_ids(struct vfsmount *mnt, struct vfsmount *end)
   36.62 + {
   36.63 +diff --git a/fs/notify/group.c b/fs/notify/group.c
   36.64 +index d309f38..f0e9568 100644
   36.65 +--- a/fs/notify/group.c
   36.66 ++++ b/fs/notify/group.c
   36.67 +@@ -22,6 +22,7 @@
   36.68 + #include <linux/srcu.h>
   36.69 + #include <linux/rculist.h>
   36.70 + #include <linux/wait.h>
   36.71 ++#include <linux/module.h>
   36.72 + 
   36.73 + #include <linux/fsnotify_backend.h>
   36.74 + #include "fsnotify.h"
   36.75 +@@ -70,6 +71,7 @@ void fsnotify_put_group(struct fsnotify_group *group)
   36.76 + 	if (atomic_dec_and_test(&group->refcnt))
   36.77 + 		fsnotify_destroy_group(group);
   36.78 + }
   36.79 ++EXPORT_SYMBOL(fsnotify_put_group);
   36.80 + 
   36.81 + /*
   36.82 +  * Create a new fsnotify_group and hold a reference for the group returned.
   36.83 +@@ -102,3 +104,4 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops)
   36.84 + 
   36.85 + 	return group;
   36.86 + }
   36.87 ++EXPORT_SYMBOL(fsnotify_alloc_group);
   36.88 +diff --git a/fs/notify/mark.c b/fs/notify/mark.c
   36.89 +index 252ab1f..2199b9b 100644
   36.90 +--- a/fs/notify/mark.c
   36.91 ++++ b/fs/notify/mark.c
   36.92 +@@ -112,6 +112,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark)
   36.93 + 	if (atomic_dec_and_test(&mark->refcnt))
   36.94 + 		mark->free_mark(mark);
   36.95 + }
   36.96 ++EXPORT_SYMBOL(fsnotify_put_mark);
   36.97 + 
   36.98 + /*
   36.99 +  * Any time a mark is getting freed we end up here.
  36.100 +@@ -189,6 +190,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark)
  36.101 + 	if (unlikely(atomic_dec_and_test(&group->num_marks)))
  36.102 + 		fsnotify_final_destroy_group(group);
  36.103 + }
  36.104 ++EXPORT_SYMBOL(fsnotify_destroy_mark);
  36.105 + 
  36.106 + void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask)
  36.107 + {
  36.108 +@@ -276,6 +278,7 @@ err:
  36.109 + 
  36.110 + 	return ret;
  36.111 + }
  36.112 ++EXPORT_SYMBOL(fsnotify_add_mark);
  36.113 + 
  36.114 + /*
  36.115 +  * clear any marks in a group in which mark->flags & flags is true
  36.116 +@@ -331,6 +334,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark,
  36.117 + 	atomic_set(&mark->refcnt, 1);
  36.118 + 	mark->free_mark = free_mark;
  36.119 + }
  36.120 ++EXPORT_SYMBOL(fsnotify_init_mark);
  36.121 + 
  36.122 + static int fsnotify_mark_destroy(void *ignored)
  36.123 + {
  36.124 +diff --git a/fs/open.c b/fs/open.c
  36.125 +index b52cf01..c1b341c 100644
  36.126 +--- a/fs/open.c
  36.127 ++++ b/fs/open.c
  36.128 +@@ -60,6 +60,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
  36.129 + 	mutex_unlock(&dentry->d_inode->i_mutex);
  36.130 + 	return ret;
  36.131 + }
  36.132 ++EXPORT_SYMBOL(do_truncate);
  36.133 + 
  36.134 + static long do_sys_truncate(const char __user *pathname, loff_t length)
  36.135 + {
  36.136 +diff --git a/fs/splice.c b/fs/splice.c
  36.137 +index 19afec6..11f07f8 100644
  36.138 +--- a/fs/splice.c
  36.139 ++++ b/fs/splice.c
  36.140 +@@ -1109,6 +1109,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
  36.141 + 
  36.142 + 	return splice_write(pipe, out, ppos, len, flags);
  36.143 + }
  36.144 ++EXPORT_SYMBOL(do_splice_from);
  36.145 + 
  36.146 + /*
  36.147 +  * Attempt to initiate a splice from a file to a pipe.
  36.148 +@@ -1135,6 +1136,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
  36.149 + 
  36.150 + 	return splice_read(in, ppos, pipe, len, flags);
  36.151 + }
  36.152 ++EXPORT_SYMBOL(do_splice_to);
  36.153 + 
  36.154 + /**
  36.155 +  * splice_direct_to_actor - splices data directly between two non-pipes
  36.156 +diff --git a/security/commoncap.c b/security/commoncap.c
  36.157 +index a93b3b7..024282c 100644
  36.158 +--- a/security/commoncap.c
  36.159 ++++ b/security/commoncap.c
  36.160 +@@ -971,3 +971,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot,
  36.161 + 	}
  36.162 + 	return ret;
  36.163 + }
  36.164 ++EXPORT_SYMBOL(cap_file_mmap);
  36.165 +diff --git a/security/device_cgroup.c b/security/device_cgroup.c
  36.166 +index 1be6826..215278c 100644
  36.167 +--- a/security/device_cgroup.c
  36.168 ++++ b/security/device_cgroup.c
  36.169 +@@ -508,6 +508,7 @@ found:
  36.170 + 
  36.171 + 	return -EPERM;
  36.172 + }
  36.173 ++EXPORT_SYMBOL(__devcgroup_inode_permission);
  36.174 + 
  36.175 + int devcgroup_inode_mknod(int mode, dev_t dev)
  36.176 + {
  36.177 +diff --git a/security/security.c b/security/security.c
  36.178 +index 4ba6d4c..9f64bb8 100644
  36.179 +--- a/security/security.c
  36.180 ++++ b/security/security.c
  36.181 +@@ -373,6 +373,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry)
  36.182 + 		return 0;
  36.183 + 	return security_ops->path_rmdir(dir, dentry);
  36.184 + }
  36.185 ++EXPORT_SYMBOL(security_path_rmdir);
  36.186 + 
  36.187 + int security_path_unlink(struct path *dir, struct dentry *dentry)
  36.188 + {
  36.189 +@@ -389,6 +390,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry,
  36.190 + 		return 0;
  36.191 + 	return security_ops->path_symlink(dir, dentry, old_name);
  36.192 + }
  36.193 ++EXPORT_SYMBOL(security_path_symlink);
  36.194 + 
  36.195 + int security_path_link(struct dentry *old_dentry, struct path *new_dir,
  36.196 + 		       struct dentry *new_dentry)
  36.197 +@@ -397,6 +399,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir,
  36.198 + 		return 0;
  36.199 + 	return security_ops->path_link(old_dentry, new_dir, new_dentry);
  36.200 + }
  36.201 ++EXPORT_SYMBOL(security_path_link);
  36.202 + 
  36.203 + int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
  36.204 + 			 struct path *new_dir, struct dentry *new_dentry)
  36.205 +@@ -415,6 +418,7 @@ int security_path_truncate(struct path *path)
  36.206 + 		return 0;
  36.207 + 	return security_ops->path_truncate(path);
  36.208 + }
  36.209 ++EXPORT_SYMBOL(security_path_truncate);
  36.210 + 
  36.211 + int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
  36.212 + 			mode_t mode)
  36.213 +@@ -423,6 +427,7 @@ int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
  36.214 + 		return 0;
  36.215 + 	return security_ops->path_chmod(dentry, mnt, mode);
  36.216 + }
  36.217 ++EXPORT_SYMBOL(security_path_chmod);
  36.218 + 
  36.219 + int security_path_chown(struct path *path, uid_t uid, gid_t gid)
  36.220 + {
  36.221 +@@ -430,6 +435,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid)
  36.222 + 		return 0;
  36.223 + 	return security_ops->path_chown(path, uid, gid);
  36.224 + }
  36.225 ++EXPORT_SYMBOL(security_path_chown);
  36.226 + 
  36.227 + int security_path_chroot(struct path *path)
  36.228 + {
  36.229 +@@ -506,6 +512,7 @@ int security_inode_readlink(struct dentry *dentry)
  36.230 + 		return 0;
  36.231 + 	return security_ops->inode_readlink(dentry);
  36.232 + }
  36.233 ++EXPORT_SYMBOL(security_inode_readlink);
  36.234 + 
  36.235 + int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd)
  36.236 + {
  36.237 +@@ -520,6 +527,7 @@ int security_inode_permission(struct inode *inode, int mask)
  36.238 + 		return 0;
  36.239 + 	return security_ops->inode_permission(inode, mask, 0);
  36.240 + }
  36.241 ++EXPORT_SYMBOL(security_inode_permission);
  36.242 + 
  36.243 + int security_inode_exec_permission(struct inode *inode, unsigned int flags)
  36.244 + {
  36.245 +@@ -626,6 +634,7 @@ int security_file_permission(struct file *file, int mask)
  36.246 + 
  36.247 + 	return fsnotify_perm(file, mask);
  36.248 + }
  36.249 ++EXPORT_SYMBOL(security_file_permission);
  36.250 + 
  36.251 + int security_file_alloc(struct file *file)
  36.252 + {
  36.253 +@@ -653,6 +662,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot,
  36.254 + 		return ret;
  36.255 + 	return ima_file_mmap(file, prot);
  36.256 + }
  36.257 ++EXPORT_SYMBOL(security_file_mmap);
  36.258 + 
  36.259 + int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot,
  36.260 + 			    unsigned long prot)
    37.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    37.2 +++ b/linux/stuff/bootloader.sh	Mon Apr 09 13:36:35 2012 +0200
    37.3 @@ -0,0 +1,229 @@
    37.4 +#!/bin/sh
    37.5 +#
    37.6 +# This script creates a floppy image set from a linux bzImage and can merge
    37.7 +# a cmdline and/or one or more initramfs.
    37.8 +# The total size can not exceed 15M because INT 15H function 87H limitations.
    37.9 +#
   37.10 +# (C) 2009 Pascal Bellard - GNU General Public License v3.
   37.11 +
   37.12 +usage()
   37.13 +{
   37.14 +cat <<EOT
   37.15 +Usage: $0 bzImage [--prefix image_prefix] [--cmdline 'args']
   37.16 +       [--rdev device] [--video mode] [--flags rootflags] [--tracks cnt]
   37.17 +       [--format 1440|1680|1920|2880 ] [--initrd initrdfile]...
   37.18 +
   37.19 +Default values: --format 1440 --tracks 80 --prefix floppy.
   37.20 +
   37.21 +Or:	cat fd0*.img | $0 --extract
   37.22 +
   37.23 +Create the kernel, cmdline and rootfs files from a floppy set
   37.24 +
   37.25 +Example:
   37.26 +$0 /boot/vmlinuz-2.6.30.6 --rdev /dev/ram0 --video -3 \
   37.27 +--cmdline 'rw lang=fr_FR kmap=fr-latin1 laptop autologin' \
   37.28 +--initrd /boot/rootfs.gz --initrd ./myconfig.gz
   37.29 +EOT
   37.30 +exit 1
   37.31 +}
   37.32 +
   37.33 +ddq()
   37.34 +{
   37.35 +	dd $@ 2> /dev/null
   37.36 +}
   37.37 +
   37.38 +dbg()
   37.39 +{
   37.40 +	[ -n "$DEBUG" ] && echo "$@" 1>&2
   37.41 +}
   37.42 +
   37.43 +# write a 32 bits data
   37.44 +# usage: put offset data32 file [bytes]
   37.45 +put()
   37.46 +{
   37.47 +	n=$2; for i in $(seq 1 ${4:-4}); do
   37.48 +		printf '\\\\x%02X' $(($n & 255))
   37.49 +		n=$(($n >> 8))
   37.50 +	done | xargs echo -en | ddq bs=1 conv=notrunc of=$3 seek=$1
   37.51 +	[ -n "$DEBUG" ] && printf "put$4(%04X) = %X\n" $1 $2 1>&2
   37.52 +}
   37.53 +
   37.54 +# read a 32 bits data
   37.55 +# usage: get offset file [bytes]
   37.56 +get()
   37.57 +{
   37.58 +	ddq if=$2 bs=1 skip=$(($1)) count=${3:-4} | hexdump -e '"" 1/4 "%d"'
   37.59 +}
   37.60 +
   37.61 +SetupSzOfs=0x1F1
   37.62 +SyssizeOfs=0x1F4
   37.63 +RamfsLenOfs=0x21C
   37.64 +ArgPtrOfs=0x228
   37.65 +
   37.66 +floppyset()
   37.67 +{
   37.68 +	# bzImage offsets
   37.69 +	CylinderCount=0x1F0
   37.70 +	FlagsOfs=0x1F2
   37.71 +	VideoModeOfs=0x1FA
   37.72 +	RootDevOfs=0x1FC
   37.73 +	CodeAdrOfs=0x214
   37.74 +	RamfsAdrOfs=0x218
   37.75 +
   37.76 +	# boot+setup address
   37.77 +	SetupBase=0x90000
   37.78 +
   37.79 +	stacktop=0x9E00
   37.80 +
   37.81 +	bs=/tmp/bs$$
   37.82 +
   37.83 +	# Get and patch boot sector
   37.84 +	# See  http://hg.slitaz.org/wok/raw-file/711d076b277c/linux/stuff/linux-header-2.6.34.u
   37.85 +	ddq if=$KERNEL bs=512 count=1 of=$bs
   37.86 +	uudecode <<EOT | ddq of=$bs conv=notrunc
   37.87 +begin-base64 644 -
   37.88 +/L+6nWgAkAcGF4n8McC5HQDzq1sfD6mg8X1ABlfFd3ixBvOlZWaPR3gGH8ZF
   37.89 ++D/6l1hB6DQBvgACA3QO6HYBWwseKAJ0LFNH6AoBXuhmAbAgzRCwCM0QTuhl
   37.90 +ATwIdAOIBK05NigCdPDoPgE8CnXgiHz+ieb/TBD/TBi/9AGBTRz/gMdFMACc
   37.91 +sBCxBUi0k4lEHLABiUQUmGaY0+BIZgMFZtPoaAAQB7+AACn4nHMCAccx21BW
   37.92 +6J4AXrkAgLSH/kQczRVYnXfcoRoCvxwCsQk4RBxyuJPNE+oAACCQsEYoyL7b
   37.93 +AejSAF3rI4D5E3IEOMF3a4D+AnIEOOZ3bGCB/QAGdCoGUlFTlrQCULEGtQTB
   37.94 +xQSwDyHoBJAnFEAn6IwA/s117LAgzRDitOiWAJjNE2FSUCjIdwKwAZg5+HIC
   37.95 +ifhQtALNE5VeWFpyoJVBjuGAxwJPdFFOdfSM4ZU4wXVFiMj+xrEBOOZ1O4j0
   37.96 +/sW2AID9UHIwOi7wAXIqtQBgvt4B/kQMU+gxAFvoOAB1FlKYzRO4AQLNE1rQ
   37.97 +1Dpk/nXqRgjkdeVh64sWB7AxLAO0DrsHAM0QPA1088OwDejv/6wIwHX4w79s
   37.98 +BLFbZQINuA0BZToNdArNFnT0mM0Wju9Hw1g6AEluc2VydCBkaXNrIDEuBw0A
   37.99 +AA==
  37.100 +====
  37.101 +EOT
  37.102 +
  37.103 +	# Get setup
  37.104 +	setupsz=$(get $SetupSzOfs $bs 1)
  37.105 +	ddq if=$KERNEL bs=512 skip=1 count=$setupsz >> $bs
  37.106 +
  37.107 +	if [ -n "$TRACKS" ]; then
  37.108 +		dbg -n "--tracks "
  37.109 +		put $CylinderCount $TRACKS $bs 1
  37.110 +	fi
  37.111 +	if [ -n "$FLAGS" ]; then
  37.112 +		dbg -n "--flags "
  37.113 +		put $FlagsOfs $FLAGS $bs 2
  37.114 +	fi
  37.115 +	if [ -n "$VIDEO" ]; then
  37.116 +		dbg -n "--video "
  37.117 +		put $VideoModeOfs $VIDEO $bs 2
  37.118 +	fi
  37.119 +	if [ -n "$RDEV" ]; then
  37.120 +		dbg -n "--rdev "
  37.121 +		n=$(stat -c '0x%02t%02T' $RDEV 2> /dev/null)
  37.122 +		[ -n "$n" ] || n=$RDEV
  37.123 +		put $RootDevOfs $n $bs 2
  37.124 +	fi
  37.125 +
  37.126 +	# Store cmdline after setup
  37.127 +	if [ -n "$CMDLINE" ]; then
  37.128 +		dbg -n "--cmdline '$CMDLINE' "
  37.129 +		echo -n "$CMDLINE" | ddq bs=512 count=1 conv=sync >> $bs
  37.130 +		put $ArgPtrOfs $(( $SetupBase + $stacktop )) $bs
  37.131 +	fi
  37.132 +
  37.133 +	# Compute initramfs size
  37.134 +	initrdlen=0
  37.135 +	padding=0
  37.136 +	for i in $( echo $INITRD | sed 's/,/ /' ); do
  37.137 +		[ -s "$i" ] || continue
  37.138 +		dbg "--initrd $i "
  37.139 +		initrdlen=$(( $initrdlen + $padding ))
  37.140 +		padding=$(stat -c %s $i)
  37.141 +		initrdlen=$(( $initrdlen + $padding ))
  37.142 +		padding=$(( 4096 - ($padding & 4095) ))
  37.143 +		[ $padding -eq 4096 ] && padding=0
  37.144 +	done
  37.145 +	Ksize=$(( $(get $SyssizeOfs $bs)*16 ))
  37.146 +	Kpad=$(( (($Ksize+4095)/4096)*4096 - Ksize ))
  37.147 +	if [ $initrdlen -ne 0 ]; then
  37.148 +		dbg "initrdlen = $initrdlen "
  37.149 +		Kbase=$(get $CodeAdrOfs $bs)
  37.150 +		put $RamfsAdrOfs \
  37.151 +			$(( (0x1000000 - $initrdlen) & 0xFFFF0000 )) $bs
  37.152 +		put $RamfsLenOfs $(( ($initrdlen + 3) & -4 )) $bs
  37.153 +	fi
  37.154 +
  37.155 +	# Output boot sector + setup + cmdline
  37.156 +	ddq if=$bs
  37.157 +
  37.158 +	# Output kernel code
  37.159 +	ddq if=$KERNEL bs=512 skip=$(( $setupsz + 1 ))
  37.160 +
  37.161 +	# Pad to next sector
  37.162 +	Kpad=$(( 512 - ($(stat -c %s $KERNEL) & 511) ))
  37.163 +	[ $Kpad -eq 512 ] || ddq if=/dev/zero bs=1 count=$Kpad
  37.164 +
  37.165 +	# Output initramfs
  37.166 +	padding=0
  37.167 +	for i in $( echo $INITRD | sed 's/,/ /' ); do
  37.168 +		[ -s "$i" ] || continue
  37.169 +		[ $padding -ne 0 ] && ddq if=/dev/zero bs=1 count=$padding
  37.170 +		ddq if=$i
  37.171 +		padding=$(( 4 - ($(stat -c %s $i) & 3) ))
  37.172 +		[ $padding -eq 4 ] && padding=0
  37.173 +	done
  37.174 +
  37.175 +	# Cleanup
  37.176 +	rm -f $bs
  37.177 +}
  37.178 +
  37.179 +KERNEL=""
  37.180 +INITRD=""
  37.181 +CMDLINE=""
  37.182 +PREFIX="floppy."
  37.183 +FORMAT="1440"
  37.184 +RDEV=""
  37.185 +VIDEO=""
  37.186 +FLAGS=""
  37.187 +TRACKS=""
  37.188 +DEBUG=""
  37.189 +while [ -n "$1" ]; do
  37.190 +	case "${1/--/-}" in
  37.191 +	-c*)	CMDLINE="$2"; shift;;
  37.192 +	-i*)	INITRD="$INITRD $2"; shift;;
  37.193 +	-p*)	PREFIX="$2"; shift;;
  37.194 +	-fl*)	FLAGS="$2"; shift;;	# 1 read-only, 0 read-write
  37.195 +	-f*)	FORMAT="$2"; shift;;
  37.196 +	-r*)	RDEV="$2"; shift;;	# /dev/???
  37.197 +	-v*)	VIDEO="$2"; shift;;	# -3 .. n
  37.198 +	-t*)	TRACKS="$2"; shift;; 	# likely 81 .. 84
  37.199 +	-d*)	DEBUG="1";;
  37.200 +	-e*)	ddq bs=512 count=2 > kernel
  37.201 +		setupsz=$(get $SetupSzOfs kernel 1)
  37.202 +		ddq bs=512 count=$(($setupsz - 1)) >> kernel
  37.203 +		[ $(get $ArgPtrOfs kernel) -ne 0 ] && 
  37.204 +			ddq bs=512 count=1 | strings > cmdline
  37.205 +		syssz=$(get $SyssizeOfs kernel)
  37.206 +		ddq bs=512 count=$(( ($syssz + 31) / 32 )) >> kernel
  37.207 +		ddq bs=16 seek=$(($syssz + 32 + $setupsz*32)) count=0 of=kernel
  37.208 +		ramsz=$(get $RamfsLenOfs kernel)
  37.209 +		ddq bs=512 count=$((($ramsz + 511) / 512)) of=rootfs
  37.210 +		ddq bs=1 seek=$ramsz count=0 of=rootfs
  37.211 +		exit ;;
  37.212 +	*) KERNEL="$1";;
  37.213 +	esac
  37.214 +	shift
  37.215 +done
  37.216 +[ -n "$KERNEL" -a -f "$KERNEL" ] || usage
  37.217 +[ -n "$TRACKS" ] && [ $(( $FORMAT % $TRACKS )) -ne 0 ] &&
  37.218 +	echo "Invalid track count for format $FORMAT." && usage
  37.219 +
  37.220 +if [ "$FORMAT" == "0" ]; then # unsplitted
  37.221 +	floppyset > $PREFIX
  37.222 +	exit
  37.223 +fi
  37.224 +floppyset | split -b ${FORMAT}k /dev/stdin floppy$$
  37.225 +i=1
  37.226 +ls floppy$$* | while read file ; do
  37.227 +	output=$PREFIX$(printf "%03d" $i)
  37.228 +	cat $file /dev/zero | ddq bs=1k count=$FORMAT conv=sync of=$output
  37.229 +	echo $output
  37.230 +	rm -f $file
  37.231 +	i=$(( $i + 1 ))
  37.232 +done
    38.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    38.2 +++ b/linux/stuff/channel-negative-one-maxim.patch	Mon Apr 09 13:36:35 2012 +0200
    38.3 @@ -0,0 +1,38 @@
    38.4 +commit fffd6e63ea75850dafbf2ccfb38a4189f43c0282
    38.5 +Author: Maxim Levitsky <maximlevitsky@xxxxxxxxx>
    38.6 +Date:   Tue Jun 1 15:43:21 2010 +0300
    38.7 +
    38.8 +    wireless: allow to retrieve the channel set on monitor interface
    38.9 +    
   38.10 +    This will allow to preserve compatibility with userspace
   38.11 +    
   38.12 +    Signed-off-by: Maxim Levitsky <maximlevitsky@xxxxxxxxx>
   38.13 +
   38.14 +diff --git a/net/wireless/chan.c b/net/wireless/chan.c
   38.15 +index b01a6f6..09d979b 100644
   38.16 +--- a/net/wireless/chan.c
   38.17 ++++ b/net/wireless/chan.c
   38.18 +@@ -49,9 +49,12 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev,
   38.19 + {
   38.20 + 	struct ieee80211_channel *chan;
   38.21 + 	int result;
   38.22 ++	struct wireless_dev *mon_dev = NULL;
   38.23 + 
   38.24 +-	if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR)
   38.25 ++	if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) {
   38.26 ++		mon_dev = wdev;
   38.27 + 		wdev = NULL;
   38.28 ++	}
   38.29 + 
   38.30 + 	if (wdev) {
   38.31 + 		ASSERT_WDEV_LOCK(wdev);
   38.32 +@@ -76,5 +79,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev,
   38.33 + 	if (wdev)
   38.34 + 		wdev->channel = chan;
   38.35 + 
   38.36 ++	if (mon_dev)
   38.37 ++		mon_dev->channel = chan;
   38.38 ++
   38.39 + 	return 0;
   38.40 + }
   38.41 +
    39.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    39.2 +++ b/linux/stuff/check_modules.sh	Mon Apr 09 13:36:35 2012 +0200
    39.3 @@ -0,0 +1,57 @@
    39.4 +#!/bin/sh
    39.5 +# Echo any module in kernel .config that's not added to one of linux-* pkgs
    39.6 +# (c) SliTaz - GNU General Public License.
    39.7 +# 20090618 <jozee@slitaz.org> 
    39.8 +# 20100528 <pankso@slitaz.org>
    39.9 +#
   39.10 +#. /etc/slitaz/slitaz.conf
   39.11 +
   39.12 +#WOK=$LOCAL_REPOSITORY/wok
   39.13 +WOK=$(cd `dirname $0` && pwd | sed 's/wok.*/wok/')
   39.14 +VERSION=`grep  ^VERSION= $WOK/linux/receipt | cut -d "=" -f2 | sed -e 's/"//g'`
   39.15 +BASEVER="${VERSION:0:3}"
   39.16 +src="$WOK/linux/source/linux-$VERSION"
   39.17 +
   39.18 +cd $src
   39.19 +mkdir -p $WOK/$PACKAGE/tmp 2>/dev/null
   39.20 +rm -f $WOK/$PACKAGE/tmp/*
   39.21 +
   39.22 +echo -e "\nChecking for modules selected in .config but not in linux-* pkgs"
   39.23 +echo "======================================================================"
   39.24 +
   39.25 +# create a packaged modules list
   39.26 +cat $WOK/linux/stuff/modules.list >> $WOK/$PACKAGE/tmp/pkgs-modules-"$VERSION".list 
   39.27 +
   39.28 +for i in $(cd $WOK; grep -l '^WANTED="linux"' */receipt | sed 's|/receipt||g')
   39.29 +do
   39.30 +	tazpath="taz/$i-*"
   39.31 +	if [ ! $(grep -l 'linux-libre' $WOK/$i/receipt) ]; then
   39.32 +		for j in $(cat $WOK/$i/$tazpath/files.list | grep ".ko.gz")
   39.33 +		do
   39.34 +			basename $j >> $WOK/$PACKAGE/tmp/pkgs-modules-"$VERSION".list	
   39.35 +		done
   39.36 +	fi
   39.37 +done
   39.38 +# get the original list in .config
   39.39 +for i in $(find $_pkg -iname "*.ko.gz")
   39.40 +do
   39.41 +	basename $i >> $WOK/$PACKAGE/tmp/originial-"$VERSION".list
   39.42 +done
   39.43 +# compare original .config and pkged modules
   39.44 +for i in $(cat $WOK/$PACKAGE/tmp/originial-$VERSION.list)
   39.45 +do
   39.46 +	if ! grep -qs "$i" $WOK/$PACKAGE/tmp/pkgs-modules-"$VERSION".list ; then
   39.47 +		modpath=`find $_pkg -iname "$i"`
   39.48 +		echo "Orphan module: $i"
   39.49 +		echo "$i : $modpath" >> $WOK/$PACKAGE/tmp/unpackaged-modules-"$VERSION".list
   39.50 +	fi
   39.51 +done
   39.52 +if [ -f $WOK/$PACKAGE/tmp/unpackaged-modules-"$VERSION".list ]; then
   39.53 +	echo "======================================================================"
   39.54 +	echo -e "Check linux/tmp/unpackaged-modules-$VERSION.list for mod path\n"
   39.55 +else
   39.56 +	echo -e "\nAll modules are packaged\n"
   39.57 +	echo "======================================================================"
   39.58 +	echo ""
   39.59 +	rm -rf $WOK/$PACKAGE/tmp
   39.60 +fi
    40.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    40.2 +++ b/linux/stuff/gztazmod.sh	Mon Apr 09 13:36:35 2012 +0200
    40.3 @@ -0,0 +1,67 @@
    40.4 +#!/bin/sh
    40.5 +# gztazmod.sh: Compress Linux kernel modules for SliTaz GNU/Linux.
    40.6 +# 2007/10/04 <pankso@slitaz.org> - GNU General Public License.
    40.7 +#
    40.8 +
    40.9 +# We do our work in the kernel version modules directory.
   40.10 +if [ -z "$1" ] ; then
   40.11 +  echo ""
   40.12 +  echo -e "\033[1musage:\033[0m `basename $0` path/to/kernel-version"
   40.13 +  echo ""
   40.14 +  exit 1
   40.15 +fi
   40.16 +
   40.17 +if [ ! -r "$1" ] ; then
   40.18 +  echo ""
   40.19 +  echo -e "Error : $1 does not exist."
   40.20 +  echo ""
   40.21 +  exit 1
   40.22 +fi
   40.23 +
   40.24 +cd $1
   40.25 +
   40.26 +# Status functions.
   40.27 +status()
   40.28 +{
   40.29 +	local CHECK=$?
   40.30 +	echo -en "\\033[70G[ "
   40.31 +	if [ $CHECK = 0 ]; then
   40.32 +		echo -en "\\033[1;33mOK"
   40.33 +	else
   40.34 +		echo -en "\\033[1;31mFailed"
   40.35 +	fi
   40.36 +	echo -e "\\033[0;39m ]"
   40.37 +}
   40.38 +
   40.39 +# Script start.
   40.40 +echo ""
   40.41 +echo "Starting gztazmod.sh to build compressed kernel modules... "
   40.42 +echo ""
   40.43 +
   40.44 +# Find all modules.
   40.45 +echo -n "Searching all modules to compress them... "
   40.46 +find . -name "*.ko" -exec lzma e '{}' '{}'.gz \; 2> /dev/null
   40.47 +status
   40.48 +find . -name "*.ko" -exec rm '{}' \;
   40.49 +
   40.50 +# Build a new temporary modules.dep.
   40.51 +echo -n "Building tmp.dep... "
   40.52 +sed 's/\.ko.gz/.ko/g' modules.dep > tmp.dep
   40.53 +sed -i 's/\.ko.gz/.ko/g' tmp.dep
   40.54 +sed -i 's/\.ko/.ko.gz/g' tmp.dep
   40.55 +status
   40.56 +
   40.57 +# Destroy original modules.dep
   40.58 +echo -n "Destroying modules.dep... "
   40.59 +rm modules.dep
   40.60 +status
   40.61 +
   40.62 +# Remove tmp.dep to modules.dep.
   40.63 +echo -n "Removing tmp.dep to modules.dep... "
   40.64 +mv tmp.dep modules.dep
   40.65 +status
   40.66 +
   40.67 +# Script end.
   40.68 +echo ""
   40.69 +echo "Kernel modules `basename $1` are ready."
   40.70 +echo ""
    41.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    41.2 +++ b/linux/stuff/linux-diff.u	Mon Apr 09 13:36:35 2012 +0200
    41.3 @@ -0,0 +1,40 @@
    41.4 +--- linux-2.6.30.6/arch/x86/vdso/Makefile
    41.5 ++++ linux-2.6.30.6/arch/x86/vdso/Makefile
    41.6 +@@ -104,10 +104,12 @@
    41.7 + 	   $(foreach H,$(filter-out FORCE,$^),\
    41.8 + 		     if grep -q VDSO32_SYSENTER_RETURN $H; \
    41.9 + 		     then diff -u $(@D)/.tmp_$(@F) $H; \
   41.10 +-		     else sed /VDSO32_SYSENTER_RETURN/d $(@D)/.tmp_$(@F) | \
   41.11 +-			  diff -u - $H; fi &&) : ;\
   41.12 ++		     else sed /VDSO32_SYSENTER_RETURN/d $(@D)/.tmp_$(@F) > \
   41.13 ++		     	  $(@D)/.tmp_$(@F).$$ ; \
   41.14 ++			  diff -u $(@D)/.tmp_$(@F).$$ $H; fi &&) : ;\
   41.15 + 	then mv -f $(@D)/.tmp_$(@F) $@; \
   41.16 +-	else rm -f $(@D)/.tmp_$(@F); exit 1; \
   41.17 ++	else rm -f $(@D)/.tmp_$(@F)*; exit 1; \
   41.18 ++	rm -f $(@D)/.tmp_$(@F)*; \
   41.19 + 	fi
   41.20 + endef
   41.21 + 
   41.22 +
   41.23 +--- linux-2.6.34/scripts/Makefile.lib
   41.24 ++++ linux-2.6.34/scripts/Makefile.lib
   41.25 +@@ -204,7 +204,8 @@
   41.26 + # ---------------------------------------------------------------------------
   41.27 + 
   41.28 + quiet_cmd_gzip = GZIP    $@
   41.29 +-cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f -9 > $@) || \
   41.30 ++cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f -9 > $@) && \
   41.31 ++	( which advdef > /dev/null && advdef -z $@ ; true ) || \
   41.32 + 	(rm -f $@ ; false)
   41.33 + 
   41.34 +
   41.35 +@@ -253,7 +254,7 @@
   41.36 + 
   41.37 + quiet_cmd_lzma = LZMA    $@
   41.38 + cmd_lzma = (cat $(filter-out FORCE,$^) | \
   41.39 +-	lzma -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
   41.40 ++	lzma e -si -so && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
   41.41 + 	(rm -f $@ ; false)
   41.42 + 
   41.43 + quiet_cmd_lzo = LZO    $@
    42.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    42.2 +++ b/linux/stuff/linux-freeinitrd-2.6.38.u	Mon Apr 09 13:36:35 2012 +0200
    42.3 @@ -0,0 +1,129 @@
    42.4 +--- linux-2.6.30.4/arch/x86/mm/init.c
    42.5 ++++ linux-2.6.30.4/arch/x86/mm/init.c
    42.6 +@@ -366,7 +366,7 @@
    42.7 + 	 */
    42.8 + 	set_memory_rw(begin, (end - begin) >> PAGE_SHIFT);
    42.9 + 
   42.10 +-	printk(KERN_INFO "Freeing %s: %luk freed\n", what, (end - begin) >> 10);
   42.11 ++	if (what) printk(KERN_INFO "Freeing %s: %luk freed\n", what, (end - begin) >> 10);
   42.12 + 
   42.13 + 	for (; addr < end; addr += PAGE_SIZE) {
   42.14 + 		ClearPageReserved(virt_to_page(addr));
   42.15 +
   42.16 +--- linux-2.6.30.4/init/initramfs.c
   42.17 ++++ linux-2.6.30.4/init/initramfs.c
   42.18 +@@ -374,6 +374,52 @@
   42.19 + 	[Reset]		= do_reset,
   42.20 + };
   42.21 + 
   42.22 ++#include <linux/initrd.h>
   42.23 ++#define INITRD_PAGE ((PAGE_SIZE > 64*1024) ? PAGE_SIZE : 64*1024)
   42.24 ++#define INITRD_DOT  (1024*1024)
   42.25 ++
   42.26 ++static void free_rootfs_mem(unsigned long start, unsigned long end)
   42.27 ++{
   42.28 ++	free_init_pages(NULL, start, end);
   42.29 ++}
   42.30 ++
   42.31 ++static void _free_initrd(unsigned long initrd_start, unsigned long initrd_end, 
   42.32 ++			 void (*free_initrd_mem)(unsigned long, unsigned long));
   42.33 ++
   42.34 ++static struct {
   42.35 ++	int offset, last, inptr, freed;
   42.36 ++	char *max;
   42.37 ++} fill;
   42.38 ++
   42.39 ++static void release_inbuf(unsigned n)
   42.40 ++{
   42.41 ++	if (n >= INITRD_PAGE) {
   42.42 ++		unsigned rem = n % INITRD_PAGE;
   42.43 ++		unsigned end = initrd_start + n - rem;
   42.44 ++		_free_initrd(initrd_start, end, free_rootfs_mem);
   42.45 ++		fill.freed += n - rem;
   42.46 ++		if (fill.freed >= INITRD_DOT) {
   42.47 ++			fill.freed -= INITRD_DOT;
   42.48 ++			printk(".");
   42.49 ++		}
   42.50 ++		initrd_start = end;
   42.51 ++		fill.offset = rem;
   42.52 ++	}
   42.53 ++}
   42.54 ++
   42.55 ++static int fill_buffer(void *buffer, unsigned size)
   42.56 ++{
   42.57 ++	int max =  fill.max - (char *) initrd_start - fill.offset;
   42.58 ++	if (max > size) max = size;
   42.59 ++	if (max > INITRD_PAGE) max = INITRD_PAGE;
   42.60 ++	memcpy(buffer, (void *)(initrd_start + fill.offset), max);
   42.61 ++	release_inbuf(fill.offset);
   42.62 ++	fill.offset += max;
   42.63 ++	fill.inptr += fill.last;
   42.64 ++	fill.last = max;
   42.65 ++	return max;
   42.66 ++}
   42.67 ++
   42.68 + static int __init write_buffer(char *buf, unsigned len)
   42.69 + {
   42.70 + 	count = len;
   42.71 +@@ -418,6 +463,7 @@
   42.72 + 	decompress_fn decompress;
   42.73 + 	const char *compress_name;
   42.74 + 	static __initdata char msg_buf[64];
   42.75 ++	int early_free_initrd = (buf == (char *) initrd_start);
   42.76 + 
   42.77 + 	header_buf = kmalloc(110, GFP_KERNEL);
   42.78 + 	symlink_buf = kmalloc(PATH_MAX + N_ALIGN(PATH_MAX) + 1, GFP_KERNEL);
   42.79 +@@ -431,11 +478,16 @@
   42.80 + 	message = NULL;
   42.81 + 	while (!message && len) {
   42.82 + 		loff_t saved_offset = this_header;
   42.83 ++		fill.offset = buf - (char *) initrd_start;
   42.84 ++		fill.max = buf + len;
   42.85 ++		fill.inptr = fill.last = fill.freed = 0;
   42.86 + 		if (*buf == '0' && !(this_header & 3)) {
   42.87 + 			state = Start;
   42.88 + 			written = write_buffer(buf, len);
   42.89 + 			buf += written;
   42.90 + 			len -= written;
   42.91 ++			if (early_free_initrd)
   42.92 ++				release_inbuf(buf - (char *) initrd_start);
   42.93 + 			continue;
   42.94 + 		}
   42.95 + 		if (!*buf) {
   42.96 +@@ -447,7 +497,12 @@
   42.97 + 		this_header = 0;
   42.98 + 		decompress = decompress_method(buf, len, &compress_name);
   42.99 + 		if (decompress) {
  42.100 +-			res = decompress(buf, len, NULL, flush_buffer, NULL,
  42.101 ++			if (early_free_initrd) {
  42.102 ++				res = decompress(NULL, 0, fill_buffer,
  42.103 ++					   flush_buffer, NULL, &my_inptr, error);
  42.104 ++				my_inptr += fill.inptr;
  42.105 ++			}
  42.106 ++			else res = decompress(buf, len, NULL, flush_buffer, NULL,
  42.107 + 				   &my_inptr, error);
  42.108 + 			if (res)
  42.109 + 				error("decompressor failed");
  42.110 +@@ -488,7 +546,8 @@
  42.111 + #include <linux/initrd.h>
  42.112 + #include <linux/kexec.h>
  42.113 + 
  42.114 +-static void __init free_initrd(void)
  42.115 ++static void _free_initrd(unsigned long initrd_start, unsigned long initrd_end, 
  42.116 ++			 void (*free_initrd_mem)(unsigned long, unsigned long))
  42.117 + {
  42.118 + #ifdef CONFIG_KEXEC
  42.119 + 	unsigned long crashk_start = (unsigned long)__va(crashk_res.start);
  42.120 +@@ -516,6 +574,12 @@
  42.121 + #endif
  42.122 + 		free_initrd_mem(initrd_start, initrd_end);
  42.123 + skip:
  42.124 ++	;
  42.125 ++}
  42.126 ++
  42.127 ++static void __init free_initrd(void)
  42.128 ++{
  42.129 ++	_free_initrd(initrd_start, initrd_end, free_initrd_mem);
  42.130 + 	initrd_start = 0;
  42.131 + 	initrd_end = 0;
  42.132 + }
    43.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    43.2 +++ b/linux/stuff/linux-header.u	Mon Apr 09 13:36:35 2012 +0200
    43.3 @@ -0,0 +1,469 @@
    43.4 +--- linux-2.6.30.6/arch/x86/boot/header.S
    43.5 ++++ linux-2.6.30.6/arch/x86/boot/header.S
    43.6 +@@ -6,7 +6,7 @@
    43.7 +  *	Based on bootsect.S and setup.S
    43.8 +  *	modified by more people than can be counted
    43.9 +  *
   43.10 +- *	Rewritten as a common file by H. Peter Anvin (Apr 2007)
   43.11 ++ *	Rewritten Pascal Bellard (Nov 2009)
   43.12 +  *
   43.13 +  * BIG FAT NOTE: We're in real mode using 64k segments.  Therefore segment
   43.14 +  * addresses must be multiplied by 16 to obtain their respective linear
   43.15 +@@ -27,6 +27,8 @@
   43.16 + 
   43.17 + BOOTSEG		= 0x07C0		/* original address of boot-sector */
   43.18 + SYSSEG		= 0x1000		/* historical load address >> 4 */
   43.19 ++INITSEG		= 0x9000		/* boot address >> 4 */
   43.20 ++SETUPSEG	= 0x9020		/* setup address >> 4 */
   43.21 + 
   43.22 + #ifndef SVGA_MODE
   43.23 + #define SVGA_MODE ASK_VGA
   43.24 +@@ -40,53 +42,412 @@
   43.25 + #define ROOT_RDONLY 1
   43.26 + #endif
   43.27 + 
   43.28 ++/* some extra features */
   43.29 ++#define	EDIT_CMDLINE		on hotkey
   43.30 ++#define SHOW_REGS		show int13 status & parameters
   43.31 ++
   43.32 + 	.code16
   43.33 + 	.section ".bstext", "ax"
   43.34 + 
   43.35 + 	.global bootsect_start
   43.36 + bootsect_start:
   43.37 ++	cld				# assume nothing
   43.38 ++stacktop	= 0x9E00		# in 0x8000 .. 0xA000
   43.39 ++zeroed		= 48+10			# gdt + zeroed registers
   43.40 ++	movw	$stacktop-12-zeroed, %di	# stacktop is an arbitrary value >=
   43.41 ++					# length of bootsect + length of
   43.42 ++					# setup + room for stack;
   43.43 ++					# 12 is disk parm size.
   43.44 ++	pushw	$INITSEG
   43.45 ++	popw	%es			# %es = INITSEG
   43.46 ++
   43.47 ++	pushw	%es
   43.48 ++	popw	%ss			# %ss and %es already contain INITSEG
   43.49 ++	movw	%di, %sp		# put stack at INITSEG:stacktop-...
   43.50 ++
   43.51 ++# Many BIOS's default disk parameter tables will not recognize
   43.52 ++# multi-sector reads beyond the maximum sector number specified
   43.53 ++# in the default diskette parameter tables - this may mean 7
   43.54 ++# sectors in some cases.
   43.55 ++#
   43.56 ++# Since single sector reads are slow and out of the question,
   43.57 ++# we must take care of this by creating new parameter tables
   43.58 ++# (for the first disk) in RAM.  We can set the maximum sector
   43.59 ++# count to 36 - the most we will encounter on an ED 2.88.  
   43.60 ++#
   43.61 ++# High doesn't hurt.  Low does.  Let's use the max: 63
   43.62 ++#
   43.63 ++# Segments are as follows: %es = %ss = INITSEG,
   43.64 ++
   43.65 ++	xorw	%ax, %ax		# %ax = 0
   43.66 ++	movw	$zeroed/2, %cx		# clear gdt + offset, %ds, limits
   43.67 ++	rep				# don't worry about cld
   43.68 ++	stosw				# already done above
   43.69 ++	popw	%bx			# offset = 0
   43.70 ++	popw	%ds			# %ds = 0
   43.71 ++	popw	%gs			# %gs = 0
   43.72 ++
   43.73 ++	movb	setup_sects+0x7C00, %al	# read bootsector + setup (%ds = 0)
   43.74 ++	incw	%ax
   43.75 ++
   43.76 ++	pushw	%es
   43.77 ++	pushw	%di			# %ds:%bx+0x78 is parameter table address
   43.78 ++	ldsw	0x78(%bx), %si		# %ds:%si is source
   43.79 ++	movb	$6, %cl			# copy 12 bytes
   43.80 ++	rep				# don't worry about cld
   43.81 ++	movsw				# already done above
   43.82 ++	popl	%gs:0x78(%bx)		# update parameter table address
   43.83 ++	pushw	%es
   43.84 ++	popw	%ds			# now %ds = %es = %ss = INITSEG
   43.85 ++	movb	$63, 0x4-12(%di)	# patch sector count, %di = stacktop
   43.86 ++	cli
   43.87 ++
   43.88 ++	xchg	%ax, %di		# sector count
   43.89 ++	popw	%ax			# limits = 0
   43.90 ++	incw	%cx			# cylinder 0, sector 1
   43.91 ++	call	read_first_sectors	# read setup
   43.92 ++
   43.93 ++offset_version	= 0xE
   43.94 ++	movw	$0x200,%si
   43.95 ++	addw	offset_version(%si),%si	# starting protocol 2.00, Kernel 1.3.73
   43.96 ++	call	putstr			# show which kernel we are loading
   43.97 ++
   43.98 ++# The cmdline can be entered and modifed at boot time.
   43.99 ++# Only characters before the cursor are passed to the kernel.
  43.100 ++	popw	%bx			# clear %bx
  43.101 ++	orw	cmd_line_ptr, %bx
  43.102 ++	jz	nocmdline
  43.103 ++	pushw	%bx
  43.104 ++	incw	%di
  43.105 ++	call	read_sectors
  43.106 ++	popw	%si
  43.107 ++	call	putstr
  43.108 ++#ifdef	EDIT_CMDLINE
  43.109 ++cmdlp:
  43.110 ++	movb	$0x20, %al		# clear end of line
  43.111 ++	int	$0x10			#  with Space
  43.112 ++	movb	$8, %al			#   and BackSpace
  43.113 ++	int	$0x10
  43.114 ++	decw	%si
  43.115 ++cmdget:
  43.116 ++	call	wait4key
  43.117 ++	cmpb	$8, %al			# BackSpace ?
  43.118 ++	je	cmdbs
  43.119 ++	movb	%al, (%si)		# store char
  43.120 ++	lodsw				# %si += 2
  43.121 ++cmdbs:
  43.122 ++#if 1
  43.123 ++	cmpw	%si,cmd_line_ptr
  43.124 ++	je	cmdget
  43.125 ++#endif
  43.126 ++	call	putc			# set %ah and %bx
  43.127 ++	cmpb	$10, %al		# Enter ?
  43.128 ++	jne	cmdlp
  43.129 ++	movb	%bh,-2(%si)		# set end of string and remove CR
  43.130 ++endcmdline:
  43.131 ++#endif
  43.132 ++nocmdline:
  43.133 + 
  43.134 +-	# Normalize the start address
  43.135 +-	ljmp	$BOOTSEG, $start2
  43.136 +-
  43.137 +-start2:
  43.138 +-	movw	%cs, %ax
  43.139 +-	movw	%ax, %ds
  43.140 +-	movw	%ax, %es
  43.141 +-	movw	%ax, %ss
  43.142 +-	xorw	%sp, %sp
  43.143 +-	sti
  43.144 +-	cld
  43.145 +-
  43.146 +-	movw	$bugger_off_msg, %si
  43.147 ++# This routine loads the system at address SYSSEG, making sure
  43.148 ++# no 64kB boundaries are crossed. We try to load it as fast as
  43.149 ++# possible, loading whole tracks whenever we can.
  43.150 ++
  43.151 ++ramdisk_image	=	0x0218
  43.152 ++ramdisk_size	=	0x021C
  43.153 ++	movw	%sp, %si		# for bootsect_gdt
  43.154 ++	decw	16(%si)			# bootsect_src = 64Kb
  43.155 ++	decw	24(%si)			# bootsect_dst = 64Kb
  43.156 ++	movw	$syssize, %di
  43.157 ++type_of_loader	=	0x210
  43.158 ++loadflags	=	0x211
  43.159 ++heap_end_ptr	=	0x224
  43.160 ++ksyssize	= 	500
  43.161 ++	orw	$0x80FF, type_of_loader-ksyssize(%di) # loader type = 0xFF
  43.162 ++	movw	$stacktop-0x200, heap_end_ptr-ksyssize(%di)
  43.163 ++	movb	$0x10, %al		# destination = 0x100000
  43.164 ++	movb	$5, %cl
  43.165 ++initrdlp:
  43.166 ++	decw	%ax
  43.167 ++	movb	$0x93,%ah
  43.168 ++	movw	%ax, 28(%si)		# bootsect_dst_base+2
  43.169 ++	movb	$(SYSSEG/4096), %al	# source = SYSSEG
  43.170 ++	movw	%ax, 20(%si)		# bootsect_src_base+2
  43.171 ++	cbw
  43.172 ++	cwde
  43.173 ++	shlw	%cl, %ax
  43.174 ++	decw	%ax
  43.175 ++	addl	(%di),%eax
  43.176 ++	shrl	%cl, %eax
  43.177 ++syslp:
  43.178 ++	pushw	$SYSSEG
  43.179 ++	popw	%es
  43.180 ++	movw	$128,%di		# 64Kb
  43.181 ++	subw	%di, %ax		# max 32M > int 15 limit
  43.182 ++	pushf
  43.183 ++	jnc	not_last
  43.184 ++	addw	%ax, %di
  43.185 ++not_last:
  43.186 ++	xorw	%bx, %bx		# clear %bx
  43.187 ++	pushw	%ax
  43.188 ++#if defined(SHOW_REGS)
  43.189 ++	pushw	%si
  43.190 ++	call	read_sectors
  43.191 ++	popw	%si
  43.192 ++#else
  43.193 ++	call	read_sectors
  43.194 ++#endif
  43.195 ++	movw	$0x8000, %cx		# full 64K
  43.196 ++	movb	$0x87, %ah
  43.197 ++	incb	28(%si)			# bootsect_dst_base+2
  43.198 ++	int	$0x15			# max 16M
  43.199 ++	popw	%ax
  43.200 ++	popf
  43.201 ++	ja	syslp
  43.202 ++	movw	ramdisk_image+2,%ax
  43.203 ++	movw	$ramdisk_size,%di
  43.204 ++	movb	$9, %cl
  43.205 ++	cmpb	%al,28(%si)
  43.206 ++	jb	initrdlp
  43.207 ++
  43.208 ++# This procedure turns off the floppy drive motor, so
  43.209 ++# that we enter the kernel in a known state, and
  43.210 ++# don't have to worry about it later.
  43.211 ++
  43.212 ++#if 1
  43.213 ++kill_motor:
  43.214 ++	xchgw	%ax, %bx		# reset FDC
  43.215 ++	int	$0x13
  43.216 ++#else
  43.217 ++kill_motor:
  43.218 ++	movw	$0x3f2, %dx
  43.219 ++	xchgw	%ax, %bx
  43.220 ++	outb	%al, %dx
  43.221 ++#endif
  43.222 + 
  43.223 +-msg_loop:
  43.224 +-	lodsb
  43.225 +-	andb	%al, %al
  43.226 +-	jz	bs_die
  43.227 +-	movb	$0xe, %ah
  43.228 +-	movw	$7, %bx
  43.229 ++# After that (everything loaded), we jump to the setup-routine
  43.230 ++# loaded directly after the bootblock:
  43.231 ++# Segments are as follows: %ds = %ss = INITSEG
  43.232 ++
  43.233 ++	ljmp	$SETUPSEG, $0
  43.234 ++
  43.235 ++# read_sectors reads %di sectors into %es:0 buffer.
  43.236 ++# %es:0 is updated to the next memory location.
  43.237 ++# First, sectors are read sector by sector until
  43.238 ++# sector per track count is known. Then they are
  43.239 ++# read track by track.
  43.240 ++# Assume no error on first track.
  43.241 ++
  43.242 ++#define FLOPPY_CYLINDERS	80	/* 80 cylinders minimum */
  43.243 ++#define FLOPPY_HEADS		2	/* 2 heads minimum */
  43.244 ++#define FLOPPY_SECTORS		18	/* 18 sectors minimum */
  43.245 ++
  43.246 ++#ifdef SHOW_REGS
  43.247 ++print_loop:
  43.248 ++	movb	$0x6 + 'A' - 1, %al
  43.249 ++	subb	%cl, %al
  43.250 ++	movw	$regs, %si		# caller %si is saved
  43.251 ++	call	putcs			# putc(%al) + putstr(%si)
  43.252 ++# it will print out all of the registers.
  43.253 ++	popw	%bp			# load word into %si
  43.254 ++	jmp	print_all		# print %bp (status)
  43.255 ++#endif
  43.256 ++check_limits:
  43.257 ++#ifndef SHOW_REGS
  43.258 ++	popw	%dx
  43.259 ++#endif
  43.260 ++	cmpb	$FLOPPY_SECTORS+1, %cl	# 18 sectors minimum
  43.261 ++	jb	check_head
  43.262 ++        cmpb    %al, %cl		# max sector known ?
  43.263 ++        ja	next_head		#   no -> store it
  43.264 ++check_head:
  43.265 ++	cmpb	$FLOPPY_HEADS, %dh	# 2 heads minimum
  43.266 ++	jb	check_cylinder
  43.267 ++        cmpb    %ah, %dh		# max head known ?
  43.268 ++        ja	next_cylinder		#   no -> store it
  43.269 ++check_cylinder:
  43.270 ++	pushaw
  43.271 ++#ifdef SHOW_REGS
  43.272 ++	cmpw	$0x600,%bp		# disk changed ?
  43.273 ++	je	reset_floppy
  43.274 ++	pushw	%es			# print %es (named EX)
  43.275 ++	pushw	%dx			# print %dx
  43.276 ++	pushw	%cx			# print %cx
  43.277 ++	pushw	%bx			# print %bx
  43.278 ++	xchgw	%ax, %si
  43.279 ++	movb	$2,%ah
  43.280 ++	pushw	%ax			# print %ax
  43.281 ++	movb	$6,%cl
  43.282 ++print_all:
  43.283 ++	movb	$4, %ch			# 4 hex digits
  43.284 ++print_digit:
  43.285 ++	rolw	$4, %bp			# rotate to use low 4 bits
  43.286 ++	movb	$0x0f, %al
  43.287 ++	andw	%bp, %ax		# %al = mask for nybble
  43.288 ++	addb	$0x90, %al		# convert %al to ascii hex
  43.289 ++	daa				# in only four instructions!
  43.290 ++	adcb	$0x40, %al
  43.291 ++	daa
  43.292 ++	call	putc			# set %ah and %bx
  43.293 ++	decb	%ch
  43.294 ++	jnz	print_digit
  43.295 ++	movb	$0x20, %al		# SPACE
  43.296 + 	int	$0x10
  43.297 +-	jmp	msg_loop
  43.298 +-
  43.299 +-bs_die:
  43.300 +-	# Allow the user to press a key, then reboot
  43.301 +-	xorw	%ax, %ax
  43.302 ++	loop	print_loop
  43.303 ++	call	wait
  43.304 ++	cbw				# %ah = 0
  43.305 ++reset_floppy:
  43.306 ++#else
  43.307 ++	cbw				# %ah = 0
  43.308 ++#endif
  43.309 ++        int     $0x13			# reset controler
  43.310 ++	popaw
  43.311 ++read_sectorslp:
  43.312 ++	pushw	%dx			# some bios break dx...
  43.313 ++        pushw   %ax			# limits
  43.314 ++	subb	%cl, %al		# sectors remaining in track
  43.315 ++	ja	tolastsect
  43.316 ++	movb	$1, %al			# 1 sector mini
  43.317 ++tolastsect:
  43.318 ++	cbw
  43.319 ++	cmpw	%di, %ax
  43.320 ++	jb	more1trk
  43.321 ++	movw	%di, %ax		# sectors to read
  43.322 ++more1trk:
  43.323 ++	pushw	%ax			# save context
  43.324 ++	movb	$2, %ah			# cmd: read chs
  43.325 ++        int     $0x13
  43.326 ++#ifdef SHOW_REGS
  43.327 ++	xchgw	%ax, %bp		# status
  43.328 ++#endif
  43.329 ++# ifdef SHOW_REGS
  43.330 ++	popw	%si			# save %ax
  43.331 ++        popw    %ax			# limits
  43.332 ++	popw	%dx
  43.333 ++# else
  43.334 ++	popw	%dx			# save %ax
  43.335 ++        popw    %ax			# limits
  43.336 ++# endif
  43.337 ++	jc	check_limits
  43.338 ++	xchgw	%ax, %bp
  43.339 ++# ifdef SHOW_REGS
  43.340 ++update_regs:
  43.341 ++	incw	%cx			# next sector
  43.342 ++	movw	%cx, %fs
  43.343 ++	addb	$2,%bh			# next location
  43.344 ++	decw	%di			# update sector counter
  43.345 ++	jz	putcdot
  43.346 ++	decw	%si
  43.347 ++	jnz	update_regs
  43.348 ++# else
  43.349 ++	addw	%dx,%cx			# next sector
  43.350 ++	addb	%dl,%bh
  43.351 ++	addb	%dl,%bh			# next location
  43.352 ++	subw	%dx,%di			# update sector counter
  43.353 ++	popw	%dx
  43.354 ++	jz	putcdot
  43.355 ++# endif
  43.356 ++read_sectors:
  43.357 ++	movw	%fs, %cx
  43.358 ++	xchgw	%ax, %bp
  43.359 ++        cmpb    %al,%cl			# reach sector limit ?
  43.360 ++        jne     bdendlp
  43.361 ++next_head:
  43.362 ++        movb    %cl,%al
  43.363 ++        incb    %dh			# next head
  43.364 ++        movb    $1,%cl			# first sector
  43.365 ++        cmpb    %ah, %dh		# reach head limit ?
  43.366 ++        jne     bdendlp
  43.367 ++next_cylinder:
  43.368 ++        movb    %dh,%ah
  43.369 ++# NOTE : support 256 cylinders max
  43.370 ++        incb    %ch			# next cylinder
  43.371 ++read_first_sectors:
  43.372 ++        movb    $0,%dh			# first head
  43.373 ++cylinder_count	= 496
  43.374 ++        cmpb    $FLOPPY_CYLINDERS,%ch	# reach cylinder limit ?
  43.375 ++        jb	bdendlp
  43.376 ++	cmpb	cylinder_count, %ch
  43.377 ++        jb	bdendlp
  43.378 ++next_floppy:
  43.379 ++	movb	$0,%ch			# first cylinder
  43.380 ++	pushaw
  43.381 ++	movw	$swap_floppy,%si
  43.382 ++	incb	12(%si)
  43.383 ++	pushw	%bx
  43.384 ++	call	putstr
  43.385 ++	popw	%bx
  43.386 ++waitfloppy:
  43.387 ++	call	wait
  43.388 ++	jne	waitfloppydone
  43.389 ++	pushw	%dx			# some bios break dx...
  43.390 ++	cbw
  43.391 ++	int	$0x13			# reset FDC
  43.392 ++	movw	$0x201,%ax
  43.393 ++#	cwd
  43.394 ++#	movw	$1,%cx
  43.395 ++	int	$0x13			# read first sector
  43.396 ++	popw	%dx
  43.397 ++	rclb	$1,%ah			# floppy changed 06=>0D no error 00
  43.398 ++	cmpb	-2(%si), %ah		# 0D then 00
  43.399 ++	jne	waitfloppy		# no => try again
  43.400 ++	incw	%si
  43.401 ++	orb	%ah,%ah			# was 00 ?
  43.402 ++	jne	waitfloppy
  43.403 ++waitfloppydone:
  43.404 ++	popaw
  43.405 ++bdendlp:
  43.406 ++        jmp	read_sectorslp
  43.407 ++
  43.408 ++putcdot:
  43.409 ++	pushw	%ss
  43.410 ++	popw	%es			# restore es
  43.411 ++	movb	$0x2e+3, %al 		# loading... message 2e = .
  43.412 ++putclf:
  43.413 ++	subb	$3, %al
  43.414 ++putc:
  43.415 ++	movb	$0xe, %ah
  43.416 ++	movw	$7, %bx			#   one dot each 64k
  43.417 ++ 	int	$0x10
  43.418 ++	cmp	$0xd, %al		# CR ?
  43.419 ++	je	putclf
  43.420 ++	ret
  43.421 ++
  43.422 ++putstr:
  43.423 ++	movb	$0xd, %al		# CR
  43.424 ++putcs:
  43.425 ++	call	putc
  43.426 ++	lodsb
  43.427 ++	orb	%al,%al			# end of string is \0
  43.428 ++	jnz	putcs
  43.429 ++	ret
  43.430 ++
  43.431 ++clock	= 0x46C
  43.432 ++wait:
  43.433 ++wait4key:
  43.434 ++	movw	$clock, %di
  43.435 ++#define DELAY 5
  43.436 ++	movb	$(DELAY*182)/10,%cl
  43.437 ++	addb	%gs:(%di),%cl
  43.438 ++waitkbd:
  43.439 ++	movw	$0x10D, %ax		# test keyboard, timeout => CR
  43.440 ++	cmpb	%gs:(%di),%cl
  43.441 ++	je	waitdone
  43.442 + 	int	$0x16
  43.443 +-	int	$0x19
  43.444 ++	jz	waitkbd
  43.445 ++	cbw
  43.446 ++	int	$0x16			# eat char
  43.447 ++	movw	%di, %gs		# disable timeout
  43.448 ++	incw	%di			# clear Z
  43.449 ++waitdone:
  43.450 ++	ret
  43.451 + 
  43.452 +-	# int 0x19 should never return.  In case it does anyway,
  43.453 +-	# invoke the BIOS reset code...
  43.454 +-	ljmp	$0xf000,$0xfff0
  43.455 +-
  43.456 +-	.section ".bsdata", "a"
  43.457 +-bugger_off_msg:
  43.458 +-	.ascii	"Direct booting from floppy is no longer supported.\r\n"
  43.459 +-	.ascii	"Please use a boot loader program instead.\r\n"
  43.460 +-	.ascii	"\n"
  43.461 +-	.ascii	"Remove disk and press any key to reboot . . .\r\n"
  43.462 +-	.byte	0
  43.463 ++#ifdef SHOW_REGS
  43.464 ++regs:		.asciz	"X:"
  43.465 ++#endif
  43.466 + 
  43.467 ++swap_floppy:	.ascii	"Insert disk 1"
  43.468 ++		.ascii	"."
  43.469 ++		.byte	7,13,0
  43.470 + 
  43.471 + 	# Kernel attributes; used by setup.  This is part 1 of the
  43.472 + 	# header, from the old boot sector.
    44.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    44.2 +++ b/linux/stuff/linux-slitaz.config	Mon Apr 09 13:36:35 2012 +0200
    44.3 @@ -0,0 +1,4901 @@
    44.4 +#
    44.5 +# Automatically generated file; DO NOT EDIT.
    44.6 +# Linux/i386 3.2 Kernel Configuration
    44.7 +#
    44.8 +# CONFIG_64BIT is not set
    44.9 +CONFIG_X86_32=y
   44.10 +# CONFIG_X86_64 is not set
   44.11 +CONFIG_X86=y
   44.12 +CONFIG_INSTRUCTION_DECODER=y
   44.13 +CONFIG_OUTPUT_FORMAT="elf32-i386"
   44.14 +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
   44.15 +CONFIG_GENERIC_CMOS_UPDATE=y
   44.16 +CONFIG_CLOCKSOURCE_WATCHDOG=y
   44.17 +CONFIG_GENERIC_CLOCKEVENTS=y
   44.18 +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
   44.19 +CONFIG_LOCKDEP_SUPPORT=y
   44.20 +CONFIG_STACKTRACE_SUPPORT=y
   44.21 +CONFIG_HAVE_LATENCYTOP_SUPPORT=y
   44.22 +CONFIG_MMU=y
   44.23 +CONFIG_ZONE_DMA=y
   44.24 +# CONFIG_NEED_DMA_MAP_STATE is not set
   44.25 +CONFIG_NEED_SG_DMA_LENGTH=y
   44.26 +CONFIG_GENERIC_ISA_DMA=y
   44.27 +CONFIG_GENERIC_IOMAP=y
   44.28 +CONFIG_GENERIC_BUG=y
   44.29 +CONFIG_GENERIC_HWEIGHT=y
   44.30 +CONFIG_GENERIC_GPIO=y
   44.31 +CONFIG_ARCH_MAY_HAVE_PC_FDC=y
   44.32 +CONFIG_RWSEM_GENERIC_SPINLOCK=y
   44.33 +# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
   44.34 +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
   44.35 +CONFIG_GENERIC_CALIBRATE_DELAY=y
   44.36 +# CONFIG_GENERIC_TIME_VSYSCALL is not set
   44.37 +CONFIG_ARCH_HAS_CPU_RELAX=y
   44.38 +CONFIG_ARCH_HAS_DEFAULT_IDLE=y
   44.39 +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
   44.40 +CONFIG_HAVE_SETUP_PER_CPU_AREA=y
   44.41 +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
   44.42 +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
   44.43 +CONFIG_ARCH_HIBERNATION_POSSIBLE=y
   44.44 +CONFIG_ARCH_SUSPEND_POSSIBLE=y
   44.45 +# CONFIG_ZONE_DMA32 is not set
   44.46 +CONFIG_ARCH_POPULATES_NODE_MAP=y
   44.47 +# CONFIG_AUDIT_ARCH is not set
   44.48 +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
   44.49 +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
   44.50 +CONFIG_X86_32_SMP=y
   44.51 +CONFIG_X86_HT=y
   44.52 +CONFIG_X86_32_LAZY_GS=y
   44.53 +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
   44.54 +CONFIG_KTIME_SCALAR=y
   44.55 +CONFIG_ARCH_CPU_PROBE_RELEASE=y
   44.56 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
   44.57 +CONFIG_HAVE_IRQ_WORK=y
   44.58 +CONFIG_IRQ_WORK=y
   44.59 +
   44.60 +#
   44.61 +# General setup
   44.62 +#
   44.63 +CONFIG_EXPERIMENTAL=y
   44.64 +CONFIG_INIT_ENV_ARG_LIMIT=32
   44.65 +CONFIG_CROSS_COMPILE=""
   44.66 +CONFIG_LOCALVERSION="-slitaz"
   44.67 +# CONFIG_LOCALVERSION_AUTO is not set
   44.68 +CONFIG_HAVE_KERNEL_GZIP=y
   44.69 +CONFIG_HAVE_KERNEL_BZIP2=y
   44.70 +CONFIG_HAVE_KERNEL_LZMA=y
   44.71 +CONFIG_HAVE_KERNEL_XZ=y
   44.72 +CONFIG_HAVE_KERNEL_LZO=y
   44.73 +# CONFIG_KERNEL_GZIP is not set
   44.74 +# CONFIG_KERNEL_BZIP2 is not set
   44.75 +CONFIG_KERNEL_LZMA=y
   44.76 +# CONFIG_KERNEL_XZ is not set
   44.77 +# CONFIG_KERNEL_LZO is not set
   44.78 +CONFIG_DEFAULT_HOSTNAME="(none)"
   44.79 +CONFIG_SWAP=y
   44.80 +CONFIG_SYSVIPC=y
   44.81 +CONFIG_SYSVIPC_SYSCTL=y
   44.82 +CONFIG_POSIX_MQUEUE=y
   44.83 +CONFIG_POSIX_MQUEUE_SYSCTL=y
   44.84 +CONFIG_BSD_PROCESS_ACCT=y
   44.85 +# CONFIG_BSD_PROCESS_ACCT_V3 is not set
   44.86 +# CONFIG_FHANDLE is not set
   44.87 +CONFIG_TASKSTATS=y
   44.88 +CONFIG_TASK_DELAY_ACCT=y
   44.89 +# CONFIG_TASK_XACCT is not set
   44.90 +# CONFIG_AUDIT is not set
   44.91 +CONFIG_HAVE_GENERIC_HARDIRQS=y
   44.92 +
   44.93 +#
   44.94 +# IRQ subsystem
   44.95 +#
   44.96 +CONFIG_GENERIC_HARDIRQS=y
   44.97 +CONFIG_HAVE_SPARSE_IRQ=y
   44.98 +CONFIG_GENERIC_IRQ_PROBE=y
   44.99 +CONFIG_GENERIC_IRQ_SHOW=y
  44.100 +CONFIG_GENERIC_PENDING_IRQ=y
  44.101 +CONFIG_IRQ_FORCED_THREADING=y
  44.102 +CONFIG_SPARSE_IRQ=y
  44.103 +
  44.104 +#
  44.105 +# RCU Subsystem
  44.106 +#
  44.107 +CONFIG_TREE_RCU=y
  44.108 +# CONFIG_PREEMPT_RCU is not set
  44.109 +# CONFIG_RCU_TRACE is not set
  44.110 +CONFIG_RCU_FANOUT=32
  44.111 +# CONFIG_RCU_FANOUT_EXACT is not set
  44.112 +# CONFIG_RCU_FAST_NO_HZ is not set
  44.113 +# CONFIG_TREE_RCU_TRACE is not set
  44.114 +CONFIG_IKCONFIG=y
  44.115 +CONFIG_IKCONFIG_PROC=y
  44.116 +CONFIG_LOG_BUF_SHIFT=14
  44.117 +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
  44.118 +CONFIG_CGROUPS=y
  44.119 +# CONFIG_CGROUP_DEBUG is not set
  44.120 +# CONFIG_CGROUP_FREEZER is not set
  44.121 +# CONFIG_CGROUP_DEVICE is not set
  44.122 +# CONFIG_CPUSETS is not set
  44.123 +# CONFIG_CGROUP_CPUACCT is not set
  44.124 +# CONFIG_RESOURCE_COUNTERS is not set
  44.125 +# CONFIG_CGROUP_PERF is not set
  44.126 +CONFIG_CGROUP_SCHED=y
  44.127 +CONFIG_FAIR_GROUP_SCHED=y
  44.128 +CONFIG_CFS_BANDWIDTH=y
  44.129 +# CONFIG_RT_GROUP_SCHED is not set
  44.130 +# CONFIG_BLK_CGROUP is not set
  44.131 +CONFIG_NAMESPACES=y
  44.132 +# CONFIG_UTS_NS is not set
  44.133 +# CONFIG_IPC_NS is not set
  44.134 +# CONFIG_USER_NS is not set
  44.135 +# CONFIG_PID_NS is not set
  44.136 +# CONFIG_NET_NS is not set
  44.137 +CONFIG_SCHED_AUTOGROUP=y
  44.138 +# CONFIG_SYSFS_DEPRECATED is not set
  44.139 +# CONFIG_RELAY is not set
  44.140 +CONFIG_BLK_DEV_INITRD=y
  44.141 +CONFIG_INITRAMFS_SOURCE=""
  44.142 +CONFIG_RD_GZIP=y
  44.143 +CONFIG_RD_BZIP2=y
  44.144 +CONFIG_RD_LZMA=y
  44.145 +CONFIG_RD_XZ=y
  44.146 +CONFIG_RD_LZO=y
  44.147 +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
  44.148 +CONFIG_SYSCTL=y
  44.149 +CONFIG_ANON_INODES=y
  44.150 +# CONFIG_EXPERT is not set
  44.151 +CONFIG_UID16=y
  44.152 +# CONFIG_SYSCTL_SYSCALL is not set
  44.153 +CONFIG_KALLSYMS=y
  44.154 +CONFIG_HOTPLUG=y
  44.155 +CONFIG_PRINTK=y
  44.156 +CONFIG_BUG=y
  44.157 +CONFIG_ELF_CORE=y
  44.158 +CONFIG_PCSPKR_PLATFORM=y
  44.159 +CONFIG_HAVE_PCSPKR_PLATFORM=y
  44.160 +CONFIG_BASE_FULL=y
  44.161 +CONFIG_FUTEX=y
  44.162 +CONFIG_EPOLL=y
  44.163 +CONFIG_SIGNALFD=y
  44.164 +CONFIG_TIMERFD=y
  44.165 +CONFIG_EVENTFD=y
  44.166 +CONFIG_SHMEM=y
  44.167 +CONFIG_AIO=y
  44.168 +# CONFIG_EMBEDDED is not set
  44.169 +CONFIG_HAVE_PERF_EVENTS=y
  44.170 +
  44.171 +#
  44.172 +# Kernel Performance Events And Counters
  44.173 +#
  44.174 +CONFIG_PERF_EVENTS=y
  44.175 +# CONFIG_PERF_COUNTERS is not set
  44.176 +CONFIG_VM_EVENT_COUNTERS=y
  44.177 +CONFIG_PCI_QUIRKS=y
  44.178 +CONFIG_COMPAT_BRK=y
  44.179 +CONFIG_SLAB=y
  44.180 +# CONFIG_SLUB is not set
  44.181 +# CONFIG_PROFILING is not set
  44.182 +CONFIG_HAVE_OPROFILE=y
  44.183 +# CONFIG_KPROBES is not set
  44.184 +# CONFIG_JUMP_LABEL is not set
  44.185 +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
  44.186 +CONFIG_USER_RETURN_NOTIFIER=y
  44.187 +CONFIG_HAVE_IOREMAP_PROT=y
  44.188 +CONFIG_HAVE_KPROBES=y
  44.189 +CONFIG_HAVE_KRETPROBES=y
  44.190 +CONFIG_HAVE_OPTPROBES=y
  44.191 +CONFIG_HAVE_ARCH_TRACEHOOK=y
  44.192 +CONFIG_HAVE_DMA_ATTRS=y
  44.193 +CONFIG_USE_GENERIC_SMP_HELPERS=y
  44.194 +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
  44.195 +CONFIG_HAVE_DMA_API_DEBUG=y
  44.196 +CONFIG_HAVE_HW_BREAKPOINT=y
  44.197 +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
  44.198 +CONFIG_HAVE_USER_RETURN_NOTIFIER=y
  44.199 +CONFIG_HAVE_PERF_EVENTS_NMI=y
  44.200 +CONFIG_HAVE_ARCH_JUMP_LABEL=y
  44.201 +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
  44.202 +
  44.203 +#
  44.204 +# GCOV-based kernel profiling
  44.205 +#
  44.206 +CONFIG_HAVE_GENERIC_DMA_COHERENT=y
  44.207 +CONFIG_SLABINFO=y
  44.208 +CONFIG_RT_MUTEXES=y
  44.209 +CONFIG_BASE_SMALL=0
  44.210 +CONFIG_MODULES=y
  44.211 +# CONFIG_MODULE_FORCE_LOAD is not set
  44.212 +CONFIG_MODULE_UNLOAD=y
  44.213 +# CONFIG_MODULE_FORCE_UNLOAD is not set
  44.214 +# CONFIG_MODVERSIONS is not set
  44.215 +# CONFIG_MODULE_SRCVERSION_ALL is not set
  44.216 +CONFIG_STOP_MACHINE=y
  44.217 +CONFIG_BLOCK=y
  44.218 +CONFIG_LBDAF=y
  44.219 +CONFIG_BLK_DEV_BSG=y
  44.220 +CONFIG_BLK_DEV_BSGLIB=y
  44.221 +# CONFIG_BLK_DEV_INTEGRITY is not set
  44.222 +
  44.223 +#
  44.224 +# IO Schedulers
  44.225 +#
  44.226 +CONFIG_IOSCHED_NOOP=y
  44.227 +CONFIG_IOSCHED_DEADLINE=y
  44.228 +# CONFIG_IOSCHED_CFQ is not set
  44.229 +CONFIG_DEFAULT_DEADLINE=y
  44.230 +# CONFIG_DEFAULT_NOOP is not set
  44.231 +CONFIG_DEFAULT_IOSCHED="deadline"
  44.232 +CONFIG_PREEMPT_NOTIFIERS=y
  44.233 +# CONFIG_INLINE_SPIN_TRYLOCK is not set
  44.234 +# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
  44.235 +# CONFIG_INLINE_SPIN_LOCK is not set
  44.236 +# CONFIG_INLINE_SPIN_LOCK_BH is not set
  44.237 +# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
  44.238 +# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
  44.239 +CONFIG_INLINE_SPIN_UNLOCK=y
  44.240 +# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
  44.241 +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
  44.242 +# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
  44.243 +# CONFIG_INLINE_READ_TRYLOCK is not set
  44.244 +# CONFIG_INLINE_READ_LOCK is not set
  44.245 +# CONFIG_INLINE_READ_LOCK_BH is not set
  44.246 +# CONFIG_INLINE_READ_LOCK_IRQ is not set
  44.247 +# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
  44.248 +CONFIG_INLINE_READ_UNLOCK=y
  44.249 +# CONFIG_INLINE_READ_UNLOCK_BH is not set
  44.250 +CONFIG_INLINE_READ_UNLOCK_IRQ=y
  44.251 +# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
  44.252 +# CONFIG_INLINE_WRITE_TRYLOCK is not set
  44.253 +# CONFIG_INLINE_WRITE_LOCK is not set
  44.254 +# CONFIG_INLINE_WRITE_LOCK_BH is not set
  44.255 +# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
  44.256 +# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
  44.257 +CONFIG_INLINE_WRITE_UNLOCK=y
  44.258 +# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
  44.259 +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
  44.260 +# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
  44.261 +CONFIG_MUTEX_SPIN_ON_OWNER=y
  44.262 +CONFIG_FREEZER=y
  44.263 +
  44.264 +#
  44.265 +# Processor type and features
  44.266 +#
  44.267 +CONFIG_TICK_ONESHOT=y
  44.268 +CONFIG_NO_HZ=y
  44.269 +# CONFIG_HIGH_RES_TIMERS is not set
  44.270 +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
  44.271 +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
  44.272 +CONFIG_SMP=y
  44.273 +CONFIG_X86_MPPARSE=y
  44.274 +# CONFIG_X86_BIGSMP is not set
  44.275 +CONFIG_X86_EXTENDED_PLATFORM=y
  44.276 +CONFIG_X86_WANT_INTEL_MID=y
  44.277 +# CONFIG_X86_MRST is not set
  44.278 +# CONFIG_X86_RDC321X is not set
  44.279 +# CONFIG_X86_32_NON_STANDARD is not set
  44.280 +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
  44.281 +# CONFIG_X86_32_IRIS is not set
  44.282 +CONFIG_SCHED_OMIT_FRAME_POINTER=y
  44.283 +CONFIG_PARAVIRT_GUEST=y
  44.284 +CONFIG_PARAVIRT_TIME_ACCOUNTING=y
  44.285 +# CONFIG_XEN_PRIVILEGED_GUEST is not set
  44.286 +CONFIG_KVM_CLOCK=y
  44.287 +CONFIG_KVM_GUEST=y
  44.288 +CONFIG_LGUEST_GUEST=y
  44.289 +CONFIG_PARAVIRT=y
  44.290 +# CONFIG_PARAVIRT_SPINLOCKS is not set
  44.291 +CONFIG_PARAVIRT_CLOCK=y
  44.292 +CONFIG_NO_BOOTMEM=y
  44.293 +# CONFIG_MEMTEST is not set
  44.294 +CONFIG_M386=y
  44.295 +# CONFIG_M486 is not set
  44.296 +# CONFIG_M586 is not set
  44.297 +# CONFIG_M586TSC is not set
  44.298 +# CONFIG_M586MMX is not set
  44.299 +# CONFIG_M686 is not set
  44.300 +# CONFIG_MPENTIUMII is not set
  44.301 +# CONFIG_MPENTIUMIII is not set
  44.302 +# CONFIG_MPENTIUMM is not set
  44.303 +# CONFIG_MPENTIUM4 is not set
  44.304 +# CONFIG_MK6 is not set
  44.305 +# CONFIG_MK7 is not set
  44.306 +# CONFIG_MK8 is not set
  44.307 +# CONFIG_MCRUSOE is not set
  44.308 +# CONFIG_MEFFICEON is not set
  44.309 +# CONFIG_MWINCHIPC6 is not set
  44.310 +# CONFIG_MWINCHIP3D is not set
  44.311 +# CONFIG_MELAN is not set
  44.312 +# CONFIG_MGEODEGX1 is not set
  44.313 +# CONFIG_MGEODE_LX is not set
  44.314 +# CONFIG_MCYRIXIII is not set
  44.315 +# CONFIG_MVIAC3_2 is not set
  44.316 +# CONFIG_MVIAC7 is not set
  44.317 +# CONFIG_MCORE2 is not set
  44.318 +# CONFIG_MATOM is not set
  44.319 +CONFIG_X86_GENERIC=y
  44.320 +CONFIG_X86_INTERNODE_CACHE_SHIFT=6
  44.321 +# CONFIG_X86_CMPXCHG is not set
  44.322 +# CONFIG_CMPXCHG_LOCAL is not set
  44.323 +CONFIG_CMPXCHG_DOUBLE=y
  44.324 +CONFIG_X86_L1_CACHE_SHIFT=6
  44.325 +CONFIG_X86_PPRO_FENCE=y
  44.326 +CONFIG_X86_F00F_BUG=y
  44.327 +CONFIG_X86_INVD_BUG=y
  44.328 +CONFIG_X86_INTEL_USERCOPY=y
  44.329 +CONFIG_X86_MINIMUM_CPU_FAMILY=3
  44.330 +CONFIG_CPU_SUP_INTEL=y
  44.331 +CONFIG_CPU_SUP_CYRIX_32=y
  44.332 +CONFIG_CPU_SUP_AMD=y
  44.333 +CONFIG_CPU_SUP_CENTAUR=y
  44.334 +CONFIG_CPU_SUP_TRANSMETA_32=y
  44.335 +CONFIG_CPU_SUP_UMC_32=y
  44.336 +# CONFIG_HPET_TIMER is not set
  44.337 +CONFIG_DMI=y
  44.338 +# CONFIG_IOMMU_HELPER is not set
  44.339 +CONFIG_NR_CPUS=8
  44.340 +# CONFIG_SCHED_SMT is not set
  44.341 +CONFIG_SCHED_MC=y
  44.342 +# CONFIG_IRQ_TIME_ACCOUNTING is not set
  44.343 +CONFIG_PREEMPT_NONE=y
  44.344 +# CONFIG_PREEMPT_VOLUNTARY is not set
  44.345 +# CONFIG_PREEMPT is not set
  44.346 +CONFIG_X86_LOCAL_APIC=y
  44.347 +CONFIG_X86_IO_APIC=y
  44.348 +# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
  44.349 +CONFIG_X86_MCE=y
  44.350 +CONFIG_X86_MCE_INTEL=y
  44.351 +CONFIG_X86_MCE_AMD=y
  44.352 +# CONFIG_X86_ANCIENT_MCE is not set
  44.353 +CONFIG_X86_MCE_THRESHOLD=y
  44.354 +# CONFIG_X86_MCE_INJECT is not set
  44.355 +CONFIG_X86_THERMAL_VECTOR=y
  44.356 +CONFIG_VM86=y
  44.357 +CONFIG_TOSHIBA=m
  44.358 +CONFIG_I8K=m
  44.359 +CONFIG_X86_REBOOTFIXUPS=y
  44.360 +# CONFIG_MICROCODE is not set
  44.361 +# CONFIG_X86_MSR is not set
  44.362 +# CONFIG_X86_CPUID is not set
  44.363 +# CONFIG_NOHIGHMEM is not set
  44.364 +CONFIG_HIGHMEM4G=y
  44.365 +CONFIG_PAGE_OFFSET=0xC0000000
  44.366 +CONFIG_HIGHMEM=y
  44.367 +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
  44.368 +# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
  44.369 +CONFIG_ARCH_FLATMEM_ENABLE=y
  44.370 +CONFIG_ARCH_SPARSEMEM_ENABLE=y
  44.371 +CONFIG_ARCH_SELECT_MEMORY_MODEL=y
  44.372 +CONFIG_ILLEGAL_POINTER_VALUE=0
  44.373 +CONFIG_SELECT_MEMORY_MODEL=y
  44.374 +CONFIG_FLATMEM_MANUAL=y
  44.375 +# CONFIG_SPARSEMEM_MANUAL is not set
  44.376 +CONFIG_FLATMEM=y
  44.377 +CONFIG_FLAT_NODE_MEM_MAP=y
  44.378 +CONFIG_SPARSEMEM_STATIC=y
  44.379 +CONFIG_HAVE_MEMBLOCK=y
  44.380 +CONFIG_PAGEFLAGS_EXTENDED=y
  44.381 +CONFIG_SPLIT_PTLOCK_CPUS=4
  44.382 +# CONFIG_COMPACTION is not set
  44.383 +# CONFIG_PHYS_ADDR_T_64BIT is not set
  44.384 +CONFIG_ZONE_DMA_FLAG=1
  44.385 +CONFIG_BOUNCE=y
  44.386 +CONFIG_VIRT_TO_BUS=y
  44.387 +CONFIG_MMU_NOTIFIER=y
  44.388 +# CONFIG_KSM is not set
  44.389 +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
  44.390 +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
  44.391 +# CONFIG_MEMORY_FAILURE is not set
  44.392 +# CONFIG_TRANSPARENT_HUGEPAGE is not set
  44.393 +CONFIG_CLEANCACHE=y
  44.394 +# CONFIG_HIGHPTE is not set
  44.395 +# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
  44.396 +CONFIG_X86_RESERVE_LOW=64
  44.397 +CONFIG_MATH_EMULATION=y
  44.398 +CONFIG_MTRR=y
  44.399 +CONFIG_MTRR_SANITIZER=y
  44.400 +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
  44.401 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
  44.402 +CONFIG_X86_PAT=y
  44.403 +CONFIG_ARCH_USES_PG_UNCACHED=y
  44.404 +CONFIG_ARCH_RANDOM=y
  44.405 +# CONFIG_EFI is not set
  44.406 +# CONFIG_SECCOMP is not set
  44.407 +# CONFIG_CC_STACKPROTECTOR is not set
  44.408 +# CONFIG_HZ_100 is not set
  44.409 +# CONFIG_HZ_250 is not set
  44.410 +# CONFIG_HZ_300 is not set
  44.411 +CONFIG_HZ_1000=y
  44.412 +CONFIG_HZ=1000
  44.413 +# CONFIG_SCHED_HRTICK is not set
  44.414 +CONFIG_KEXEC=y
  44.415 +# CONFIG_CRASH_DUMP is not set
  44.416 +# CONFIG_KEXEC_JUMP is not set
  44.417 +CONFIG_PHYSICAL_START=0x1000000
  44.418 +# CONFIG_RELOCATABLE is not set
  44.419 +CONFIG_PHYSICAL_ALIGN=0x100000
  44.420 +CONFIG_HOTPLUG_CPU=y
  44.421 +CONFIG_COMPAT_VDSO=y
  44.422 +# CONFIG_CMDLINE_BOOL is not set
  44.423 +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
  44.424 +
  44.425 +#
  44.426 +# Power management and ACPI options
  44.427 +#
  44.428 +CONFIG_SUSPEND=y
  44.429 +CONFIG_SUSPEND_FREEZER=y
  44.430 +CONFIG_HIBERNATE_CALLBACKS=y
  44.431 +CONFIG_HIBERNATION=y
  44.432 +CONFIG_PM_STD_PARTITION=""
  44.433 +CONFIG_PM_SLEEP=y
  44.434 +CONFIG_PM_SLEEP_SMP=y
  44.435 +# CONFIG_PM_RUNTIME is not set
  44.436 +CONFIG_PM=y
  44.437 +# CONFIG_PM_DEBUG is not set
  44.438 +CONFIG_ACPI=y
  44.439 +CONFIG_ACPI_SLEEP=y
  44.440 +# CONFIG_ACPI_PROCFS is not set
  44.441 +CONFIG_ACPI_PROCFS_POWER=y
  44.442 +# CONFIG_ACPI_EC_DEBUGFS is not set
  44.443 +CONFIG_ACPI_PROC_EVENT=y
  44.444 +CONFIG_ACPI_AC=y
  44.445 +CONFIG_ACPI_BATTERY=y
  44.446 +CONFIG_ACPI_BUTTON=m
  44.447 +CONFIG_ACPI_VIDEO=m
  44.448 +CONFIG_ACPI_FAN=y
  44.449 +CONFIG_ACPI_DOCK=y
  44.450 +CONFIG_ACPI_PROCESSOR=y
  44.451 +CONFIG_ACPI_HOTPLUG_CPU=y
  44.452 +# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
  44.453 +CONFIG_ACPI_THERMAL=y
  44.454 +# CONFIG_ACPI_CUSTOM_DSDT is not set
  44.455 +CONFIG_ACPI_BLACKLIST_YEAR=0
  44.456 +# CONFIG_ACPI_DEBUG is not set
  44.457 +# CONFIG_ACPI_PCI_SLOT is not set
  44.458 +CONFIG_X86_PM_TIMER=y
  44.459 +CONFIG_ACPI_CONTAINER=y
  44.460 +# CONFIG_ACPI_SBS is not set
  44.461 +# CONFIG_ACPI_HED is not set
  44.462 +# CONFIG_ACPI_APEI is not set
  44.463 +# CONFIG_SFI is not set
  44.464 +CONFIG_X86_APM_BOOT=y
  44.465 +CONFIG_APM=y
  44.466 +# CONFIG_APM_IGNORE_USER_SUSPEND is not set
  44.467 +CONFIG_APM_DO_ENABLE=y
  44.468 +# CONFIG_APM_CPU_IDLE is not set
  44.469 +# CONFIG_APM_DISPLAY_BLANK is not set
  44.470 +# CONFIG_APM_ALLOW_INTS is not set
  44.471 +
  44.472 +#
  44.473 +# CPU Frequency scaling
  44.474 +#
  44.475 +CONFIG_CPU_FREQ=y
  44.476 +CONFIG_CPU_FREQ_TABLE=y
  44.477 +CONFIG_CPU_FREQ_STAT=y
  44.478 +# CONFIG_CPU_FREQ_STAT_DETAILS is not set
  44.479 +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
  44.480 +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
  44.481 +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
  44.482 +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
  44.483 +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
  44.484 +CONFIG_CPU_FREQ_GOV_POWERSAVE=m
  44.485 +CONFIG_CPU_FREQ_GOV_USERSPACE=y
  44.486 +CONFIG_CPU_FREQ_GOV_ONDEMAND=y
  44.487 +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
  44.488 +
  44.489 +#
  44.490 +# x86 CPU frequency scaling drivers
  44.491 +#
  44.492 +CONFIG_X86_PCC_CPUFREQ=m
  44.493 +CONFIG_X86_ACPI_CPUFREQ=m
  44.494 +CONFIG_X86_POWERNOW_K6=m
  44.495 +CONFIG_X86_POWERNOW_K7=m
  44.496 +CONFIG_X86_POWERNOW_K7_ACPI=y
  44.497 +CONFIG_X86_POWERNOW_K8=m
  44.498 +CONFIG_X86_GX_SUSPMOD=m
  44.499 +# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
  44.500 +CONFIG_X86_SPEEDSTEP_ICH=m
  44.501 +CONFIG_X86_SPEEDSTEP_SMI=m
  44.502 +CONFIG_X86_P4_CLOCKMOD=m
  44.503 +CONFIG_X86_CPUFREQ_NFORCE2=m
  44.504 +CONFIG_X86_LONGRUN=m
  44.505 +CONFIG_X86_LONGHAUL=m
  44.506 +CONFIG_X86_E_POWERSAVER=m
  44.507 +
  44.508 +#
  44.509 +# shared options
  44.510 +#
  44.511 +CONFIG_X86_SPEEDSTEP_LIB=m
  44.512 +CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
  44.513 +CONFIG_CPU_IDLE=y
  44.514 +CONFIG_CPU_IDLE_GOV_LADDER=y
  44.515 +CONFIG_CPU_IDLE_GOV_MENU=y
  44.516 +# CONFIG_INTEL_IDLE is not set
  44.517 +
  44.518 +#
  44.519 +# Bus options (PCI etc.)
  44.520 +#
  44.521 +CONFIG_PCI=y
  44.522 +# CONFIG_PCI_GOBIOS is not set
  44.523 +# CONFIG_PCI_GOMMCONFIG is not set
  44.524 +# CONFIG_PCI_GODIRECT is not set
  44.525 +CONFIG_PCI_GOANY=y
  44.526 +CONFIG_PCI_BIOS=y
  44.527 +CONFIG_PCI_DIRECT=y
  44.528 +CONFIG_PCI_MMCONFIG=y
  44.529 +CONFIG_PCI_DOMAINS=y
  44.530 +# CONFIG_PCI_CNB20LE_QUIRK is not set
  44.531 +CONFIG_PCIEPORTBUS=y
  44.532 +CONFIG_PCIEAER=y
  44.533 +# CONFIG_PCIE_ECRC is not set
  44.534 +# CONFIG_PCIEAER_INJECT is not set
  44.535 +CONFIG_PCIEASPM=y
  44.536 +# CONFIG_PCIEASPM_DEBUG is not set
  44.537 +CONFIG_ARCH_SUPPORTS_MSI=y
  44.538 +# CONFIG_PCI_MSI is not set
  44.539 +# CONFIG_PCI_STUB is not set
  44.540 +CONFIG_HT_IRQ=y
  44.541 +# CONFIG_PCI_IOV is not set
  44.542 +# CONFIG_PCI_PRI is not set
  44.543 +# CONFIG_PCI_PASID is not set
  44.544 +CONFIG_PCI_IOAPIC=y
  44.545 +CONFIG_PCI_LABEL=y
  44.546 +CONFIG_ISA_DMA_API=y
  44.547 +CONFIG_ISA=y
  44.548 +# CONFIG_EISA is not set
  44.549 +# CONFIG_MCA is not set
  44.550 +# CONFIG_SCx200 is not set
  44.551 +# CONFIG_OLPC is not set
  44.552 +# CONFIG_ALIX is not set
  44.553 +CONFIG_AMD_NB=y
  44.554 +CONFIG_PCCARD=m
  44.555 +CONFIG_PCMCIA=m
  44.556 +CONFIG_PCMCIA_LOAD_CIS=y
  44.557 +CONFIG_CARDBUS=y
  44.558 +
  44.559 +#
  44.560 +# PC-card bridges
  44.561 +#
  44.562 +CONFIG_YENTA=m
  44.563 +CONFIG_YENTA_O2=y
  44.564 +CONFIG_YENTA_RICOH=y
  44.565 +CONFIG_YENTA_TI=y
  44.566 +CONFIG_YENTA_ENE_TUNE=y
  44.567 +CONFIG_YENTA_TOSHIBA=y
  44.568 +CONFIG_PD6729=m
  44.569 +CONFIG_I82092=m
  44.570 +CONFIG_I82365=m
  44.571 +# CONFIG_TCIC is not set
  44.572 +CONFIG_PCMCIA_PROBE=y
  44.573 +CONFIG_PCCARD_NONSTATIC=y
  44.574 +# CONFIG_HOTPLUG_PCI is not set
  44.575 +# CONFIG_RAPIDIO is not set
  44.576 +
  44.577 +#
  44.578 +# Executable file formats / Emulations
  44.579 +#
  44.580 +CONFIG_BINFMT_ELF=y
  44.581 +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
  44.582 +CONFIG_HAVE_AOUT=y
  44.583 +# CONFIG_BINFMT_AOUT is not set
  44.584 +CONFIG_BINFMT_MISC=m
  44.585 +CONFIG_HAVE_ATOMIC_IOMAP=y
  44.586 +CONFIG_HAVE_TEXT_POKE_SMP=y
  44.587 +CONFIG_NET=y
  44.588 +
  44.589 +#
  44.590 +# Networking options
  44.591 +#
  44.592 +CONFIG_PACKET=y
  44.593 +CONFIG_UNIX=y
  44.594 +CONFIG_XFRM=y
  44.595 +# CONFIG_XFRM_USER is not set
  44.596 +# CONFIG_XFRM_SUB_POLICY is not set
  44.597 +# CONFIG_XFRM_MIGRATE is not set
  44.598 +# CONFIG_XFRM_STATISTICS is not set
  44.599 +CONFIG_XFRM_IPCOMP=y
  44.600 +CONFIG_NET_KEY=y
  44.601 +# CONFIG_NET_KEY_MIGRATE is not set
  44.602 +CONFIG_INET=y
  44.603 +CONFIG_IP_MULTICAST=y
  44.604 +CONFIG_IP_ADVANCED_ROUTER=y
  44.605 +CONFIG_IP_FIB_TRIE_STATS=y
  44.606 +CONFIG_IP_MULTIPLE_TABLES=y
  44.607 +CONFIG_IP_ROUTE_MULTIPATH=y
  44.608 +CONFIG_IP_ROUTE_VERBOSE=y
  44.609 +CONFIG_IP_ROUTE_CLASSID=y
  44.610 +CONFIG_IP_PNP=y
  44.611 +CONFIG_IP_PNP_DHCP=y
  44.612 +CONFIG_IP_PNP_BOOTP=y
  44.613 +CONFIG_IP_PNP_RARP=y
  44.614 +CONFIG_NET_IPIP=y
  44.615 +CONFIG_NET_IPGRE_DEMUX=y
  44.616 +CONFIG_NET_IPGRE=m
  44.617 +CONFIG_NET_IPGRE_BROADCAST=y
  44.618 +CONFIG_IP_MROUTE=y
  44.619 +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
  44.620 +CONFIG_IP_PIMSM_V1=y
  44.621 +CONFIG_IP_PIMSM_V2=y
  44.622 +CONFIG_ARPD=y
  44.623 +CONFIG_SYN_COOKIES=y
  44.624 +CONFIG_INET_AH=y
  44.625 +CONFIG_INET_ESP=y
  44.626 +CONFIG_INET_IPCOMP=y
  44.627 +CONFIG_INET_XFRM_TUNNEL=y
  44.628 +CONFIG_INET_TUNNEL=y
  44.629 +CONFIG_INET_XFRM_MODE_TRANSPORT=y
  44.630 +CONFIG_INET_XFRM_MODE_TUNNEL=y
  44.631 +CONFIG_INET_XFRM_MODE_BEET=y
  44.632 +CONFIG_INET_LRO=m
  44.633 +CONFIG_INET_DIAG=y
  44.634 +CONFIG_INET_TCP_DIAG=y
  44.635 +# CONFIG_TCP_CONG_ADVANCED is not set
  44.636 +CONFIG_TCP_CONG_CUBIC=y
  44.637 +CONFIG_DEFAULT_TCP_CONG="cubic"
  44.638 +# CONFIG_TCP_MD5SIG is not set
  44.639 +CONFIG_IPV6=m
  44.640 +# CONFIG_IPV6_PRIVACY is not set
  44.641 +# CONFIG_IPV6_ROUTER_PREF is not set
  44.642 +# CONFIG_IPV6_OPTIMISTIC_DAD is not set
  44.643 +# CONFIG_INET6_AH is not set
  44.644 +# CONFIG_INET6_ESP is not set
  44.645 +# CONFIG_INET6_IPCOMP is not set
  44.646 +# CONFIG_IPV6_MIP6 is not set
  44.647 +# CONFIG_INET6_XFRM_TUNNEL is not set
  44.648 +# CONFIG_INET6_TUNNEL is not set
  44.649 +CONFIG_INET6_XFRM_MODE_TRANSPORT=m
  44.650 +CONFIG_INET6_XFRM_MODE_TUNNEL=m
  44.651 +CONFIG_INET6_XFRM_MODE_BEET=m
  44.652 +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
  44.653 +CONFIG_IPV6_SIT=m
  44.654 +# CONFIG_IPV6_SIT_6RD is not set
  44.655 +CONFIG_IPV6_NDISC_NODETYPE=y
  44.656 +# CONFIG_IPV6_TUNNEL is not set
  44.657 +# CONFIG_IPV6_MULTIPLE_TABLES is not set
  44.658 +# CONFIG_IPV6_MROUTE is not set
  44.659 +# CONFIG_NETWORK_SECMARK is not set
  44.660 +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
  44.661 +CONFIG_NETFILTER=y
  44.662 +# CONFIG_NETFILTER_DEBUG is not set
  44.663 +CONFIG_NETFILTER_ADVANCED=y
  44.664 +CONFIG_BRIDGE_NETFILTER=y
  44.665 +
  44.666 +#
  44.667 +# Core Netfilter Configuration
  44.668 +#
  44.669 +CONFIG_NETFILTER_NETLINK=m
  44.670 +CONFIG_NETFILTER_NETLINK_QUEUE=m
  44.671 +CONFIG_NETFILTER_NETLINK_LOG=m
  44.672 +CONFIG_NF_CONNTRACK=m
  44.673 +CONFIG_NF_CONNTRACK_MARK=y
  44.674 +CONFIG_NF_CONNTRACK_EVENTS=y
  44.675 +# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
  44.676 +CONFIG_NF_CT_PROTO_DCCP=m
  44.677 +CONFIG_NF_CT_PROTO_GRE=m
  44.678 +CONFIG_NF_CT_PROTO_SCTP=m
  44.679 +CONFIG_NF_CT_PROTO_UDPLITE=m
  44.680 +CONFIG_NF_CONNTRACK_AMANDA=m
  44.681 +CONFIG_NF_CONNTRACK_FTP=m
  44.682 +CONFIG_NF_CONNTRACK_H323=m
  44.683 +CONFIG_NF_CONNTRACK_IRC=m
  44.684 +CONFIG_NF_CONNTRACK_BROADCAST=m
  44.685 +CONFIG_NF_CONNTRACK_NETBIOS_NS=m
  44.686 +# CONFIG_NF_CONNTRACK_SNMP is not set
  44.687 +CONFIG_NF_CONNTRACK_PPTP=m
  44.688 +CONFIG_NF_CONNTRACK_SANE=m
  44.689 +CONFIG_NF_CONNTRACK_SIP=m
  44.690 +CONFIG_NF_CONNTRACK_TFTP=m
  44.691 +CONFIG_NF_CT_NETLINK=m
  44.692 +# CONFIG_NETFILTER_TPROXY is not set
  44.693 +CONFIG_NETFILTER_XTABLES=y
  44.694 +
  44.695 +#
  44.696 +# Xtables combined modules
  44.697 +#
  44.698 +CONFIG_NETFILTER_XT_MARK=m
  44.699 +CONFIG_NETFILTER_XT_CONNMARK=m
  44.700 +
  44.701 +#
  44.702 +# Xtables targets
  44.703 +#
  44.704 +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set
  44.705 +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
  44.706 +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
  44.707 +# CONFIG_NETFILTER_XT_TARGET_CT is not set
  44.708 +CONFIG_NETFILTER_XT_TARGET_DSCP=m
  44.709 +CONFIG_NETFILTER_XT_TARGET_HL=m
  44.710 +# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
  44.711 +# CONFIG_NETFILTER_XT_TARGET_LED is not set
  44.712 +CONFIG_NETFILTER_XT_TARGET_MARK=m
  44.713 +CONFIG_NETFILTER_XT_TARGET_NFLOG=m
  44.714 +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
  44.715 +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
  44.716 +CONFIG_NETFILTER_XT_TARGET_RATEEST=m
  44.717 +# CONFIG_NETFILTER_XT_TARGET_TEE is not set
  44.718 +CONFIG_NETFILTER_XT_TARGET_TRACE=m
  44.719 +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
  44.720 +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
  44.721 +
  44.722 +#
  44.723 +# Xtables matches
  44.724 +#
  44.725 +# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set
  44.726 +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
  44.727 +CONFIG_NETFILTER_XT_MATCH_COMMENT=m
  44.728 +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
  44.729 +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
  44.730 +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
  44.731 +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
  44.732 +# CONFIG_NETFILTER_XT_MATCH_CPU is not set
  44.733 +CONFIG_NETFILTER_XT_MATCH_DCCP=m
  44.734 +# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set
  44.735 +CONFIG_NETFILTER_XT_MATCH_DSCP=m
  44.736 +CONFIG_NETFILTER_XT_MATCH_ESP=m
  44.737 +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
  44.738 +CONFIG_NETFILTER_XT_MATCH_HELPER=m
  44.739 +CONFIG_NETFILTER_XT_MATCH_HL=m
  44.740 +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
  44.741 +# CONFIG_NETFILTER_XT_MATCH_IPVS is not set
  44.742 +CONFIG_NETFILTER_XT_MATCH_LENGTH=m
  44.743 +CONFIG_NETFILTER_XT_MATCH_LIMIT=m
  44.744 +CONFIG_NETFILTER_XT_MATCH_MAC=m
  44.745 +CONFIG_NETFILTER_XT_MATCH_MARK=m
  44.746 +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
  44.747 +# CONFIG_NETFILTER_XT_MATCH_OSF is not set
  44.748 +CONFIG_NETFILTER_XT_MATCH_OWNER=m
  44.749 +CONFIG_NETFILTER_XT_MATCH_POLICY=m
  44.750 +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
  44.751 +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
  44.752 +CONFIG_NETFILTER_XT_MATCH_QUOTA=m
  44.753 +CONFIG_NETFILTER_XT_MATCH_RATEEST=m
  44.754 +CONFIG_NETFILTER_XT_MATCH_REALM=m
  44.755 +CONFIG_NETFILTER_XT_MATCH_RECENT=m
  44.756 +CONFIG_NETFILTER_XT_MATCH_SCTP=m
  44.757 +CONFIG_NETFILTER_XT_MATCH_STATE=m
  44.758 +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
  44.759 +CONFIG_NETFILTER_XT_MATCH_STRING=m
  44.760 +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
  44.761 +CONFIG_NETFILTER_XT_MATCH_TIME=m
  44.762 +CONFIG_NETFILTER_XT_MATCH_U32=m
  44.763 +# CONFIG_IP_SET is not set
  44.764 +CONFIG_IP_VS=m
  44.765 +CONFIG_IP_VS_IPV6=y
  44.766 +# CONFIG_IP_VS_DEBUG is not set
  44.767 +CONFIG_IP_VS_TAB_BITS=12
  44.768 +
  44.769 +#
  44.770 +# IPVS transport protocol load balancing support
  44.771 +#
  44.772 +CONFIG_IP_VS_PROTO_TCP=y
  44.773 +CONFIG_IP_VS_PROTO_UDP=y
  44.774 +CONFIG_IP_VS_PROTO_AH_ESP=y
  44.775 +CONFIG_IP_VS_PROTO_ESP=y
  44.776 +CONFIG_IP_VS_PROTO_AH=y
  44.777 +CONFIG_IP_VS_PROTO_SCTP=y
  44.778 +
  44.779 +#
  44.780 +# IPVS scheduler
  44.781 +#
  44.782 +CONFIG_IP_VS_RR=m
  44.783 +CONFIG_IP_VS_WRR=m
  44.784 +CONFIG_IP_VS_LC=m
  44.785 +CONFIG_IP_VS_WLC=m
  44.786 +CONFIG_IP_VS_LBLC=m
  44.787 +CONFIG_IP_VS_LBLCR=m
  44.788 +CONFIG_IP_VS_DH=m
  44.789 +CONFIG_IP_VS_SH=m
  44.790 +CONFIG_IP_VS_SED=m
  44.791 +CONFIG_IP_VS_NQ=m
  44.792 +
  44.793 +#
  44.794 +# IPVS application helper
  44.795 +#
  44.796 +CONFIG_IP_VS_FTP=m
  44.797 +CONFIG_IP_VS_NFCT=y
  44.798 +# CONFIG_IP_VS_PE_SIP is not set
  44.799 +
  44.800 +#
  44.801 +# IP: Netfilter Configuration
  44.802 +#
  44.803 +CONFIG_NF_DEFRAG_IPV4=m
  44.804 +CONFIG_NF_CONNTRACK_IPV4=m
  44.805 +CONFIG_NF_CONNTRACK_PROC_COMPAT=y
  44.806 +# CONFIG_IP_NF_QUEUE is not set
  44.807 +CONFIG_IP_NF_IPTABLES=m
  44.808 +CONFIG_IP_NF_MATCH_AH=m
  44.809 +CONFIG_IP_NF_MATCH_ECN=m
  44.810 +CONFIG_IP_NF_MATCH_TTL=m
  44.811 +CONFIG_IP_NF_FILTER=m
  44.812 +CONFIG_IP_NF_TARGET_REJECT=m
  44.813 +CONFIG_IP_NF_TARGET_LOG=m
  44.814 +CONFIG_IP_NF_TARGET_ULOG=m
  44.815 +CONFIG_NF_NAT=m
  44.816 +CONFIG_NF_NAT_NEEDED=y
  44.817 +CONFIG_IP_NF_TARGET_MASQUERADE=m
  44.818 +CONFIG_IP_NF_TARGET_NETMAP=m
  44.819 +CONFIG_IP_NF_TARGET_REDIRECT=m
  44.820 +CONFIG_NF_NAT_PROTO_DCCP=m
  44.821 +CONFIG_NF_NAT_PROTO_GRE=m
  44.822 +CONFIG_NF_NAT_PROTO_UDPLITE=m
  44.823 +CONFIG_NF_NAT_PROTO_SCTP=m
  44.824 +CONFIG_NF_NAT_FTP=m
  44.825 +CONFIG_NF_NAT_IRC=m
  44.826 +CONFIG_NF_NAT_TFTP=m
  44.827 +CONFIG_NF_NAT_AMANDA=m
  44.828 +CONFIG_NF_NAT_PPTP=m
  44.829 +CONFIG_NF_NAT_H323=m
  44.830 +CONFIG_NF_NAT_SIP=m
  44.831 +CONFIG_IP_NF_MANGLE=m
  44.832 +CONFIG_IP_NF_TARGET_CLUSTERIP=m
  44.833 +CONFIG_IP_NF_TARGET_ECN=m
  44.834 +CONFIG_IP_NF_TARGET_TTL=m
  44.835 +CONFIG_IP_NF_RAW=m
  44.836 +CONFIG_IP_NF_ARPTABLES=m
  44.837 +CONFIG_IP_NF_ARPFILTER=m
  44.838 +CONFIG_IP_NF_ARP_MANGLE=m
  44.839 +
  44.840 +#
  44.841 +# IPv6: Netfilter Configuration
  44.842 +#
  44.843 +CONFIG_NF_DEFRAG_IPV6=m
  44.844 +CONFIG_NF_CONNTRACK_IPV6=m
  44.845 +# CONFIG_IP6_NF_QUEUE is not set
  44.846 +CONFIG_IP6_NF_IPTABLES=m
  44.847 +CONFIG_IP6_NF_MATCH_AH=m
  44.848 +CONFIG_IP6_NF_MATCH_EUI64=m
  44.849 +CONFIG_IP6_NF_MATCH_FRAG=m
  44.850 +CONFIG_IP6_NF_MATCH_OPTS=m
  44.851 +CONFIG_IP6_NF_MATCH_HL=m
  44.852 +CONFIG_IP6_NF_MATCH_IPV6HEADER=m
  44.853 +CONFIG_IP6_NF_MATCH_MH=m
  44.854 +CONFIG_IP6_NF_MATCH_RT=m
  44.855 +CONFIG_IP6_NF_TARGET_HL=m
  44.856 +CONFIG_IP6_NF_TARGET_LOG=m
  44.857 +CONFIG_IP6_NF_FILTER=m
  44.858 +CONFIG_IP6_NF_TARGET_REJECT=m
  44.859 +CONFIG_IP6_NF_MANGLE=m
  44.860 +CONFIG_IP6_NF_RAW=m
  44.861 +CONFIG_BRIDGE_NF_EBTABLES=m
  44.862 +CONFIG_BRIDGE_EBT_BROUTE=m
  44.863 +CONFIG_BRIDGE_EBT_T_FILTER=m
  44.864 +CONFIG_BRIDGE_EBT_T_NAT=m
  44.865 +CONFIG_BRIDGE_EBT_802_3=m
  44.866 +CONFIG_BRIDGE_EBT_AMONG=m
  44.867 +CONFIG_BRIDGE_EBT_ARP=m
  44.868 +CONFIG_BRIDGE_EBT_IP=m
  44.869 +CONFIG_BRIDGE_EBT_IP6=m
  44.870 +CONFIG_BRIDGE_EBT_LIMIT=m
  44.871 +CONFIG_BRIDGE_EBT_MARK=m
  44.872 +CONFIG_BRIDGE_EBT_PKTTYPE=m
  44.873 +CONFIG_BRIDGE_EBT_STP=m
  44.874 +CONFIG_BRIDGE_EBT_VLAN=m
  44.875 +CONFIG_BRIDGE_EBT_ARPREPLY=m
  44.876 +CONFIG_BRIDGE_EBT_DNAT=m
  44.877 +CONFIG_BRIDGE_EBT_MARK_T=m
  44.878 +CONFIG_BRIDGE_EBT_REDIRECT=m
  44.879 +CONFIG_BRIDGE_EBT_SNAT=m
  44.880 +CONFIG_BRIDGE_EBT_LOG=m
  44.881 +CONFIG_BRIDGE_EBT_ULOG=m
  44.882 +CONFIG_BRIDGE_EBT_NFLOG=m
  44.883 +# CONFIG_IP_DCCP is not set
  44.884 +CONFIG_IP_SCTP=m
  44.885 +# CONFIG_SCTP_DBG_MSG is not set
  44.886 +# CONFIG_SCTP_DBG_OBJCNT is not set
  44.887 +# CONFIG_SCTP_HMAC_NONE is not set
  44.888 +# CONFIG_SCTP_HMAC_SHA1 is not set
  44.889 +CONFIG_SCTP_HMAC_MD5=y
  44.890 +# CONFIG_RDS is not set
  44.891 +# CONFIG_TIPC is not set
  44.892 +CONFIG_ATM=m
  44.893 +CONFIG_ATM_CLIP=m
  44.894 +CONFIG_ATM_CLIP_NO_ICMP=y
  44.895 +CONFIG_ATM_LANE=m
  44.896 +CONFIG_ATM_MPOA=m
  44.897 +CONFIG_ATM_BR2684=m
  44.898 +# CONFIG_ATM_BR2684_IPFILTER is not set
  44.899 +# CONFIG_L2TP is not set
  44.900 +CONFIG_STP=m
  44.901 +CONFIG_BRIDGE=m
  44.902 +# CONFIG_BRIDGE_IGMP_SNOOPING is not set
  44.903 +# CONFIG_NET_DSA is not set
  44.904 +CONFIG_VLAN_8021Q=m
  44.905 +# CONFIG_VLAN_8021Q_GVRP is not set
  44.906 +# CONFIG_DECNET is not set
  44.907 +CONFIG_LLC=m
  44.908 +# CONFIG_LLC2 is not set
  44.909 +# CONFIG_IPX is not set
  44.910 +CONFIG_ATALK=m
  44.911 +CONFIG_DEV_APPLETALK=m
  44.912 +CONFIG_LTPC=m
  44.913 +CONFIG_COPS=m
  44.914 +CONFIG_COPS_DAYNA=y
  44.915 +CONFIG_COPS_TANGENT=y
  44.916 +CONFIG_IPDDP=m
  44.917 +CONFIG_IPDDP_ENCAP=y
  44.918 +CONFIG_IPDDP_DECAP=y
  44.919 +# CONFIG_X25 is not set
  44.920 +# CONFIG_LAPB is not set
  44.921 +# CONFIG_ECONET is not set
  44.922 +CONFIG_WAN_ROUTER=m
  44.923 +# CONFIG_PHONET is not set
  44.924 +# CONFIG_IEEE802154 is not set
  44.925 +CONFIG_NET_SCHED=y
  44.926 +
  44.927 +#
  44.928 +# Queueing/Scheduling
  44.929 +#
  44.930 +CONFIG_NET_SCH_CBQ=m
  44.931 +CONFIG_NET_SCH_HTB=m
  44.932 +CONFIG_NET_SCH_HFSC=m
  44.933 +CONFIG_NET_SCH_ATM=m
  44.934 +CONFIG_NET_SCH_PRIO=m
  44.935 +CONFIG_NET_SCH_MULTIQ=m
  44.936 +CONFIG_NET_SCH_RED=m
  44.937 +# CONFIG_NET_SCH_SFB is not set
  44.938 +CONFIG_NET_SCH_SFQ=m
  44.939 +CONFIG_NET_SCH_TEQL=m
  44.940 +CONFIG_NET_SCH_TBF=m
  44.941 +CONFIG_NET_SCH_GRED=m
  44.942 +CONFIG_NET_SCH_DSMARK=m
  44.943 +# CONFIG_NET_SCH_NETEM is not set
  44.944 +CONFIG_NET_SCH_DRR=m
  44.945 +# CONFIG_NET_SCH_MQPRIO is not set
  44.946 +# CONFIG_NET_SCH_CHOKE is not set
  44.947 +# CONFIG_NET_SCH_QFQ is not set
  44.948 +CONFIG_NET_SCH_INGRESS=m
  44.949 +
  44.950 +#
  44.951 +# Classification
  44.952 +#
  44.953 +CONFIG_NET_CLS=y
  44.954 +CONFIG_NET_CLS_BASIC=m
  44.955 +CONFIG_NET_CLS_TCINDEX=m
  44.956 +CONFIG_NET_CLS_ROUTE4=m
  44.957 +CONFIG_NET_CLS_FW=m
  44.958 +CONFIG_NET_CLS_U32=m
  44.959 +CONFIG_CLS_U32_PERF=y
  44.960 +CONFIG_CLS_U32_MARK=y
  44.961 +CONFIG_NET_CLS_RSVP=m
  44.962 +CONFIG_NET_CLS_RSVP6=m
  44.963 +CONFIG_NET_CLS_FLOW=m
  44.964 +# CONFIG_NET_CLS_CGROUP is not set
  44.965 +CONFIG_NET_EMATCH=y
  44.966 +CONFIG_NET_EMATCH_STACK=32
  44.967 +CONFIG_NET_EMATCH_CMP=m
  44.968 +CONFIG_NET_EMATCH_NBYTE=m
  44.969 +CONFIG_NET_EMATCH_U32=m
  44.970 +CONFIG_NET_EMATCH_META=m
  44.971 +CONFIG_NET_EMATCH_TEXT=m
  44.972 +CONFIG_NET_CLS_ACT=y
  44.973 +CONFIG_NET_ACT_POLICE=m
  44.974 +CONFIG_NET_ACT_GACT=m
  44.975 +CONFIG_GACT_PROB=y
  44.976 +CONFIG_NET_ACT_MIRRED=m
  44.977 +CONFIG_NET_ACT_IPT=m
  44.978 +CONFIG_NET_ACT_NAT=m
  44.979 +CONFIG_NET_ACT_PEDIT=m
  44.980 +CONFIG_NET_ACT_SIMP=m
  44.981 +CONFIG_NET_ACT_SKBEDIT=m
  44.982 +# CONFIG_NET_ACT_CSUM is not set
  44.983 +CONFIG_NET_CLS_IND=y
  44.984 +CONFIG_NET_SCH_FIFO=y
  44.985 +# CONFIG_DCB is not set
  44.986 +CONFIG_DNS_RESOLVER=y
  44.987 +CONFIG_BATMAN_ADV=m
  44.988 +# CONFIG_BATMAN_ADV_DEBUG is not set
  44.989 +CONFIG_RPS=y
  44.990 +CONFIG_RFS_ACCEL=y
  44.991 +CONFIG_XPS=y
  44.992 +
  44.993 +#
  44.994 +# Network testing
  44.995 +#
  44.996 +# CONFIG_NET_PKTGEN is not set
  44.997 +# CONFIG_HAMRADIO is not set
  44.998 +# CONFIG_CAN is not set
  44.999 +CONFIG_IRDA=m
 44.1000 +
 44.1001 +#
 44.1002 +# IrDA protocols
 44.1003 +#
 44.1004 +CONFIG_IRLAN=m
 44.1005 +CONFIG_IRNET=m
 44.1006 +CONFIG_IRCOMM=m
 44.1007 +# CONFIG_IRDA_ULTRA is not set
 44.1008 +
 44.1009 +#
 44.1010 +# IrDA options
 44.1011 +#
 44.1012 +# CONFIG_IRDA_CACHE_LAST_LSAP is not set
 44.1013 +# CONFIG_IRDA_FAST_RR is not set
 44.1014 +# CONFIG_IRDA_DEBUG is not set
 44.1015 +
 44.1016 +#
 44.1017 +# Infrared-port device drivers
 44.1018 +#
 44.1019 +
 44.1020 +#
 44.1021 +# SIR device drivers
 44.1022 +#
 44.1023 +CONFIG_IRTTY_SIR=m
 44.1024 +
 44.1025 +#
 44.1026 +# Dongle support
 44.1027 +#
 44.1028 +# CONFIG_DONGLE is not set
 44.1029 +# CONFIG_KINGSUN_DONGLE is not set
 44.1030 +# CONFIG_KSDAZZLE_DONGLE is not set
 44.1031 +# CONFIG_KS959_DONGLE is not set
 44.1032 +
 44.1033 +#
 44.1034 +# FIR device drivers
 44.1035 +#
 44.1036 +# CONFIG_USB_IRDA is not set
 44.1037 +# CONFIG_SIGMATEL_FIR is not set
 44.1038 +# CONFIG_NSC_FIR is not set
 44.1039 +# CONFIG_WINBOND_FIR is not set
 44.1040 +# CONFIG_TOSHIBA_FIR is not set
 44.1041 +# CONFIG_SMC_IRCC_FIR is not set
 44.1042 +# CONFIG_ALI_FIR is not set
 44.1043 +# CONFIG_VLSI_FIR is not set
 44.1044 +# CONFIG_VIA_FIR is not set
 44.1045 +# CONFIG_MCS_FIR is not set
 44.1046 +CONFIG_BT=m
 44.1047 +# CONFIG_BT_L2CAP is not set
 44.1048 +# CONFIG_BT_SCO is not set
 44.1049 +
 44.1050 +#
 44.1051 +# Bluetooth device drivers
 44.1052 +#
 44.1053 +CONFIG_BT_HCIBTUSB=m
 44.1054 +CONFIG_BT_HCIBTSDIO=m
 44.1055 +CONFIG_BT_HCIUART=m
 44.1056 +# CONFIG_BT_HCIUART_H4 is not set
 44.1057 +# CONFIG_BT_HCIUART_BCSP is not set
 44.1058 +# CONFIG_BT_HCIUART_ATH3K is not set
 44.1059 +# CONFIG_BT_HCIUART_LL is not set
 44.1060 +CONFIG_BT_HCIBCM203X=m
 44.1061 +# CONFIG_BT_HCIBPA10X is not set
 44.1062 +# CONFIG_BT_HCIBFUSB is not set
 44.1063 +# CONFIG_BT_HCIDTL1 is not set
 44.1064 +# CONFIG_BT_HCIBT3C is not set
 44.1065 +# CONFIG_BT_HCIBLUECARD is not set
 44.1066 +# CONFIG_BT_HCIBTUART is not set
 44.1067 +# CONFIG_BT_HCIVHCI is not set
 44.1068 +# CONFIG_BT_MRVL is not set
 44.1069 +# CONFIG_BT_ATH3K is not set
 44.1070 +# CONFIG_BT_WILINK is not set
 44.1071 +CONFIG_AF_RXRPC=y
 44.1072 +# CONFIG_AF_RXRPC_DEBUG is not set
 44.1073 +CONFIG_RXKAD=y
 44.1074 +CONFIG_FIB_RULES=y
 44.1075 +CONFIG_WIRELESS=y
 44.1076 +CONFIG_WIRELESS_EXT=y
 44.1077 +CONFIG_WEXT_CORE=y
 44.1078 +CONFIG_WEXT_PROC=y
 44.1079 +CONFIG_WEXT_SPY=y
 44.1080 +CONFIG_WEXT_PRIV=y
 44.1081 +CONFIG_CFG80211=m
 44.1082 +# CONFIG_NL80211_TESTMODE is not set
 44.1083 +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
 44.1084 +# CONFIG_CFG80211_REG_DEBUG is not set
 44.1085 +CONFIG_CFG80211_DEFAULT_PS=y
 44.1086 +# CONFIG_CFG80211_INTERNAL_REGDB is not set
 44.1087 +CONFIG_CFG80211_WEXT=y
 44.1088 +CONFIG_WIRELESS_EXT_SYSFS=y
 44.1089 +CONFIG_LIB80211=m
 44.1090 +CONFIG_LIB80211_CRYPT_WEP=m
 44.1091 +CONFIG_LIB80211_CRYPT_CCMP=m
 44.1092 +CONFIG_LIB80211_CRYPT_TKIP=m
 44.1093 +# CONFIG_LIB80211_DEBUG is not set
 44.1094 +CONFIG_MAC80211=m
 44.1095 +CONFIG_MAC80211_HAS_RC=y
 44.1096 +CONFIG_MAC80211_RC_MINSTREL=y
 44.1097 +CONFIG_MAC80211_RC_MINSTREL_HT=y
 44.1098 +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
 44.1099 +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
 44.1100 +CONFIG_MAC80211_MESH=y
 44.1101 +CONFIG_MAC80211_LEDS=y
 44.1102 +# CONFIG_MAC80211_DEBUG_MENU is not set
 44.1103 +CONFIG_WIMAX=m
 44.1104 +CONFIG_WIMAX_DEBUG_LEVEL=8
 44.1105 +CONFIG_RFKILL=m
 44.1106 +CONFIG_RFKILL_LEDS=y
 44.1107 +CONFIG_RFKILL_INPUT=y
 44.1108 +# CONFIG_RFKILL_REGULATOR is not set
 44.1109 +# CONFIG_NET_9P is not set
 44.1110 +# CONFIG_CAIF is not set
 44.1111 +# CONFIG_CEPH_LIB is not set
 44.1112 +CONFIG_NFC=m
 44.1113 +CONFIG_NFC_NCI=m
 44.1114 +
 44.1115 +#
 44.1116 +# Near Field Communication (NFC) devices
 44.1117 +#
 44.1118 +CONFIG_PN544_NFC=m
 44.1119 +CONFIG_NFC_PN533=m
 44.1120 +CONFIG_NFC_WILINK=m
 44.1121 +
 44.1122 +#
 44.1123 +# Device Drivers
 44.1124 +#
 44.1125 +
 44.1126 +#
 44.1127 +# Generic Driver Options
 44.1128 +#
 44.1129 +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 44.1130 +CONFIG_DEVTMPFS=y
 44.1131 +# CONFIG_DEVTMPFS_MOUNT is not set
 44.1132 +CONFIG_STANDALONE=y
 44.1133 +CONFIG_PREVENT_FIRMWARE_BUILD=y
 44.1134 +CONFIG_FW_LOADER=y
 44.1135 +CONFIG_FIRMWARE_IN_KERNEL=y
 44.1136 +CONFIG_EXTRA_FIRMWARE=""
 44.1137 +# CONFIG_SYS_HYPERVISOR is not set
 44.1138 +CONFIG_REGMAP=y
 44.1139 +CONFIG_REGMAP_I2C=m
 44.1140 +CONFIG_CONNECTOR=m
 44.1141 +# CONFIG_MTD is not set
 44.1142 +CONFIG_PARPORT=m
 44.1143 +CONFIG_PARPORT_PC=m
 44.1144 +# CONFIG_PARPORT_SERIAL is not set
 44.1145 +# CONFIG_PARPORT_PC_FIFO is not set
 44.1146 +# CONFIG_PARPORT_PC_SUPERIO is not set
 44.1147 +# CONFIG_PARPORT_PC_PCMCIA is not set
 44.1148 +# CONFIG_PARPORT_GSC is not set
 44.1149 +# CONFIG_PARPORT_AX88796 is not set
 44.1150 +CONFIG_PARPORT_1284=y
 44.1151 +CONFIG_PARPORT_NOT_PC=y
 44.1152 +CONFIG_PNP=y
 44.1153 +CONFIG_PNP_DEBUG_MESSAGES=y
 44.1154 +
 44.1155 +#
 44.1156 +# Protocols
 44.1157 +#
 44.1158 +CONFIG_ISAPNP=y
 44.1159 +# CONFIG_PNPBIOS is not set
 44.1160 +CONFIG_PNPACPI=y
 44.1161 +CONFIG_BLK_DEV=y
 44.1162 +CONFIG_BLK_DEV_FD=m
 44.1163 +# CONFIG_BLK_DEV_XD is not set
 44.1164 +# CONFIG_PARIDE is not set
 44.1165 +# CONFIG_BLK_CPQ_DA is not set
 44.1166 +# CONFIG_BLK_CPQ_CISS_DA is not set
 44.1167 +# CONFIG_BLK_DEV_DAC960 is not set
 44.1168 +# CONFIG_BLK_DEV_UMEM is not set
 44.1169 +# CONFIG_BLK_DEV_COW_COMMON is not set
 44.1170 +CONFIG_BLK_DEV_LOOP=y
 44.1171 +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
 44.1172 +CONFIG_BLK_DEV_CRYPTOLOOP=m
 44.1173 +# CONFIG_BLK_DEV_DRBD is not set
 44.1174 +# CONFIG_BLK_DEV_NBD is not set
 44.1175 +# CONFIG_BLK_DEV_SX8 is not set
 44.1176 +# CONFIG_BLK_DEV_UB is not set
 44.1177 +CONFIG_BLK_DEV_RAM=y
 44.1178 +CONFIG_BLK_DEV_RAM_COUNT=16
 44.1179 +CONFIG_BLK_DEV_RAM_SIZE=4096
 44.1180 +# CONFIG_BLK_DEV_XIP is not set
 44.1181 +CONFIG_CDROM_PKTCDVD=y
 44.1182 +CONFIG_CDROM_PKTCDVD_BUFFERS=8
 44.1183 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set
 44.1184 +# CONFIG_ATA_OVER_ETH is not set
 44.1185 +CONFIG_VIRTIO_BLK=m
 44.1186 +# CONFIG_BLK_DEV_HD is not set
 44.1187 +# CONFIG_BLK_DEV_RBD is not set
 44.1188 +CONFIG_SENSORS_LIS3LV02D=m
 44.1189 +CONFIG_MISC_DEVICES=y
 44.1190 +# CONFIG_AD525X_DPOT is not set
 44.1191 +# CONFIG_IBM_ASM is not set
 44.1192 +# CONFIG_PHANTOM is not set
 44.1193 +# CONFIG_INTEL_MID_PTI is not set
 44.1194 +# CONFIG_SGI_IOC4 is not set
 44.1195 +CONFIG_TIFM_CORE=m
 44.1196 +CONFIG_TIFM_7XX1=m
 44.1197 +# CONFIG_ICS932S401 is not set
 44.1198 +# CONFIG_ENCLOSURE_SERVICES is not set
 44.1199 +# CONFIG_CS5535_MFGPT is not set
 44.1200 +# CONFIG_HP_ILO is not set
 44.1201 +# CONFIG_APDS9802ALS is not set
 44.1202 +# CONFIG_ISL29003 is not set
 44.1203 +# CONFIG_ISL29020 is not set
 44.1204 +# CONFIG_SENSORS_TSL2550 is not set
 44.1205 +# CONFIG_SENSORS_BH1780 is not set
 44.1206 +# CONFIG_SENSORS_BH1770 is not set
 44.1207 +# CONFIG_SENSORS_APDS990X is not set
 44.1208 +# CONFIG_HMC6352 is not set
 44.1209 +# CONFIG_DS1682 is not set
 44.1210 +# CONFIG_VMWARE_BALLOON is not set
 44.1211 +# CONFIG_BMP085 is not set
 44.1212 +# CONFIG_PCH_PHUB is not set
 44.1213 +CONFIG_USB_SWITCH_FSA9480=m
 44.1214 +# CONFIG_C2PORT is not set
 44.1215 +
 44.1216 +#
 44.1217 +# EEPROM support
 44.1218 +#
 44.1219 +# CONFIG_EEPROM_AT24 is not set
 44.1220 +# CONFIG_EEPROM_LEGACY is not set
 44.1221 +# CONFIG_EEPROM_MAX6875 is not set
 44.1222 +CONFIG_EEPROM_93CX6=m
 44.1223 +CONFIG_CB710_CORE=m
 44.1224 +# CONFIG_CB710_DEBUG is not set
 44.1225 +CONFIG_CB710_DEBUG_ASSUMPTIONS=y
 44.1226 +CONFIG_IWMC3200TOP=m
 44.1227 +# CONFIG_IWMC3200TOP_DEBUG is not set
 44.1228 +# CONFIG_IWMC3200TOP_DEBUGFS is not set
 44.1229 +
 44.1230 +#
 44.1231 +# Texas Instruments shared transport line discipline
 44.1232 +#
 44.1233 +CONFIG_TI_ST=m
 44.1234 +CONFIG_SENSORS_LIS3_I2C=m
 44.1235 +
 44.1236 +#
 44.1237 +# Altera FPGA firmware download module
 44.1238 +#
 44.1239 +CONFIG_ALTERA_STAPL=m
 44.1240 +CONFIG_HAVE_IDE=y
 44.1241 +CONFIG_IDE=y
 44.1242 +
 44.1243 +#
 44.1244 +# Please see Documentation/ide/ide.txt for help/info on IDE drives
 44.1245 +#
 44.1246 +CONFIG_IDE_XFER_MODE=y
 44.1247 +CONFIG_IDE_TIMINGS=y
 44.1248 +CONFIG_IDE_ATAPI=y
 44.1249 +CONFIG_IDE_LEGACY=y
 44.1250 +# CONFIG_BLK_DEV_IDE_SATA is not set
 44.1251 +CONFIG_IDE_GD=y
 44.1252 +CONFIG_IDE_GD_ATA=y
 44.1253 +# CONFIG_IDE_GD_ATAPI is not set
 44.1254 +CONFIG_BLK_DEV_IDECS=m
 44.1255 +# CONFIG_BLK_DEV_DELKIN is not set
 44.1256 +CONFIG_BLK_DEV_IDECD=y
 44.1257 +CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
 44.1258 +# CONFIG_BLK_DEV_IDETAPE is not set
 44.1259 +# CONFIG_BLK_DEV_IDEACPI is not set
 44.1260 +# CONFIG_IDE_TASK_IOCTL is not set
 44.1261 +CONFIG_IDE_PROC_FS=y
 44.1262 +
 44.1263 +#
 44.1264 +# IDE chipset support/bugfixes
 44.1265 +#
 44.1266 +CONFIG_IDE_GENERIC=y
 44.1267 +# CONFIG_BLK_DEV_PLATFORM is not set
 44.1268 +CONFIG_BLK_DEV_CMD640=y
 44.1269 +# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
 44.1270 +# CONFIG_BLK_DEV_IDEPNP is not set
 44.1271 +CONFIG_BLK_DEV_IDEDMA_SFF=y
 44.1272 +
 44.1273 +#
 44.1274 +# PCI IDE chipsets support
 44.1275 +#
 44.1276 +CONFIG_BLK_DEV_IDEPCI=y
 44.1277 +CONFIG_IDEPCI_PCIBUS_ORDER=y
 44.1278 +# CONFIG_BLK_DEV_OFFBOARD is not set
 44.1279 +CONFIG_BLK_DEV_GENERIC=y
 44.1280 +# CONFIG_BLK_DEV_OPTI621 is not set
 44.1281 +CONFIG_BLK_DEV_RZ1000=y
 44.1282 +CONFIG_BLK_DEV_IDEDMA_PCI=y
 44.1283 +CONFIG_BLK_DEV_AEC62XX=y
 44.1284 +CONFIG_BLK_DEV_ALI15X3=y
 44.1285 +CONFIG_BLK_DEV_AMD74XX=y
 44.1286 +CONFIG_BLK_DEV_ATIIXP=y
 44.1287 +CONFIG_BLK_DEV_CMD64X=y
 44.1288 +CONFIG_BLK_DEV_TRIFLEX=y
 44.1289 +# CONFIG_BLK_DEV_CS5520 is not set
 44.1290 +CONFIG_BLK_DEV_CS5530=y
 44.1291 +CONFIG_BLK_DEV_CS5535=y
 44.1292 +CONFIG_BLK_DEV_CS5536=y
 44.1293 +CONFIG_BLK_DEV_HPT366=y
 44.1294 +CONFIG_BLK_DEV_JMICRON=y
 44.1295 +CONFIG_BLK_DEV_SC1200=y
 44.1296 +CONFIG_BLK_DEV_PIIX=y
 44.1297 +CONFIG_BLK_DEV_IT8172=y
 44.1298 +CONFIG_BLK_DEV_IT8213=y
 44.1299 +CONFIG_BLK_DEV_IT821X=y
 44.1300 +CONFIG_BLK_DEV_NS87415=y
 44.1301 +CONFIG_BLK_DEV_PDC202XX_OLD=y
 44.1302 +CONFIG_BLK_DEV_PDC202XX_NEW=y
 44.1303 +CONFIG_BLK_DEV_SVWKS=y
 44.1304 +CONFIG_BLK_DEV_SIIMAGE=y
 44.1305 +CONFIG_BLK_DEV_SIS5513=y
 44.1306 +CONFIG_BLK_DEV_SLC90E66=y
 44.1307 +CONFIG_BLK_DEV_TRM290=y
 44.1308 +CONFIG_BLK_DEV_VIA82CXXX=y
 44.1309 +CONFIG_BLK_DEV_TC86C001=y
 44.1310 +
 44.1311 +#
 44.1312 +# Other IDE chipsets support
 44.1313 +#
 44.1314 +
 44.1315 +#
 44.1316 +# Note: most of these also require special kernel boot parameters
 44.1317 +#
 44.1318 +CONFIG_BLK_DEV_4DRIVES=y
 44.1319 +CONFIG_BLK_DEV_ALI14XX=y
 44.1320 +CONFIG_BLK_DEV_DTC2278=y
 44.1321 +CONFIG_BLK_DEV_HT6560B=y
 44.1322 +CONFIG_BLK_DEV_QD65XX=y
 44.1323 +CONFIG_BLK_DEV_UMC8672=y
 44.1324 +CONFIG_BLK_DEV_IDEDMA=y
 44.1325 +
 44.1326 +#
 44.1327 +# SCSI device support
 44.1328 +#
 44.1329 +CONFIG_SCSI_MOD=y
 44.1330 +# CONFIG_RAID_ATTRS is not set
 44.1331 +CONFIG_SCSI=y
 44.1332 +CONFIG_SCSI_DMA=y
 44.1333 +# CONFIG_SCSI_TGT is not set
 44.1334 +# CONFIG_SCSI_NETLINK is not set
 44.1335 +CONFIG_SCSI_PROC_FS=y
 44.1336 +
 44.1337 +#
 44.1338 +# SCSI support type (disk, tape, CD-ROM)
 44.1339 +#
 44.1340 +CONFIG_BLK_DEV_SD=y
 44.1341 +# CONFIG_CHR_DEV_ST is not set
 44.1342 +# CONFIG_CHR_DEV_OSST is not set
 44.1343 +CONFIG_BLK_DEV_SR=y
 44.1344 +# CONFIG_BLK_DEV_SR_VENDOR is not set
 44.1345 +CONFIG_CHR_DEV_SG=y
 44.1346 +# CONFIG_CHR_DEV_SCH is not set
 44.1347 +# CONFIG_SCSI_MULTI_LUN is not set
 44.1348 +# CONFIG_SCSI_CONSTANTS is not set
 44.1349 +# CONFIG_SCSI_LOGGING is not set
 44.1350 +# CONFIG_SCSI_SCAN_ASYNC is not set
 44.1351 +CONFIG_SCSI_WAIT_SCAN=m
 44.1352 +
 44.1353 +#
 44.1354 +# SCSI Transports
 44.1355 +#
 44.1356 +CONFIG_SCSI_SPI_ATTRS=m
 44.1357 +# CONFIG_SCSI_FC_ATTRS is not set
 44.1358 +CONFIG_SCSI_ISCSI_ATTRS=m
 44.1359 +# CONFIG_SCSI_SAS_ATTRS is not set
 44.1360 +# CONFIG_SCSI_SAS_LIBSAS is not set
 44.1361 +# CONFIG_SCSI_SRP_ATTRS is not set
 44.1362 +CONFIG_SCSI_LOWLEVEL=y
 44.1363 +CONFIG_ISCSI_TCP=m
 44.1364 +# CONFIG_ISCSI_BOOT_SYSFS is not set
 44.1365 +# CONFIG_SCSI_CXGB3_ISCSI is not set
 44.1366 +# CONFIG_SCSI_CXGB4_ISCSI is not set
 44.1367 +# CONFIG_SCSI_BNX2_ISCSI is not set
 44.1368 +# CONFIG_SCSI_BNX2X_FCOE is not set
 44.1369 +# CONFIG_BE2ISCSI is not set
 44.1370 +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
 44.1371 +# CONFIG_SCSI_HPSA is not set
 44.1372 +# CONFIG_SCSI_3W_9XXX is not set
 44.1373 +# CONFIG_SCSI_3W_SAS is not set
 44.1374 +# CONFIG_SCSI_7000FASST is not set
 44.1375 +# CONFIG_SCSI_ACARD is not set
 44.1376 +# CONFIG_SCSI_AHA152X is not set
 44.1377 +# CONFIG_SCSI_AHA1542 is not set
 44.1378 +# CONFIG_SCSI_AACRAID is not set
 44.1379 +CONFIG_SCSI_AIC7XXX=m
 44.1380 +CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
 44.1381 +CONFIG_AIC7XXX_RESET_DELAY_MS=5000
 44.1382 +CONFIG_AIC7XXX_DEBUG_ENABLE=y
 44.1383 +CONFIG_AIC7XXX_DEBUG_MASK=0
 44.1384 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
 44.1385 +# CONFIG_SCSI_AIC7XXX_OLD is not set
 44.1386 +# CONFIG_SCSI_AIC79XX is not set
 44.1387 +# CONFIG_SCSI_AIC94XX is not set
 44.1388 +# CONFIG_SCSI_MVSAS is not set
 44.1389 +# CONFIG_SCSI_MVUMI is not set
 44.1390 +# CONFIG_SCSI_DPT_I2O is not set
 44.1391 +# CONFIG_SCSI_ADVANSYS is not set
 44.1392 +# CONFIG_SCSI_IN2000 is not set
 44.1393 +# CONFIG_SCSI_ARCMSR is not set
 44.1394 +# CONFIG_MEGARAID_NEWGEN is not set
 44.1395 +# CONFIG_MEGARAID_LEGACY is not set
 44.1396 +# CONFIG_MEGARAID_SAS is not set
 44.1397 +# CONFIG_SCSI_MPT2SAS is not set
 44.1398 +# CONFIG_SCSI_HPTIOP is not set
 44.1399 +# CONFIG_SCSI_BUSLOGIC is not set
 44.1400 +# CONFIG_VMWARE_PVSCSI is not set
 44.1401 +# CONFIG_LIBFC is not set
 44.1402 +# CONFIG_LIBFCOE is not set
 44.1403 +# CONFIG_FCOE is not set
 44.1404 +# CONFIG_FCOE_FNIC is not set
 44.1405 +# CONFIG_SCSI_DMX3191D is not set
 44.1406 +# CONFIG_SCSI_DTC3280 is not set
 44.1407 +# CONFIG_SCSI_EATA is not set
 44.1408 +# CONFIG_SCSI_FUTURE_DOMAIN is not set
 44.1409 +# CONFIG_SCSI_GDTH is not set
 44.1410 +# CONFIG_SCSI_ISCI is not set
 44.1411 +# CONFIG_SCSI_GENERIC_NCR5380 is not set
 44.1412 +# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
 44.1413 +# CONFIG_SCSI_IPS is not set
 44.1414 +# CONFIG_SCSI_INITIO is not set
 44.1415 +# CONFIG_SCSI_INIA100 is not set
 44.1416 +# CONFIG_SCSI_PPA is not set
 44.1417 +# CONFIG_SCSI_IMM is not set
 44.1418 +# CONFIG_SCSI_NCR53C406A is not set
 44.1419 +# CONFIG_SCSI_STEX is not set
 44.1420 +# CONFIG_SCSI_SYM53C8XX_2 is not set
 44.1421 +# CONFIG_SCSI_IPR is not set
 44.1422 +# CONFIG_SCSI_PAS16 is not set
 44.1423 +# CONFIG_SCSI_QLOGIC_FAS is not set
 44.1424 +# CONFIG_SCSI_QLOGIC_1280 is not set
 44.1425 +# CONFIG_SCSI_QLA_FC is not set
 44.1426 +# CONFIG_SCSI_QLA_ISCSI is not set
 44.1427 +# CONFIG_SCSI_LPFC is not set
 44.1428 +# CONFIG_SCSI_SYM53C416 is not set
 44.1429 +# CONFIG_SCSI_DC395x is not set
 44.1430 +# CONFIG_SCSI_DC390T is not set
 44.1431 +# CONFIG_SCSI_T128 is not set
 44.1432 +# CONFIG_SCSI_U14_34F is not set
 44.1433 +# CONFIG_SCSI_ULTRASTOR is not set
 44.1434 +# CONFIG_SCSI_NSP32 is not set
 44.1435 +# CONFIG_SCSI_DEBUG is not set
 44.1436 +# CONFIG_SCSI_PMCRAID is not set
 44.1437 +# CONFIG_SCSI_PM8001 is not set
 44.1438 +# CONFIG_SCSI_SRP is not set
 44.1439 +# CONFIG_SCSI_BFA_FC is not set
 44.1440 +# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
 44.1441 +# CONFIG_SCSI_DH is not set
 44.1442 +# CONFIG_SCSI_OSD_INITIATOR is not set
 44.1443 +CONFIG_ATA=y
 44.1444 +# CONFIG_ATA_NONSTANDARD is not set
 44.1445 +CONFIG_ATA_VERBOSE_ERROR=y
 44.1446 +CONFIG_ATA_ACPI=y
 44.1447 +CONFIG_SATA_PMP=y
 44.1448 +
 44.1449 +#
 44.1450 +# Controllers with non-SFF native interface
 44.1451 +#
 44.1452 +CONFIG_SATA_AHCI=y
 44.1453 +# CONFIG_SATA_AHCI_PLATFORM is not set
 44.1454 +# CONFIG_SATA_INIC162X is not set
 44.1455 +# CONFIG_SATA_ACARD_AHCI is not set
 44.1456 +# CONFIG_SATA_SIL24 is not set
 44.1457 +CONFIG_ATA_SFF=y
 44.1458 +
 44.1459 +#
 44.1460 +# SFF controllers with custom DMA interface
 44.1461 +#
 44.1462 +# CONFIG_PDC_ADMA is not set
 44.1463 +# CONFIG_SATA_QSTOR is not set
 44.1464 +# CONFIG_SATA_SX4 is not set
 44.1465 +CONFIG_ATA_BMDMA=y
 44.1466 +
 44.1467 +#
 44.1468 +# SATA SFF controllers with BMDMA
 44.1469 +#
 44.1470 +CONFIG_ATA_PIIX=y
 44.1471 +# CONFIG_SATA_MV is not set
 44.1472 +CONFIG_SATA_NV=y
 44.1473 +# CONFIG_SATA_PROMISE is not set
 44.1474 +CONFIG_SATA_SIL=y
 44.1475 +CONFIG_SATA_SIS=y
 44.1476 +# CONFIG_SATA_SVW is not set
 44.1477 +# CONFIG_SATA_ULI is not set
 44.1478 +CONFIG_SATA_VIA=y
 44.1479 +# CONFIG_SATA_VITESSE is not set
 44.1480 +
 44.1481 +#
 44.1482 +# PATA SFF controllers with BMDMA
 44.1483 +#
 44.1484 +# CONFIG_PATA_ALI is not set
 44.1485 +# CONFIG_PATA_AMD is not set
 44.1486 +# CONFIG_PATA_ARTOP is not set
 44.1487 +# CONFIG_PATA_ATIIXP is not set
 44.1488 +# CONFIG_PATA_ATP867X is not set
 44.1489 +# CONFIG_PATA_CMD64X is not set
 44.1490 +# CONFIG_PATA_CS5520 is not set
 44.1491 +# CONFIG_PATA_CS5530 is not set
 44.1492 +# CONFIG_PATA_CS5535 is not set
 44.1493 +# CONFIG_PATA_CS5536 is not set
 44.1494 +# CONFIG_PATA_CYPRESS is not set
 44.1495 +# CONFIG_PATA_EFAR is not set
 44.1496 +# CONFIG_PATA_HPT366 is not set
 44.1497 +# CONFIG_PATA_HPT37X is not set
 44.1498 +# CONFIG_PATA_HPT3X2N is not set
 44.1499 +# CONFIG_PATA_HPT3X3 is not set
 44.1500 +# CONFIG_PATA_IT8213 is not set
 44.1501 +# CONFIG_PATA_IT821X is not set
 44.1502 +# CONFIG_PATA_JMICRON is not set
 44.1503 +# CONFIG_PATA_MARVELL is not set
 44.1504 +# CONFIG_PATA_NETCELL is not set
 44.1505 +# CONFIG_PATA_NINJA32 is not set
 44.1506 +# CONFIG_PATA_NS87415 is not set
 44.1507 +# CONFIG_PATA_OLDPIIX is not set
 44.1508 +# CONFIG_PATA_OPTIDMA is not set
 44.1509 +# CONFIG_PATA_PDC2027X is not set
 44.1510 +# CONFIG_PATA_PDC_OLD is not set
 44.1511 +# CONFIG_PATA_RADISYS is not set
 44.1512 +# CONFIG_PATA_RDC is not set
 44.1513 +# CONFIG_PATA_SC1200 is not set
 44.1514 +CONFIG_PATA_SCH=y
 44.1515 +# CONFIG_PATA_SERVERWORKS is not set
 44.1516 +# CONFIG_PATA_SIL680 is not set
 44.1517 +CONFIG_PATA_SIS=y
 44.1518 +# CONFIG_PATA_TOSHIBA is not set
 44.1519 +# CONFIG_PATA_TRIFLEX is not set
 44.1520 +# CONFIG_PATA_VIA is not set
 44.1521 +# CONFIG_PATA_WINBOND is not set
 44.1522 +
 44.1523 +#
 44.1524 +# PIO-only SFF controllers
 44.1525 +#
 44.1526 +# CONFIG_PATA_CMD640_PCI is not set
 44.1527 +# CONFIG_PATA_ISAPNP is not set
 44.1528 +# CONFIG_PATA_MPIIX is not set
 44.1529 +# CONFIG_PATA_NS87410 is not set
 44.1530 +# CONFIG_PATA_OPTI is not set
 44.1531 +# CONFIG_PATA_PCMCIA is not set
 44.1532 +# CONFIG_PATA_QDI is not set
 44.1533 +# CONFIG_PATA_RZ1000 is not set
 44.1534 +# CONFIG_PATA_WINBOND_VLB is not set
 44.1535 +
 44.1536 +#
 44.1537 +# Generic fallback / legacy drivers
 44.1538 +#
 44.1539 +# CONFIG_PATA_ACPI is not set
 44.1540 +# CONFIG_ATA_GENERIC is not set
 44.1541 +# CONFIG_PATA_LEGACY is not set
 44.1542 +CONFIG_MD=y
 44.1543 +CONFIG_BLK_DEV_MD=m
 44.1544 +CONFIG_MD_LINEAR=m
 44.1545 +CONFIG_MD_RAID0=m
 44.1546 +CONFIG_MD_RAID1=m
 44.1547 +CONFIG_MD_RAID10=m
 44.1548 +CONFIG_MD_RAID456=m
 44.1549 +# CONFIG_MULTICORE_RAID456 is not set
 44.1550 +# CONFIG_MD_MULTIPATH is not set
 44.1551 +# CONFIG_MD_FAULTY is not set
 44.1552 +CONFIG_BLK_DEV_DM=m
 44.1553 +# CONFIG_DM_DEBUG is not set
 44.1554 +CONFIG_DM_CRYPT=m
 44.1555 +CONFIG_DM_SNAPSHOT=m
 44.1556 +# CONFIG_DM_THIN_PROVISIONING is not set
 44.1557 +CONFIG_DM_MIRROR=m
 44.1558 +CONFIG_DM_RAID=m
 44.1559 +# CONFIG_DM_LOG_USERSPACE is not set
 44.1560 +# CONFIG_DM_ZERO is not set
 44.1561 +# CONFIG_DM_MULTIPATH is not set
 44.1562 +# CONFIG_DM_DELAY is not set
 44.1563 +# CONFIG_DM_UEVENT is not set
 44.1564 +# CONFIG_DM_FLAKEY is not set
 44.1565 +# CONFIG_TARGET_CORE is not set
 44.1566 +# CONFIG_FUSION is not set
 44.1567 +
 44.1568 +#
 44.1569 +# IEEE 1394 (FireWire) support
 44.1570 +#
 44.1571 +CONFIG_FIREWIRE=m
 44.1572 +CONFIG_FIREWIRE_OHCI=m
 44.1573 +CONFIG_FIREWIRE_OHCI_DEBUG=y
 44.1574 +CONFIG_FIREWIRE_SBP2=m
 44.1575 +CONFIG_FIREWIRE_NET=m
 44.1576 +CONFIG_FIREWIRE_NOSY=m
 44.1577 +# CONFIG_I2O is not set
 44.1578 +# CONFIG_MACINTOSH_DRIVERS is not set
 44.1579 +CONFIG_NETDEVICES=y
 44.1580 +CONFIG_NET_CORE=y
 44.1581 +CONFIG_BONDING=m
 44.1582 +CONFIG_DUMMY=y
 44.1583 +# CONFIG_EQUALIZER is not set
 44.1584 +CONFIG_NET_FC=y
 44.1585 +CONFIG_MII=y
 44.1586 +CONFIG_IFB=m
 44.1587 +CONFIG_MACVLAN=m
 44.1588 +CONFIG_MACVTAP=m
 44.1589 +# CONFIG_NETCONSOLE is not set
 44.1590 +# CONFIG_NETPOLL is not set
 44.1591 +# CONFIG_NET_POLL_CONTROLLER is not set
 44.1592 +CONFIG_TUN=y
 44.1593 +CONFIG_VETH=m
 44.1594 +CONFIG_VIRTIO_NET=m
 44.1595 +CONFIG_SUNGEM_PHY=m
 44.1596 +CONFIG_ARCNET=m
 44.1597 +CONFIG_ARCNET_1201=m
 44.1598 +CONFIG_ARCNET_1051=m
 44.1599 +CONFIG_ARCNET_RAW=m
 44.1600 +CONFIG_ARCNET_CAP=m
 44.1601 +CONFIG_ARCNET_COM90xx=m
 44.1602 +CONFIG_ARCNET_COM90xxIO=m
 44.1603 +CONFIG_ARCNET_RIM_I=m
 44.1604 +CONFIG_ARCNET_COM20020=m
 44.1605 +CONFIG_ARCNET_COM20020_ISA=m
 44.1606 +CONFIG_ARCNET_COM20020_PCI=m
 44.1607 +CONFIG_ARCNET_COM20020_CS=m
 44.1608 +# CONFIG_ATM_DRIVERS is not set
 44.1609 +
 44.1610 +#
 44.1611 +# CAIF transport drivers
 44.1612 +#
 44.1613 +CONFIG_ETHERNET=y
 44.1614 +CONFIG_MDIO=m
 44.1615 +CONFIG_NET_VENDOR_3COM=y
 44.1616 +CONFIG_EL1=m
 44.1617 +CONFIG_EL3=m
 44.1618 +CONFIG_3C515=m
 44.1619 +CONFIG_PCMCIA_3C574=m
 44.1620 +CONFIG_PCMCIA_3C589=m
 44.1621 +CONFIG_VORTEX=m
 44.1622 +CONFIG_TYPHOON=m
 44.1623 +CONFIG_NET_VENDOR_ADAPTEC=y
 44.1624 +CONFIG_ADAPTEC_STARFIRE=m
 44.1625 +CONFIG_NET_VENDOR_ALTEON=y
 44.1626 +CONFIG_ACENIC=y
 44.1627 +# CONFIG_ACENIC_OMIT_TIGON_I is not set
 44.1628 +CONFIG_NET_VENDOR_AMD=y
 44.1629 +CONFIG_AMD8111_ETH=m
 44.1630 +CONFIG_LANCE=m
 44.1631 +CONFIG_PCNET32=y
 44.1632 +CONFIG_DEPCA=m
 44.1633 +CONFIG_PCMCIA_NMCLAN=m
 44.1634 +CONFIG_NI65=m
 44.1635 +CONFIG_NET_VENDOR_ATHEROS=y
 44.1636 +CONFIG_ATL2=m
 44.1637 +CONFIG_ATL1=y
 44.1638 +CONFIG_ATL1E=m
 44.1639 +CONFIG_ATL1C=m
 44.1640 +CONFIG_NET_VENDOR_BROADCOM=y
 44.1641 +CONFIG_B44=m
 44.1642 +CONFIG_B44_PCI_AUTOSELECT=y
 44.1643 +CONFIG_B44_PCICORE_AUTOSELECT=y
 44.1644 +CONFIG_B44_PCI=y
 44.1645 +CONFIG_BNX2=m
 44.1646 +# CONFIG_CNIC is not set
 44.1647 +CONFIG_TIGON3=m
 44.1648 +CONFIG_BNX2X=m
 44.1649 +CONFIG_NET_VENDOR_BROCADE=y
 44.1650 +CONFIG_BNA=m
 44.1651 +CONFIG_NET_VENDOR_CHELSIO=y
 44.1652 +CONFIG_CHELSIO_T1=m
 44.1653 +CONFIG_CHELSIO_T1_1G=y
 44.1654 +CONFIG_CHELSIO_T3=m
 44.1655 +CONFIG_CHELSIO_T4=m
 44.1656 +CONFIG_CHELSIO_T4VF=m
 44.1657 +CONFIG_NET_VENDOR_CIRRUS=y
 44.1658 +CONFIG_CS89x0=m
 44.1659 +CONFIG_NET_VENDOR_CISCO=y
 44.1660 +CONFIG_ENIC=m
 44.1661 +CONFIG_DNET=m
 44.1662 +CONFIG_NET_VENDOR_DEC=y
 44.1663 +CONFIG_EWRK3=m
 44.1664 +CONFIG_NET_TULIP=y
 44.1665 +# CONFIG_DE2104X is not set
 44.1666 +CONFIG_TULIP=m
 44.1667 +# CONFIG_TULIP_MWI is not set
 44.1668 +# CONFIG_TULIP_MMIO is not set
 44.1669 +# CONFIG_TULIP_NAPI is not set
 44.1670 +CONFIG_DE4X5=y
 44.1671 +CONFIG_WINBOND_840=y
 44.1672 +CONFIG_DM9102=y
 44.1673 +CONFIG_ULI526X=m
 44.1674 +CONFIG_PCMCIA_XIRCOM=y
 44.1675 +CONFIG_NET_VENDOR_DLINK=y
 44.1676 +CONFIG_DE600=m
 44.1677 +CONFIG_DE620=m
 44.1678 +CONFIG_DL2K=m
 44.1679 +CONFIG_SUNDANCE=y
 44.1680 +# CONFIG_SUNDANCE_MMIO is not set
 44.1681 +CONFIG_NET_VENDOR_EMULEX=y
 44.1682 +CONFIG_BE2NET=m
 44.1683 +CONFIG_NET_VENDOR_EXAR=y
 44.1684 +CONFIG_S2IO=m
 44.1685 +CONFIG_VXGE=m
 44.1686 +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
 44.1687 +CONFIG_NET_VENDOR_FUJITSU=y
 44.1688 +# CONFIG_AT1700 is not set
 44.1689 +CONFIG_PCMCIA_FMVJ18X=m
 44.1690 +CONFIG_ETH16I=m
 44.1691 +CONFIG_NET_VENDOR_HP=y
 44.1692 +CONFIG_HP100=m
 44.1693 +CONFIG_NET_VENDOR_INTEL=y
 44.1694 +CONFIG_E100=y
 44.1695 +CONFIG_E1000=m
 44.1696 +CONFIG_E1000E=y
 44.1697 +# CONFIG_IGB is not set
 44.1698 +# CONFIG_IGBVF is not set
 44.1699 +CONFIG_IXGB=m
 44.1700 +CONFIG_IXGBE=m
 44.1701 +CONFIG_NET_VENDOR_I825XX=y
 44.1702 +CONFIG_ELPLUS=m
 44.1703 +# CONFIG_EL16 is not set
 44.1704 +CONFIG_APRICOT=m
 44.1705 +CONFIG_EEXPRESS=m
 44.1706 +CONFIG_EEXPRESS_PRO=m
 44.1707 +CONFIG_LP486E=m
 44.1708 +CONFIG_NI52=m
 44.1709 +# CONFIG_ZNET is not set
 44.1710 +CONFIG_IP1000=m
 44.1711 +# CONFIG_JME is not set
 44.1712 +CONFIG_NET_VENDOR_MARVELL=y
 44.1713 +CONFIG_SKGE=m
 44.1714 +# CONFIG_SKGE_GENESIS is not set
 44.1715 +CONFIG_SKY2=m
 44.1716 +CONFIG_NET_VENDOR_MELLANOX=y
 44.1717 +CONFIG_MLX4_EN=m
 44.1718 +CONFIG_MLX4_CORE=m
 44.1719 +CONFIG_MLX4_DEBUG=y
 44.1720 +CONFIG_NET_VENDOR_MICREL=y
 44.1721 +# CONFIG_KS8851_MLL is not set
 44.1722 +# CONFIG_KSZ884X_PCI is not set
 44.1723 +CONFIG_NET_VENDOR_MYRI=y
 44.1724 +CONFIG_MYRI10GE=m
 44.1725 +CONFIG_FEALNX=m
 44.1726 +CONFIG_NET_VENDOR_NATSEMI=y
 44.1727 +CONFIG_NATSEMI=y
 44.1728 +CONFIG_NS83820=y
 44.1729 +CONFIG_NET_VENDOR_8390=y
 44.1730 +CONFIG_EL2=m
 44.1731 +# CONFIG_AC3200 is not set
 44.1732 +CONFIG_PCMCIA_AXNET=m
 44.1733 +CONFIG_E2100=m
 44.1734 +CONFIG_HPLAN_PLUS=m
 44.1735 +CONFIG_HPLAN=m
 44.1736 +CONFIG_NE2000=m
 44.1737 +CONFIG_NE2K_PCI=y
 44.1738 +CONFIG_PCMCIA_PCNET=m
 44.1739 +CONFIG_ULTRA=m
 44.1740 +CONFIG_WD80x3=m
 44.1741 +CONFIG_NET_VENDOR_NVIDIA=y
 44.1742 +CONFIG_FORCEDETH=y
 44.1743 +CONFIG_NET_VENDOR_OKI=y
 44.1744 +# CONFIG_PCH_GBE is not set
 44.1745 +# CONFIG_ETHOC is not set
 44.1746 +# CONFIG_NET_PACKET_ENGINE is not set
 44.1747 +CONFIG_NET_VENDOR_QLOGIC=y
 44.1748 +CONFIG_QLA3XXX=y
 44.1749 +CONFIG_QLCNIC=m
 44.1750 +CONFIG_QLGE=m
 44.1751 +CONFIG_NETXEN_NIC=m
 44.1752 +CONFIG_NET_VENDOR_RACAL=y
 44.1753 +CONFIG_NET_VENDOR_REALTEK=y
 44.1754 +CONFIG_ATP=m
 44.1755 +# CONFIG_8139CP is not set
 44.1756 +CONFIG_8139TOO=y
 44.1757 +# CONFIG_8139TOO_PIO is not set
 44.1758 +CONFIG_8139TOO_TUNE_TWISTER=y
 44.1759 +CONFIG_8139TOO_8129=y
 44.1760 +# CONFIG_8139_OLD_RX_RESET is not set
 44.1761 +CONFIG_R8169=y
 44.1762 +CONFIG_NET_VENDOR_RDC=y
 44.1763 +CONFIG_R6040=m
 44.1764 +CONFIG_NET_VENDOR_SEEQ=y
 44.1765 +# CONFIG_SEEQ8005 is not set
 44.1766 +CONFIG_NET_VENDOR_SILAN=y
 44.1767 +CONFIG_SC92031=m
 44.1768 +CONFIG_NET_VENDOR_SIS=y
 44.1769 +CONFIG_SIS900=y
 44.1770 +CONFIG_SIS190=m
 44.1771 +CONFIG_SFC=m
 44.1772 +CONFIG_NET_VENDOR_SMSC=y
 44.1773 +CONFIG_SMC9194=m
 44.1774 +CONFIG_PCMCIA_SMC91C92=m
 44.1775 +CONFIG_EPIC100=y
 44.1776 +CONFIG_SMSC9420=m
 44.1777 +CONFIG_NET_VENDOR_STMICRO=y
 44.1778 +# CONFIG_STMMAC_ETH is not set
 44.1779 +CONFIG_NET_VENDOR_SUN=y
 44.1780 +CONFIG_HAPPYMEAL=m
 44.1781 +CONFIG_SUNGEM=m
 44.1782 +CONFIG_CASSINI=m
 44.1783 +CONFIG_NIU=m
 44.1784 +CONFIG_NET_VENDOR_TEHUTI=y
 44.1785 +CONFIG_TEHUTI=m
 44.1786 +CONFIG_NET_VENDOR_TI=y
 44.1787 +CONFIG_TLAN=y
 44.1788 +CONFIG_NET_VENDOR_VIA=y
 44.1789 +CONFIG_VIA_RHINE=y
 44.1790 +CONFIG_VIA_RHINE_MMIO=y
 44.1791 +CONFIG_VIA_VELOCITY=m
 44.1792 +CONFIG_NET_VENDOR_XIRCOM=y
 44.1793 +CONFIG_PCMCIA_XIRC2PS=m
 44.1794 +# CONFIG_FDDI is not set
 44.1795 +# CONFIG_HIPPI is not set
 44.1796 +CONFIG_NET_SB1000=m
 44.1797 +CONFIG_PHYLIB=m
 44.1798 +
 44.1799 +#
 44.1800 +# MII PHY device drivers
 44.1801 +#
 44.1802 +CONFIG_MARVELL_PHY=m
 44.1803 +CONFIG_DAVICOM_PHY=m
 44.1804 +CONFIG_QSEMI_PHY=m
 44.1805 +CONFIG_LXT_PHY=m
 44.1806 +CONFIG_CICADA_PHY=m
 44.1807 +# CONFIG_VITESSE_PHY is not set
 44.1808 +CONFIG_SMSC_PHY=m
 44.1809 +CONFIG_BROADCOM_PHY=m
 44.1810 +# CONFIG_ICPLUS_PHY is not set
 44.1811 +# CONFIG_REALTEK_PHY is not set
 44.1812 +# CONFIG_NATIONAL_PHY is not set
 44.1813 +# CONFIG_STE10XP is not set
 44.1814 +# CONFIG_LSI_ET1011C_PHY is not set
 44.1815 +# CONFIG_MICREL_PHY is not set
 44.1816 +# CONFIG_MDIO_BITBANG is not set
 44.1817 +# CONFIG_PLIP is not set
 44.1818 +CONFIG_PPP=y
 44.1819 +CONFIG_PPP_BSDCOMP=y
 44.1820 +CONFIG_PPP_DEFLATE=y
 44.1821 +CONFIG_PPP_FILTER=y
 44.1822 +CONFIG_PPP_MPPE=y
 44.1823 +# CONFIG_PPP_MULTILINK is not set
 44.1824 +CONFIG_PPPOATM=m
 44.1825 +CONFIG_PPPOE=y
 44.1826 +# CONFIG_PPTP is not set
 44.1827 +CONFIG_PPP_ASYNC=y
 44.1828 +# CONFIG_PPP_SYNC_TTY is not set
 44.1829 +# CONFIG_SLIP is not set
 44.1830 +CONFIG_SLHC=y
 44.1831 +# CONFIG_TR is not set
 44.1832 +
 44.1833 +#
 44.1834 +# USB Network Adapters
 44.1835 +#
 44.1836 +CONFIG_USB_CATC=m
 44.1837 +CONFIG_USB_KAWETH=m
 44.1838 +CONFIG_USB_PEGASUS=m
 44.1839 +CONFIG_USB_RTL8150=m
 44.1840 +CONFIG_USB_USBNET=m
 44.1841 +CONFIG_USB_NET_AX8817X=m
 44.1842 +CONFIG_USB_NET_CDCETHER=m
 44.1843 +CONFIG_USB_NET_CDC_EEM=m
 44.1844 +CONFIG_USB_NET_CDC_NCM=m
 44.1845 +CONFIG_USB_NET_DM9601=m
 44.1846 +CONFIG_USB_NET_SMSC75XX=m
 44.1847 +CONFIG_USB_NET_SMSC95XX=m
 44.1848 +CONFIG_USB_NET_GL620A=m
 44.1849 +CONFIG_USB_NET_NET1080=m
 44.1850 +CONFIG_USB_NET_PLUSB=m
 44.1851 +CONFIG_USB_NET_MCS7830=m
 44.1852 +CONFIG_USB_NET_RNDIS_HOST=m
 44.1853 +CONFIG_USB_NET_CDC_SUBSET=m
 44.1854 +CONFIG_USB_ALI_M5632=y
 44.1855 +CONFIG_USB_AN2720=y
 44.1856 +CONFIG_USB_BELKIN=y
 44.1857 +CONFIG_USB_ARMLINUX=y
 44.1858 +CONFIG_USB_EPSON2888=y
 44.1859 +CONFIG_USB_KC2190=y
 44.1860 +CONFIG_USB_NET_ZAURUS=m
 44.1861 +CONFIG_USB_NET_CX82310_ETH=m
 44.1862 +CONFIG_USB_NET_KALMIA=m
 44.1863 +CONFIG_USB_HSO=m
 44.1864 +CONFIG_USB_NET_INT51X1=m
 44.1865 +CONFIG_USB_IPHETH=m
 44.1866 +CONFIG_USB_SIERRA_NET=m
 44.1867 +CONFIG_USB_VL600=m
 44.1868 +CONFIG_WLAN=y
 44.1869 +CONFIG_PCMCIA_RAYCS=m
 44.1870 +CONFIG_LIBERTAS_THINFIRM=m
 44.1871 +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
 44.1872 +CONFIG_LIBERTAS_THINFIRM_USB=m
 44.1873 +CONFIG_AIRO=m
 44.1874 +CONFIG_ATMEL=m
 44.1875 +CONFIG_PCI_ATMEL=m
 44.1876 +CONFIG_PCMCIA_ATMEL=m
 44.1877 +CONFIG_AT76C50X_USB=m
 44.1878 +CONFIG_AIRO_CS=m
 44.1879 +CONFIG_PCMCIA_WL3501=m
 44.1880 +CONFIG_PRISM54=m
 44.1881 +CONFIG_USB_ZD1201=m
 44.1882 +CONFIG_USB_NET_RNDIS_WLAN=m
 44.1883 +CONFIG_RTL8180=m
 44.1884 +CONFIG_RTL8187=m
 44.1885 +CONFIG_RTL8187_LEDS=y
 44.1886 +CONFIG_ADM8211=m
 44.1887 +# CONFIG_MAC80211_HWSIM is not set
 44.1888 +CONFIG_MWL8K=m
 44.1889 +CONFIG_ATH_COMMON=m
 44.1890 +# CONFIG_ATH_DEBUG is not set
 44.1891 +CONFIG_ATH5K=m
 44.1892 +# CONFIG_ATH5K_DEBUG is not set
 44.1893 +CONFIG_ATH5K_PCI=y
 44.1894 +CONFIG_ATH9K_HW=m
 44.1895 +CONFIG_ATH9K_COMMON=m
 44.1896 +CONFIG_ATH9K=m
 44.1897 +CONFIG_ATH9K_PCI=y
 44.1898 +CONFIG_ATH9K_AHB=y
 44.1899 +CONFIG_ATH9K_RATE_CONTROL=y
 44.1900 +CONFIG_ATH9K_HTC=m
 44.1901 +# CONFIG_CARL9170 is not set
 44.1902 +CONFIG_ATH6KL=m
 44.1903 +# CONFIG_ATH6KL_DEBUG is not set
 44.1904 +CONFIG_B43=m
 44.1905 +CONFIG_B43_SSB=y
 44.1906 +CONFIG_B43_PCI_AUTOSELECT=y
 44.1907 +CONFIG_B43_PCICORE_AUTOSELECT=y
 44.1908 +CONFIG_B43_PCMCIA=y
 44.1909 +# CONFIG_B43_SDIO is not set
 44.1910 +CONFIG_B43_PIO=y
 44.1911 +# CONFIG_B43_PHY_N is not set
 44.1912 +CONFIG_B43_PHY_LP=y
 44.1913 +CONFIG_B43_PHY_HT=y
 44.1914 +CONFIG_B43_LEDS=y
 44.1915 +CONFIG_B43_HWRNG=y
 44.1916 +# CONFIG_B43_DEBUG is not set
 44.1917 +CONFIG_B43LEGACY=m
 44.1918 +CONFIG_B43LEGACY_PCI_AUTOSELECT=y
 44.1919 +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
 44.1920 +CONFIG_B43LEGACY_LEDS=y
 44.1921 +CONFIG_B43LEGACY_HWRNG=y
 44.1922 +# CONFIG_B43LEGACY_DEBUG is not set
 44.1923 +CONFIG_B43LEGACY_DMA=y
 44.1924 +CONFIG_B43LEGACY_PIO=y
 44.1925 +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
 44.1926 +# CONFIG_B43LEGACY_DMA_MODE is not set
 44.1927 +# CONFIG_B43LEGACY_PIO_MODE is not set
 44.1928 +CONFIG_BRCMUTIL=m
 44.1929 +CONFIG_BRCMSMAC=m
 44.1930 +CONFIG_BRCMFMAC=m
 44.1931 +# CONFIG_BRCMDBG is not set
 44.1932 +CONFIG_HOSTAP=m
 44.1933 +CONFIG_HOSTAP_FIRMWARE=y
 44.1934 +CONFIG_HOSTAP_FIRMWARE_NVRAM=y
 44.1935 +CONFIG_HOSTAP_PLX=m
 44.1936 +CONFIG_HOSTAP_PCI=m
 44.1937 +CONFIG_HOSTAP_CS=m
 44.1938 +CONFIG_IPW2100=m
 44.1939 +CONFIG_IPW2100_MONITOR=y
 44.1940 +# CONFIG_IPW2100_DEBUG is not set
 44.1941 +CONFIG_IPW2200=m
 44.1942 +CONFIG_IPW2200_MONITOR=y
 44.1943 +CONFIG_IPW2200_RADIOTAP=y
 44.1944 +CONFIG_IPW2200_PROMISCUOUS=y
 44.1945 +CONFIG_IPW2200_QOS=y
 44.1946 +# CONFIG_IPW2200_DEBUG is not set
 44.1947 +CONFIG_LIBIPW=m
 44.1948 +# CONFIG_LIBIPW_DEBUG is not set
 44.1949 +CONFIG_IWLWIFI=m
 44.1950 +
 44.1951 +#
 44.1952 +# Debugging Options
 44.1953 +#
 44.1954 +# CONFIG_IWLWIFI_DEBUG is not set
 44.1955 +# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
 44.1956 +CONFIG_IWLWIFI_LEGACY=m
 44.1957 +
 44.1958 +#
 44.1959 +# Debugging Options
 44.1960 +#
 44.1961 +# CONFIG_IWLWIFI_LEGACY_DEBUG is not set
 44.1962 +CONFIG_IWL4965=m
 44.1963 +CONFIG_IWL3945=m
 44.1964 +CONFIG_IWM=m
 44.1965 +CONFIG_LIBERTAS=m
 44.1966 +CONFIG_LIBERTAS_USB=m
 44.1967 +CONFIG_LIBERTAS_CS=m
 44.1968 +CONFIG_LIBERTAS_SDIO=m
 44.1969 +# CONFIG_LIBERTAS_DEBUG is not set
 44.1970 +CONFIG_LIBERTAS_MESH=y
 44.1971 +CONFIG_HERMES=m
 44.1972 +CONFIG_HERMES_PRISM=y
 44.1973 +CONFIG_HERMES_CACHE_FW_ON_INIT=y
 44.1974 +CONFIG_PLX_HERMES=m
 44.1975 +CONFIG_TMD_HERMES=m
 44.1976 +CONFIG_NORTEL_HERMES=m
 44.1977 +CONFIG_PCI_HERMES=m
 44.1978 +CONFIG_PCMCIA_HERMES=m
 44.1979 +CONFIG_PCMCIA_SPECTRUM=m
 44.1980 +CONFIG_ORINOCO_USB=m
 44.1981 +CONFIG_P54_COMMON=m
 44.1982 +CONFIG_P54_USB=m
 44.1983 +CONFIG_P54_PCI=m
 44.1984 +CONFIG_P54_LEDS=y
 44.1985 +CONFIG_RT2X00=m
 44.1986 +CONFIG_RT2400PCI=m
 44.1987 +CONFIG_RT2500PCI=m
 44.1988 +CONFIG_RT61PCI=m
 44.1989 +# CONFIG_RT2800PCI is not set
 44.1990 +CONFIG_RT2500USB=m
 44.1991 +CONFIG_RT73USB=m
 44.1992 +CONFIG_RT2800USB=m
 44.1993 +CONFIG_RT2800USB_RT33XX=y
 44.1994 +CONFIG_RT2800USB_RT35XX=y
 44.1995 +# CONFIG_RT2800USB_RT53XX is not set
 44.1996 +CONFIG_RT2800USB_UNKNOWN=y
 44.1997 +CONFIG_RT2800_LIB=m
 44.1998 +CONFIG_RT2X00_LIB_PCI=m
 44.1999 +CONFIG_RT2X00_LIB_USB=m
 44.2000 +CONFIG_RT2X00_LIB=m
 44.2001 +CONFIG_RT2X00_LIB_FIRMWARE=y
 44.2002 +CONFIG_RT2X00_LIB_CRYPTO=y
 44.2003 +CONFIG_RT2X00_LIB_LEDS=y
 44.2004 +# CONFIG_RT2X00_DEBUG is not set
 44.2005 +CONFIG_RTL8192CE=m
 44.2006 +CONFIG_RTL8192SE=m
 44.2007 +CONFIG_RTL8192DE=m
 44.2008 +CONFIG_RTL8192CU=m
 44.2009 +CONFIG_RTLWIFI=m
 44.2010 +CONFIG_RTL8192C_COMMON=m
 44.2011 +CONFIG_WL1251=m
 44.2012 +CONFIG_WL1251_SDIO=m
 44.2013 +CONFIG_WL12XX_MENU=m
 44.2014 +CONFIG_WL12XX=m
 44.2015 +CONFIG_WL12XX_SDIO=m
 44.2016 +CONFIG_WL12XX_SDIO_TEST=m
 44.2017 +CONFIG_WL12XX_PLATFORM_DATA=y
 44.2018 +CONFIG_ZD1211RW=m
 44.2019 +# CONFIG_ZD1211RW_DEBUG is not set
 44.2020 +CONFIG_MWIFIEX=m
 44.2021 +CONFIG_MWIFIEX_SDIO=m
 44.2022 +CONFIG_MWIFIEX_PCIE=m
 44.2023 +
 44.2024 +#
 44.2025 +# WiMAX Wireless Broadband devices
 44.2026 +#
 44.2027 +CONFIG_WIMAX_I2400M=m
 44.2028 +CONFIG_WIMAX_I2400M_USB=m
 44.2029 +CONFIG_WIMAX_I2400M_SDIO=m
 44.2030 +# CONFIG_WIMAX_IWMC3200_SDIO is not set
 44.2031 +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
 44.2032 +CONFIG_WAN=y
 44.2033 +CONFIG_HOSTESS_SV11=m
 44.2034 +CONFIG_COSA=m
 44.2035 +CONFIG_LANMEDIA=m
 44.2036 +CONFIG_SEALEVEL_4021=m
 44.2037 +CONFIG_HDLC=m
 44.2038 +CONFIG_HDLC_RAW=m
 44.2039 +CONFIG_HDLC_RAW_ETH=m
 44.2040 +CONFIG_HDLC_CISCO=m
 44.2041 +CONFIG_HDLC_FR=m
 44.2042 +CONFIG_HDLC_PPP=m
 44.2043 +
 44.2044 +#
 44.2045 +# X.25/LAPB support is disabled
 44.2046 +#
 44.2047 +CONFIG_PCI200SYN=m
 44.2048 +CONFIG_WANXL=m
 44.2049 +CONFIG_PC300TOO=m
 44.2050 +CONFIG_N2=m
 44.2051 +CONFIG_C101=m
 44.2052 +CONFIG_FARSYNC=m
 44.2053 +CONFIG_DSCC4=m
 44.2054 +CONFIG_DSCC4_PCISYNC=y
 44.2055 +# CONFIG_DSCC4_PCI_RST is not set
 44.2056 +CONFIG_DLCI=m
 44.2057 +CONFIG_DLCI_MAX=8
 44.2058 +CONFIG_SDLA=m
 44.2059 +# CONFIG_WAN_ROUTER_DRIVERS is not set
 44.2060 +CONFIG_SBNI=m
 44.2061 +CONFIG_SBNI_MULTILINE=y
 44.2062 +CONFIG_VMXNET3=m
 44.2063 +CONFIG_ISDN=y
 44.2064 +CONFIG_ISDN_I4L=m
 44.2065 +CONFIG_ISDN_PPP=y
 44.2066 +# CONFIG_ISDN_PPP_VJ is not set
 44.2067 +# CONFIG_ISDN_MPP is not set
 44.2068 +# CONFIG_IPPP_FILTER is not set
 44.2069 +CONFIG_ISDN_PPP_BSDCOMP=m
 44.2070 +# CONFIG_ISDN_AUDIO is not set
 44.2071 +
 44.2072 +#
 44.2073 +# ISDN feature submodules
 44.2074 +#
 44.2075 +# CONFIG_ISDN_DIVERSION is not set
 44.2076 +
 44.2077 +#
 44.2078 +# ISDN4Linux hardware drivers
 44.2079 +#
 44.2080 +
 44.2081 +#
 44.2082 +# Passive cards
 44.2083 +#
 44.2084 +# CONFIG_ISDN_DRV_HISAX is not set
 44.2085 +
 44.2086 +#
 44.2087 +# Active cards
 44.2088 +#
 44.2089 +# CONFIG_ISDN_DRV_ICN is not set
 44.2090 +# CONFIG_ISDN_DRV_PCBIT is not set
 44.2091 +# CONFIG_ISDN_DRV_SC is not set
 44.2092 +# CONFIG_ISDN_DRV_ACT2000 is not set
 44.2093 +CONFIG_ISDN_CAPI=m
 44.2094 +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
 44.2095 +CONFIG_CAPI_TRACE=y
 44.2096 +CONFIG_ISDN_CAPI_MIDDLEWARE=y
 44.2097 +CONFIG_ISDN_CAPI_CAPI20=m
 44.2098 +# CONFIG_ISDN_CAPI_CAPIDRV is not set
 44.2099 +
 44.2100 +#
 44.2101 +# CAPI hardware drivers
 44.2102 +#
 44.2103 +CONFIG_CAPI_AVM=y
 44.2104 +CONFIG_ISDN_DRV_AVMB1_B1ISA=m
 44.2105 +CONFIG_ISDN_DRV_AVMB1_B1PCI=m
 44.2106 +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
 44.2107 +CONFIG_ISDN_DRV_AVMB1_T1ISA=m
 44.2108 +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
 44.2109 +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
 44.2110 +CONFIG_ISDN_DRV_AVMB1_T1PCI=m
 44.2111 +CONFIG_ISDN_DRV_AVMB1_C4=m
 44.2112 +CONFIG_CAPI_EICON=y
 44.2113 +CONFIG_ISDN_DIVAS=m
 44.2114 +CONFIG_ISDN_DIVAS_BRIPCI=y
 44.2115 +CONFIG_ISDN_DIVAS_PRIPCI=y
 44.2116 +CONFIG_ISDN_DIVAS_DIVACAPI=m
 44.2117 +CONFIG_ISDN_DIVAS_USERIDI=m
 44.2118 +CONFIG_ISDN_DIVAS_MAINT=m
 44.2119 +# CONFIG_ISDN_DRV_GIGASET is not set
 44.2120 +# CONFIG_HYSDN is not set
 44.2121 +CONFIG_MISDN=m
 44.2122 +CONFIG_MISDN_DSP=m
 44.2123 +CONFIG_MISDN_L1OIP=m
 44.2124 +
 44.2125 +#
 44.2126 +# mISDN hardware drivers
 44.2127 +#
 44.2128 +CONFIG_MISDN_HFCPCI=m
 44.2129 +CONFIG_MISDN_HFCMULTI=m
 44.2130 +# CONFIG_MISDN_HFCUSB is not set
 44.2131 +CONFIG_MISDN_AVMFRITZ=m
 44.2132 +CONFIG_MISDN_SPEEDFAX=m
 44.2133 +CONFIG_MISDN_INFINEON=m
 44.2134 +CONFIG_MISDN_W6692=m
 44.2135 +CONFIG_MISDN_NETJET=m
 44.2136 +CONFIG_MISDN_IPAC=m
 44.2137 +CONFIG_MISDN_ISAR=m
 44.2138 +CONFIG_ISDN_HDLC=m
 44.2139 +# CONFIG_PHONE is not set
 44.2140 +
 44.2141 +#
 44.2142 +# Input device support
 44.2143 +#
 44.2144 +CONFIG_INPUT=y
 44.2145 +CONFIG_INPUT_FF_MEMLESS=y
 44.2146 +CONFIG_INPUT_POLLDEV=m
 44.2147 +CONFIG_INPUT_SPARSEKMAP=m
 44.2148 +
 44.2149 +#
 44.2150 +# Userland interfaces
 44.2151 +#
 44.2152 +CONFIG_INPUT_MOUSEDEV=y
 44.2153 +CONFIG_INPUT_MOUSEDEV_PSAUX=y
 44.2154 +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
 44.2155 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
 44.2156 +CONFIG_INPUT_JOYDEV=y
 44.2157 +CONFIG_INPUT_EVDEV=y
 44.2158 +# CONFIG_INPUT_EVBUG is not set
 44.2159 +
 44.2160 +#
 44.2161 +# Input Device Drivers
 44.2162 +#
 44.2163 +CONFIG_INPUT_KEYBOARD=y
 44.2164 +# CONFIG_KEYBOARD_ADP5588 is not set
 44.2165 +# CONFIG_KEYBOARD_ADP5589 is not set
 44.2166 +CONFIG_KEYBOARD_ATKBD=y
 44.2167 +# CONFIG_KEYBOARD_QT1070 is not set
 44.2168 +# CONFIG_KEYBOARD_QT2160 is not set
 44.2169 +# CONFIG_KEYBOARD_LKKBD is not set
 44.2170 +# CONFIG_KEYBOARD_GPIO is not set
 44.2171 +# CONFIG_KEYBOARD_GPIO_POLLED is not set
 44.2172 +# CONFIG_KEYBOARD_TCA6416 is not set
 44.2173 +# CONFIG_KEYBOARD_MATRIX is not set
 44.2174 +# CONFIG_KEYBOARD_LM8323 is not set
 44.2175 +# CONFIG_KEYBOARD_MAX7359 is not set
 44.2176 +# CONFIG_KEYBOARD_MCS is not set
 44.2177 +# CONFIG_KEYBOARD_MPR121 is not set
 44.2178 +# CONFIG_KEYBOARD_NEWTON is not set
 44.2179 +# CONFIG_KEYBOARD_OPENCORES is not set
 44.2180 +# CONFIG_KEYBOARD_STOWAWAY is not set
 44.2181 +# CONFIG_KEYBOARD_SUNKBD is not set
 44.2182 +# CONFIG_KEYBOARD_XTKBD is not set
 44.2183 +CONFIG_INPUT_MOUSE=y
 44.2184 +CONFIG_MOUSE_PS2=y
 44.2185 +CONFIG_MOUSE_PS2_ALPS=y
 44.2186 +CONFIG_MOUSE_PS2_LOGIPS2PP=y
 44.2187 +CONFIG_MOUSE_PS2_SYNAPTICS=y
 44.2188 +CONFIG_MOUSE_PS2_LIFEBOOK=y
 44.2189 +CONFIG_MOUSE_PS2_TRACKPOINT=y
 44.2190 +# CONFIG_MOUSE_PS2_ELANTECH is not set
 44.2191 +# CONFIG_MOUSE_PS2_SENTELIC is not set
 44.2192 +# CONFIG_MOUSE_PS2_TOUCHKIT is not set
 44.2193 +CONFIG_MOUSE_SERIAL=m
 44.2194 +# CONFIG_MOUSE_APPLETOUCH is not set
 44.2195 +# CONFIG_MOUSE_BCM5974 is not set
 44.2196 +CONFIG_MOUSE_INPORT=m
 44.2197 +# CONFIG_MOUSE_ATIXL is not set
 44.2198 +CONFIG_MOUSE_LOGIBM=m
 44.2199 +CONFIG_MOUSE_PC110PAD=m
 44.2200 +# CONFIG_MOUSE_VSXXXAA is not set
 44.2201 +# CONFIG_MOUSE_GPIO is not set
 44.2202 +# CONFIG_MOUSE_SYNAPTICS_I2C is not set
 44.2203 +CONFIG_INPUT_JOYSTICK=y
 44.2204 +CONFIG_JOYSTICK_ANALOG=m
 44.2205 +# CONFIG_JOYSTICK_A3D is not set
 44.2206 +# CONFIG_JOYSTICK_ADI is not set
 44.2207 +# CONFIG_JOYSTICK_COBRA is not set
 44.2208 +# CONFIG_JOYSTICK_GF2K is not set
 44.2209 +# CONFIG_JOYSTICK_GRIP is not set
 44.2210 +# CONFIG_JOYSTICK_GRIP_MP is not set
 44.2211 +# CONFIG_JOYSTICK_GUILLEMOT is not set
 44.2212 +# CONFIG_JOYSTICK_INTERACT is not set
 44.2213 +CONFIG_JOYSTICK_SIDEWINDER=m
 44.2214 +# CONFIG_JOYSTICK_TMDC is not set
 44.2215 +# CONFIG_JOYSTICK_IFORCE is not set
 44.2216 +# CONFIG_JOYSTICK_WARRIOR is not set
 44.2217 +# CONFIG_JOYSTICK_MAGELLAN is not set
 44.2218 +# CONFIG_JOYSTICK_SPACEORB is not set
 44.2219 +# CONFIG_JOYSTICK_SPACEBALL is not set
 44.2220 +# CONFIG_JOYSTICK_STINGER is not set
 44.2221 +# CONFIG_JOYSTICK_TWIDJOY is not set
 44.2222 +# CONFIG_JOYSTICK_ZHENHUA is not set
 44.2223 +# CONFIG_JOYSTICK_DB9 is not set
 44.2224 +# CONFIG_JOYSTICK_GAMECON is not set
 44.2225 +# CONFIG_JOYSTICK_TURBOGRAFX is not set
 44.2226 +CONFIG_JOYSTICK_AS5011=m
 44.2227 +# CONFIG_JOYSTICK_JOYDUMP is not set
 44.2228 +CONFIG_JOYSTICK_XPAD=m
 44.2229 +# CONFIG_JOYSTICK_XPAD_FF is not set
 44.2230 +# CONFIG_JOYSTICK_XPAD_LEDS is not set
 44.2231 +CONFIG_INPUT_TABLET=y
 44.2232 +# CONFIG_TABLET_USB_ACECAD is not set
 44.2233 +# CONFIG_TABLET_USB_AIPTEK is not set
 44.2234 +# CONFIG_TABLET_USB_GTCO is not set
 44.2235 +# CONFIG_TABLET_USB_HANWANG is not set
 44.2236 +# CONFIG_TABLET_USB_KBTAB is not set
 44.2237 +CONFIG_TABLET_USB_WACOM=m
 44.2238 +CONFIG_INPUT_TOUCHSCREEN=y
 44.2239 +CONFIG_TOUCHSCREEN_AD7879=m
 44.2240 +CONFIG_TOUCHSCREEN_AD7879_I2C=m
 44.2241 +# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
 44.2242 +# CONFIG_TOUCHSCREEN_BU21013 is not set
 44.2243 +CONFIG_TOUCHSCREEN_CY8CTMG110=m
 44.2244 +# CONFIG_TOUCHSCREEN_DYNAPRO is not set
 44.2245 +CONFIG_TOUCHSCREEN_HAMPSHIRE=m
 44.2246 +# CONFIG_TOUCHSCREEN_EETI is not set
 44.2247 +CONFIG_TOUCHSCREEN_FUJITSU=m
 44.2248 +CONFIG_TOUCHSCREEN_GUNZE=m
 44.2249 +CONFIG_TOUCHSCREEN_ELO=m
 44.2250 +CONFIG_TOUCHSCREEN_WACOM_W8001=m
 44.2251 +# CONFIG_TOUCHSCREEN_MAX11801 is not set
 44.2252 +# CONFIG_TOUCHSCREEN_MCS5000 is not set
 44.2253 +CONFIG_TOUCHSCREEN_MTOUCH=m
 44.2254 +CONFIG_TOUCHSCREEN_INEXIO=m
 44.2255 +CONFIG_TOUCHSCREEN_MK712=m
 44.2256 +CONFIG_TOUCHSCREEN_HTCPEN=m
 44.2257 +CONFIG_TOUCHSCREEN_PENMOUNT=m
 44.2258 +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
 44.2259 +CONFIG_TOUCHSCREEN_TOUCHWIN=m
 44.2260 +# CONFIG_TOUCHSCREEN_UCB1400 is not set
 44.2261 +CONFIG_TOUCHSCREEN_WM97XX=m
 44.2262 +CONFIG_TOUCHSCREEN_WM9705=y
 44.2263 +CONFIG_TOUCHSCREEN_WM9712=y
 44.2264 +CONFIG_TOUCHSCREEN_WM9713=y
 44.2265 +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
 44.2266 +CONFIG_TOUCHSCREEN_USB_EGALAX=y
 44.2267 +CONFIG_TOUCHSCREEN_USB_PANJIT=y
 44.2268 +CONFIG_TOUCHSCREEN_USB_3M=y
 44.2269 +CONFIG_TOUCHSCREEN_USB_ITM=y
 44.2270 +CONFIG_TOUCHSCREEN_USB_ETURBO=y
 44.2271 +CONFIG_TOUCHSCREEN_USB_GUNZE=y
 44.2272 +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
 44.2273 +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
 44.2274 +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
 44.2275 +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
 44.2276 +CONFIG_TOUCHSCREEN_USB_GOTOP=y
 44.2277 +CONFIG_TOUCHSCREEN_USB_JASTEC=y
 44.2278 +CONFIG_TOUCHSCREEN_USB_E2I=y
 44.2279 +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
 44.2280 +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
 44.2281 +CONFIG_TOUCHSCREEN_USB_NEXIO=y
 44.2282 +CONFIG_TOUCHSCREEN_TOUCHIT213=m
 44.2283 +CONFIG_TOUCHSCREEN_TSC_SERIO=m
 44.2284 +CONFIG_TOUCHSCREEN_TSC2007=m
 44.2285 +CONFIG_TOUCHSCREEN_ST1232=m
 44.2286 +CONFIG_TOUCHSCREEN_TPS6507X=m
 44.2287 +CONFIG_INPUT_MISC=y
 44.2288 +# CONFIG_INPUT_AB8500_PONKEY is not set
 44.2289 +CONFIG_INPUT_AD714X=m
 44.2290 +CONFIG_INPUT_AD714X_I2C=m
 44.2291 +CONFIG_INPUT_BMA150=m
 44.2292 +CONFIG_INPUT_PCSPKR=y
 44.2293 +CONFIG_INPUT_MMA8450=m
 44.2294 +CONFIG_INPUT_MPU3050=m
 44.2295 +# CONFIG_INPUT_APANEL is not set
 44.2296 +# CONFIG_INPUT_WISTRON_BTNS is not set
 44.2297 +# CONFIG_INPUT_ATLAS_BTNS is not set
 44.2298 +CONFIG_INPUT_ATI_REMOTE2=m
 44.2299 +# CONFIG_INPUT_KEYSPAN_REMOTE is not set
 44.2300 +CONFIG_INPUT_KXTJ9=m
 44.2301 +# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
 44.2302 +# CONFIG_INPUT_POWERMATE is not set
 44.2303 +# CONFIG_INPUT_YEALINK is not set
 44.2304 +# CONFIG_INPUT_CM109 is not set
 44.2305 +CONFIG_INPUT_UINPUT=m
 44.2306 +# CONFIG_INPUT_PCF50633_PMU is not set
 44.2307 +CONFIG_INPUT_PCF8574=m
 44.2308 +# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
 44.2309 +CONFIG_INPUT_ADXL34X=m
 44.2310 +CONFIG_INPUT_ADXL34X_I2C=m
 44.2311 +CONFIG_INPUT_CMA3000=m
 44.2312 +CONFIG_INPUT_CMA3000_I2C=m
 44.2313 +
 44.2314 +#
 44.2315 +# Hardware I/O ports
 44.2316 +#
 44.2317 +CONFIG_SERIO=y
 44.2318 +CONFIG_SERIO_I8042=y
 44.2319 +CONFIG_SERIO_SERPORT=y
 44.2320 +# CONFIG_SERIO_CT82C710 is not set
 44.2321 +# CONFIG_SERIO_PARKBD is not set
 44.2322 +CONFIG_SERIO_PCIPS2=y
 44.2323 +CONFIG_SERIO_LIBPS2=y
 44.2324 +CONFIG_SERIO_RAW=y
 44.2325 +# CONFIG_SERIO_ALTERA_PS2 is not set
 44.2326 +# CONFIG_SERIO_PS2MULT is not set
 44.2327 +CONFIG_GAMEPORT=m
 44.2328 +CONFIG_GAMEPORT_NS558=m
 44.2329 +# CONFIG_GAMEPORT_L4 is not set
 44.2330 +CONFIG_GAMEPORT_EMU10K1=m
 44.2331 +# CONFIG_GAMEPORT_FM801 is not set
 44.2332 +
 44.2333 +#
 44.2334 +# Character devices
 44.2335 +#
 44.2336 +CONFIG_VT=y
 44.2337 +CONFIG_CONSOLE_TRANSLATIONS=y
 44.2338 +CONFIG_VT_CONSOLE=y
 44.2339 +CONFIG_VT_CONSOLE_SLEEP=y
 44.2340 +CONFIG_HW_CONSOLE=y
 44.2341 +# CONFIG_VT_HW_CONSOLE_BINDING is not set
 44.2342 +CONFIG_UNIX98_PTYS=y
 44.2343 +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
 44.2344 +# CONFIG_LEGACY_PTYS is not set
 44.2345 +# CONFIG_SERIAL_NONSTANDARD is not set
 44.2346 +CONFIG_NOZOMI=m
 44.2347 +# CONFIG_N_GSM is not set
 44.2348 +# CONFIG_TRACE_SINK is not set
 44.2349 +CONFIG_DEVKMEM=y
 44.2350 +
 44.2351 +#
 44.2352 +# Serial drivers
 44.2353 +#
 44.2354 +CONFIG_SERIAL_8250=y
 44.2355 +# CONFIG_SERIAL_8250_CONSOLE is not set
 44.2356 +CONFIG_FIX_EARLYCON_MEM=y
 44.2357 +CONFIG_SERIAL_8250_PCI=y
 44.2358 +CONFIG_SERIAL_8250_PNP=y
 44.2359 +CONFIG_SERIAL_8250_CS=m
 44.2360 +CONFIG_SERIAL_8250_NR_UARTS=4
 44.2361 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4
 44.2362 +# CONFIG_SERIAL_8250_EXTENDED is not set
 44.2363 +
 44.2364 +#
 44.2365 +# Non-8250 serial port support
 44.2366 +#
 44.2367 +# CONFIG_SERIAL_MFD_HSU is not set
 44.2368 +# CONFIG_SERIAL_UARTLITE is not set
 44.2369 +CONFIG_SERIAL_CORE=y
 44.2370 +# CONFIG_SERIAL_JSM is not set
 44.2371 +# CONFIG_SERIAL_TIMBERDALE is not set
 44.2372 +# CONFIG_SERIAL_ALTERA_JTAGUART is not set
 44.2373 +# CONFIG_SERIAL_ALTERA_UART is not set
 44.2374 +# CONFIG_SERIAL_PCH_UART is not set
 44.2375 +# CONFIG_SERIAL_XILINX_PS_UART is not set
 44.2376 +CONFIG_PRINTER=m
 44.2377 +# CONFIG_LP_CONSOLE is not set
 44.2378 +# CONFIG_PPDEV is not set
 44.2379 +CONFIG_HVC_DRIVER=y
 44.2380 +CONFIG_VIRTIO_CONSOLE=y
 44.2381 +# CONFIG_IPMI_HANDLER is not set
 44.2382 +CONFIG_HW_RANDOM=y
 44.2383 +# CONFIG_HW_RANDOM_TIMERIOMEM is not set
 44.2384 +CONFIG_HW_RANDOM_INTEL=y
 44.2385 +CONFIG_HW_RANDOM_AMD=y
 44.2386 +CONFIG_HW_RANDOM_GEODE=y
 44.2387 +CONFIG_HW_RANDOM_VIA=y
 44.2388 +CONFIG_HW_RANDOM_VIRTIO=m
 44.2389 +CONFIG_NVRAM=y
 44.2390 +CONFIG_RTC=m
 44.2391 +CONFIG_GEN_RTC=m
 44.2392 +# CONFIG_GEN_RTC_X is not set
 44.2393 +# CONFIG_DTLK is not set
 44.2394 +# CONFIG_R3964 is not set
 44.2395 +# CONFIG_APPLICOM is not set
 44.2396 +# CONFIG_SONYPI is not set
 44.2397 +
 44.2398 +#
 44.2399 +# PCMCIA character devices
 44.2400 +#
 44.2401 +# CONFIG_SYNCLINK_CS is not set
 44.2402 +# CONFIG_CARDMAN_4000 is not set
 44.2403 +# CONFIG_CARDMAN_4040 is not set
 44.2404 +# CONFIG_IPWIRELESS is not set
 44.2405 +CONFIG_MWAVE=m
 44.2406 +# CONFIG_PC8736x_GPIO is not set
 44.2407 +# CONFIG_NSC_GPIO is not set
 44.2408 +# CONFIG_RAW_DRIVER is not set
 44.2409 +# CONFIG_HPET is not set
 44.2410 +# CONFIG_HANGCHECK_TIMER is not set
 44.2411 +# CONFIG_TCG_TPM is not set
 44.2412 +# CONFIG_TELCLOCK is not set
 44.2413 +CONFIG_DEVPORT=y
 44.2414 +# CONFIG_RAMOOPS is not set
 44.2415 +CONFIG_I2C=m
 44.2416 +CONFIG_I2C_BOARDINFO=y
 44.2417 +CONFIG_I2C_COMPAT=y
 44.2418 +# CONFIG_I2C_CHARDEV is not set
 44.2419 +# CONFIG_I2C_MUX is not set
 44.2420 +CONFIG_I2C_HELPER_AUTO=y
 44.2421 +CONFIG_I2C_ALGOBIT=m
 44.2422 +
 44.2423 +#
 44.2424 +# I2C Hardware Bus support
 44.2425 +#
 44.2426 +
 44.2427 +#
 44.2428 +# PC SMBus host controller drivers
 44.2429 +#
 44.2430 +# CONFIG_I2C_ALI1535 is not set
 44.2431 +# CONFIG_I2C_ALI1563 is not set
 44.2432 +# CONFIG_I2C_ALI15X3 is not set
 44.2433 +# CONFIG_I2C_AMD756 is not set
 44.2434 +# CONFIG_I2C_AMD8111 is not set
 44.2435 +# CONFIG_I2C_I801 is not set
 44.2436 +# CONFIG_I2C_ISCH is not set
 44.2437 +# CONFIG_I2C_PIIX4 is not set
 44.2438 +# CONFIG_I2C_NFORCE2 is not set
 44.2439 +# CONFIG_I2C_SIS5595 is not set
 44.2440 +# CONFIG_I2C_SIS630 is not set
 44.2441 +# CONFIG_I2C_SIS96X is not set
 44.2442 +# CONFIG_I2C_VIA is not set
 44.2443 +# CONFIG_I2C_VIAPRO is not set
 44.2444 +
 44.2445 +#
 44.2446 +# ACPI drivers
 44.2447 +#
 44.2448 +# CONFIG_I2C_SCMI is not set
 44.2449 +
 44.2450 +#
 44.2451 +# I2C system bus drivers (mostly embedded / system-on-chip)
 44.2452 +#
 44.2453 +CONFIG_I2C_DESIGNWARE_PCI=m
 44.2454 +# CONFIG_I2C_GPIO is not set
 44.2455 +# CONFIG_I2C_INTEL_MID is not set
 44.2456 +# CONFIG_I2C_OCORES is not set
 44.2457 +# CONFIG_I2C_PCA_PLATFORM is not set
 44.2458 +# CONFIG_I2C_PXA_PCI is not set
 44.2459 +# CONFIG_I2C_SIMTEC is not set
 44.2460 +# CONFIG_I2C_XILINX is not set
 44.2461 +# CONFIG_I2C_EG20T is not set
 44.2462 +
 44.2463 +#
 44.2464 +# External I2C/SMBus adapter drivers
 44.2465 +#
 44.2466 +# CONFIG_I2C_DIOLAN_U2C is not set
 44.2467 +# CONFIG_I2C_PARPORT is not set
 44.2468 +# CONFIG_I2C_PARPORT_LIGHT is not set
 44.2469 +# CONFIG_I2C_TAOS_EVM is not set
 44.2470 +# CONFIG_I2C_TINY_USB is not set
 44.2471 +
 44.2472 +#
 44.2473 +# Other I2C/SMBus bus drivers
 44.2474 +#
 44.2475 +# CONFIG_I2C_PCA_ISA is not set
 44.2476 +# CONFIG_I2C_STUB is not set
 44.2477 +# CONFIG_SCx200_ACB is not set
 44.2478 +# CONFIG_I2C_DEBUG_CORE is not set
 44.2479 +# CONFIG_I2C_DEBUG_ALGO is not set
 44.2480 +# CONFIG_I2C_DEBUG_BUS is not set
 44.2481 +# CONFIG_SPI is not set
 44.2482 +
 44.2483 +#
 44.2484 +# PPS support
 44.2485 +#
 44.2486 +# CONFIG_PPS is not set
 44.2487 +
 44.2488 +#
 44.2489 +# PPS generators support
 44.2490 +#
 44.2491 +
 44.2492 +#
 44.2493 +# PTP clock support
 44.2494 +#
 44.2495 +
 44.2496 +#
 44.2497 +# Enable Device Drivers -> PPS to see the PTP clock options.
 44.2498 +#
 44.2499 +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
 44.2500 +CONFIG_GPIOLIB=y
 44.2501 +# CONFIG_GPIO_SYSFS is not set
 44.2502 +CONFIG_GPIO_GENERIC=m
 44.2503 +
 44.2504 +#
 44.2505 +# Memory mapped GPIO drivers:
 44.2506 +#
 44.2507 +CONFIG_GPIO_GENERIC_PLATFORM=m
 44.2508 +# CONFIG_GPIO_IT8761E is not set
 44.2509 +# CONFIG_GPIO_SCH is not set
 44.2510 +# CONFIG_GPIO_VX855 is not set
 44.2511 +
 44.2512 +#
 44.2513 +# I2C GPIO expanders:
 44.2514 +#
 44.2515 +# CONFIG_GPIO_MAX7300 is not set
 44.2516 +# CONFIG_GPIO_MAX732X is not set
 44.2517 +# CONFIG_GPIO_PCA953X is not set
 44.2518 +# CONFIG_GPIO_PCF857X is not set
 44.2519 +# CONFIG_GPIO_ADP5588 is not set
 44.2520 +
 44.2521 +#
 44.2522 +# PCI GPIO expanders:
 44.2523 +#
 44.2524 +# CONFIG_GPIO_CS5535 is not set
 44.2525 +# CONFIG_GPIO_LANGWELL is not set
 44.2526 +# CONFIG_GPIO_PCH is not set
 44.2527 +# CONFIG_GPIO_ML_IOH is not set
 44.2528 +# CONFIG_GPIO_TIMBERDALE is not set
 44.2529 +# CONFIG_GPIO_RDC321X is not set
 44.2530 +
 44.2531 +#
 44.2532 +# SPI GPIO expanders:
 44.2533 +#
 44.2534 +CONFIG_GPIO_MCP23S08=m
 44.2535 +
 44.2536 +#
 44.2537 +# AC97 GPIO expanders:
 44.2538 +#
 44.2539 +# CONFIG_GPIO_UCB1400 is not set
 44.2540 +
 44.2541 +#
 44.2542 +# MODULbus GPIO expanders:
 44.2543 +#
 44.2544 +# CONFIG_GPIO_JANZ_TTL is not set
 44.2545 +# CONFIG_W1 is not set
 44.2546 +CONFIG_POWER_SUPPLY=y
 44.2547 +# CONFIG_POWER_SUPPLY_DEBUG is not set
 44.2548 +# CONFIG_PDA_POWER is not set
 44.2549 +# CONFIG_TEST_POWER is not set
 44.2550 +# CONFIG_BATTERY_DS2780 is not set
 44.2551 +# CONFIG_BATTERY_DS2782 is not set
 44.2552 +# CONFIG_BATTERY_BQ20Z75 is not set
 44.2553 +# CONFIG_BATTERY_BQ27x00 is not set
 44.2554 +# CONFIG_BATTERY_MAX17040 is not set
 44.2555 +# CONFIG_BATTERY_MAX17042 is not set
 44.2556 +# CONFIG_CHARGER_PCF50633 is not set
 44.2557 +# CONFIG_CHARGER_ISP1704 is not set
 44.2558 +# CONFIG_CHARGER_MAX8903 is not set
 44.2559 +# CONFIG_CHARGER_GPIO is not set
 44.2560 +CONFIG_HWMON=m
 44.2561 +CONFIG_HWMON_VID=m
 44.2562 +# CONFIG_HWMON_DEBUG_CHIP is not set
 44.2563 +
 44.2564 +#
 44.2565 +# Native drivers
 44.2566 +#
 44.2567 +CONFIG_SENSORS_ABITUGURU=m
 44.2568 +CONFIG_SENSORS_ABITUGURU3=m
 44.2569 +CONFIG_SENSORS_AD7414=m
 44.2570 +CONFIG_SENSORS_AD7418=m
 44.2571 +CONFIG_SENSORS_ADM1021=m
 44.2572 +CONFIG_SENSORS_ADM1025=m
 44.2573 +CONFIG_SENSORS_ADM1026=m
 44.2574 +CONFIG_SENSORS_ADM1029=m
 44.2575 +CONFIG_SENSORS_ADM1031=m
 44.2576 +CONFIG_SENSORS_ADM9240=m
 44.2577 +CONFIG_SENSORS_ADT7411=m
 44.2578 +CONFIG_SENSORS_ADT7462=m
 44.2579 +CONFIG_SENSORS_ADT7470=m
 44.2580 +CONFIG_SENSORS_ADT7475=m
 44.2581 +CONFIG_SENSORS_ASC7621=m
 44.2582 +CONFIG_SENSORS_K8TEMP=m
 44.2583 +CONFIG_SENSORS_K10TEMP=m
 44.2584 +# CONFIG_SENSORS_FAM15H_POWER is not set
 44.2585 +CONFIG_SENSORS_ASB100=m
 44.2586 +CONFIG_SENSORS_ATXP1=m
 44.2587 +CONFIG_SENSORS_DS620=m
 44.2588 +CONFIG_SENSORS_DS1621=m
 44.2589 +CONFIG_SENSORS_I5K_AMB=m
 44.2590 +CONFIG_SENSORS_F71805F=m
 44.2591 +CONFIG_SENSORS_F71882FG=m
 44.2592 +CONFIG_SENSORS_F75375S=m
 44.2593 +CONFIG_SENSORS_FSCHMD=m
 44.2594 +CONFIG_SENSORS_G760A=m
 44.2595 +CONFIG_SENSORS_GL518SM=m
 44.2596 +CONFIG_SENSORS_GL520SM=m
 44.2597 +CONFIG_SENSORS_GPIO_FAN=m
 44.2598 +CONFIG_SENSORS_CORETEMP=m
 44.2599 +CONFIG_SENSORS_IT87=m
 44.2600 +CONFIG_SENSORS_JC42=m
 44.2601 +# CONFIG_SENSORS_LINEAGE is not set
 44.2602 +CONFIG_SENSORS_LM63=m
 44.2603 +CONFIG_SENSORS_LM73=m
 44.2604 +CONFIG_SENSORS_LM75=m
 44.2605 +CONFIG_SENSORS_LM77=m
 44.2606 +CONFIG_SENSORS_LM78=m
 44.2607 +CONFIG_SENSORS_LM80=m
 44.2608 +CONFIG_SENSORS_LM83=m
 44.2609 +CONFIG_SENSORS_LM85=m
 44.2610 +CONFIG_SENSORS_LM87=m
 44.2611 +CONFIG_SENSORS_LM90=m
 44.2612 +CONFIG_SENSORS_LM92=m
 44.2613 +CONFIG_SENSORS_LM93=m
 44.2614 +# CONFIG_SENSORS_LTC4151 is not set
 44.2615 +CONFIG_SENSORS_LTC4215=m
 44.2616 +CONFIG_SENSORS_LTC4245=m
 44.2617 +CONFIG_SENSORS_LTC4261=m
 44.2618 +CONFIG_SENSORS_LM95241=m
 44.2619 +CONFIG_SENSORS_LM95245=m
 44.2620 +# CONFIG_SENSORS_MAX16065 is not set
 44.2621 +CONFIG_SENSORS_MAX1619=m
 44.2622 +CONFIG_SENSORS_MAX1668=m
 44.2623 +# CONFIG_SENSORS_MAX6639 is not set
 44.2624 +# CONFIG_SENSORS_MAX6642 is not set
 44.2625 +CONFIG_SENSORS_MAX6650=m
 44.2626 +CONFIG_SENSORS_NTC_THERMISTOR=m
 44.2627 +CONFIG_SENSORS_PC87360=m
 44.2628 +CONFIG_SENSORS_PC87427=m
 44.2629 +CONFIG_SENSORS_PCF8591=m
 44.2630 +# CONFIG_PMBUS is not set
 44.2631 +CONFIG_SENSORS_SHT15=m
 44.2632 +CONFIG_SENSORS_SHT21=m
 44.2633 +CONFIG_SENSORS_SIS5595=m
 44.2634 +CONFIG_SENSORS_SMM665=m
 44.2635 +CONFIG_SENSORS_DME1737=m
 44.2636 +CONFIG_SENSORS_EMC1403=m
 44.2637 +CONFIG_SENSORS_EMC2103=m
 44.2638 +# CONFIG_SENSORS_EMC6W201 is not set
 44.2639 +CONFIG_SENSORS_SMSC47M1=m
 44.2640 +CONFIG_SENSORS_SMSC47M192=m
 44.2641 +CONFIG_SENSORS_SMSC47B397=m
 44.2642 +CONFIG_SENSORS_SCH56XX_COMMON=m
 44.2643 +# CONFIG_SENSORS_SCH5627 is not set
 44.2644 +CONFIG_SENSORS_SCH5636=m
 44.2645 +# CONFIG_SENSORS_ADS1015 is not set
 44.2646 +CONFIG_SENSORS_ADS7828=m
 44.2647 +CONFIG_SENSORS_AMC6821=m
 44.2648 +CONFIG_SENSORS_THMC50=m
 44.2649 +CONFIG_SENSORS_TMP102=m
 44.2650 +CONFIG_SENSORS_TMP401=m
 44.2651 +CONFIG_SENSORS_TMP421=m
 44.2652 +CONFIG_SENSORS_VIA_CPUTEMP=m
 44.2653 +CONFIG_SENSORS_VIA686A=m
 44.2654 +CONFIG_SENSORS_VT1211=m
 44.2655 +CONFIG_SENSORS_VT8231=m
 44.2656 +CONFIG_SENSORS_W83781D=m
 44.2657 +CONFIG_SENSORS_W83791D=m
 44.2658 +CONFIG_SENSORS_W83792D=m
 44.2659 +CONFIG_SENSORS_W83793=m
 44.2660 +CONFIG_SENSORS_W83795=m
 44.2661 +# CONFIG_SENSORS_W83795_FANCTRL is not set
 44.2662 +CONFIG_SENSORS_W83L785TS=m
 44.2663 +CONFIG_SENSORS_W83L786NG=m
 44.2664 +CONFIG_SENSORS_W83627HF=m
 44.2665 +CONFIG_SENSORS_W83627EHF=m
 44.2666 +CONFIG_SENSORS_APPLESMC=m
 44.2667 +
 44.2668 +#
 44.2669 +# ACPI drivers
 44.2670 +#
 44.2671 +# CONFIG_SENSORS_ACPI_POWER is not set
 44.2672 +# CONFIG_SENSORS_ATK0110 is not set
 44.2673 +CONFIG_THERMAL=y
 44.2674 +CONFIG_WATCHDOG=y
 44.2675 +# CONFIG_WATCHDOG_CORE is not set
 44.2676 +# CONFIG_WATCHDOG_NOWAYOUT is not set
 44.2677 +
 44.2678 +#
 44.2679 +# Watchdog Device Drivers
 44.2680 +#
 44.2681 +CONFIG_SOFT_WATCHDOG=m
 44.2682 +# CONFIG_ACQUIRE_WDT is not set
 44.2683 +# CONFIG_ADVANTECH_WDT is not set
 44.2684 +# CONFIG_ALIM1535_WDT is not set
 44.2685 +# CONFIG_ALIM7101_WDT is not set
 44.2686 +# CONFIG_F71808E_WDT is not set
 44.2687 +# CONFIG_SP5100_TCO is not set
 44.2688 +# CONFIG_SC520_WDT is not set
 44.2689 +# CONFIG_SBC_FITPC2_WATCHDOG is not set
 44.2690 +# CONFIG_EUROTECH_WDT is not set
 44.2691 +# CONFIG_IB700_WDT is not set
 44.2692 +# CONFIG_IBMASR is not set
 44.2693 +# CONFIG_WAFER_WDT is not set
 44.2694 +# CONFIG_I6300ESB_WDT is not set
 44.2695 +# CONFIG_ITCO_WDT is not set
 44.2696 +# CONFIG_IT8712F_WDT is not set
 44.2697 +# CONFIG_IT87_WDT is not set
 44.2698 +# CONFIG_HP_WATCHDOG is not set
 44.2699 +# CONFIG_SC1200_WDT is not set
 44.2700 +# CONFIG_PC87413_WDT is not set
 44.2701 +# CONFIG_NV_TCO is not set
 44.2702 +# CONFIG_60XX_WDT is not set
 44.2703 +# CONFIG_SBC8360_WDT is not set
 44.2704 +# CONFIG_SBC7240_WDT is not set
 44.2705 +# CONFIG_CPU5_WDT is not set
 44.2706 +# CONFIG_SMSC_SCH311X_WDT is not set
 44.2707 +# CONFIG_SMSC37B787_WDT is not set
 44.2708 +# CONFIG_W83627HF_WDT is not set
 44.2709 +# CONFIG_W83697HF_WDT is not set
 44.2710 +# CONFIG_W83697UG_WDT is not set
 44.2711 +# CONFIG_W83877F_WDT is not set
 44.2712 +# CONFIG_W83977F_WDT is not set
 44.2713 +# CONFIG_MACHZ_WDT is not set
 44.2714 +# CONFIG_SBC_EPX_C3_WATCHDOG is not set
 44.2715 +
 44.2716 +#
 44.2717 +# ISA-based Watchdog Cards
 44.2718 +#
 44.2719 +# CONFIG_PCWATCHDOG is not set
 44.2720 +# CONFIG_MIXCOMWD is not set
 44.2721 +# CONFIG_WDT is not set
 44.2722 +
 44.2723 +#
 44.2724 +# PCI-based Watchdog Cards
 44.2725 +#
 44.2726 +# CONFIG_PCIPCWATCHDOG is not set
 44.2727 +# CONFIG_WDTPCI is not set
 44.2728 +
 44.2729 +#
 44.2730 +# USB-based Watchdog Cards
 44.2731 +#
 44.2732 +# CONFIG_USBPCWATCHDOG is not set
 44.2733 +CONFIG_SSB_POSSIBLE=y
 44.2734 +
 44.2735 +#
 44.2736 +# Sonics Silicon Backplane
 44.2737 +#
 44.2738 +CONFIG_SSB=m
 44.2739 +CONFIG_SSB_SPROM=y
 44.2740 +CONFIG_SSB_BLOCKIO=y
 44.2741 +CONFIG_SSB_PCIHOST_POSSIBLE=y
 44.2742 +CONFIG_SSB_PCIHOST=y
 44.2743 +CONFIG_SSB_B43_PCI_BRIDGE=y
 44.2744 +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
 44.2745 +CONFIG_SSB_PCMCIAHOST=y
 44.2746 +CONFIG_SSB_SDIOHOST_POSSIBLE=y
 44.2747 +# CONFIG_SSB_SDIOHOST is not set
 44.2748 +# CONFIG_SSB_DEBUG is not set
 44.2749 +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
 44.2750 +CONFIG_SSB_DRIVER_PCICORE=y
 44.2751 +CONFIG_BCMA_POSSIBLE=y
 44.2752 +
 44.2753 +#
 44.2754 +# Broadcom specific AMBA
 44.2755 +#
 44.2756 +# CONFIG_BCMA is not set
 44.2757 +
 44.2758 +#
 44.2759 +# Multifunction device drivers
 44.2760 +#
 44.2761 +CONFIG_MFD_CORE=y
 44.2762 +CONFIG_MFD_SM501=m
 44.2763 +CONFIG_MFD_SM501_GPIO=y
 44.2764 +CONFIG_HTC_PASIC3=m
 44.2765 +CONFIG_UCB1400_CORE=m
 44.2766 +CONFIG_TPS6105X=m
 44.2767 +CONFIG_TPS65010=m
 44.2768 +CONFIG_TPS6507X=m
 44.2769 +# CONFIG_MFD_TMIO is not set
 44.2770 +CONFIG_MFD_WM8400=m
 44.2771 +CONFIG_MFD_PCF50633=m
 44.2772 +CONFIG_PCF50633_ADC=m
 44.2773 +CONFIG_PCF50633_GPIO=m
 44.2774 +CONFIG_ABX500_CORE=y
 44.2775 +CONFIG_AB8500_CORE=y
 44.2776 +CONFIG_MFD_CS5535=m
 44.2777 +CONFIG_MFD_TIMBERDALE=m
 44.2778 +CONFIG_LPC_SCH=m
 44.2779 +CONFIG_MFD_RDC321X=m
 44.2780 +CONFIG_MFD_JANZ_CMODIO=m
 44.2781 +CONFIG_MFD_VX855=m
 44.2782 +CONFIG_MFD_WL1273_CORE=m
 44.2783 +CONFIG_REGULATOR=y
 44.2784 +# CONFIG_REGULATOR_DEBUG is not set
 44.2785 +# CONFIG_REGULATOR_DUMMY is not set
 44.2786 +CONFIG_REGULATOR_FIXED_VOLTAGE=m
 44.2787 +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
 44.2788 +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
 44.2789 +CONFIG_REGULATOR_GPIO=m
 44.2790 +# CONFIG_REGULATOR_BQ24022 is not set
 44.2791 +# CONFIG_REGULATOR_MAX1586 is not set
 44.2792 +# CONFIG_REGULATOR_MAX8649 is not set
 44.2793 +# CONFIG_REGULATOR_MAX8660 is not set
 44.2794 +# CONFIG_REGULATOR_MAX8952 is not set
 44.2795 +# CONFIG_REGULATOR_WM8400 is not set
 44.2796 +# CONFIG_REGULATOR_PCF50633 is not set
 44.2797 +# CONFIG_REGULATOR_LP3971 is not set
 44.2798 +# CONFIG_REGULATOR_LP3972 is not set
 44.2799 +CONFIG_REGULATOR_TPS6105X=m
 44.2800 +# CONFIG_REGULATOR_TPS65023 is not set
 44.2801 +# CONFIG_REGULATOR_TPS6507X is not set
 44.2802 +# CONFIG_REGULATOR_ISL6271A is not set
 44.2803 +# CONFIG_REGULATOR_AD5398 is not set
 44.2804 +# CONFIG_REGULATOR_AB8500 is not set
 44.2805 +CONFIG_MEDIA_SUPPORT=m
 44.2806 +
 44.2807 +#
 44.2808 +# Multimedia core support
 44.2809 +#
 44.2810 +CONFIG_MEDIA_CONTROLLER=y
 44.2811 +CONFIG_VIDEO_DEV=m
 44.2812 +CONFIG_VIDEO_V4L2_COMMON=m
 44.2813 +CONFIG_VIDEO_V4L2_SUBDEV_API=y
 44.2814 +CONFIG_DVB_CORE=m
 44.2815 +CONFIG_DVB_NET=y
 44.2816 +CONFIG_VIDEO_MEDIA=m
 44.2817 +
 44.2818 +#
 44.2819 +# Multimedia drivers
 44.2820 +#
 44.2821 +CONFIG_VIDEO_SAA7146=m
 44.2822 +CONFIG_VIDEO_SAA7146_VV=m
 44.2823 +CONFIG_RC_CORE=m
 44.2824 +CONFIG_LIRC=m
 44.2825 +CONFIG_RC_MAP=m
 44.2826 +CONFIG_IR_NEC_DECODER=m
 44.2827 +CONFIG_IR_RC5_DECODER=m
 44.2828 +CONFIG_IR_RC6_DECODER=m
 44.2829 +CONFIG_IR_JVC_DECODER=m
 44.2830 +CONFIG_IR_SONY_DECODER=m
 44.2831 +CONFIG_IR_RC5_SZ_DECODER=m
 44.2832 +CONFIG_IR_MCE_KBD_DECODER=m
 44.2833 +CONFIG_IR_LIRC_CODEC=m
 44.2834 +CONFIG_RC_ATI_REMOTE=m
 44.2835 +# CONFIG_IR_ENE is not set
 44.2836 +# CONFIG_IR_IMON is not set
 44.2837 +# CONFIG_IR_MCEUSB is not set
 44.2838 +# CONFIG_IR_ITE_CIR is not set
 44.2839 +# CONFIG_IR_FINTEK is not set
 44.2840 +# CONFIG_IR_NUVOTON is not set
 44.2841 +# CONFIG_IR_REDRAT3 is not set
 44.2842 +# CONFIG_IR_STREAMZAP is not set
 44.2843 +# CONFIG_IR_WINBOND_CIR is not set
 44.2844 +# CONFIG_RC_LOOPBACK is not set
 44.2845 +CONFIG_MEDIA_ATTACH=y
 44.2846 +CONFIG_MEDIA_TUNER=m
 44.2847 +CONFIG_MEDIA_TUNER_CUSTOMISE=y
 44.2848 +
 44.2849 +#
 44.2850 +# Customize TV tuners
 44.2851 +#
 44.2852 +CONFIG_MEDIA_TUNER_SIMPLE=m
 44.2853 +CONFIG_MEDIA_TUNER_TDA8290=m
 44.2854 +CONFIG_MEDIA_TUNER_TDA827X=m
 44.2855 +CONFIG_MEDIA_TUNER_TDA18271=m
 44.2856 +CONFIG_MEDIA_TUNER_TDA9887=m
 44.2857 +CONFIG_MEDIA_TUNER_TEA5761=m
 44.2858 +CONFIG_MEDIA_TUNER_TEA5767=m
 44.2859 +CONFIG_MEDIA_TUNER_MT20XX=m
 44.2860 +CONFIG_MEDIA_TUNER_MT2060=m
 44.2861 +CONFIG_MEDIA_TUNER_MT2266=m
 44.2862 +CONFIG_MEDIA_TUNER_MT2131=m
 44.2863 +CONFIG_MEDIA_TUNER_QT1010=m
 44.2864 +CONFIG_MEDIA_TUNER_XC2028=m
 44.2865 +CONFIG_MEDIA_TUNER_XC5000=m
 44.2866 +CONFIG_MEDIA_TUNER_XC4000=m
 44.2867 +CONFIG_MEDIA_TUNER_MXL5005S=m
 44.2868 +CONFIG_MEDIA_TUNER_MXL5007T=m
 44.2869 +CONFIG_MEDIA_TUNER_MC44S803=m
 44.2870 +CONFIG_MEDIA_TUNER_MAX2165=m
 44.2871 +CONFIG_MEDIA_TUNER_TDA18218=m
 44.2872 +CONFIG_MEDIA_TUNER_TDA18212=m
 44.2873 +CONFIG_VIDEO_V4L2=m
 44.2874 +CONFIG_VIDEOBUF_GEN=m
 44.2875 +CONFIG_VIDEOBUF_DMA_SG=m
 44.2876 +CONFIG_VIDEOBUF_VMALLOC=m
 44.2877 +CONFIG_VIDEOBUF_DVB=m
 44.2878 +CONFIG_VIDEO_BTCX=m
 44.2879 +CONFIG_VIDEO_TVEEPROM=m
 44.2880 +CONFIG_VIDEO_TUNER=m
 44.2881 +CONFIG_VIDEOBUF2_CORE=m
 44.2882 +CONFIG_VIDEOBUF2_MEMOPS=m
 44.2883 +CONFIG_VIDEOBUF2_DMA_CONTIG=m
 44.2884 +CONFIG_VIDEOBUF2_VMALLOC=m
 44.2885 +CONFIG_VIDEO_CAPTURE_DRIVERS=y
 44.2886 +# CONFIG_VIDEO_ADV_DEBUG is not set
 44.2887 +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
 44.2888 +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
 44.2889 +CONFIG_VIDEO_IR_I2C=m
 44.2890 +
 44.2891 +#
 44.2892 +# Audio decoders, processors and mixers
 44.2893 +#
 44.2894 +CONFIG_VIDEO_TVAUDIO=m
 44.2895 +CONFIG_VIDEO_TDA7432=m
 44.2896 +CONFIG_VIDEO_TDA9840=m
 44.2897 +CONFIG_VIDEO_TEA6415C=m
 44.2898 +CONFIG_VIDEO_TEA6420=m
 44.2899 +CONFIG_VIDEO_MSP3400=m
 44.2900 +CONFIG_VIDEO_CS5345=m
 44.2901 +CONFIG_VIDEO_CS53L32A=m
 44.2902 +CONFIG_VIDEO_WM8775=m
 44.2903 +CONFIG_VIDEO_WM8739=m
 44.2904 +CONFIG_VIDEO_VP27SMPX=m
 44.2905 +
 44.2906 +#
 44.2907 +# RDS decoders
 44.2908 +#
 44.2909 +CONFIG_VIDEO_SAA6588=m
 44.2910 +
 44.2911 +#
 44.2912 +# Video decoders
 44.2913 +#
 44.2914 +CONFIG_VIDEO_BT819=m
 44.2915 +CONFIG_VIDEO_BT856=m
 44.2916 +CONFIG_VIDEO_BT866=m
 44.2917 +CONFIG_VIDEO_KS0127=m
 44.2918 +CONFIG_VIDEO_SAA7110=m
 44.2919 +CONFIG_VIDEO_SAA711X=m
 44.2920 +CONFIG_VIDEO_TVP5150=m
 44.2921 +CONFIG_VIDEO_VPX3220=m
 44.2922 +
 44.2923 +#
 44.2924 +# Video and audio decoders
 44.2925 +#
 44.2926 +CONFIG_VIDEO_SAA717X=m
 44.2927 +CONFIG_VIDEO_CX25840=m
 44.2928 +
 44.2929 +#
 44.2930 +# MPEG video encoders
 44.2931 +#
 44.2932 +CONFIG_VIDEO_CX2341X=m
 44.2933 +
 44.2934 +#
 44.2935 +# Video encoders
 44.2936 +#
 44.2937 +CONFIG_VIDEO_SAA7127=m
 44.2938 +CONFIG_VIDEO_SAA7185=m
 44.2939 +CONFIG_VIDEO_ADV7170=m
 44.2940 +CONFIG_VIDEO_ADV7175=m
 44.2941 +
 44.2942 +#
 44.2943 +# Camera sensor devices
 44.2944 +#
 44.2945 +CONFIG_VIDEO_OV7670=m
 44.2946 +CONFIG_VIDEO_MT9V011=m
 44.2947 +
 44.2948 +#
 44.2949 +# Flash devices
 44.2950 +#
 44.2951 +
 44.2952 +#
 44.2953 +# Video improvement chips
 44.2954 +#
 44.2955 +CONFIG_VIDEO_UPD64031A=m
 44.2956 +CONFIG_VIDEO_UPD64083=m
 44.2957 +
 44.2958 +#
 44.2959 +# Miscelaneous helper chips
 44.2960 +#
 44.2961 +CONFIG_VIDEO_M52790=m
 44.2962 +CONFIG_VIDEO_VIVI=m
 44.2963 +CONFIG_VIDEO_BT848=m
 44.2964 +CONFIG_VIDEO_BT848_DVB=y
 44.2965 +CONFIG_VIDEO_PMS=m
 44.2966 +CONFIG_VIDEO_BWQCAM=m
 44.2967 +CONFIG_VIDEO_CQCAM=m
 44.2968 +CONFIG_VIDEO_W9966=m
 44.2969 +CONFIG_VIDEO_CPIA2=m
 44.2970 +CONFIG_VIDEO_ZORAN=m
 44.2971 +CONFIG_VIDEO_ZORAN_DC30=m
 44.2972 +CONFIG_VIDEO_ZORAN_ZR36060=m
 44.2973 +CONFIG_VIDEO_ZORAN_BUZ=m
 44.2974 +CONFIG_VIDEO_ZORAN_DC10=m
 44.2975 +CONFIG_VIDEO_ZORAN_LML33=m
 44.2976 +CONFIG_VIDEO_ZORAN_LML33R10=m
 44.2977 +CONFIG_VIDEO_ZORAN_AVS6EYES=m
 44.2978 +CONFIG_VIDEO_MEYE=m
 44.2979 +CONFIG_VIDEO_SAA7134=m
 44.2980 +CONFIG_VIDEO_SAA7134_ALSA=m
 44.2981 +CONFIG_VIDEO_SAA7134_RC=y
 44.2982 +CONFIG_VIDEO_SAA7134_DVB=m
 44.2983 +CONFIG_VIDEO_MXB=m
 44.2984 +CONFIG_VIDEO_HEXIUM_ORION=m
 44.2985 +CONFIG_VIDEO_HEXIUM_GEMINI=m
 44.2986 +CONFIG_VIDEO_CX88=m
 44.2987 +CONFIG_VIDEO_CX88_ALSA=m
 44.2988 +CONFIG_VIDEO_CX88_BLACKBIRD=m
 44.2989 +CONFIG_VIDEO_CX88_DVB=m
 44.2990 +CONFIG_VIDEO_CX88_MPEG=m
 44.2991 +CONFIG_VIDEO_CX88_VP3054=m
 44.2992 +CONFIG_VIDEO_CX23885=m
 44.2993 +CONFIG_MEDIA_ALTERA_CI=m
 44.2994 +# CONFIG_VIDEO_CX25821 is not set
 44.2995 +CONFIG_VIDEO_AU0828=m
 44.2996 +CONFIG_VIDEO_IVTV=m
 44.2997 +CONFIG_VIDEO_FB_IVTV=m
 44.2998 +CONFIG_VIDEO_CX18=m
 44.2999 +CONFIG_VIDEO_CX18_ALSA=m
 44.3000 +CONFIG_VIDEO_SAA7164=m
 44.3001 +CONFIG_VIDEO_CAFE_CCIC=m
 44.3002 +CONFIG_SOC_CAMERA=m
 44.3003 +CONFIG_SOC_CAMERA_IMX074=m
 44.3004 +CONFIG_SOC_CAMERA_MT9M001=m
 44.3005 +CONFIG_SOC_CAMERA_MT9M111=m
 44.3006 +CONFIG_SOC_CAMERA_MT9T031=m
 44.3007 +CONFIG_SOC_CAMERA_MT9T112=m
 44.3008 +CONFIG_SOC_CAMERA_MT9V022=m
 44.3009 +CONFIG_SOC_CAMERA_RJ54N1=m
 44.3010 +CONFIG_SOC_CAMERA_TW9910=m
 44.3011 +CONFIG_SOC_CAMERA_PLATFORM=m
 44.3012 +CONFIG_SOC_CAMERA_OV2640=m
 44.3013 +CONFIG_SOC_CAMERA_OV5642=m
 44.3014 +CONFIG_SOC_CAMERA_OV6650=m
 44.3015 +CONFIG_SOC_CAMERA_OV772X=m
 44.3016 +CONFIG_SOC_CAMERA_OV9640=m
 44.3017 +CONFIG_SOC_CAMERA_OV9740=m
 44.3018 +CONFIG_V4L_USB_DRIVERS=y
 44.3019 +CONFIG_USB_VIDEO_CLASS=m
 44.3020 +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
 44.3021 +CONFIG_USB_GSPCA=m
 44.3022 +# CONFIG_USB_M5602 is not set
 44.3023 +# CONFIG_USB_STV06XX is not set
 44.3024 +# CONFIG_USB_GL860 is not set
 44.3025 +# CONFIG_USB_GSPCA_BENQ is not set
 44.3026 +# CONFIG_USB_GSPCA_CONEX is not set
 44.3027 +# CONFIG_USB_GSPCA_CPIA1 is not set
 44.3028 +# CONFIG_USB_GSPCA_ETOMS is not set
 44.3029 +# CONFIG_USB_GSPCA_FINEPIX is not set
 44.3030 +# CONFIG_USB_GSPCA_JEILINJ is not set
 44.3031 +# CONFIG_USB_GSPCA_KINECT is not set
 44.3032 +# CONFIG_USB_GSPCA_KONICA is not set
 44.3033 +# CONFIG_USB_GSPCA_MARS is not set
 44.3034 +# CONFIG_USB_GSPCA_MR97310A is not set
 44.3035 +# CONFIG_USB_GSPCA_NW80X is not set
 44.3036 +# CONFIG_USB_GSPCA_OV519 is not set
 44.3037 +# CONFIG_USB_GSPCA_OV534 is not set
 44.3038 +# CONFIG_USB_GSPCA_OV534_9 is not set
 44.3039 +# CONFIG_USB_GSPCA_PAC207 is not set
 44.3040 +# CONFIG_USB_GSPCA_PAC7302 is not set
 44.3041 +# CONFIG_USB_GSPCA_PAC7311 is not set
 44.3042 +CONFIG_USB_GSPCA_SE401=m
 44.3043 +# CONFIG_USB_GSPCA_SN9C2028 is not set
 44.3044 +# CONFIG_USB_GSPCA_SN9C20X is not set
 44.3045 +# CONFIG_USB_GSPCA_SONIXB is not set
 44.3046 +# CONFIG_USB_GSPCA_SONIXJ is not set
 44.3047 +# CONFIG_USB_GSPCA_SPCA500 is not set
 44.3048 +# CONFIG_USB_GSPCA_SPCA501 is not set
 44.3049 +# CONFIG_USB_GSPCA_SPCA505 is not set
 44.3050 +# CONFIG_USB_GSPCA_SPCA506 is not set
 44.3051 +# CONFIG_USB_GSPCA_SPCA508 is not set
 44.3052 +# CONFIG_USB_GSPCA_SPCA561 is not set
 44.3053 +# CONFIG_USB_GSPCA_SPCA1528 is not set
 44.3054 +# CONFIG_USB_GSPCA_SQ905 is not set
 44.3055 +# CONFIG_USB_GSPCA_SQ905C is not set
 44.3056 +# CONFIG_USB_GSPCA_SQ930X is not set
 44.3057 +# CONFIG_USB_GSPCA_STK014 is not set
 44.3058 +# CONFIG_USB_GSPCA_STV0680 is not set
 44.3059 +# CONFIG_USB_GSPCA_SUNPLUS is not set
 44.3060 +# CONFIG_USB_GSPCA_T613 is not set
 44.3061 +CONFIG_USB_GSPCA_TOPRO=m
 44.3062 +# CONFIG_USB_GSPCA_TV8532 is not set
 44.3063 +# CONFIG_USB_GSPCA_VC032X is not set
 44.3064 +# CONFIG_USB_GSPCA_VICAM is not set
 44.3065 +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set
 44.3066 +# CONFIG_USB_GSPCA_ZC3XX is not set
 44.3067 +CONFIG_VIDEO_PVRUSB2=m
 44.3068 +CONFIG_VIDEO_PVRUSB2_SYSFS=y
 44.3069 +CONFIG_VIDEO_PVRUSB2_DVB=y
 44.3070 +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
 44.3071 +CONFIG_VIDEO_HDPVR=m
 44.3072 +CONFIG_VIDEO_EM28XX=m
 44.3073 +CONFIG_VIDEO_EM28XX_ALSA=m
 44.3074 +CONFIG_VIDEO_EM28XX_DVB=m
 44.3075 +CONFIG_VIDEO_EM28XX_RC=y
 44.3076 +CONFIG_VIDEO_TLG2300=m
 44.3077 +CONFIG_VIDEO_CX231XX=m
 44.3078 +CONFIG_VIDEO_CX231XX_RC=y
 44.3079 +CONFIG_VIDEO_CX231XX_ALSA=m
 44.3080 +CONFIG_VIDEO_CX231XX_DVB=m
 44.3081 +# CONFIG_VIDEO_TM6000 is not set
 44.3082 +CONFIG_VIDEO_USBVISION=m
 44.3083 +CONFIG_USB_ET61X251=m
 44.3084 +CONFIG_USB_SN9C102=m
 44.3085 +CONFIG_USB_PWC=m
 44.3086 +# CONFIG_USB_PWC_DEBUG is not set
 44.3087 +CONFIG_USB_PWC_INPUT_EVDEV=y
 44.3088 +CONFIG_USB_ZR364XX=m
 44.3089 +CONFIG_USB_STKWEBCAM=m
 44.3090 +CONFIG_USB_S2255=m
 44.3091 +# CONFIG_V4L_MEM2MEM_DRIVERS is not set
 44.3092 +CONFIG_RADIO_ADAPTERS=y
 44.3093 +CONFIG_RADIO_CADET=m
 44.3094 +CONFIG_RADIO_RTRACK=m
 44.3095 +CONFIG_RADIO_RTRACK2=m
 44.3096 +CONFIG_RADIO_AZTECH=m
 44.3097 +CONFIG_RADIO_GEMTEK=m
 44.3098 +CONFIG_RADIO_MAXIRADIO=m
 44.3099 +CONFIG_RADIO_MIROPCM20=m
 44.3100 +CONFIG_RADIO_SF16FMI=m
 44.3101 +CONFIG_RADIO_SF16FMR2=m
 44.3102 +CONFIG_RADIO_TERRATEC=m
 44.3103 +CONFIG_RADIO_TRUST=m
 44.3104 +CONFIG_RADIO_TYPHOON=m
 44.3105 +CONFIG_RADIO_ZOLTRIX=m
 44.3106 +CONFIG_I2C_SI4713=m
 44.3107 +CONFIG_RADIO_SI4713=m
 44.3108 +CONFIG_USB_DSBR=m
 44.3109 +CONFIG_RADIO_SI470X=y
 44.3110 +CONFIG_USB_SI470X=m
 44.3111 +CONFIG_I2C_SI470X=m
 44.3112 +CONFIG_USB_MR800=m
 44.3113 +CONFIG_RADIO_TEA5764=m
 44.3114 +CONFIG_RADIO_SAA7706H=m
 44.3115 +CONFIG_RADIO_TEF6862=m
 44.3116 +CONFIG_RADIO_TIMBERDALE=m
 44.3117 +CONFIG_RADIO_WL1273=m
 44.3118 +
 44.3119 +#
 44.3120 +# Texas Instruments WL128x FM driver (ST based)
 44.3121 +#
 44.3122 +CONFIG_RADIO_WL128X=m
 44.3123 +CONFIG_DVB_MAX_ADAPTERS=8
 44.3124 +CONFIG_DVB_DYNAMIC_MINORS=y
 44.3125 +CONFIG_DVB_CAPTURE_DRIVERS=y
 44.3126 +
 44.3127 +#
 44.3128 +# Supported SAA7146 based PCI Adapters
 44.3129 +#
 44.3130 +CONFIG_TTPCI_EEPROM=m
 44.3131 +CONFIG_DVB_AV7110=m
 44.3132 +CONFIG_DVB_AV7110_OSD=y
 44.3133 +CONFIG_DVB_BUDGET_CORE=m
 44.3134 +CONFIG_DVB_BUDGET=m
 44.3135 +CONFIG_DVB_BUDGET_CI=m
 44.3136 +CONFIG_DVB_BUDGET_AV=m
 44.3137 +CONFIG_DVB_BUDGET_PATCH=m
 44.3138 +
 44.3139 +#
 44.3140 +# Supported USB Adapters
 44.3141 +#
 44.3142 +CONFIG_DVB_USB=m
 44.3143 +# CONFIG_DVB_USB_DEBUG is not set
 44.3144 +CONFIG_DVB_USB_A800=m
 44.3145 +CONFIG_DVB_USB_DIBUSB_MB=m
 44.3146 +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
 44.3147 +CONFIG_DVB_USB_DIBUSB_MC=m
 44.3148 +CONFIG_DVB_USB_DIB0700=m
 44.3149 +CONFIG_DVB_USB_UMT_010=m
 44.3150 +CONFIG_DVB_USB_CXUSB=m
 44.3151 +CONFIG_DVB_USB_M920X=m
 44.3152 +CONFIG_DVB_USB_GL861=m
 44.3153 +CONFIG_DVB_USB_AU6610=m
 44.3154 +CONFIG_DVB_USB_DIGITV=m
 44.3155 +CONFIG_DVB_USB_VP7045=m
 44.3156 +CONFIG_DVB_USB_VP702X=m
 44.3157 +CONFIG_DVB_USB_GP8PSK=m
 44.3158 +CONFIG_DVB_USB_NOVA_T_USB2=m
 44.3159 +CONFIG_DVB_USB_TTUSB2=m
 44.3160 +CONFIG_DVB_USB_DTT200U=m
 44.3161 +CONFIG_DVB_USB_OPERA1=m
 44.3162 +CONFIG_DVB_USB_AF9005=m
 44.3163 +CONFIG_DVB_USB_AF9005_REMOTE=m
 44.3164 +CONFIG_DVB_USB_PCTV452E=m
 44.3165 +CONFIG_DVB_USB_DW2102=m
 44.3166 +CONFIG_DVB_USB_CINERGY_T2=m
 44.3167 +CONFIG_DVB_USB_ANYSEE=m
 44.3168 +CONFIG_DVB_USB_DTV5100=m
 44.3169 +CONFIG_DVB_USB_AF9015=m
 44.3170 +CONFIG_DVB_USB_CE6230=m
 44.3171 +CONFIG_DVB_USB_FRIIO=m
 44.3172 +CONFIG_DVB_USB_EC168=m
 44.3173 +CONFIG_DVB_USB_AZ6027=m
 44.3174 +CONFIG_DVB_USB_LME2510=m
 44.3175 +CONFIG_DVB_USB_TECHNISAT_USB2=m
 44.3176 +CONFIG_DVB_USB_IT913X=m
 44.3177 +CONFIG_DVB_USB_MXL111SF=m
 44.3178 +CONFIG_DVB_TTUSB_BUDGET=m
 44.3179 +CONFIG_DVB_TTUSB_DEC=m
 44.3180 +CONFIG_SMS_SIANO_MDTV=m
 44.3181 +
 44.3182 +#
 44.3183 +# Siano module components
 44.3184 +#
 44.3185 +CONFIG_SMS_USB_DRV=m
 44.3186 +CONFIG_SMS_SDIO_DRV=m
 44.3187 +
 44.3188 +#
 44.3189 +# Supported FlexCopII (B2C2) Adapters
 44.3190 +#
 44.3191 +CONFIG_DVB_B2C2_FLEXCOP=m
 44.3192 +CONFIG_DVB_B2C2_FLEXCOP_PCI=m
 44.3193 +CONFIG_DVB_B2C2_FLEXCOP_USB=m
 44.3194 +# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
 44.3195 +
 44.3196 +#
 44.3197 +# Supported BT878 Adapters
 44.3198 +#
 44.3199 +CONFIG_DVB_BT8XX=m
 44.3200 +
 44.3201 +#
 44.3202 +# Supported Pluto2 Adapters
 44.3203 +#
 44.3204 +CONFIG_DVB_PLUTO2=m
 44.3205 +
 44.3206 +#
 44.3207 +# Supported SDMC DM1105 Adapters
 44.3208 +#
 44.3209 +CONFIG_DVB_DM1105=m
 44.3210 +
 44.3211 +#
 44.3212 +# Supported FireWire (IEEE 1394) Adapters
 44.3213 +#
 44.3214 +CONFIG_DVB_FIREDTV=m
 44.3215 +CONFIG_DVB_FIREDTV_INPUT=y
 44.3216 +
 44.3217 +#
 44.3218 +# Supported Earthsoft PT1 Adapters
 44.3219 +#
 44.3220 +CONFIG_DVB_PT1=m
 44.3221 +
 44.3222 +#
 44.3223 +# Supported Mantis Adapters
 44.3224 +#
 44.3225 +CONFIG_MANTIS_CORE=m
 44.3226 +CONFIG_DVB_MANTIS=m
 44.3227 +CONFIG_DVB_HOPPER=m
 44.3228 +
 44.3229 +#
 44.3230 +# Supported nGene Adapters
 44.3231 +#
 44.3232 +CONFIG_DVB_NGENE=m
 44.3233 +
 44.3234 +#
 44.3235 +# Supported ddbridge ('Octopus') Adapters
 44.3236 +#
 44.3237 +CONFIG_DVB_DDBRIDGE=m
 44.3238 +
 44.3239 +#
 44.3240 +# Supported DVB Frontends
 44.3241 +#
 44.3242 +CONFIG_DVB_FE_CUSTOMISE=y
 44.3243 +
 44.3244 +#
 44.3245 +# Customise DVB Frontends
 44.3246 +#
 44.3247 +
 44.3248 +#
 44.3249 +# Multistandard (satellite) frontends
 44.3250 +#
 44.3251 +CONFIG_DVB_STB0899=m
 44.3252 +CONFIG_DVB_STB6100=m
 44.3253 +CONFIG_DVB_STV090x=m
 44.3254 +CONFIG_DVB_STV6110x=m
 44.3255 +
 44.3256 +#
 44.3257 +# Multistandard (cable + terrestrial) frontends
 44.3258 +#
 44.3259 +CONFIG_DVB_DRXK=m
 44.3260 +CONFIG_DVB_TDA18271C2DD=m
 44.3261 +
 44.3262 +#
 44.3263 +# DVB-S (satellite) frontends
 44.3264 +#
 44.3265 +CONFIG_DVB_CX24110=m
 44.3266 +CONFIG_DVB_CX24123=m
 44.3267 +CONFIG_DVB_MT312=m
 44.3268 +CONFIG_DVB_ZL10036=m
 44.3269 +CONFIG_DVB_ZL10039=m
 44.3270 +CONFIG_DVB_S5H1420=m
 44.3271 +CONFIG_DVB_STV0288=m
 44.3272 +CONFIG_DVB_STB6000=m
 44.3273 +CONFIG_DVB_STV0299=m
 44.3274 +CONFIG_DVB_STV6110=m
 44.3275 +CONFIG_DVB_STV0900=m
 44.3276 +CONFIG_DVB_TDA8083=m
 44.3277 +CONFIG_DVB_TDA10086=m
 44.3278 +CONFIG_DVB_TDA8261=m
 44.3279 +CONFIG_DVB_VES1X93=m
 44.3280 +CONFIG_DVB_TUNER_ITD1000=m
 44.3281 +CONFIG_DVB_TUNER_CX24113=m
 44.3282 +CONFIG_DVB_TDA826X=m
 44.3283 +CONFIG_DVB_TUA6100=m
 44.3284 +CONFIG_DVB_CX24116=m
 44.3285 +CONFIG_DVB_SI21XX=m
 44.3286 +CONFIG_DVB_DS3000=m
 44.3287 +CONFIG_DVB_MB86A16=m
 44.3288 +CONFIG_DVB_TDA10071=m
 44.3289 +
 44.3290 +#
 44.3291 +# DVB-T (terrestrial) frontends
 44.3292 +#
 44.3293 +CONFIG_DVB_SP8870=m
 44.3294 +CONFIG_DVB_SP887X=m
 44.3295 +CONFIG_DVB_CX22700=m
 44.3296 +CONFIG_DVB_CX22702=m
 44.3297 +CONFIG_DVB_S5H1432=m
 44.3298 +CONFIG_DVB_DRXD=m
 44.3299 +CONFIG_DVB_L64781=m
 44.3300 +CONFIG_DVB_TDA1004X=m
 44.3301 +CONFIG_DVB_NXT6000=m
 44.3302 +CONFIG_DVB_MT352=m
 44.3303 +CONFIG_DVB_ZL10353=m
 44.3304 +CONFIG_DVB_DIB3000MB=m
 44.3305 +CONFIG_DVB_DIB3000MC=m
 44.3306 +CONFIG_DVB_DIB7000M=m
 44.3307 +CONFIG_DVB_DIB7000P=m
 44.3308 +CONFIG_DVB_DIB9000=m
 44.3309 +CONFIG_DVB_TDA10048=m
 44.3310 +CONFIG_DVB_AF9013=m
 44.3311 +CONFIG_DVB_EC100=m
 44.3312 +CONFIG_DVB_STV0367=m
 44.3313 +CONFIG_DVB_CXD2820R=m
 44.3314 +
 44.3315 +#
 44.3316 +# DVB-C (cable) frontends
 44.3317 +#
 44.3318 +CONFIG_DVB_VES1820=m
 44.3319 +CONFIG_DVB_TDA10021=m
 44.3320 +CONFIG_DVB_TDA10023=m
 44.3321 +CONFIG_DVB_STV0297=m
 44.3322 +
 44.3323 +#
 44.3324 +# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
 44.3325 +#
 44.3326 +CONFIG_DVB_NXT200X=m
 44.3327 +CONFIG_DVB_OR51211=m
 44.3328 +CONFIG_DVB_OR51132=m
 44.3329 +CONFIG_DVB_BCM3510=m
 44.3330 +CONFIG_DVB_LGDT330X=m
 44.3331 +CONFIG_DVB_LGDT3305=m
 44.3332 +CONFIG_DVB_S5H1409=m
 44.3333 +CONFIG_DVB_AU8522=m
 44.3334 +CONFIG_DVB_S5H1411=m
 44.3335 +
 44.3336 +#
 44.3337 +# ISDB-T (terrestrial) frontends
 44.3338 +#
 44.3339 +CONFIG_DVB_S921=m
 44.3340 +CONFIG_DVB_DIB8000=m
 44.3341 +CONFIG_DVB_MB86A20S=m
 44.3342 +
 44.3343 +#
 44.3344 +# Digital terrestrial only tuners/PLL
 44.3345 +#
 44.3346 +CONFIG_DVB_PLL=m
 44.3347 +CONFIG_DVB_TUNER_DIB0070=m
 44.3348 +CONFIG_DVB_TUNER_DIB0090=m
 44.3349 +
 44.3350 +#
 44.3351 +# SEC control devices for DVB-S
 44.3352 +#
 44.3353 +CONFIG_DVB_LNBP21=m
 44.3354 +CONFIG_DVB_LNBP22=m
 44.3355 +CONFIG_DVB_ISL6405=m
 44.3356 +CONFIG_DVB_ISL6421=m
 44.3357 +CONFIG_DVB_ISL6423=m
 44.3358 +CONFIG_DVB_A8293=m
 44.3359 +CONFIG_DVB_LGS8GL5=m
 44.3360 +CONFIG_DVB_LGS8GXX=m
 44.3361 +CONFIG_DVB_ATBM8830=m
 44.3362 +CONFIG_DVB_TDA665x=m
 44.3363 +CONFIG_DVB_IX2505V=m
 44.3364 +CONFIG_DVB_IT913X_FE=m
 44.3365 +
 44.3366 +#
 44.3367 +# Tools to develop new frontends
 44.3368 +#
 44.3369 +# CONFIG_DVB_DUMMY_FE is not set
 44.3370 +
 44.3371 +#
 44.3372 +# Graphics support
 44.3373 +#
 44.3374 +CONFIG_AGP=m
 44.3375 +CONFIG_AGP_ALI=m
 44.3376 +CONFIG_AGP_ATI=m
 44.3377 +CONFIG_AGP_AMD=m
 44.3378 +CONFIG_AGP_AMD64=m
 44.3379 +CONFIG_AGP_INTEL=m
 44.3380 +CONFIG_AGP_NVIDIA=m
 44.3381 +CONFIG_AGP_SIS=m
 44.3382 +CONFIG_AGP_SWORKS=m
 44.3383 +CONFIG_AGP_VIA=m
 44.3384 +CONFIG_AGP_EFFICEON=m
 44.3385 +CONFIG_VGA_ARB=y
 44.3386 +CONFIG_VGA_ARB_MAX_GPUS=16
 44.3387 +CONFIG_VGA_SWITCHEROO=y
 44.3388 +CONFIG_DRM=m
 44.3389 +CONFIG_DRM_KMS_HELPER=m
 44.3390 +CONFIG_DRM_TTM=m
 44.3391 +# CONFIG_DRM_TDFX is not set
 44.3392 +CONFIG_DRM_R128=m
 44.3393 +CONFIG_DRM_RADEON=m
 44.3394 +CONFIG_DRM_RADEON_KMS=y
 44.3395 +CONFIG_DRM_I810=m
 44.3396 +CONFIG_DRM_I915=m
 44.3397 +CONFIG_DRM_I915_KMS=y
 44.3398 +CONFIG_DRM_MGA=m
 44.3399 +CONFIG_DRM_SIS=m
 44.3400 +CONFIG_DRM_VIA=m
 44.3401 +CONFIG_DRM_SAVAGE=m
 44.3402 +CONFIG_DRM_VMWGFX=m
 44.3403 +CONFIG_STUB_POULSBO=m
 44.3404 +# CONFIG_VGASTATE is not set
 44.3405 +CONFIG_VIDEO_OUTPUT_CONTROL=m
 44.3406 +CONFIG_FB=y
 44.3407 +# CONFIG_FIRMWARE_EDID is not set
 44.3408 +# CONFIG_FB_DDC is not set
 44.3409 +CONFIG_FB_BOOT_VESA_SUPPORT=y
 44.3410 +CONFIG_FB_CFB_FILLRECT=y
 44.3411 +CONFIG_FB_CFB_COPYAREA=y
 44.3412 +CONFIG_FB_CFB_IMAGEBLIT=y
 44.3413 +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
 44.3414 +CONFIG_FB_SYS_FILLRECT=m
 44.3415 +CONFIG_FB_SYS_COPYAREA=m
 44.3416 +CONFIG_FB_SYS_IMAGEBLIT=m
 44.3417 +# CONFIG_FB_FOREIGN_ENDIAN is not set
 44.3418 +CONFIG_FB_SYS_FOPS=m
 44.3419 +# CONFIG_FB_WMT_GE_ROPS is not set
 44.3420 +CONFIG_FB_DEFERRED_IO=y
 44.3421 +# CONFIG_FB_SVGALIB is not set
 44.3422 +# CONFIG_FB_MACMODES is not set
 44.3423 +CONFIG_FB_BACKLIGHT=y
 44.3424 +CONFIG_FB_MODE_HELPERS=y
 44.3425 +# CONFIG_FB_TILEBLITTING is not set
 44.3426 +
 44.3427 +#
 44.3428 +# Frame buffer hardware drivers
 44.3429 +#
 44.3430 +# CONFIG_FB_CIRRUS is not set
 44.3431 +# CONFIG_FB_PM2 is not set
 44.3432 +# CONFIG_FB_CYBER2000 is not set
 44.3433 +# CONFIG_FB_ARC is not set
 44.3434 +# CONFIG_FB_ASILIANT is not set
 44.3435 +# CONFIG_FB_IMSTT is not set
 44.3436 +# CONFIG_FB_VGA16 is not set
 44.3437 +# CONFIG_FB_UVESA is not set
 44.3438 +CONFIG_FB_VESA=y
 44.3439 +# CONFIG_FB_N411 is not set
 44.3440 +# CONFIG_FB_HGA is not set
 44.3441 +# CONFIG_FB_S1D13XXX is not set
 44.3442 +# CONFIG_FB_NVIDIA is not set
 44.3443 +# CONFIG_FB_RIVA is not set
 44.3444 +# CONFIG_FB_I810 is not set
 44.3445 +# CONFIG_FB_LE80578 is not set
 44.3446 +# CONFIG_FB_MATROX is not set
 44.3447 +# CONFIG_FB_RADEON is not set
 44.3448 +# CONFIG_FB_ATY128 is not set
 44.3449 +# CONFIG_FB_ATY is not set
 44.3450 +# CONFIG_FB_S3 is not set
 44.3451 +# CONFIG_FB_SAVAGE is not set
 44.3452 +# CONFIG_FB_SIS is not set
 44.3453 +# CONFIG_FB_VIA is not set
 44.3454 +# CONFIG_FB_NEOMAGIC is not set
 44.3455 +# CONFIG_FB_KYRO is not set
 44.3456 +# CONFIG_FB_3DFX is not set
 44.3457 +# CONFIG_FB_VOODOO1 is not set
 44.3458 +# CONFIG_FB_VT8623 is not set
 44.3459 +# CONFIG_FB_TRIDENT is not set
 44.3460 +# CONFIG_FB_ARK is not set
 44.3461 +# CONFIG_FB_PM3 is not set
 44.3462 +# CONFIG_FB_CARMINE is not set
 44.3463 +# CONFIG_FB_GEODE is not set
 44.3464 +# CONFIG_FB_TMIO is not set
 44.3465 +# CONFIG_FB_SM501 is not set
 44.3466 +CONFIG_FB_SMSCUFX=m
 44.3467 +# CONFIG_FB_UDL is not set
 44.3468 +# CONFIG_FB_VIRTUAL is not set
 44.3469 +# CONFIG_FB_METRONOME is not set
 44.3470 +# CONFIG_FB_MB862XX is not set
 44.3471 +# CONFIG_FB_BROADSHEET is not set
 44.3472 +CONFIG_BACKLIGHT_LCD_SUPPORT=y
 44.3473 +CONFIG_LCD_CLASS_DEVICE=m
 44.3474 +# CONFIG_LCD_PLATFORM is not set
 44.3475 +CONFIG_BACKLIGHT_CLASS_DEVICE=y
 44.3476 +CONFIG_BACKLIGHT_GENERIC=m
 44.3477 +CONFIG_BACKLIGHT_PROGEAR=m
 44.3478 +CONFIG_BACKLIGHT_APPLE=m
 44.3479 +CONFIG_BACKLIGHT_SAHARA=m
 44.3480 +CONFIG_BACKLIGHT_ADP8860=m
 44.3481 +CONFIG_BACKLIGHT_ADP8870=m
 44.3482 +# CONFIG_BACKLIGHT_PCF50633 is not set
 44.3483 +
 44.3484 +#
 44.3485 +# Display device support
 44.3486 +#
 44.3487 +# CONFIG_DISPLAY_SUPPORT is not set
 44.3488 +
 44.3489 +#
 44.3490 +# Console display driver support
 44.3491 +#
 44.3492 +CONFIG_VGA_CONSOLE=y
 44.3493 +# CONFIG_VGACON_SOFT_SCROLLBACK is not set
 44.3494 +# CONFIG_MDA_CONSOLE is not set
 44.3495 +CONFIG_DUMMY_CONSOLE=y
 44.3496 +CONFIG_FRAMEBUFFER_CONSOLE=y
 44.3497 +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 44.3498 +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
 44.3499 +# CONFIG_FONTS is not set
 44.3500 +CONFIG_FONT_8x8=y
 44.3501 +CONFIG_FONT_8x16=y
 44.3502 +CONFIG_LOGO=y
 44.3503 +# CONFIG_LOGO_LINUX_MONO is not set
 44.3504 +# CONFIG_LOGO_LINUX_VGA16 is not set
 44.3505 +CONFIG_LOGO_LINUX_CLUT224=y
 44.3506 +CONFIG_SOUND=m
 44.3507 +CONFIG_SOUND_OSS_CORE=y
 44.3508 +CONFIG_SOUND_OSS_CORE_PRECLAIM=y
 44.3509 +CONFIG_SND=m
 44.3510 +CONFIG_SND_TIMER=m
 44.3511 +CONFIG_SND_PCM=m
 44.3512 +CONFIG_SND_HWDEP=m
 44.3513 +CONFIG_SND_RAWMIDI=m
 44.3514 +CONFIG_SND_JACK=y
 44.3515 +CONFIG_SND_SEQUENCER=m
 44.3516 +# CONFIG_SND_SEQ_DUMMY is not set
 44.3517 +CONFIG_SND_OSSEMUL=y
 44.3518 +CONFIG_SND_MIXER_OSS=m
 44.3519 +CONFIG_SND_PCM_OSS=m
 44.3520 +CONFIG_SND_PCM_OSS_PLUGINS=y
 44.3521 +CONFIG_SND_SEQUENCER_OSS=y
 44.3522 +CONFIG_SND_RTCTIMER=m
 44.3523 +CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
 44.3524 +CONFIG_SND_DYNAMIC_MINORS=y
 44.3525 +CONFIG_SND_SUPPORT_OLD_API=y
 44.3526 +# CONFIG_SND_VERBOSE_PROCFS is not set
 44.3527 +# CONFIG_SND_VERBOSE_PRINTK is not set
 44.3528 +# CONFIG_SND_DEBUG is not set
 44.3529 +CONFIG_SND_VMASTER=y
 44.3530 +CONFIG_SND_DMA_SGBUF=y
 44.3531 +CONFIG_SND_RAWMIDI_SEQ=m
 44.3532 +CONFIG_SND_OPL3_LIB_SEQ=m
 44.3533 +CONFIG_SND_OPL4_LIB_SEQ=m
 44.3534 +CONFIG_SND_SBAWE_SEQ=m
 44.3535 +CONFIG_SND_EMU10K1_SEQ=m
 44.3536 +CONFIG_SND_MPU401_UART=m
 44.3537 +CONFIG_SND_OPL3_LIB=m
 44.3538 +CONFIG_SND_OPL4_LIB=m
 44.3539 +CONFIG_SND_VX_LIB=m
 44.3540 +CONFIG_SND_AC97_CODEC=m
 44.3541 +CONFIG_SND_DRIVERS=y
 44.3542 +# CONFIG_SND_DUMMY is not set
 44.3543 +CONFIG_SND_ALOOP=m
 44.3544 +CONFIG_SND_VIRMIDI=m
 44.3545 +# CONFIG_SND_MTPAV is not set
 44.3546 +CONFIG_SND_MTS64=m
 44.3547 +CONFIG_SND_SERIAL_U16550=m
 44.3548 +CONFIG_SND_MPU401=m
 44.3549 +CONFIG_SND_PORTMAN2X4=m
 44.3550 +CONFIG_SND_AC97_POWER_SAVE=y
 44.3551 +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
 44.3552 +CONFIG_SND_WSS_LIB=m
 44.3553 +CONFIG_SND_SB_COMMON=m
 44.3554 +CONFIG_SND_SB8_DSP=m
 44.3555 +CONFIG_SND_SB16_DSP=m
 44.3556 +CONFIG_SND_ISA=y
 44.3557 +CONFIG_SND_ADLIB=m
 44.3558 +CONFIG_SND_AD1816A=m
 44.3559 +CONFIG_SND_AD1848=m
 44.3560 +CONFIG_SND_ALS100=m
 44.3561 +CONFIG_SND_AZT1605=m
 44.3562 +CONFIG_SND_AZT2316=m
 44.3563 +CONFIG_SND_AZT2320=m
 44.3564 +CONFIG_SND_CMI8330=m
 44.3565 +CONFIG_SND_CS4231=m
 44.3566 +CONFIG_SND_CS4236=m
 44.3567 +CONFIG_SND_ES1688=m
 44.3568 +CONFIG_SND_ES18XX=m
 44.3569 +CONFIG_SND_SC6000=m
 44.3570 +CONFIG_SND_GUSCLASSIC=m
 44.3571 +CONFIG_SND_GUSEXTREME=m
 44.3572 +CONFIG_SND_GUSMAX=m
 44.3573 +CONFIG_SND_INTERWAVE=m
 44.3574 +CONFIG_SND_INTERWAVE_STB=m
 44.3575 +CONFIG_SND_JAZZ16=m
 44.3576 +CONFIG_SND_OPL3SA2=m
 44.3577 +CONFIG_SND_OPTI92X_AD1848=m
 44.3578 +CONFIG_SND_OPTI92X_CS4231=m
 44.3579 +CONFIG_SND_OPTI93X=m
 44.3580 +CONFIG_SND_MIRO=m
 44.3581 +CONFIG_SND_SB8=m
 44.3582 +CONFIG_SND_SB16=m
 44.3583 +CONFIG_SND_SBAWE=m
 44.3584 +CONFIG_SND_SB16_CSP=y
 44.3585 +CONFIG_SND_SSCAPE=m
 44.3586 +CONFIG_SND_WAVEFRONT=m
 44.3587 +CONFIG_SND_MSND_PINNACLE=m
 44.3588 +CONFIG_SND_MSND_CLASSIC=m
 44.3589 +CONFIG_SND_TEA575X=m
 44.3590 +CONFIG_SND_PCI=y
 44.3591 +CONFIG_SND_AD1889=m
 44.3592 +CONFIG_SND_ALS300=m
 44.3593 +CONFIG_SND_ALS4000=m
 44.3594 +CONFIG_SND_ALI5451=m
 44.3595 +CONFIG_SND_ASIHPI=m
 44.3596 +CONFIG_SND_ATIIXP=m
 44.3597 +CONFIG_SND_ATIIXP_MODEM=m
 44.3598 +CONFIG_SND_AU8810=m
 44.3599 +CONFIG_SND_AU8820=m
 44.3600 +CONFIG_SND_AU8830=m
 44.3601 +CONFIG_SND_AW2=m
 44.3602 +CONFIG_SND_AZT3328=m
 44.3603 +CONFIG_SND_BT87X=m
 44.3604 +# CONFIG_SND_BT87X_OVERCLOCK is not set
 44.3605 +CONFIG_SND_CA0106=m
 44.3606 +CONFIG_SND_CMIPCI=m
 44.3607 +CONFIG_SND_OXYGEN_LIB=m
 44.3608 +CONFIG_SND_OXYGEN=m
 44.3609 +CONFIG_SND_CS4281=m
 44.3610 +CONFIG_SND_CS46XX=m
 44.3611 +CONFIG_SND_CS46XX_NEW_DSP=y
 44.3612 +CONFIG_SND_CS5530=m
 44.3613 +CONFIG_SND_CS5535AUDIO=m
 44.3614 +CONFIG_SND_CTXFI=m
 44.3615 +CONFIG_SND_DARLA20=m
 44.3616 +CONFIG_SND_GINA20=m
 44.3617 +CONFIG_SND_LAYLA20=m
 44.3618 +CONFIG_SND_DARLA24=m
 44.3619 +CONFIG_SND_GINA24=m
 44.3620 +CONFIG_SND_LAYLA24=m
 44.3621 +CONFIG_SND_MONA=m
 44.3622 +CONFIG_SND_MIA=m
 44.3623 +CONFIG_SND_ECHO3G=m
 44.3624 +CONFIG_SND_INDIGO=m
 44.3625 +CONFIG_SND_INDIGOIO=m
 44.3626 +CONFIG_SND_INDIGODJ=m
 44.3627 +CONFIG_SND_INDIGOIOX=m
 44.3628 +CONFIG_SND_INDIGODJX=m
 44.3629 +CONFIG_SND_EMU10K1=m
 44.3630 +CONFIG_SND_EMU10K1X=m
 44.3631 +CONFIG_SND_ENS1370=m
 44.3632 +CONFIG_SND_ENS1371=m
 44.3633 +CONFIG_SND_ES1938=m
 44.3634 +CONFIG_SND_ES1968=m
 44.3635 +# CONFIG_SND_ES1968_INPUT is not set
 44.3636 +# CONFIG_SND_ES1968_RADIO is not set
 44.3637 +CONFIG_SND_FM801=m
 44.3638 +# CONFIG_SND_FM801_TEA575X_BOOL is not set
 44.3639 +CONFIG_SND_HDA_INTEL=m
 44.3640 +CONFIG_SND_HDA_PREALLOC_SIZE=64
 44.3641 +CONFIG_SND_HDA_HWDEP=y
 44.3642 +# CONFIG_SND_HDA_RECONFIG is not set
 44.3643 +# CONFIG_SND_HDA_INPUT_BEEP is not set
 44.3644 +# CONFIG_SND_HDA_INPUT_JACK is not set
 44.3645 +# CONFIG_SND_HDA_PATCH_LOADER is not set
 44.3646 +CONFIG_SND_HDA_CODEC_REALTEK=y
 44.3647 +CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
 44.3648 +CONFIG_SND_HDA_CODEC_ANALOG=y
 44.3649 +CONFIG_SND_HDA_CODEC_SIGMATEL=y
 44.3650 +CONFIG_SND_HDA_CODEC_VIA=y
 44.3651 +CONFIG_SND_HDA_CODEC_HDMI=y
 44.3652 +CONFIG_SND_HDA_CODEC_CIRRUS=y
 44.3653 +CONFIG_SND_HDA_CODEC_CONEXANT=y
 44.3654 +CONFIG_SND_HDA_CODEC_CA0110=y
 44.3655 +CONFIG_SND_HDA_CODEC_CA0132=y
 44.3656 +CONFIG_SND_HDA_CODEC_CMEDIA=y
 44.3657 +CONFIG_SND_HDA_CODEC_SI3054=y
 44.3658 +CONFIG_SND_HDA_GENERIC=y
 44.3659 +CONFIG_SND_HDA_POWER_SAVE=y
 44.3660 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=60
 44.3661 +CONFIG_SND_HDSP=m
 44.3662 +CONFIG_SND_HDSPM=m
 44.3663 +CONFIG_SND_ICE1712=m
 44.3664 +CONFIG_SND_ICE1724=m
 44.3665 +CONFIG_SND_INTEL8X0=m
 44.3666 +CONFIG_SND_INTEL8X0M=m
 44.3667 +CONFIG_SND_KORG1212=m
 44.3668 +CONFIG_SND_LOLA=m
 44.3669 +CONFIG_SND_LX6464ES=m
 44.3670 +CONFIG_SND_MAESTRO3=m
 44.3671 +# CONFIG_SND_MAESTRO3_INPUT is not set
 44.3672 +CONFIG_SND_MIXART=m
 44.3673 +CONFIG_SND_NM256=m
 44.3674 +CONFIG_SND_PCXHR=m
 44.3675 +CONFIG_SND_RIPTIDE=m
 44.3676 +CONFIG_SND_RME32=m
 44.3677 +CONFIG_SND_RME96=m
 44.3678 +CONFIG_SND_RME9652=m
 44.3679 +CONFIG_SND_SIS7019=m
 44.3680 +CONFIG_SND_SONICVIBES=m
 44.3681 +CONFIG_SND_TRIDENT=m
 44.3682 +CONFIG_SND_VIA82XX=m
 44.3683 +CONFIG_SND_VIA82XX_MODEM=m
 44.3684 +CONFIG_SND_VIRTUOSO=m
 44.3685 +CONFIG_SND_VX222=m
 44.3686 +CONFIG_SND_YMFPCI=m
 44.3687 +CONFIG_SND_USB=y
 44.3688 +CONFIG_SND_USB_AUDIO=m
 44.3689 +CONFIG_SND_USB_UA101=m
 44.3690 +CONFIG_SND_USB_USX2Y=m
 44.3691 +CONFIG_SND_USB_CAIAQ=m
 44.3692 +# CONFIG_SND_USB_CAIAQ_INPUT is not set
 44.3693 +CONFIG_SND_USB_US122L=m
 44.3694 +CONFIG_SND_USB_6FIRE=m
 44.3695 +CONFIG_SND_FIREWIRE=y
 44.3696 +# CONFIG_SND_FIREWIRE_SPEAKERS is not set
 44.3697 +# CONFIG_SND_ISIGHT is not set
 44.3698 +CONFIG_SND_PCMCIA=y
 44.3699 +CONFIG_SND_VXPOCKET=m
 44.3700 +CONFIG_SND_PDAUDIOCF=m
 44.3701 +# CONFIG_SND_SOC is not set
 44.3702 +# CONFIG_SOUND_PRIME is not set
 44.3703 +CONFIG_AC97_BUS=m
 44.3704 +CONFIG_HID_SUPPORT=y
 44.3705 +CONFIG_HID=y
 44.3706 +# CONFIG_HIDRAW is not set
 44.3707 +
 44.3708 +#
 44.3709 +# USB Input Devices
 44.3710 +#
 44.3711 +CONFIG_USB_HID=y
 44.3712 +# CONFIG_HID_PID is not set
 44.3713 +CONFIG_USB_HIDDEV=y
 44.3714 +
 44.3715 +#
 44.3716 +# Special HID drivers
 44.3717 +#
 44.3718 +CONFIG_HID_A4TECH=y
 44.3719 +# CONFIG_HID_ACRUX is not set
 44.3720 +CONFIG_HID_APPLE=y
 44.3721 +CONFIG_HID_BELKIN=y
 44.3722 +CONFIG_HID_CHERRY=y
 44.3723 +CONFIG_HID_CHICONY=y
 44.3724 +# CONFIG_HID_PRODIKEYS is not set
 44.3725 +CONFIG_HID_CYPRESS=y
 44.3726 +CONFIG_HID_DRAGONRISE=y
 44.3727 +# CONFIG_DRAGONRISE_FF is not set
 44.3728 +# CONFIG_HID_EMS_FF is not set
 44.3729 +CONFIG_HID_EZKEY=y
 44.3730 +CONFIG_HID_HOLTEK=m
 44.3731 +# CONFIG_HOLTEK_FF is not set
 44.3732 +# CONFIG_HID_KEYTOUCH is not set
 44.3733 +CONFIG_HID_KYE=y
 44.3734 +# CONFIG_HID_UCLOGIC is not set
 44.3735 +# CONFIG_HID_WALTOP is not set
 44.3736 +CONFIG_HID_GYRATION=y
 44.3737 +CONFIG_HID_TWINHAN=y
 44.3738 +CONFIG_HID_KENSINGTON=y
 44.3739 +# CONFIG_HID_LCPOWER is not set
 44.3740 +CONFIG_HID_LOGITECH=y
 44.3741 +CONFIG_HID_LOGITECH_DJ=m
 44.3742 +# CONFIG_LOGITECH_FF is not set
 44.3743 +# CONFIG_LOGIRUMBLEPAD2_FF is not set
 44.3744 +# CONFIG_LOGIG940_FF is not set
 44.3745 +CONFIG_LOGIWHEELS_FF=y
 44.3746 +CONFIG_HID_MICROSOFT=y
 44.3747 +CONFIG_HID_MONTEREY=y
 44.3748 +# CONFIG_HID_MULTITOUCH is not set
 44.3749 +CONFIG_HID_NTRIG=y
 44.3750 +CONFIG_HID_ORTEK=y
 44.3751 +CONFIG_HID_PANTHERLORD=y
 44.3752 +# CONFIG_PANTHERLORD_FF is not set
 44.3753 +CONFIG_HID_PETALYNX=y
 44.3754 +# CONFIG_HID_PICOLCD is not set
 44.3755 +CONFIG_HID_PRIMAX=m
 44.3756 +# CONFIG_HID_QUANTA is not set
 44.3757 +# CONFIG_HID_ROCCAT is not set
 44.3758 +CONFIG_HID_SAMSUNG=y
 44.3759 +CONFIG_HID_SONY=y
 44.3760 +CONFIG_HID_SPEEDLINK=m
 44.3761 +CONFIG_HID_SUNPLUS=y
 44.3762 +CONFIG_HID_GREENASIA=y
 44.3763 +# CONFIG_GREENASIA_FF is not set
 44.3764 +CONFIG_HID_SMARTJOYPLUS=y
 44.3765 +# CONFIG_SMARTJOYPLUS_FF is not set
 44.3766 +CONFIG_HID_TOPSEED=y
 44.3767 +CONFIG_HID_THRUSTMASTER=y
 44.3768 +# CONFIG_THRUSTMASTER_FF is not set
 44.3769 +CONFIG_HID_ZEROPLUS=y
 44.3770 +# CONFIG_ZEROPLUS_FF is not set
 44.3771 +# CONFIG_HID_ZYDACRON is not set
 44.3772 +CONFIG_USB_SUPPORT=y
 44.3773 +CONFIG_USB_COMMON=y
 44.3774 +CONFIG_USB_ARCH_HAS_HCD=y
 44.3775 +CONFIG_USB_ARCH_HAS_OHCI=y
 44.3776 +CONFIG_USB_ARCH_HAS_EHCI=y
 44.3777 +CONFIG_USB_ARCH_HAS_XHCI=y
 44.3778 +CONFIG_USB=y
 44.3779 +# CONFIG_USB_DEBUG is not set
 44.3780 +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
 44.3781 +
 44.3782 +#
 44.3783 +# Miscellaneous USB options
 44.3784 +#
 44.3785 +CONFIG_USB_DEVICEFS=y
 44.3786 +CONFIG_USB_DEVICE_CLASS=y
 44.3787 +# CONFIG_USB_DYNAMIC_MINORS is not set
 44.3788 +CONFIG_USB_DWC3=m
 44.3789 +# CONFIG_USB_DWC3_DEBUG is not set
 44.3790 +CONFIG_USB_MON=m
 44.3791 +CONFIG_USB_WUSB=m
 44.3792 +CONFIG_USB_WUSB_CBAF=m
 44.3793 +# CONFIG_USB_WUSB_CBAF_DEBUG is not set
 44.3794 +
 44.3795 +#
 44.3796 +# USB Host Controller Drivers
 44.3797 +#
 44.3798 +CONFIG_USB_C67X00_HCD=m
 44.3799 +CONFIG_USB_XHCI_HCD=m
 44.3800 +# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
 44.3801 +CONFIG_USB_EHCI_HCD=y
 44.3802 +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
 44.3803 +# CONFIG_USB_EHCI_TT_NEWSCHED is not set
 44.3804 +CONFIG_USB_OXU210HP_HCD=m
 44.3805 +CONFIG_USB_ISP116X_HCD=m
 44.3806 +CONFIG_USB_ISP1760_HCD=m
 44.3807 +CONFIG_USB_ISP1362_HCD=m
 44.3808 +CONFIG_USB_OHCI_HCD=y
 44.3809 +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
 44.3810 +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
 44.3811 +CONFIG_USB_OHCI_LITTLE_ENDIAN=y
 44.3812 +CONFIG_USB_UHCI_HCD=y
 44.3813 +CONFIG_USB_U132_HCD=m
 44.3814 +CONFIG_USB_SL811_HCD=m
 44.3815 +CONFIG_USB_SL811_HCD_ISO=y
 44.3816 +CONFIG_USB_SL811_CS=m
 44.3817 +CONFIG_USB_R8A66597_HCD=m
 44.3818 +CONFIG_USB_RENESAS_USBHS_HCD=m
 44.3819 +CONFIG_USB_WHCI_HCD=m
 44.3820 +# CONFIG_USB_HWA_HCD is not set
 44.3821 +CONFIG_USB_RENESAS_USBHS=m
 44.3822 +
 44.3823 +#
 44.3824 +# USB Device Class drivers
 44.3825 +#
 44.3826 +CONFIG_USB_ACM=m
 44.3827 +CONFIG_USB_PRINTER=m
 44.3828 +CONFIG_USB_WDM=m
 44.3829 +# CONFIG_USB_TMC is not set
 44.3830 +
 44.3831 +#
 44.3832 +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
 44.3833 +#
 44.3834 +
 44.3835 +#
 44.3836 +# also be needed; see USB_STORAGE Help for more info
 44.3837 +#
 44.3838 +CONFIG_USB_STORAGE=y
 44.3839 +# CONFIG_USB_STORAGE_DEBUG is not set
 44.3840 +CONFIG_USB_STORAGE_REALTEK=m
 44.3841 +CONFIG_USB_STORAGE_DATAFAB=m
 44.3842 +CONFIG_USB_STORAGE_FREECOM=m
 44.3843 +CONFIG_USB_STORAGE_ISD200=m
 44.3844 +CONFIG_USB_STORAGE_USBAT=m
 44.3845 +CONFIG_USB_STORAGE_SDDR09=m
 44.3846 +CONFIG_USB_STORAGE_SDDR55=m
 44.3847 +CONFIG_USB_STORAGE_JUMPSHOT=m
 44.3848 +CONFIG_USB_STORAGE_ALAUDA=m
 44.3849 +CONFIG_USB_STORAGE_ONETOUCH=m
 44.3850 +CONFIG_USB_STORAGE_KARMA=m
 44.3851 +CONFIG_USB_STORAGE_CYPRESS_ATACB=m
 44.3852 +CONFIG_USB_STORAGE_ENE_UB6250=m
 44.3853 +CONFIG_USB_UAS=m
 44.3854 +# CONFIG_USB_LIBUSUAL is not set
 44.3855 +
 44.3856 +#
 44.3857 +# USB Imaging devices
 44.3858 +#
 44.3859 +CONFIG_USB_MDC800=m
 44.3860 +CONFIG_USB_MICROTEK=m
 44.3861 +
 44.3862 +#
 44.3863 +# USB port drivers
 44.3864 +#
 44.3865 +CONFIG_USB_USS720=m
 44.3866 +CONFIG_USB_SERIAL=m
 44.3867 +# CONFIG_USB_EZUSB is not set
 44.3868 +CONFIG_USB_SERIAL_GENERIC=y
 44.3869 +# CONFIG_USB_SERIAL_AIRCABLE is not set
 44.3870 +# CONFIG_USB_SERIAL_ARK3116 is not set
 44.3871 +# CONFIG_USB_SERIAL_BELKIN is not set
 44.3872 +CONFIG_USB_SERIAL_CH341=m
 44.3873 +# CONFIG_USB_SERIAL_WHITEHEAT is not set
 44.3874 +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
 44.3875 +# CONFIG_USB_SERIAL_CP210X is not set
 44.3876 +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
 44.3877 +# CONFIG_USB_SERIAL_EMPEG is not set
 44.3878 +# CONFIG_USB_SERIAL_FTDI_SIO is not set
 44.3879 +# CONFIG_USB_SERIAL_FUNSOFT is not set
 44.3880 +# CONFIG_USB_SERIAL_VISOR is not set
 44.3881 +# CONFIG_USB_SERIAL_IPAQ is not set
 44.3882 +# CONFIG_USB_SERIAL_IR is not set
 44.3883 +# CONFIG_USB_SERIAL_EDGEPORT is not set
 44.3884 +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
 44.3885 +# CONFIG_USB_SERIAL_GARMIN is not set
 44.3886 +# CONFIG_USB_SERIAL_IPW is not set
 44.3887 +# CONFIG_USB_SERIAL_IUU is not set
 44.3888 +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
 44.3889 +# CONFIG_USB_SERIAL_KEYSPAN is not set
 44.3890 +# CONFIG_USB_SERIAL_KLSI is not set
 44.3891 +# CONFIG_USB_SERIAL_KOBIL_SCT is not set
 44.3892 +# CONFIG_USB_SERIAL_MCT_U232 is not set
 44.3893 +# CONFIG_USB_SERIAL_MOS7720 is not set
 44.3894 +# CONFIG_USB_SERIAL_MOS7840 is not set
 44.3895 +# CONFIG_USB_SERIAL_MOTOROLA is not set
 44.3896 +# CONFIG_USB_SERIAL_NAVMAN is not set
 44.3897 +CONFIG_USB_SERIAL_PL2303=m
 44.3898 +# CONFIG_USB_SERIAL_OTI6858 is not set
 44.3899 +# CONFIG_USB_SERIAL_QCAUX is not set
 44.3900 +# CONFIG_USB_SERIAL_QUALCOMM is not set
 44.3901 +# CONFIG_USB_SERIAL_SPCP8X5 is not set
 44.3902 +# CONFIG_USB_SERIAL_HP4X is not set
 44.3903 +# CONFIG_USB_SERIAL_SAFE is not set
 44.3904 +# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
 44.3905 +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
 44.3906 +# CONFIG_USB_SERIAL_SYMBOL is not set
 44.3907 +# CONFIG_USB_SERIAL_TI is not set
 44.3908 +# CONFIG_USB_SERIAL_CYBERJACK is not set
 44.3909 +# CONFIG_USB_SERIAL_XIRCOM is not set
 44.3910 +CONFIG_USB_SERIAL_WWAN=m
 44.3911 +CONFIG_USB_SERIAL_OPTION=m
 44.3912 +# CONFIG_USB_SERIAL_OMNINET is not set
 44.3913 +# CONFIG_USB_SERIAL_OPTICON is not set
 44.3914 +# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
 44.3915 +# CONFIG_USB_SERIAL_ZIO is not set
 44.3916 +# CONFIG_USB_SERIAL_SSU100 is not set
 44.3917 +# CONFIG_USB_SERIAL_DEBUG is not set
 44.3918 +
 44.3919 +#
 44.3920 +# USB Miscellaneous drivers
 44.3921 +#
 44.3922 +CONFIG_USB_EMI62=m
 44.3923 +CONFIG_USB_EMI26=m
 44.3924 +CONFIG_USB_ADUTUX=m
 44.3925 +CONFIG_USB_SEVSEG=m
 44.3926 +CONFIG_USB_RIO500=m
 44.3927 +CONFIG_USB_LEGOTOWER=m
 44.3928 +CONFIG_USB_LCD=m
 44.3929 +CONFIG_USB_LED=m
 44.3930 +CONFIG_USB_CYPRESS_CY7C63=m
 44.3931 +CONFIG_USB_CYTHERM=m
 44.3932 +CONFIG_USB_IDMOUSE=m
 44.3933 +CONFIG_USB_FTDI_ELAN=m
 44.3934 +CONFIG_USB_APPLEDISPLAY=m
 44.3935 +CONFIG_USB_SISUSBVGA=m
 44.3936 +# CONFIG_USB_SISUSBVGA_CON is not set
 44.3937 +CONFIG_USB_LD=m
 44.3938 +CONFIG_USB_TRANCEVIBRATOR=m
 44.3939 +CONFIG_USB_IOWARRIOR=m
 44.3940 +# CONFIG_USB_TEST is not set
 44.3941 +CONFIG_USB_ISIGHTFW=m
 44.3942 +CONFIG_USB_YUREX=m
 44.3943 +CONFIG_USB_ATM=m
 44.3944 +CONFIG_USB_SPEEDTOUCH=m
 44.3945 +CONFIG_USB_CXACRU=m
 44.3946 +CONFIG_USB_UEAGLEATM=m
 44.3947 +CONFIG_USB_XUSBATM=m
 44.3948 +CONFIG_USB_GADGET=m
 44.3949 +# CONFIG_USB_GADGET_DEBUG_FILES is not set
 44.3950 +CONFIG_USB_GADGET_VBUS_DRAW=2
 44.3951 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
 44.3952 +CONFIG_USB_FUSB300=m
 44.3953 +CONFIG_USB_R8A66597=m
 44.3954 +CONFIG_USB_GADGET_DWC3=m
 44.3955 +CONFIG_USB_M66592=m
 44.3956 +CONFIG_USB_AMD5536UDC=m
 44.3957 +CONFIG_USB_CI13XXX_PCI=m
 44.3958 +CONFIG_USB_NET2272=m
 44.3959 +# CONFIG_USB_NET2272_DMA is not set
 44.3960 +CONFIG_USB_NET2280=m
 44.3961 +CONFIG_USB_GOKU=m
 44.3962 +CONFIG_USB_LANGWELL=m
 44.3963 +CONFIG_USB_EG20T=m
 44.3964 +CONFIG_USB_DUMMY_HCD=m
 44.3965 +CONFIG_USB_GADGET_DUALSPEED=y
 44.3966 +CONFIG_USB_GADGET_SUPERSPEED=y
 44.3967 +# CONFIG_USB_ZERO is not set
 44.3968 +# CONFIG_USB_AUDIO is not set
 44.3969 +# CONFIG_USB_ETH is not set
 44.3970 +# CONFIG_USB_G_NCM is not set
 44.3971 +# CONFIG_USB_GADGETFS is not set
 44.3972 +# CONFIG_USB_FUNCTIONFS is not set
 44.3973 +# CONFIG_USB_FILE_STORAGE is not set
 44.3974 +# CONFIG_USB_MASS_STORAGE is not set
 44.3975 +# CONFIG_USB_G_SERIAL is not set
 44.3976 +# CONFIG_USB_MIDI_GADGET is not set
 44.3977 +# CONFIG_USB_G_PRINTER is not set
 44.3978 +# CONFIG_USB_CDC_COMPOSITE is not set
 44.3979 +CONFIG_USB_G_ACM_MS=m
 44.3980 +# CONFIG_USB_G_MULTI is not set
 44.3981 +# CONFIG_USB_G_HID is not set
 44.3982 +# CONFIG_USB_G_DBGP is not set
 44.3983 +# CONFIG_USB_G_WEBCAM is not set
 44.3984 +
 44.3985 +#
 44.3986 +# OTG and related infrastructure
 44.3987 +#
 44.3988 +CONFIG_USB_OTG_UTILS=y
 44.3989 +CONFIG_USB_GPIO_VBUS=m
 44.3990 +CONFIG_NOP_USB_XCEIV=m
 44.3991 +CONFIG_AB8500_USB=m
 44.3992 +CONFIG_UWB=m
 44.3993 +CONFIG_UWB_HWA=m
 44.3994 +CONFIG_UWB_WHCI=m
 44.3995 +CONFIG_UWB_I1480U=m
 44.3996 +CONFIG_MMC=m
 44.3997 +# CONFIG_MMC_DEBUG is not set
 44.3998 +# CONFIG_MMC_UNSAFE_RESUME is not set
 44.3999 +# CONFIG_MMC_CLKGATE is not set
 44.4000 +
 44.4001 +#
 44.4002 +# MMC/SD/SDIO Card Drivers
 44.4003 +#
 44.4004 +CONFIG_MMC_BLOCK=m
 44.4005 +CONFIG_MMC_BLOCK_MINORS=8
 44.4006 +CONFIG_MMC_BLOCK_BOUNCE=y
 44.4007 +CONFIG_SDIO_UART=m
 44.4008 +# CONFIG_MMC_TEST is not set
 44.4009 +
 44.4010 +#
 44.4011 +# MMC/SD/SDIO Host Controller Drivers
 44.4012 +#
 44.4013 +CONFIG_MMC_SDHCI=m
 44.4014 +CONFIG_MMC_SDHCI_PCI=m
 44.4015 +# CONFIG_MMC_RICOH_MMC is not set
 44.4016 +CONFIG_MMC_SDHCI_PLTFM=m
 44.4017 +CONFIG_MMC_WBSD=m
 44.4018 +CONFIG_MMC_TIFM_SD=m
 44.4019 +CONFIG_MMC_SDRICOH_CS=m
 44.4020 +CONFIG_MMC_CB710=m
 44.4021 +CONFIG_MMC_VIA_SDMMC=m
 44.4022 +CONFIG_MMC_VUB300=m
 44.4023 +CONFIG_MMC_USHC=m
 44.4024 +CONFIG_MEMSTICK=m
 44.4025 +# CONFIG_MEMSTICK_DEBUG is not set
 44.4026 +
 44.4027 +#
 44.4028 +# MemoryStick drivers
 44.4029 +#
 44.4030 +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
 44.4031 +CONFIG_MSPRO_BLOCK=m
 44.4032 +
 44.4033 +#
 44.4034 +# MemoryStick Host Controller Drivers
 44.4035 +#
 44.4036 +CONFIG_MEMSTICK_TIFM_MS=m
 44.4037 +CONFIG_MEMSTICK_JMICRON_38X=m
 44.4038 +CONFIG_MEMSTICK_R592=m
 44.4039 +CONFIG_NEW_LEDS=y
 44.4040 +CONFIG_LEDS_CLASS=y
 44.4041 +
 44.4042 +#
 44.4043 +# LED drivers
 44.4044 +#
 44.4045 +# CONFIG_LEDS_LM3530 is not set
 44.4046 +# CONFIG_LEDS_PCA9532 is not set
 44.4047 +CONFIG_LEDS_GPIO=m
 44.4048 +# CONFIG_LEDS_LP3944 is not set
 44.4049 +# CONFIG_LEDS_LP5521 is not set
 44.4050 +# CONFIG_LEDS_LP5523 is not set
 44.4051 +# CONFIG_LEDS_CLEVO_MAIL is not set
 44.4052 +# CONFIG_LEDS_PCA955X is not set
 44.4053 +# CONFIG_LEDS_REGULATOR is not set
 44.4054 +# CONFIG_LEDS_BD2802 is not set
 44.4055 +# CONFIG_LEDS_INTEL_SS4200 is not set
 44.4056 +# CONFIG_LEDS_LT3593 is not set
 44.4057 +# CONFIG_LEDS_DELL_NETBOOKS is not set
 44.4058 +CONFIG_LEDS_TRIGGERS=y
 44.4059 +
 44.4060 +#
 44.4061 +# LED Triggers
 44.4062 +#
 44.4063 +CONFIG_LEDS_TRIGGER_TIMER=m
 44.4064 +CONFIG_LEDS_TRIGGER_IDE_DISK=y
 44.4065 +CONFIG_LEDS_TRIGGER_HEARTBEAT=m
 44.4066 +CONFIG_LEDS_TRIGGER_BACKLIGHT=m
 44.4067 +# CONFIG_LEDS_TRIGGER_GPIO is not set
 44.4068 +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
 44.4069 +
 44.4070 +#
 44.4071 +# iptables trigger is under Netfilter config (LED target)
 44.4072 +#
 44.4073 +# CONFIG_ACCESSIBILITY is not set
 44.4074 +# CONFIG_INFINIBAND is not set
 44.4075 +# CONFIG_EDAC is not set
 44.4076 +# CONFIG_RTC_CLASS is not set
 44.4077 +# CONFIG_DMADEVICES is not set
 44.4078 +# CONFIG_AUXDISPLAY is not set
 44.4079 +# CONFIG_UIO is not set
 44.4080 +CONFIG_VIRTIO=y
 44.4081 +CONFIG_VIRTIO_RING=y
 44.4082 +
 44.4083 +#
 44.4084 +# Virtio drivers
 44.4085 +#
 44.4086 +CONFIG_VIRTIO_PCI=m
 44.4087 +CONFIG_VIRTIO_BALLOON=m
 44.4088 +# CONFIG_VIRTIO_MMIO is not set
 44.4089 +CONFIG_STAGING=y
 44.4090 +CONFIG_ET131X=m
 44.4091 +CONFIG_SLICOSS=m
 44.4092 +CONFIG_USBIP_CORE=m
 44.4093 +CONFIG_USBIP_VHCI_HCD=m
 44.4094 +CONFIG_USBIP_HOST=m
 44.4095 +# CONFIG_USBIP_DEBUG is not set
 44.4096 +CONFIG_W35UND=m
 44.4097 +CONFIG_PRISM2_USB=m
 44.4098 +CONFIG_ECHO=m
 44.4099 +CONFIG_COMEDI=m
 44.4100 +# CONFIG_COMEDI_DEBUG is not set
 44.4101 +CONFIG_COMEDI_MISC_DRIVERS=m
 44.4102 +CONFIG_COMEDI_KCOMEDILIB=m
 44.4103 +# CONFIG_COMEDI_BOND is not set
 44.4104 +CONFIG_COMEDI_TEST=m
 44.4105 +CONFIG_COMEDI_PARPORT=m
 44.4106 +CONFIG_COMEDI_SERIAL2002=m
 44.4107 +CONFIG_COMEDI_SKEL=m
 44.4108 +CONFIG_COMEDI_ISA_DRIVERS=m
 44.4109 +CONFIG_COMEDI_ACL7225B=m
 44.4110 +CONFIG_COMEDI_PCL711=m
 44.4111 +CONFIG_COMEDI_PCL724=m
 44.4112 +CONFIG_COMEDI_PCL725=m
 44.4113 +CONFIG_COMEDI_PCL726=m
 44.4114 +CONFIG_COMEDI_PCL730=m
 44.4115 +CONFIG_COMEDI_PCL812=m
 44.4116 +CONFIG_COMEDI_PCL816=m
 44.4117 +CONFIG_COMEDI_PCL818=m
 44.4118 +CONFIG_COMEDI_PCM3724=m
 44.4119 +CONFIG_COMEDI_PCM3730=m
 44.4120 +CONFIG_COMEDI_RTI800=m
 44.4121 +CONFIG_COMEDI_RTI802=m
 44.4122 +CONFIG_COMEDI_DAS16M1=m
 44.4123 +CONFIG_COMEDI_DAS16=m
 44.4124 +CONFIG_COMEDI_DAS800=m
 44.4125 +CONFIG_COMEDI_DAS1800=m
 44.4126 +CONFIG_COMEDI_DAS6402=m
 44.4127 +CONFIG_COMEDI_DT2801=m
 44.4128 +CONFIG_COMEDI_DT2811=m
 44.4129 +CONFIG_COMEDI_DT2814=m
 44.4130 +CONFIG_COMEDI_DT2815=m
 44.4131 +CONFIG_COMEDI_DT2817=m
 44.4132 +CONFIG_COMEDI_DT282X=m
 44.4133 +CONFIG_COMEDI_DMM32AT=m
 44.4134 +CONFIG_COMEDI_FL512=m
 44.4135 +CONFIG_COMEDI_AIO_AIO12_8=m
 44.4136 +CONFIG_COMEDI_AIO_IIRO_16=m
 44.4137 +CONFIG_COMEDI_C6XDIGIO=m
 44.4138 +CONFIG_COMEDI_MPC624=m
 44.4139 +CONFIG_COMEDI_ADQ12B=m
 44.4140 +CONFIG_COMEDI_PCMAD=m
 44.4141 +CONFIG_COMEDI_PCMDA12=m
 44.4142 +CONFIG_COMEDI_PCMMIO=m
 44.4143 +CONFIG_COMEDI_PCMUIO=m
 44.4144 +CONFIG_COMEDI_MULTIQ3=m
 44.4145 +CONFIG_COMEDI_POC=m
 44.4146 +# CONFIG_COMEDI_PCI_DRIVERS is not set
 44.4147 +# CONFIG_COMEDI_PCMCIA_DRIVERS is not set
 44.4148 +# CONFIG_COMEDI_USB_DRIVERS is not set
 44.4149 +# CONFIG_COMEDI_NI_COMMON is not set
 44.4150 +CONFIG_COMEDI_8255=m
 44.4151 +# CONFIG_COMEDI_DAS08 is not set
 44.4152 +CONFIG_COMEDI_FC=m
 44.4153 +CONFIG_ASUS_OLED=m
 44.4154 +CONFIG_PANEL=m
 44.4155 +CONFIG_PANEL_PARPORT=0
 44.4156 +CONFIG_PANEL_PROFILE=5
 44.4157 +# CONFIG_PANEL_CHANGE_MESSAGE is not set
 44.4158 +CONFIG_R8187SE=m
 44.4159 +CONFIG_RTL8192U=m
 44.4160 +CONFIG_RTL8192E=m
 44.4161 +CONFIG_R8712U=m
 44.4162 +CONFIG_R8712_AP=y
 44.4163 +CONFIG_RTS_PSTOR=m
 44.4164 +# CONFIG_RTS_PSTOR_DEBUG is not set
 44.4165 +CONFIG_RTS5139=m
 44.4166 +# CONFIG_RTS5139_DEBUG is not set
 44.4167 +CONFIG_TRANZPORT=m
 44.4168 +CONFIG_POHMELFS=m
 44.4169 +# CONFIG_POHMELFS_DEBUG is not set
 44.4170 +CONFIG_IDE_PHISON=m
 44.4171 +# CONFIG_LINE6_USB is not set
 44.4172 +CONFIG_DRM_NOUVEAU=m
 44.4173 +CONFIG_DRM_NOUVEAU_BACKLIGHT=y
 44.4174 +
 44.4175 +#
 44.4176 +# I2C encoder or helper chips
 44.4177 +#
 44.4178 +CONFIG_DRM_I2C_CH7006=m
 44.4179 +# CONFIG_DRM_I2C_SIL164 is not set
 44.4180 +CONFIG_USB_SERIAL_QUATECH2=m
 44.4181 +CONFIG_USB_SERIAL_QUATECH_USB2=m
 44.4182 +CONFIG_VT6655=m
 44.4183 +CONFIG_VT6656=m
 44.4184 +CONFIG_HYPERV_STORAGE=m
 44.4185 +CONFIG_HYPERV_NET=m
 44.4186 +CONFIG_HYPERV_MOUSE=m
 44.4187 +CONFIG_VME_BUS=m
 44.4188 +
 44.4189 +#
 44.4190 +# VME Bridge Drivers
 44.4191 +#
 44.4192 +CONFIG_VME_CA91CX42=m
 44.4193 +CONFIG_VME_TSI148=m
 44.4194 +
 44.4195 +#
 44.4196 +# VME Device Drivers
 44.4197 +#
 44.4198 +CONFIG_VME_USER=m
 44.4199 +
 44.4200 +#
 44.4201 +# VME Board Drivers
 44.4202 +#
 44.4203 +CONFIG_VMIVME_7805=m
 44.4204 +CONFIG_DX_SEP=m
 44.4205 +CONFIG_IIO=m
 44.4206 +CONFIG_IIO_BUFFER=y
 44.4207 +CONFIG_IIO_SW_RING=m
 44.4208 +# CONFIG_IIO_KFIFO_BUF is not set
 44.4209 +CONFIG_IIO_TRIGGER=y
 44.4210 +CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
 44.4211 +
 44.4212 +#
 44.4213 +# Accelerometers
 44.4214 +#
 44.4215 +
 44.4216 +#
 44.4217 +# Analog to digital converters
 44.4218 +#
 44.4219 +CONFIG_AD7291=m
 44.4220 +CONFIG_AD7606=m
 44.4221 +CONFIG_AD7606_IFACE_PARALLEL=m
 44.4222 +CONFIG_AD799X=m
 44.4223 +CONFIG_AD799X_RING_BUFFER=y
 44.4224 +CONFIG_ADT7410=m
 44.4225 +CONFIG_MAX1363=m
 44.4226 +CONFIG_MAX1363_RING_BUFFER=y
 44.4227 +
 44.4228 +#
 44.4229 +# Analog digital bi-direction converters
 44.4230 +#
 44.4231 +CONFIG_ADT7316=m
 44.4232 +CONFIG_ADT7316_I2C=m
 44.4233 +
 44.4234 +#
 44.4235 +# Capacitance to digital converters
 44.4236 +#
 44.4237 +CONFIG_AD7150=m
 44.4238 +CONFIG_AD7152=m
 44.4239 +CONFIG_AD7746=m
 44.4240 +
 44.4241 +#
 44.4242 +# Digital to analog converters
 44.4243 +#
 44.4244 +CONFIG_MAX517=m
 44.4245 +
 44.4246 +#
 44.4247 +# Direct Digital Synthesis
 44.4248 +#
 44.4249 +
 44.4250 +#
 44.4251 +# Digital gyroscope sensors
 44.4252 +#
 44.4253 +
 44.4254 +#
 44.4255 +# Network Analyzer, Impedance Converters
 44.4256 +#
 44.4257 +CONFIG_AD5933=m
 44.4258 +
 44.4259 +#
 44.4260 +# Inertial measurement units
 44.4261 +#
 44.4262 +
 44.4263 +#
 44.4264 +# Light sensors
 44.4265 +#
 44.4266 +CONFIG_SENSORS_ISL29018=m
 44.4267 +CONFIG_SENSORS_TSL2563=m
 44.4268 +CONFIG_TSL2583=m
 44.4269 +
 44.4270 +#
 44.4271 +# Magnetometer sensors
 44.4272 +#
 44.4273 +CONFIG_SENSORS_AK8975=m
 44.4274 +CONFIG_SENSORS_HMC5843=m
 44.4275 +
 44.4276 +#
 44.4277 +# Active energy metering IC
 44.4278 +#
 44.4279 +CONFIG_ADE7854=m
 44.4280 +CONFIG_ADE7854_I2C=m
 44.4281 +
 44.4282 +#
 44.4283 +# Resolver to digital converters
 44.4284 +#
 44.4285 +
 44.4286 +#
 44.4287 +# Triggers - standalone
 44.4288 +#
 44.4289 +CONFIG_IIO_GPIO_TRIGGER=m
 44.4290 +CONFIG_IIO_SYSFS_TRIGGER=m
 44.4291 +CONFIG_IIO_SIMPLE_DUMMY=m
 44.4292 +# CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set
 44.4293 +CONFIG_XVMALLOC=y
 44.4294 +CONFIG_ZRAM=m
 44.4295 +# CONFIG_ZRAM_DEBUG is not set
 44.4296 +CONFIG_ZCACHE=m
 44.4297 +CONFIG_WLAGS49_H2=m
 44.4298 +CONFIG_WLAGS49_H25=m
 44.4299 +CONFIG_FB_SM7XX=m
 44.4300 +CONFIG_CRYSTALHD=m
 44.4301 +CONFIG_CXT1E1=m
 44.4302 +CONFIG_SBE_PMCC4_NCOMM=y
 44.4303 +CONFIG_FB_XGI=m
 44.4304 +CONFIG_ACPI_QUICKSTART=m
 44.4305 +CONFIG_SBE_2T3E3=m
 44.4306 +CONFIG_USB_ENESTORAGE=m
 44.4307 +CONFIG_BCM_WIMAX=m
 44.4308 +CONFIG_FT1000=m
 44.4309 +CONFIG_FT1000_USB=m
 44.4310 +CONFIG_FT1000_PCMCIA=m
 44.4311 +
 44.4312 +#
 44.4313 +# Speakup console speech
 44.4314 +#
 44.4315 +CONFIG_SPEAKUP=m
 44.4316 +CONFIG_SPEAKUP_SYNTH_ACNTSA=m
 44.4317 +CONFIG_SPEAKUP_SYNTH_ACNTPC=m
 44.4318 +CONFIG_SPEAKUP_SYNTH_APOLLO=m
 44.4319 +CONFIG_SPEAKUP_SYNTH_AUDPTR=m
 44.4320 +CONFIG_SPEAKUP_SYNTH_BNS=m
 44.4321 +CONFIG_SPEAKUP_SYNTH_DECTLK=m
 44.4322 +CONFIG_SPEAKUP_SYNTH_DECEXT=m
 44.4323 +CONFIG_SPEAKUP_SYNTH_DECPC=m
 44.4324 +CONFIG_SPEAKUP_SYNTH_DTLK=m
 44.4325 +CONFIG_SPEAKUP_SYNTH_KEYPC=m
 44.4326 +CONFIG_SPEAKUP_SYNTH_LTLK=m
 44.4327 +CONFIG_SPEAKUP_SYNTH_SOFT=m
 44.4328 +CONFIG_SPEAKUP_SYNTH_SPKOUT=m
 44.4329 +CONFIG_SPEAKUP_SYNTH_TXPRT=m
 44.4330 +CONFIG_SPEAKUP_SYNTH_DUMMY=m
 44.4331 +CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
 44.4332 +CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
 44.4333 +CONFIG_DRM_PSB=m
 44.4334 +# CONFIG_DRM_PSB_MRST is not set
 44.4335 +# CONFIG_DRM_PSB_MFLD is not set
 44.4336 +# CONFIG_DRM_PSB_CDV is not set
 44.4337 +CONFIG_STAGING_MEDIA=y
 44.4338 +CONFIG_DVB_AS102=m
 44.4339 +# CONFIG_DVB_CXD2099 is not set
 44.4340 +# CONFIG_VIDEO_DT3155 is not set
 44.4341 +# CONFIG_EASYCAP is not set
 44.4342 +# CONFIG_VIDEO_GO7007 is not set
 44.4343 +# CONFIG_SOLO6X10 is not set
 44.4344 +# CONFIG_LIRC_STAGING is not set
 44.4345 +CONFIG_X86_PLATFORM_DEVICES=y
 44.4346 +CONFIG_ACER_WMI=m
 44.4347 +CONFIG_ACERHDF=m
 44.4348 +CONFIG_ASUS_LAPTOP=m
 44.4349 +CONFIG_DELL_WMI=m
 44.4350 +CONFIG_DELL_WMI_AIO=m
 44.4351 +CONFIG_FUJITSU_LAPTOP=m
 44.4352 +# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
 44.4353 +CONFIG_TC1100_WMI=m
 44.4354 +CONFIG_HP_ACCEL=m
 44.4355 +CONFIG_HP_WMI=m
 44.4356 +CONFIG_MSI_LAPTOP=m
 44.4357 +CONFIG_PANASONIC_LAPTOP=m
 44.4358 +CONFIG_COMPAL_LAPTOP=m
 44.4359 +CONFIG_SONY_LAPTOP=m
 44.4360 +# CONFIG_SONYPI_COMPAT is not set
 44.4361 +CONFIG_IDEAPAD_LAPTOP=m
 44.4362 +CONFIG_THINKPAD_ACPI=m
 44.4363 +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
 44.4364 +# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
 44.4365 +# CONFIG_THINKPAD_ACPI_DEBUG is not set
 44.4366 +# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
 44.4367 +CONFIG_THINKPAD_ACPI_VIDEO=y
 44.4368 +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
 44.4369 +CONFIG_SENSORS_HDAPS=m
 44.4370 +CONFIG_INTEL_MENLOW=m
 44.4371 +CONFIG_ACPI_WMI=m
 44.4372 +CONFIG_MSI_WMI=m
 44.4373 +# CONFIG_ACPI_ASUS is not set
 44.4374 +CONFIG_TOPSTAR_LAPTOP=m
 44.4375 +CONFIG_ACPI_TOSHIBA=m
 44.4376 +CONFIG_TOSHIBA_BT_RFKILL=m
 44.4377 +CONFIG_ACPI_CMPC=m
 44.4378 +CONFIG_INTEL_IPS=m
 44.4379 +CONFIG_IBM_RTL=m
 44.4380 +CONFIG_XO15_EBOOK=m
 44.4381 +CONFIG_SAMSUNG_LAPTOP=m
 44.4382 +CONFIG_MXM_WMI=m
 44.4383 +CONFIG_INTEL_OAKTRAIL=m
 44.4384 +CONFIG_SAMSUNG_Q10=m
 44.4385 +
 44.4386 +#
 44.4387 +# Hardware Spinlock drivers
 44.4388 +#
 44.4389 +CONFIG_CLKSRC_I8253=y
 44.4390 +CONFIG_CLKEVT_I8253=y
 44.4391 +CONFIG_I8253_LOCK=y
 44.4392 +CONFIG_CLKBLD_I8253=y
 44.4393 +CONFIG_IOMMU_SUPPORT=y
 44.4394 +CONFIG_VIRT_DRIVERS=y
 44.4395 +CONFIG_HYPERV=m
 44.4396 +CONFIG_HYPERV_UTILS=m
 44.4397 +CONFIG_PM_DEVFREQ=y
 44.4398 +
 44.4399 +#
 44.4400 +# DEVFREQ Governors
 44.4401 +#
 44.4402 +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
 44.4403 +CONFIG_DEVFREQ_GOV_PERFORMANCE=y
 44.4404 +CONFIG_DEVFREQ_GOV_POWERSAVE=y
 44.4405 +CONFIG_DEVFREQ_GOV_USERSPACE=y
 44.4406 +
 44.4407 +#
 44.4408 +# DEVFREQ Drivers
 44.4409 +#
 44.4410 +
 44.4411 +#
 44.4412 +# Firmware Drivers
 44.4413 +#
 44.4414 +# CONFIG_EDD is not set
 44.4415 +CONFIG_FIRMWARE_MEMMAP=y
 44.4416 +# CONFIG_DELL_RBU is not set
 44.4417 +# CONFIG_DCDBAS is not set
 44.4418 +CONFIG_DMIID=y
 44.4419 +# CONFIG_DMI_SYSFS is not set
 44.4420 +# CONFIG_ISCSI_IBFT_FIND is not set
 44.4421 +# CONFIG_SIGMA is not set
 44.4422 +# CONFIG_GOOGLE_FIRMWARE is not set
 44.4423 +
 44.4424 +#
 44.4425 +# File systems
 44.4426 +#
 44.4427 +# CONFIG_EXT2_FS is not set
 44.4428 +# CONFIG_EXT3_FS is not set
 44.4429 +CONFIG_EXT4_FS=y
 44.4430 +CONFIG_EXT4_USE_FOR_EXT23=y
 44.4431 +CONFIG_EXT4_FS_XATTR=y
 44.4432 +CONFIG_EXT4_FS_POSIX_ACL=y
 44.4433 +# CONFIG_EXT4_FS_SECURITY is not set
 44.4434 +# CONFIG_EXT4_DEBUG is not set
 44.4435 +CONFIG_JBD2=y
 44.4436 +CONFIG_FS_MBCACHE=y
 44.4437 +CONFIG_REISERFS_FS=m
 44.4438 +# CONFIG_REISERFS_CHECK is not set
 44.4439 +# CONFIG_REISERFS_PROC_INFO is not set
 44.4440 +# CONFIG_REISERFS_FS_XATTR is not set
 44.4441 +CONFIG_JFS_FS=m
 44.4442 +CONFIG_JFS_POSIX_ACL=y
 44.4443 +# CONFIG_JFS_SECURITY is not set
 44.4444 +# CONFIG_JFS_DEBUG is not set
 44.4445 +# CONFIG_JFS_STATISTICS is not set
 44.4446 +CONFIG_XFS_FS=y
 44.4447 +CONFIG_XFS_QUOTA=y
 44.4448 +CONFIG_XFS_POSIX_ACL=y
 44.4449 +# CONFIG_XFS_RT is not set
 44.4450 +# CONFIG_XFS_DEBUG is not set
 44.4451 +CONFIG_GFS2_FS=m
 44.4452 +# CONFIG_GFS2_FS_LOCKING_DLM is not set
 44.4453 +CONFIG_OCFS2_FS=m
 44.4454 +CONFIG_OCFS2_FS_O2CB=m
 44.4455 +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
 44.4456 +CONFIG_OCFS2_DEBUG_MASKLOG=y
 44.4457 +# CONFIG_OCFS2_DEBUG_FS is not set
 44.4458 +CONFIG_BTRFS_FS=m
 44.4459 +CONFIG_BTRFS_FS_POSIX_ACL=y
 44.4460 +# CONFIG_NILFS2_FS is not set
 44.4461 +CONFIG_FS_POSIX_ACL=y
 44.4462 +CONFIG_EXPORTFS=y
 44.4463 +CONFIG_FILE_LOCKING=y
 44.4464 +CONFIG_FSNOTIFY=y
 44.4465 +CONFIG_DNOTIFY=y
 44.4466 +CONFIG_INOTIFY_USER=y
 44.4467 +CONFIG_FANOTIFY=y
 44.4468 +CONFIG_QUOTA=y
 44.4469 +# CONFIG_QUOTA_NETLINK_INTERFACE is not set
 44.4470 +CONFIG_PRINT_QUOTA_WARNING=y
 44.4471 +# CONFIG_QUOTA_DEBUG is not set
 44.4472 +CONFIG_QUOTA_TREE=m
 44.4473 +# CONFIG_QFMT_V1 is not set
 44.4474 +# CONFIG_QFMT_V2 is not set
 44.4475 +CONFIG_QUOTACTL=y
 44.4476 +CONFIG_AUTOFS4_FS=m
 44.4477 +CONFIG_FUSE_FS=y
 44.4478 +CONFIG_CUSE=m
 44.4479 +CONFIG_GENERIC_ACL=y
 44.4480 +
 44.4481 +#
 44.4482 +# Caches
 44.4483 +#
 44.4484 +# CONFIG_FSCACHE is not set
 44.4485 +
 44.4486 +#
 44.4487 +# CD-ROM/DVD Filesystems
 44.4488 +#
 44.4489 +CONFIG_ISO9660_FS=y
 44.4490 +CONFIG_JOLIET=y
 44.4491 +CONFIG_ZISOFS=y
 44.4492 +CONFIG_UDF_FS=y
 44.4493 +CONFIG_UDF_NLS=y
 44.4494 +
 44.4495 +#
 44.4496 +# DOS/FAT/NT Filesystems
 44.4497 +#
 44.4498 +CONFIG_FAT_FS=y
 44.4499 +CONFIG_MSDOS_FS=m
 44.4500 +CONFIG_VFAT_FS=y
 44.4501 +CONFIG_FAT_DEFAULT_CODEPAGE=437
 44.4502 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
 44.4503 +# CONFIG_NTFS_FS is not set
 44.4504 +
 44.4505 +#
 44.4506 +# Pseudo filesystems
 44.4507 +#
 44.4508 +CONFIG_PROC_FS=y
 44.4509 +CONFIG_PROC_KCORE=y
 44.4510 +CONFIG_PROC_SYSCTL=y
 44.4511 +CONFIG_PROC_PAGE_MONITOR=y
 44.4512 +CONFIG_SYSFS=y
 44.4513 +CONFIG_TMPFS=y
 44.4514 +CONFIG_TMPFS_POSIX_ACL=y
 44.4515 +CONFIG_TMPFS_XATTR=y
 44.4516 +# CONFIG_HUGETLBFS is not set
 44.4517 +# CONFIG_HUGETLB_PAGE is not set
 44.4518 +CONFIG_CONFIGFS_FS=m
 44.4519 +CONFIG_MISC_FILESYSTEMS=y
 44.4520 +# CONFIG_ADFS_FS is not set
 44.4521 +# CONFIG_AFFS_FS is not set
 44.4522 +# CONFIG_ECRYPT_FS is not set
 44.4523 +CONFIG_HFS_FS=m
 44.4524 +CONFIG_HFSPLUS_FS=m
 44.4525 +# CONFIG_BEFS_FS is not set
 44.4526 +# CONFIG_BFS_FS is not set
 44.4527 +# CONFIG_EFS_FS is not set
 44.4528 +CONFIG_LOGFS=m
 44.4529 +CONFIG_CRAMFS=m
 44.4530 +CONFIG_SQUASHFS=m
 44.4531 +CONFIG_SQUASHFS_XATTR=y
 44.4532 +CONFIG_SQUASHFS_ZLIB=y
 44.4533 +CONFIG_SQUASHFS_LZO=y
 44.4534 +CONFIG_SQUASHFS_XZ=y
 44.4535 +CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
 44.4536 +# CONFIG_SQUASHFS_EMBEDDED is not set
 44.4537 +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
 44.4538 +# CONFIG_VXFS_FS is not set
 44.4539 +CONFIG_MINIX_FS=m
 44.4540 +# CONFIG_OMFS_FS is not set
 44.4541 +# CONFIG_HPFS_FS is not set
 44.4542 +# CONFIG_QNX4FS_FS is not set
 44.4543 +# CONFIG_ROMFS_FS is not set
 44.4544 +# CONFIG_PSTORE is not set
 44.4545 +# CONFIG_SYSV_FS is not set
 44.4546 +# CONFIG_UFS_FS is not set
 44.4547 +CONFIG_NETWORK_FILESYSTEMS=y
 44.4548 +CONFIG_NFS_FS=y
 44.4549 +CONFIG_NFS_V3=y
 44.4550 +CONFIG_NFS_V3_ACL=y
 44.4551 +# CONFIG_NFS_V4 is not set
 44.4552 +# CONFIG_ROOT_NFS is not set
 44.4553 +CONFIG_NFSD=m
 44.4554 +CONFIG_NFSD_V2_ACL=y
 44.4555 +CONFIG_NFSD_V3=y
 44.4556 +CONFIG_NFSD_V3_ACL=y
 44.4557 +# CONFIG_NFSD_V4 is not set
 44.4558 +CONFIG_LOCKD=y
 44.4559 +CONFIG_LOCKD_V4=y
 44.4560 +CONFIG_NFS_ACL_SUPPORT=y
 44.4561 +CONFIG_NFS_COMMON=y
 44.4562 +CONFIG_SUNRPC=y
 44.4563 +CONFIG_SUNRPC_GSS=m
 44.4564 +CONFIG_RPCSEC_GSS_KRB5=m
 44.4565 +# CONFIG_CEPH_FS is not set
 44.4566 +CONFIG_CIFS=m
 44.4567 +# CONFIG_CIFS_STATS is not set
 44.4568 +CONFIG_CIFS_WEAK_PW_HASH=y
 44.4569 +# CONFIG_CIFS_UPCALL is not set
 44.4570 +# CONFIG_CIFS_XATTR is not set
 44.4571 +# CONFIG_CIFS_DEBUG2 is not set
 44.4572 +# CONFIG_CIFS_DFS_UPCALL is not set
 44.4573 +CONFIG_NCP_FS=m
 44.4574 +# CONFIG_NCPFS_PACKET_SIGNING is not set
 44.4575 +# CONFIG_NCPFS_IOCTL_LOCKING is not set
 44.4576 +# CONFIG_NCPFS_STRONG is not set
 44.4577 +# CONFIG_NCPFS_NFS_NS is not set
 44.4578 +# CONFIG_NCPFS_OS2_NS is not set
 44.4579 +# CONFIG_NCPFS_SMALLDOS is not set
 44.4580 +# CONFIG_NCPFS_NLS is not set
 44.4581 +# CONFIG_NCPFS_EXTRAS is not set
 44.4582 +CONFIG_CODA_FS=m
 44.4583 +# CONFIG_AFS_FS is not set
 44.4584 +
 44.4585 +#
 44.4586 +# Partition Types
 44.4587 +#
 44.4588 +CONFIG_PARTITION_ADVANCED=y
 44.4589 +# CONFIG_ACORN_PARTITION is not set
 44.4590 +# CONFIG_OSF_PARTITION is not set
 44.4591 +# CONFIG_AMIGA_PARTITION is not set
 44.4592 +# CONFIG_ATARI_PARTITION is not set
 44.4593 +# CONFIG_MAC_PARTITION is not set
 44.4594 +CONFIG_MSDOS_PARTITION=y
 44.4595 +CONFIG_BSD_DISKLABEL=y
 44.4596 +# CONFIG_MINIX_SUBPARTITION is not set
 44.4597 +# CONFIG_SOLARIS_X86_PARTITION is not set
 44.4598 +# CONFIG_UNIXWARE_DISKLABEL is not set
 44.4599 +# CONFIG_LDM_PARTITION is not set
 44.4600 +# CONFIG_SGI_PARTITION is not set
 44.4601 +# CONFIG_ULTRIX_PARTITION is not set
 44.4602 +# CONFIG_SUN_PARTITION is not set
 44.4603 +# CONFIG_KARMA_PARTITION is not set
 44.4604 +CONFIG_EFI_PARTITION=y
 44.4605 +# CONFIG_SYSV68_PARTITION is not set
 44.4606 +CONFIG_NLS=y
 44.4607 +CONFIG_NLS_DEFAULT="iso8859-1"
 44.4608 +CONFIG_NLS_CODEPAGE_437=y
 44.4609 +# CONFIG_NLS_CODEPAGE_737 is not set
 44.4610 +# CONFIG_NLS_CODEPAGE_775 is not set
 44.4611 +CONFIG_NLS_CODEPAGE_850=y
 44.4612 +CONFIG_NLS_CODEPAGE_852=y
 44.4613 +# CONFIG_NLS_CODEPAGE_855 is not set
 44.4614 +# CONFIG_NLS_CODEPAGE_857 is not set
 44.4615 +# CONFIG_NLS_CODEPAGE_860 is not set
 44.4616 +# CONFIG_NLS_CODEPAGE_861 is not set
 44.4617 +# CONFIG_NLS_CODEPAGE_862 is not set
 44.4618 +CONFIG_NLS_CODEPAGE_863=y
 44.4619 +# CONFIG_NLS_CODEPAGE_864 is not set
 44.4620 +CONFIG_NLS_CODEPAGE_865=y
 44.4621 +# CONFIG_NLS_CODEPAGE_866 is not set
 44.4622 +# CONFIG_NLS_CODEPAGE_869 is not set
 44.4623 +# CONFIG_NLS_CODEPAGE_936 is not set
 44.4624 +# CONFIG_NLS_CODEPAGE_950 is not set
 44.4625 +# CONFIG_NLS_CODEPAGE_932 is not set
 44.4626 +# CONFIG_NLS_CODEPAGE_949 is not set
 44.4627 +# CONFIG_NLS_CODEPAGE_874 is not set
 44.4628 +# CONFIG_NLS_ISO8859_8 is not set
 44.4629 +# CONFIG_NLS_CODEPAGE_1250 is not set
 44.4630 +# CONFIG_NLS_CODEPAGE_1251 is not set
 44.4631 +CONFIG_NLS_ASCII=y
 44.4632 +CONFIG_NLS_ISO8859_1=y
 44.4633 +CONFIG_NLS_ISO8859_2=y
 44.4634 +# CONFIG_NLS_ISO8859_3 is not set
 44.4635 +# CONFIG_NLS_ISO8859_4 is not set
 44.4636 +# CONFIG_NLS_ISO8859_5 is not set
 44.4637 +# CONFIG_NLS_ISO8859_6 is not set
 44.4638 +# CONFIG_NLS_ISO8859_7 is not set
 44.4639 +# CONFIG_NLS_ISO8859_9 is not set
 44.4640 +# CONFIG_NLS_ISO8859_13 is not set
 44.4641 +# CONFIG_NLS_ISO8859_14 is not set
 44.4642 +CONFIG_NLS_ISO8859_15=y
 44.4643 +# CONFIG_NLS_KOI8_R is not set
 44.4644 +# CONFIG_NLS_KOI8_U is not set
 44.4645 +CONFIG_NLS_UTF8=y
 44.4646 +CONFIG_DLM=m
 44.4647 +# CONFIG_DLM_DEBUG is not set
 44.4648 +
 44.4649 +#
 44.4650 +# Kernel hacking
 44.4651 +#
 44.4652 +CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 44.4653 +# CONFIG_PRINTK_TIME is not set
 44.4654 +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
 44.4655 +CONFIG_ENABLE_WARN_DEPRECATED=y
 44.4656 +CONFIG_ENABLE_MUST_CHECK=y
 44.4657 +CONFIG_FRAME_WARN=1024
 44.4658 +# CONFIG_MAGIC_SYSRQ is not set
 44.4659 +CONFIG_STRIP_ASM_SYMS=y
 44.4660 +CONFIG_UNUSED_SYMBOLS=y
 44.4661 +# CONFIG_DEBUG_FS is not set
 44.4662 +# CONFIG_HEADERS_CHECK is not set
 44.4663 +# CONFIG_DEBUG_SECTION_MISMATCH is not set
 44.4664 +# CONFIG_DEBUG_KERNEL is not set
 44.4665 +# CONFIG_HARDLOCKUP_DETECTOR is not set
 44.4666 +# CONFIG_SPARSE_RCU_POINTER is not set
 44.4667 +CONFIG_DEBUG_BUGVERBOSE=y
 44.4668 +CONFIG_DEBUG_MEMORY_INIT=y
 44.4669 +CONFIG_ARCH_WANT_FRAME_POINTERS=y
 44.4670 +CONFIG_FRAME_POINTER=y
 44.4671 +CONFIG_RCU_CPU_STALL_TIMEOUT=60
 44.4672 +# CONFIG_SYSCTL_SYSCALL_CHECK is not set
 44.4673 +CONFIG_USER_STACKTRACE_SUPPORT=y
 44.4674 +CONFIG_HAVE_FUNCTION_TRACER=y
 44.4675 +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
 44.4676 +CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
 44.4677 +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
 44.4678 +CONFIG_HAVE_DYNAMIC_FTRACE=y
 44.4679 +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
 44.4680 +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
 44.4681 +CONFIG_HAVE_C_RECORDMCOUNT=y
 44.4682 +CONFIG_TRACING_SUPPORT=y
 44.4683 +# CONFIG_FTRACE is not set
 44.4684 +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
 44.4685 +# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
 44.4686 +# CONFIG_DMA_API_DEBUG is not set
 44.4687 +# CONFIG_ATOMIC64_SELFTEST is not set
 44.4688 +# CONFIG_ASYNC_RAID6_TEST is not set
 44.4689 +# CONFIG_SAMPLES is not set
 44.4690 +CONFIG_HAVE_ARCH_KGDB=y
 44.4691 +CONFIG_HAVE_ARCH_KMEMCHECK=y
 44.4692 +# CONFIG_TEST_KSTRTOX is not set
 44.4693 +# CONFIG_STRICT_DEVMEM is not set
 44.4694 +CONFIG_X86_VERBOSE_BOOTUP=y
 44.4695 +CONFIG_EARLY_PRINTK=y
 44.4696 +# CONFIG_EARLY_PRINTK_DBGP is not set
 44.4697 +# CONFIG_DEBUG_SET_MODULE_RONX is not set
 44.4698 +CONFIG_DOUBLEFAULT=y
 44.4699 +# CONFIG_IOMMU_STRESS is not set
 44.4700 +CONFIG_HAVE_MMIOTRACE_SUPPORT=y
 44.4701 +CONFIG_IO_DELAY_TYPE_0X80=0
 44.4702 +CONFIG_IO_DELAY_TYPE_0XED=1
 44.4703 +CONFIG_IO_DELAY_TYPE_UDELAY=2
 44.4704 +CONFIG_IO_DELAY_TYPE_NONE=3
 44.4705 +CONFIG_IO_DELAY_0X80=y
 44.4706 +# CONFIG_IO_DELAY_0XED is not set
 44.4707 +# CONFIG_IO_DELAY_UDELAY is not set
 44.4708 +# CONFIG_IO_DELAY_NONE is not set
 44.4709 +CONFIG_DEFAULT_IO_DELAY_TYPE=0
 44.4710 +# CONFIG_OPTIMIZE_INLINING is not set
 44.4711 +
 44.4712 +#
 44.4713 +# Security options
 44.4714 +#
 44.4715 +CONFIG_KEYS=y
 44.4716 +CONFIG_ENCRYPTED_KEYS=m
 44.4717 +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
 44.4718 +# CONFIG_SECURITY_DMESG_RESTRICT is not set
 44.4719 +# CONFIG_SECURITY is not set
 44.4720 +# CONFIG_SECURITYFS is not set
 44.4721 +CONFIG_DEFAULT_SECURITY_DAC=y
 44.4722 +CONFIG_DEFAULT_SECURITY=""
 44.4723 +CONFIG_XOR_BLOCKS=m
 44.4724 +CONFIG_ASYNC_CORE=m
 44.4725 +CONFIG_ASYNC_MEMCPY=m
 44.4726 +CONFIG_ASYNC_XOR=m
 44.4727 +CONFIG_ASYNC_PQ=m
 44.4728 +CONFIG_ASYNC_RAID6_RECOV=m
 44.4729 +CONFIG_CRYPTO=y
 44.4730 +
 44.4731 +#
 44.4732 +# Crypto core or helper
 44.4733 +#
 44.4734 +CONFIG_CRYPTO_ALGAPI=y
 44.4735 +CONFIG_CRYPTO_ALGAPI2=y
 44.4736 +CONFIG_CRYPTO_AEAD=y
 44.4737 +CONFIG_CRYPTO_AEAD2=y
 44.4738 +CONFIG_CRYPTO_BLKCIPHER=y
 44.4739 +CONFIG_CRYPTO_BLKCIPHER2=y
 44.4740 +CONFIG_CRYPTO_HASH=y
 44.4741 +CONFIG_CRYPTO_HASH2=y
 44.4742 +CONFIG_CRYPTO_RNG=m
 44.4743 +CONFIG_CRYPTO_RNG2=y
 44.4744 +CONFIG_CRYPTO_PCOMP=m
 44.4745 +CONFIG_CRYPTO_PCOMP2=y
 44.4746 +CONFIG_CRYPTO_MANAGER=y
 44.4747 +CONFIG_CRYPTO_MANAGER2=y
 44.4748 +CONFIG_CRYPTO_USER=m
 44.4749 +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
 44.4750 +CONFIG_CRYPTO_GF128MUL=m
 44.4751 +# CONFIG_CRYPTO_NULL is not set
 44.4752 +# CONFIG_CRYPTO_PCRYPT is not set
 44.4753 +CONFIG_CRYPTO_WORKQUEUE=y
 44.4754 +CONFIG_CRYPTO_CRYPTD=m
 44.4755 +CONFIG_CRYPTO_AUTHENC=y
 44.4756 +# CONFIG_CRYPTO_TEST is not set
 44.4757 +
 44.4758 +#
 44.4759 +# Authenticated Encryption with Associated Data
 44.4760 +#
 44.4761 +CONFIG_CRYPTO_CCM=m
 44.4762 +CONFIG_CRYPTO_GCM=m
 44.4763 +CONFIG_CRYPTO_SEQIV=m
 44.4764 +
 44.4765 +#
 44.4766 +# Block modes
 44.4767 +#
 44.4768 +CONFIG_CRYPTO_CBC=y
 44.4769 +CONFIG_CRYPTO_CTR=m
 44.4770 +CONFIG_CRYPTO_CTS=m
 44.4771 +CONFIG_CRYPTO_ECB=y
 44.4772 +# CONFIG_CRYPTO_LRW is not set
 44.4773 +CONFIG_CRYPTO_PCBC=y
 44.4774 +CONFIG_CRYPTO_XTS=m
 44.4775 +
 44.4776 +#
 44.4777 +# Hash modes
 44.4778 +#
 44.4779 +CONFIG_CRYPTO_HMAC=y
 44.4780 +CONFIG_CRYPTO_XCBC=m
 44.4781 +CONFIG_CRYPTO_VMAC=m
 44.4782 +
 44.4783 +#
 44.4784 +# Digest
 44.4785 +#
 44.4786 +CONFIG_CRYPTO_CRC32C=m
 44.4787 +# CONFIG_CRYPTO_CRC32C_INTEL is not set
 44.4788 +CONFIG_CRYPTO_GHASH=m
 44.4789 +CONFIG_CRYPTO_MD4=m
 44.4790 +CONFIG_CRYPTO_MD5=y
 44.4791 +CONFIG_CRYPTO_MICHAEL_MIC=m
 44.4792 +CONFIG_CRYPTO_RMD128=m
 44.4793 +CONFIG_CRYPTO_RMD160=m
 44.4794 +CONFIG_CRYPTO_RMD256=m
 44.4795 +CONFIG_CRYPTO_RMD320=m
 44.4796 +CONFIG_CRYPTO_SHA1=y
 44.4797 +CONFIG_CRYPTO_SHA256=m
 44.4798 +CONFIG_CRYPTO_SHA512=m
 44.4799 +CONFIG_CRYPTO_TGR192=m
 44.4800 +CONFIG_CRYPTO_WP512=m
 44.4801 +
 44.4802 +#
 44.4803 +# Ciphers
 44.4804 +#
 44.4805 +CONFIG_CRYPTO_AES=m
 44.4806 +CONFIG_CRYPTO_AES_586=m
 44.4807 +CONFIG_CRYPTO_AES_NI_INTEL=m
 44.4808 +CONFIG_CRYPTO_ANUBIS=m
 44.4809 +CONFIG_CRYPTO_ARC4=y
 44.4810 +CONFIG_CRYPTO_BLOWFISH=m
 44.4811 +CONFIG_CRYPTO_BLOWFISH_COMMON=m
 44.4812 +CONFIG_CRYPTO_CAMELLIA=m
 44.4813 +CONFIG_CRYPTO_CAST5=m
 44.4814 +CONFIG_CRYPTO_CAST6=m
 44.4815 +CONFIG_CRYPTO_DES=y
 44.4816 +CONFIG_CRYPTO_FCRYPT=y
 44.4817 +CONFIG_CRYPTO_KHAZAD=m
 44.4818 +CONFIG_CRYPTO_SALSA20=m
 44.4819 +CONFIG_CRYPTO_SALSA20_586=m
 44.4820 +CONFIG_CRYPTO_SEED=m
 44.4821 +CONFIG_CRYPTO_SERPENT=m
 44.4822 +CONFIG_CRYPTO_TEA=m
 44.4823 +CONFIG_CRYPTO_TWOFISH=m
 44.4824 +CONFIG_CRYPTO_TWOFISH_COMMON=m
 44.4825 +CONFIG_CRYPTO_TWOFISH_586=m
 44.4826 +
 44.4827 +#
 44.4828 +# Compression
 44.4829 +#
 44.4830 +CONFIG_CRYPTO_DEFLATE=y
 44.4831 +CONFIG_CRYPTO_ZLIB=m
 44.4832 +CONFIG_CRYPTO_LZO=m
 44.4833 +
 44.4834 +#
 44.4835 +# Random Number Generation
 44.4836 +#
 44.4837 +# CONFIG_CRYPTO_ANSI_CPRNG is not set
 44.4838 +# CONFIG_CRYPTO_USER_API_HASH is not set
 44.4839 +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
 44.4840 +CONFIG_CRYPTO_HW=y
 44.4841 +CONFIG_CRYPTO_DEV_PADLOCK=m
 44.4842 +CONFIG_CRYPTO_DEV_PADLOCK_AES=m
 44.4843 +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
 44.4844 +CONFIG_CRYPTO_DEV_GEODE=m
 44.4845 +CONFIG_CRYPTO_DEV_HIFN_795X=m
 44.4846 +CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
 44.4847 +CONFIG_HAVE_KVM=y
 44.4848 +CONFIG_HAVE_KVM_IRQCHIP=y
 44.4849 +CONFIG_HAVE_KVM_EVENTFD=y
 44.4850 +CONFIG_KVM_APIC_ARCHITECTURE=y
 44.4851 +CONFIG_KVM_MMIO=y
 44.4852 +CONFIG_KVM_ASYNC_PF=y
 44.4853 +CONFIG_VIRTUALIZATION=y
 44.4854 +CONFIG_KVM=m
 44.4855 +CONFIG_KVM_INTEL=m
 44.4856 +CONFIG_KVM_AMD=m
 44.4857 +CONFIG_VHOST_NET=m
 44.4858 +CONFIG_LGUEST=m
 44.4859 +# CONFIG_BINARY_PRINTF is not set
 44.4860 +
 44.4861 +#
 44.4862 +# Library routines
 44.4863 +#
 44.4864 +CONFIG_RAID6_PQ=m
 44.4865 +CONFIG_BITREVERSE=y
 44.4866 +CONFIG_GENERIC_FIND_FIRST_BIT=y
 44.4867 +CONFIG_CRC_CCITT=y
 44.4868 +CONFIG_CRC16=y
 44.4869 +# CONFIG_CRC_T10DIF is not set
 44.4870 +CONFIG_CRC_ITU_T=y
 44.4871 +CONFIG_CRC32=y
 44.4872 +CONFIG_CRC7=m
 44.4873 +CONFIG_LIBCRC32C=m
 44.4874 +CONFIG_CRC8=m
 44.4875 +CONFIG_ZLIB_INFLATE=y
 44.4876 +CONFIG_ZLIB_DEFLATE=y
 44.4877 +CONFIG_LZO_COMPRESS=y
 44.4878 +CONFIG_LZO_DECOMPRESS=y
 44.4879 +CONFIG_XZ_DEC=y
 44.4880 +CONFIG_XZ_DEC_X86=y
 44.4881 +CONFIG_XZ_DEC_POWERPC=y
 44.4882 +CONFIG_XZ_DEC_IA64=y
 44.4883 +CONFIG_XZ_DEC_ARM=y
 44.4884 +CONFIG_XZ_DEC_ARMTHUMB=y
 44.4885 +CONFIG_XZ_DEC_SPARC=y
 44.4886 +CONFIG_XZ_DEC_BCJ=y
 44.4887 +# CONFIG_XZ_DEC_TEST is not set
 44.4888 +CONFIG_DECOMPRESS_GZIP=y
 44.4889 +CONFIG_DECOMPRESS_BZIP2=y
 44.4890 +CONFIG_DECOMPRESS_LZMA=y
 44.4891 +CONFIG_DECOMPRESS_XZ=y
 44.4892 +CONFIG_DECOMPRESS_LZO=y
 44.4893 +CONFIG_TEXTSEARCH=y
 44.4894 +CONFIG_TEXTSEARCH_KMP=m
 44.4895 +CONFIG_TEXTSEARCH_BM=m
 44.4896 +CONFIG_TEXTSEARCH_FSM=m
 44.4897 +CONFIG_BTREE=y
 44.4898 +CONFIG_HAS_IOMEM=y
 44.4899 +CONFIG_HAS_IOPORT=y
 44.4900 +CONFIG_HAS_DMA=y
 44.4901 +CONFIG_CPU_RMAP=y
 44.4902 +CONFIG_NLATTR=y
 44.4903 +CONFIG_AVERAGE=y
 44.4904 +CONFIG_CORDIC=m
    45.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    45.2 +++ b/linux/stuff/linux-unlzma-2.6.38.u	Mon Apr 09 13:36:35 2012 +0200
    45.3 @@ -0,0 +1,268 @@
    45.4 +--- linux-2.6.30.4/init/initramfs.c
    45.5 ++++ linux-2.6.30.4/init/initramfs.c
    45.6 +@@ -425,7 +425,8 @@
    45.7 + 	return len - count;
    45.8 + }
    45.9 + 
   45.10 +-static int __init flush_buffer(void *bufv, unsigned len)
   45.11 ++#define flush_buffer cpio_flush_buffer
   45.12 ++int __init flush_buffer(void *bufv, unsigned len)
   45.13 + {
   45.14 + 	char *buf = (char *) bufv;
   45.15 + 	int written;
   45.16 +
   45.17 +--- linux-2.6.30.4/lib/decompress_unlzma.c
   45.18 ++++ linux-2.6.30.4/lib/decompress_unlzma.c
   45.19 +@@ -278,6 +278,10 @@
   45.20 + 	size_t global_pos;
   45.21 + 	int(*flush)(void*, unsigned int);
   45.22 + 	struct lzma_header *header;
   45.23 ++	int is_cpio_flush;
   45.24 ++	uint8_t **buffer_index;
   45.25 ++	int next_index;
   45.26 ++	int max_index;
   45.27 + };
   45.28 + 
   45.29 + struct cstate {
   45.30 +@@ -294,6 +298,14 @@
   45.31 + static inline uint8_t INIT peek_old_byte(struct writer *wr,
   45.32 + 						uint32_t offs)
   45.33 + {
   45.34 ++	if (wr->is_cpio_flush) {
   45.35 ++		int32_t pos;
   45.36 ++		while (offs > wr->header->dict_size)
   45.37 ++			offs -= wr->header->dict_size;
   45.38 ++		pos = wr->buffer_pos - offs;
   45.39 ++		return wr->buffer_index[pos / LZMA_IOBUF_SIZE]
   45.40 ++				       [pos % LZMA_IOBUF_SIZE];
   45.41 ++	}
   45.42 + 	if (!wr->flush) {
   45.43 + 		int32_t pos;
   45.44 + 		while (offs > wr->header->dict_size)
   45.45 +@@ -309,8 +321,41 @@
   45.46 + 
   45.47 + }
   45.48 + 
   45.49 ++static inline void INIT write_byte_if_cpio(struct writer *wr, uint8_t byte)
   45.50 ++{
   45.51 ++	if (wr->buffer_pos % LZMA_IOBUF_SIZE == 0) {
   45.52 ++		// if the following large_malloc fails, the initramfs
   45.53 ++		// whould not be load with is_cpio_flush forced 0 too.
   45.54 ++		// Remember we do not allocate historic buffer.
   45.55 ++		// Let's assume it will never fail !
   45.56 ++		if (wr->next_index >= wr->max_index) {
   45.57 ++			// realloc wr->buffer_index
   45.58 ++			uint8_t **p = wr->buffer_index;
   45.59 ++			wr->buffer_index = (uint8_t **) 
   45.60 ++				large_malloc(LZMA_IOBUF_SIZE + 
   45.61 ++					    sizeof(*p) * wr->max_index);
   45.62 ++			if (wr->max_index) {
   45.63 ++				memcpy(wr->buffer_index, p,
   45.64 ++				       sizeof(*p) * wr->max_index);
   45.65 ++				free(p);
   45.66 ++			}
   45.67 ++			wr->max_index += LZMA_IOBUF_SIZE / sizeof(*p);
   45.68 ++		}
   45.69 ++		wr->buffer_index[wr->next_index++] =
   45.70 ++			(uint8_t *) large_malloc(LZMA_IOBUF_SIZE);
   45.71 ++	}
   45.72 ++	wr->buffer_index[wr->buffer_pos / LZMA_IOBUF_SIZE]
   45.73 ++			[wr->buffer_pos % LZMA_IOBUF_SIZE] =
   45.74 ++		wr->previous_byte = byte;
   45.75 ++	wr->buffer_pos++;
   45.76 ++}
   45.77 ++
   45.78 + static inline void INIT write_byte(struct writer *wr, uint8_t byte)
   45.79 + {
   45.80 ++	if (wr->is_cpio_flush) {
   45.81 ++		write_byte_if_cpio(wr, byte);
   45.82 ++		return;
   45.83 ++	}
   45.84 + 	wr->buffer[wr->buffer_pos++] = wr->previous_byte = byte;
   45.85 + 	if (wr->flush && wr->buffer_pos == wr->header->dict_size) {
   45.86 + 		wr->buffer_pos = 0;
   45.87 +@@ -328,7 +373,21 @@
   45.88 + static inline void INIT copy_bytes(struct writer *wr,
   45.89 + 					 uint32_t rep0, int len)
   45.90 + {
   45.91 +-	do {
   45.92 ++	if (wr->is_cpio_flush) {
   45.93 ++		int32_t pos;
   45.94 ++		uint32_t offs = rep0;
   45.95 ++		while (offs > wr->header->dict_size)
   45.96 ++			offs -= wr->header->dict_size;
   45.97 ++		pos = wr->buffer_pos - offs;
   45.98 ++		do {
   45.99 ++			write_byte_if_cpio(wr, 
  45.100 ++				wr->buffer_index[pos / LZMA_IOBUF_SIZE]
  45.101 ++						[pos % LZMA_IOBUF_SIZE]);
  45.102 ++			pos++;
  45.103 ++			len--;
  45.104 ++		} while (len != 0 && wr->buffer_pos < wr->header->dst_size);
  45.105 ++	}
  45.106 ++	else do {
  45.107 + 		copy_byte(wr, rep0);
  45.108 + 		len--;
  45.109 + 	} while (len != 0 && wr->buffer_pos < wr->header->dst_size);
  45.110 +@@ -339,6 +398,9 @@
  45.111 + 				     int pos_state, uint16_t *prob,
  45.112 + 				     int lc, uint32_t literal_pos_mask) {
  45.113 + 	int mi = 1;
  45.114 ++	static const int state[LZMA_NUM_STATES] = 
  45.115 ++		{ 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 4, 5 };
  45.116 ++
  45.117 + 	rc_update_bit_0(rc, prob);
  45.118 + 	prob = (p + LZMA_LITERAL +
  45.119 + 		(LZMA_LIT_SIZE
  45.120 +@@ -369,18 +431,13 @@
  45.121 + 		rc_get_bit(rc, prob_lit, &mi);
  45.122 + 	}
  45.123 + 	write_byte(wr, mi);
  45.124 +-	if (cst->state < 4)
  45.125 +-		cst->state = 0;
  45.126 +-	else if (cst->state < 10)
  45.127 +-		cst->state -= 3;
  45.128 +-	else
  45.129 +-		cst->state -= 6;
  45.130 ++	cst->state = state[cst->state];
  45.131 + }
  45.132 + 
  45.133 + static inline void INIT process_bit1(struct writer *wr, struct rc *rc,
  45.134 + 					    struct cstate *cst, uint16_t *p,
  45.135 + 					    int pos_state, uint16_t *prob) {
  45.136 +-  int offset;
  45.137 ++	int offset;
  45.138 + 	uint16_t *prob_len;
  45.139 + 	int num_bits;
  45.140 + 	int len;
  45.141 +@@ -396,7 +453,7 @@
  45.142 + 		prob = p + LZMA_LEN_CODER;
  45.143 + 	} else {
  45.144 + 		rc_update_bit_1(rc, prob);
  45.145 +-		prob = p + LZMA_IS_REP_G0 + cst->state;
  45.146 ++		prob += LZMA_IS_REP_G0 - LZMA_IS_REP;
  45.147 + 		if (rc_is_bit_0(rc, prob)) {
  45.148 + 			rc_update_bit_0(rc, prob);
  45.149 + 			prob = (p + LZMA_IS_REP_0_LONG
  45.150 +@@ -417,13 +474,13 @@
  45.151 + 			uint32_t distance;
  45.152 + 
  45.153 + 			rc_update_bit_1(rc, prob);
  45.154 +-			prob = p + LZMA_IS_REP_G1 + cst->state;
  45.155 ++			prob += LZMA_IS_REP_G1 - LZMA_IS_REP_G0;
  45.156 + 			if (rc_is_bit_0(rc, prob)) {
  45.157 + 				rc_update_bit_0(rc, prob);
  45.158 + 				distance = cst->rep1;
  45.159 + 			} else {
  45.160 + 				rc_update_bit_1(rc, prob);
  45.161 +-				prob = p + LZMA_IS_REP_G2 + cst->state;
  45.162 ++				prob += LZMA_IS_REP_G2 - LZMA_IS_REP_G1;
  45.163 + 				if (rc_is_bit_0(rc, prob)) {
  45.164 + 					rc_update_bit_0(rc, prob);
  45.165 + 					distance = cst->rep2;
  45.166 +@@ -444,24 +501,24 @@
  45.167 + 	prob_len = prob + LZMA_LEN_CHOICE;
  45.168 + 	if (rc_is_bit_0(rc, prob_len)) {
  45.169 + 		rc_update_bit_0(rc, prob_len);
  45.170 +-		prob_len = (prob + LZMA_LEN_LOW
  45.171 ++		prob_len += LZMA_LEN_LOW - LZMA_LEN_CHOICE
  45.172 + 			    + (pos_state <<
  45.173 +-			       LZMA_LEN_NUM_LOW_BITS));
  45.174 ++			       LZMA_LEN_NUM_LOW_BITS);
  45.175 + 		offset = 0;
  45.176 + 		num_bits = LZMA_LEN_NUM_LOW_BITS;
  45.177 + 	} else {
  45.178 + 		rc_update_bit_1(rc, prob_len);
  45.179 +-		prob_len = prob + LZMA_LEN_CHOICE_2;
  45.180 ++		prob_len += LZMA_LEN_CHOICE_2 - LZMA_LEN_CHOICE;
  45.181 + 		if (rc_is_bit_0(rc, prob_len)) {
  45.182 + 			rc_update_bit_0(rc, prob_len);
  45.183 +-			prob_len = (prob + LZMA_LEN_MID
  45.184 ++			prob_len += LZMA_LEN_MID - LZMA_LEN_CHOICE_2
  45.185 + 				    + (pos_state <<
  45.186 +-				       LZMA_LEN_NUM_MID_BITS));
  45.187 ++				       LZMA_LEN_NUM_MID_BITS);
  45.188 + 			offset = 1 << LZMA_LEN_NUM_LOW_BITS;
  45.189 + 			num_bits = LZMA_LEN_NUM_MID_BITS;
  45.190 + 		} else {
  45.191 + 			rc_update_bit_1(rc, prob_len);
  45.192 +-			prob_len = prob + LZMA_LEN_HIGH;
  45.193 ++			prob_len += LZMA_LEN_HIGH - LZMA_LEN_CHOICE_2;
  45.194 + 			offset = ((1 << LZMA_LEN_NUM_LOW_BITS)
  45.195 + 				  + (1 << LZMA_LEN_NUM_MID_BITS));
  45.196 + 			num_bits = LZMA_LEN_NUM_HIGH_BITS;
  45.197 +@@ -529,6 +586,7 @@
  45.198 + 			      void(*error_fn)(char *x)
  45.199 + 	)
  45.200 + {
  45.201 ++	extern int cpio_flush_buffer(void*, unsigned int);
  45.202 + 	struct lzma_header header;
  45.203 + 	int lc, pb, lp;
  45.204 + 	uint32_t pos_state_mask;
  45.205 +@@ -563,6 +621,10 @@
  45.206 + 	wr.global_pos = 0;
  45.207 + 	wr.previous_byte = 0;
  45.208 + 	wr.buffer_pos = 0;
  45.209 ++	wr.is_cpio_flush = 0;
  45.210 ++	if (flush == cpio_flush_buffer)
  45.211 ++		wr.is_cpio_flush = 1;
  45.212 ++	wr.buffer_index = NULL;
  45.213 + 
  45.214 + 	rc_init(&rc, fill, inbuf, in_len);
  45.215 + 
  45.216 +@@ -596,23 +658,23 @@
  45.217 + 	if (header.dict_size == 0)
  45.218 + 		header.dict_size = 1;
  45.219 + 
  45.220 +-	if (output)
  45.221 ++	if (output || wr.is_cpio_flush)
  45.222 + 		wr.buffer = output;
  45.223 + 	else {
  45.224 + 		wr.bufsize = MIN(header.dst_size, header.dict_size);
  45.225 + 		wr.buffer = large_malloc(wr.bufsize);
  45.226 + 	}
  45.227 +-	if (wr.buffer == NULL)
  45.228 ++	if (wr.buffer == NULL && !wr.is_cpio_flush)
  45.229 + 		goto exit_1;
  45.230 + 
  45.231 + 	num_probs = LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp));
  45.232 + 	p = (uint16_t *) large_malloc(num_probs * sizeof(*p));
  45.233 + 	if (p == 0)
  45.234 + 		goto exit_2;
  45.235 +-	num_probs = LZMA_LITERAL + (LZMA_LIT_SIZE << (lc + lp));
  45.236 ++	num_probs += LZMA_LITERAL - LZMA_BASE_SIZE;
  45.237 + 	for (i = 0; i < num_probs; i++)
  45.238 + 		p[i] = (1 << RC_MODEL_TOTAL_BITS) >> 1;
  45.239 +-
  45.240 ++	wr.max_index = wr.next_index = 0;
  45.241 + 	rc_init_code(&rc);
  45.242 + 
  45.243 + 	while (get_pos(&wr) < header.dst_size) {
  45.244 +@@ -631,12 +693,25 @@
  45.245 + 
  45.246 + 	if (posp)
  45.247 + 		*posp = rc.ptr-rc.buffer;
  45.248 +-	if (wr.flush)
  45.249 ++	if (wr.is_cpio_flush) {
  45.250 ++		int i;
  45.251 ++		for (i = 0; i < wr.next_index -1; i++) {
  45.252 ++			wr.flush(wr.buffer_index[i], LZMA_IOBUF_SIZE);
  45.253 ++			large_free(wr.buffer_index[i]);
  45.254 ++		}
  45.255 ++		if (i < wr.next_index) {
  45.256 ++			wr.flush(wr.buffer_index[i], 
  45.257 ++				 wr.buffer_pos % LZMA_IOBUF_SIZE);
  45.258 ++			large_free(wr.buffer_index[i]);
  45.259 ++		}
  45.260 ++		large_free(wr.buffer_index);
  45.261 ++	}
  45.262 ++	else if (wr.flush)
  45.263 + 		wr.flush(wr.buffer, wr.buffer_pos);
  45.264 + 	ret = 0;
  45.265 + 	large_free(p);
  45.266 + exit_2:
  45.267 +-	if (!output)
  45.268 ++	if (!output && !wr.is_cpio_flush)
  45.269 + 		large_free(wr.buffer);
  45.270 + exit_1:
  45.271 + 	if (!buf)
    46.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    46.2 +++ b/linux/stuff/list_modules.sh	Mon Apr 09 13:36:35 2012 +0200
    46.3 @@ -0,0 +1,43 @@
    46.4 +#!/bin/sh
    46.5 +# list_modules.sh: list Linux kernel modules for SliTaz GNU/Linux.
    46.6 +# 2008/06/07 <pascal.bellard@slitaz.org> - GNU General Public License.
    46.7 +#
    46.8 +
    46.9 +find_modules()
   46.10 +{
   46.11 +find $_pkg/lib/modules/*-slitaz/kernel/$1 -type f -exec basename {} \;
   46.12 +}
   46.13 +
   46.14 +if [ -z "$1" ] ; then
   46.15 +  cat 1>&2 <<EOT
   46.16 +  
   46.17 +\033[1musage:\033[0m `basename $0` path/to/kernel-modules-subtrees
   46.18 +exemple `basename $0` drivers/net/wireless >list
   46.19 +
   46.20 +EOT
   46.21 +  exit 1
   46.22 +fi
   46.23 +
   46.24 +if [ -z "$(ls -d $_pkg/lib/modules/*-slitaz/kernel/$1 2> /dev/null)" ] ; then
   46.25 +  cat 1>&2 <<EOT
   46.26 +  
   46.27 +Error : $1 does not exist.
   46.28 +
   46.29 +EOT
   46.30 +  exit 1
   46.31 +fi
   46.32 +
   46.33 +for tree in $@; do
   46.34 +    for module in $(find_modules $tree) ; do
   46.35 +        grep /$module: $_pkg/lib/modules/*-slitaz/modules.dep ||
   46.36 +        find $_pkg/lib/modules/*-slitaz/kernel/$tree -name $module
   46.37 +    done | awk '{ for (i = 1; i <= NF; i++)  print $i; }'
   46.38 +done | sort | uniq | sed -e 's,.*slitaz/,,' -e 's,^kernel/,,' -e 's/:$//' | \
   46.39 +while read module; do
   46.40 +    grep -qs ^$module$ $src/modules.list && continue
   46.41 +    if [ ! -f $_pkg/lib/modules/*-slitaz/kernel/$module ]; then
   46.42 +	(cd $_pkg/lib/modules/*-slitaz/kernel; find -name $(basename $module) )
   46.43 +    else
   46.44 +        echo $module
   46.45 +    fi
   46.46 +done
    47.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    47.2 +++ b/linux/stuff/mac80211.compat08082009.wl_frag+ack_v1.patch	Mon Apr 09 13:36:35 2012 +0200
    47.3 @@ -0,0 +1,27 @@
    47.4 +diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
    47.5 +index 0855cac..221bed6 100644
    47.6 +--- a/net/mac80211/tx.c
    47.7 ++++ b/net/mac80211/tx.c
    47.8 +@@ -677,11 +677,19 @@ int tid;
    47.9 + 
   47.10 + 	/*
   47.11 + 	 * Packet injection may want to control the sequence
   47.12 +-	 * number, if we have no matching interface then we
   47.13 +-	 * neither assign one ourselves nor ask the driver to.
   47.14 ++	 * number, so if an injected packet is found, skip
   47.15 ++	 * renumbering it. Also make the packet NO_ACK to avoid
   47.16 ++	 * excessive retries (ACKing and retrying should be
   47.17 ++	 * handled by the injecting application).
   47.18 ++	 * FIXME This may break hostapd and some other injectors.
   47.19 ++	 * This should be done using a radiotap flag.
   47.20 + 	 */
   47.21 +-	if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR))
   47.22 ++	if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) &&
   47.23 ++	   !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) {
   47.24 ++		if (!ieee80211_has_morefrags(hdr->frame_control))
   47.25 ++			info->flags |= IEEE80211_TX_CTL_NO_ACK;
   47.26 + 		return TX_CONTINUE;
   47.27 ++	}
   47.28 + 
   47.29 + 	if (unlikely(ieee80211_is_ctl(hdr->frame_control)))
   47.30 + 		return TX_CONTINUE;
    48.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    48.2 +++ b/linux/stuff/modules.list	Mon Apr 09 13:36:35 2012 +0200
    48.3 @@ -0,0 +1,286 @@
    48.4 +drivers/acpi/video.ko.gz
    48.5 +drivers/acpi/button.ko.gz
    48.6 +drivers/char/genrtc.ko.gz
    48.7 +drivers/char/i8k.ko.gz
    48.8 +drivers/char/lp.ko.gz
    48.9 +drivers/char/rtc.ko.gz
   48.10 +drivers/regulator/fixed.ko.gz
   48.11 +drivers/regulator/tps6105x-regulator.ko.gz
   48.12 +drivers/mmc/host/tifm_sd.ko.gz
   48.13 +drivers/mmc/host/ushc.ko.gz
   48.14 +drivers/mmc/host/wbsd.ko.gz
   48.15 +drivers/mmc/host/cb710-mmc.ko.gz
   48.16 +drivers/mmc/host/sdricoh_cs.ko.gz
   48.17 +drivers/mmc/host/via-sdmmc.ko.gz
   48.18 +drivers/mmc/host/vub300.ko.gz
   48.19 +drivers/usb/otg/ab8500-usb.ko.gz
   48.20 +drivers/char/agp/agpgart.ko.gz
   48.21 +drivers/connector/cn.ko.gz
   48.22 +drivers/i2c/algos/i2c-algo-bit.ko.gz
   48.23 +drivers/net/wan/hdlc.ko.gz
   48.24 +drivers/gpu/drm/drm.ko.gz
   48.25 +drivers/gpu/drm/drm_kms_helper.ko.gz
   48.26 +drivers/misc/eeprom/eeprom_93cx6.ko.gz
   48.27 +drivers/vhost/vhost_net.ko.gz
   48.28 +drivers/usb/dwc3/dwc3-omap.ko.gz
   48.29 +drivers/usb/dwc3/dwc3.ko.gz
   48.30 +drivers/usb/dwc3/dwc3-pci.ko.gz
   48.31 +drivers/usb/c67x00/c67x00.ko.gz
   48.32 +drivers/usb/storage/uas.ko.gz
   48.33 +drivers/usb/storage/ums-alauda.ko.gz
   48.34 +drivers/usb/storage/ums-cypress.ko.gz
   48.35 +drivers/usb/storage/ums-datafab.ko.gz
   48.36 +drivers/usb/storage/ums-eneub6250.ko.gz
   48.37 +drivers/usb/storage/ums-freecom.ko.gz
   48.38 +drivers/usb/storage/ums-isd200.ko.gz
   48.39 +drivers/usb/storage/ums-jumpshot.ko.gz
   48.40 +drivers/usb/storage/ums-karma.ko.gz
   48.41 +drivers/usb/storage/ums-onetouch.ko.gz
   48.42 +drivers/usb/storage/ums-realtek.ko.gz
   48.43 +drivers/usb/storage/ums-sddr09.ko.gz
   48.44 +drivers/usb/storage/ums-sddr55.ko.gz
   48.45 +drivers/usb/storage/ums-usbat.ko.gz
   48.46 +drivers/usb/host/u132-hcd.ko.gz
   48.47 +drivers/usb/host/isp116x-hcd.ko.gz
   48.48 +drivers/usb/host/sl811-hcd.ko.gz
   48.49 +drivers/usb/host/sl811_cs.ko.gz
   48.50 +drivers/usb/host/isp1760.ko.gz
   48.51 +drivers/usb/host/oxu210hp-hcd.ko.gz
   48.52 +drivers/usb/host/isp1362-hcd.ko.gz
   48.53 +drivers/usb/host/r8a66597-hcd.ko.gz
   48.54 +drivers/usb/otg/nop-usb-xceiv.ko.gz
   48.55 +drivers/usb/otg/gpio_vbus.ko.gz
   48.56 +drivers/usb/image/microtek.ko.gz
   48.57 +drivers/usb/image/mdc800.ko.gz
   48.58 +drivers/usb/class/cdc-wdm.ko.gz
   48.59 +drivers/usb/gadget/fusb300_udc.ko.gz
   48.60 +drivers/usb/gadget/net2272.ko.gz
   48.61 +drivers/usb/gadget/pch_udc.ko.gz
   48.62 +drivers/usb/gadget/r8a66597-udc.ko.gz
   48.63 +drivers/usb/gadget/dummy_hcd.ko.gz
   48.64 +drivers/usb/gadget/net2280.ko.gz
   48.65 +drivers/usb/gadget/udc-core.ko.gz
   48.66 +drivers/usb/gadget/amd5536udc.ko.gz
   48.67 +drivers/usb/gadget/goku_udc.ko.gz
   48.68 +drivers/usb/gadget/m66592-udc.ko.gz
   48.69 +drivers/usb/gadget/langwell_udc.ko.gz
   48.70 +drivers/usb/gadget/ci13xxx_pci.ko.gz
   48.71 +drivers/usb/gadget/g_acm_ms.ko.gz
   48.72 +drivers/usb/renesas_usbhs/renesas_usbhs.ko.gz
   48.73 +drivers/hv/hv_utils.ko.gz
   48.74 +drivers/gpio/gpio-mcp23s08.ko.gz
   48.75 +drivers/gpio/gpio-generic.ko.gz
   48.76 +drivers/base/regmap/regmap-i2c.ko.gz
   48.77 +security/keys/encrypted-keys/encrypted-keys.ko.gz
   48.78 +fs/quota/quota_tree.ko.gz
   48.79 +drivers/gpu/stub/poulsbo.ko.gz
   48.80 +drivers/hwmon/coretemp.ko.gz
   48.81 +drivers/hwmon/hwmon.ko.gz
   48.82 +drivers/input/mouse/inport.ko.gz
   48.83 +drivers/input/mouse/logibm.ko.gz
   48.84 +drivers/input/mouse/pc110pad.ko.gz
   48.85 +drivers/input/input-polldev.ko.gz
   48.86 +drivers/input/sparse-keymap.ko.gz
   48.87 +drivers/net/ethernet/realtek/atp.ko.gz
   48.88 +drivers/net/ethernet/cisco/enic/enic.ko.gz
   48.89 +drivers/net/ethernet/qlogic/qlge/qlge.ko.gz
   48.90 +drivers/net/ethernet/qlogic/netxen/netxen_nic.ko.gz
   48.91 +drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko.gz
   48.92 +drivers/net/ethernet/broadcom/bnx2.ko.gz
   48.93 +drivers/net/ethernet/myricom/myri10ge/myri10ge.ko.gz
   48.94 +drivers/net/ethernet/3com/3c501.ko.gz
   48.95 +drivers/net/ethernet/8390/3c503.ko.gz
   48.96 +drivers/net/ethernet/i825xx/3c505.ko.gz
   48.97 +drivers/net/ethernet/3com/3c509.ko.gz
   48.98 +drivers/net/ethernet/3com/3c515.ko.gz
   48.99 +drivers/net/ethernet/3com/3c59x.ko.gz
  48.100 +drivers/net/ethernet/i825xx/82596.ko.gz
  48.101 +drivers/net/ethernet/amd/amd8111e.ko.gz
  48.102 +drivers/net/ethernet/amd/depca.ko.gz
  48.103 +drivers/net/ethernet/amd/lance.ko.gz
  48.104 +drivers/net/ethernet/amd/ni65.ko.gz
  48.105 +drivers/net/ethernet/atheros/atl1c/atl1c.ko.gz
  48.106 +drivers/net/ethernet/atheros/atl1e/atl1e.ko.gz
  48.107 +drivers/net/ethernet/atheros/atlx/atl2.ko.gz
  48.108 +drivers/net/ethernet/sun/cassini.ko.gz
  48.109 +drivers/net/ethernet/cirrus/cs89x0.ko.gz
  48.110 +drivers/net/ethernet/dlink/dl2k.ko.gz
  48.111 +drivers/net/ethernet/dlink/de600.ko.gz
  48.112 +drivers/net/ethernet/dlink/de620.ko.gz
  48.113 +drivers/net/ethernet/intel/e1000/e1000.ko.gz
  48.114 +drivers/net/ethernet/8390/e2100.ko.gz
  48.115 +drivers/net/ethernet/8390/hp.ko.gz
  48.116 +drivers/net/ethernet/8390/hp-plus.ko.gz
  48.117 +drivers/net/ethernet/8390/ne.ko.gz
  48.118 +drivers/net/ethernet/i825xx/eepro.ko.gz
  48.119 +drivers/net/ethernet/i825xx/eexpress.ko.gz
  48.120 +drivers/net/ethernet/i825xx/lp486e.ko.gz
  48.121 +drivers/net/ethernet/i825xx/ni52.ko.gz
  48.122 +drivers/net/ethernet/fujitsu/eth16i.ko.gz
  48.123 +drivers/net/ethernet/dec/ewrk3.ko.gz
  48.124 +drivers/net/ethernet/fealnx.ko.gz
  48.125 +drivers/net/ethernet/hp/hp100.ko.gz
  48.126 +drivers/net/ethernet/icplus/ipg.ko.gz
  48.127 +drivers/net/ethernet/tehuti/tehuti.ko.gz
  48.128 +drivers/net/ethernet/neterion/s2io.ko.gz
  48.129 +drivers/net/sb1000.ko.gz
  48.130 +drivers/net/mdio.ko.gz
  48.131 +drivers/net/ethernet/sun/niu.ko.gz
  48.132 +drivers/net/ifb.ko.gz
  48.133 +drivers/net/veth.ko.gz
  48.134 +drivers/net/macvtap.ko.gz
  48.135 +drivers/net/macvlan.ko.gz
  48.136 +drivers/net/ethernet/neterion/vxge/vxge.ko.gz
  48.137 +drivers/net/ethernet/intel/ixgb/ixgb.ko.gz
  48.138 +drivers/net/ethernet/intel/ixgbe/ixgbe.ko.gz
  48.139 +drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko.gz
  48.140 +drivers/net/ethernet/mellanox/mlx4/mlx4_core.ko.gz
  48.141 +drivers/net/ethernet/brocade/bna/bna.ko.gz
  48.142 +drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf.ko.gz
  48.143 +drivers/net/ethernet/chelsio/cxgb4/cxgb4.ko.gz
  48.144 +drivers/net/ethernet/chelsio/cxgb/cxgb.ko.gz
  48.145 +drivers/net/ethernet/qlogic/qlcnic/qlcnic.ko.gz
  48.146 +drivers/net/ethernet/3com/3c574_cs.ko.gz
  48.147 +drivers/net/ethernet/3com/3c589_cs.ko.gz
  48.148 +drivers/net/ethernet/8390/axnet_cs.ko.gz
  48.149 +drivers/net/arcnet/com20020_cs.ko.gz
  48.150 +drivers/net/ethernet/fujitsu/fmvj18x_cs.ko.gz
  48.151 +drivers/net/ethernet/amd/nmclan_cs.ko.gz
  48.152 +drivers/net/ethernet/8390/pcnet_cs.ko.gz
  48.153 +drivers/net/ethernet/smsc/smc91c92_cs.ko.gz
  48.154 +drivers/net/ethernet/xircom/xirc2ps_cs.ko.gz
  48.155 +drivers/net/phy/broadcom.ko.gz
  48.156 +drivers/net/phy/cicada.ko.gz
  48.157 +drivers/net/phy/davicom.ko.gz
  48.158 +drivers/net/phy/libphy.ko.gz
  48.159 +drivers/net/phy/lxt.ko.gz
  48.160 +drivers/net/phy/marvell.ko.gz
  48.161 +drivers/net/phy/qsemi.ko.gz 
  48.162 +drivers/net/phy/smsc.ko.gz 
  48.163 +drivers/net/ethernet/dnet.ko.gz
  48.164 +drivers/net/ethernet/silan/sc92031.ko.gz
  48.165 +drivers/net/ethernet/sis/sis190.ko.gz
  48.166 +drivers/net/ethernet/marvell/skge.ko.gz
  48.167 +drivers/net/ethernet/marvell/sky2.ko.gz
  48.168 +drivers/net/ethernet/smsc/smc9194.ko.gz
  48.169 +drivers/net/ethernet/8390/smc-ultra.ko.gz
  48.170 +drivers/net/ethernet/adaptec/starfire.ko.gz
  48.171 +drivers/net/ethernet/sun/sungem.ko.gz
  48.172 +drivers/net/sungem_phy.ko.gz
  48.173 +drivers/net/ethernet/sun/sunhme.ko.gz
  48.174 +drivers/net/ethernet/broadcom/tg3.ko.gz
  48.175 +drivers/net/ethernet/dec/tulip/tulip.ko.gz
  48.176 +drivers/net/ethernet/dec/tulip/uli526x.ko.gz
  48.177 +drivers/net/ethernet/3com/typhoon.ko.gz
  48.178 +drivers/net/usb/asix.ko.gz
  48.179 +drivers/net/usb/cdc_ether.ko.gz
  48.180 +drivers/net/usb/cdc_subset.ko.gz
  48.181 +drivers/net/usb/net1080.ko.gz
  48.182 +drivers/net/usb/rndis_host.ko.gz
  48.183 +drivers/net/usb/usbnet.ko.gz
  48.184 +drivers/net/usb/zaurus.ko.gz
  48.185 +drivers/net/usb/cdc_eem.ko.gz
  48.186 +drivers/net/usb/cdc_ncm.ko.gz 
  48.187 +drivers/net/usb/dm9601.ko.gz
  48.188 +drivers/net/usb/gl620a.ko.gz
  48.189 +drivers/net/usb/catc.ko.gz
  48.190 +drivers/net/usb/kaweth.ko.gz
  48.191 +drivers/net/usb/sierra_net.ko.gz
  48.192 +drivers/net/usb/rtl8150.ko.gz
  48.193 +drivers/net/usb/pegasus.ko.gz
  48.194 +drivers/net/usb/mcs7830.ko.gz
  48.195 +drivers/net/usb/plusb.ko.gz
  48.196 +drivers/net/ethernet/via/via-velocity.ko.gz
  48.197 +drivers/net/ethernet/chelsio/cxgb3/cxgb3.ko.gz
  48.198 +drivers/net/ethernet/8390/wd.ko.gz
  48.199 +drivers/net/ethernet/8390/8390p.ko.gz
  48.200 +drivers/net/ethernet/broadcom/b44.ko.gz
  48.201 +drivers/net/ethernet/rdc/r6040.ko.gz
  48.202 +drivers/net/vmxnet3/vmxnet3.ko.gz
  48.203 +drivers/net/usb/int51x1.ko.gz
  48.204 +drivers/net/usb/ipheth.ko.gz
  48.205 +drivers/net/usb/smsc75xx.ko.gz
  48.206 +drivers/net/usb/kalmia.ko.gz
  48.207 +drivers/net/usb/smsc95xx.ko.gz
  48.208 +drivers/net/usb/cx82310_eth.ko.gz
  48.209 +drivers/net/usb/lg-vl600.ko.gz
  48.210 +drivers/net/ethernet/sfc/sfc.ko.gz
  48.211 +drivers/net/bonding/bonding.ko.gz
  48.212 +drivers/net/ethernet/emulex/benet/be2net.ko.gz
  48.213 +drivers/net/ethernet/smsc/smsc9420.ko.gz
  48.214 +drivers/nfc/pn544.ko.gz
  48.215 +drivers/nfc/pn533.ko.gz
  48.216 +drivers/nfc/nfcwilink.ko.gz
  48.217 +drivers/ide/ide-cs.ko.gz
  48.218 +drivers/watchdog/softdog.ko.gz
  48.219 +drivers/parport/parport.ko.gz
  48.220 +drivers/parport/parport_pc.ko.gz
  48.221 +drivers/pcmcia/i82092.ko.gz
  48.222 +drivers/pcmcia/i82365.ko.gz
  48.223 +drivers/pcmcia/pcmcia_core.ko.gz
  48.224 +drivers/pcmcia/pcmcia.ko.gz
  48.225 +drivers/pcmcia/pcmcia_rsrc.ko.gz
  48.226 +drivers/pcmcia/pd6729.ko.gz
  48.227 +drivers/pcmcia/yenta_socket.ko.gz
  48.228 +drivers/usb/class/cdc-acm.ko.gz
  48.229 +drivers/usb/class/usblp.ko.gz
  48.230 +drivers/usb/serial/ch341.ko.gz
  48.231 +drivers/usb/serial/pl2303.ko.gz
  48.232 +drivers/usb/serial/usbserial.ko.gz
  48.233 +drivers/usb/mon/usbmon.ko.gz
  48.234 +drivers/usb/host/xhci-hcd.ko.gz
  48.235 +drivers/ssb/ssb.ko.gz
  48.236 +drivers/block/floppy.ko.gz
  48.237 +drivers/input/mouse/sermouse.ko.gz
  48.238 +drivers/video/output.ko.gz
  48.239 +drivers/video/syscopyarea.ko.gz
  48.240 +drivers/video/smscufx.ko.gz
  48.241 +drivers/video/sysimgblt.ko.gz
  48.242 +drivers/video/fb_sys_fops.ko.gz
  48.243 +drivers/video/sysfillrect.ko.gz
  48.244 +drivers/staging/ste_rmi4/synaptics_i2c_rmi4.ko.gz
  48.245 +drivers/staging/cptm1217/clearpad_tm1217.ko.gz
  48.246 +fs/binfmt_misc.ko.gz
  48.247 +fs/fat/msdos.ko.gz
  48.248 +fs/fuse/cuse.ko.gz
  48.249 +net/ipv4/netfilter/ipt_REJECT.ko.gz
  48.250 +net/ipv4/inet_lro.ko.gz
  48.251 +net/ipv4/ip_gre.ko.gz
  48.252 +net/netfilter/nfnetlink.ko.gz
  48.253 +net/netfilter/nfnetlink_log.ko.gz
  48.254 +net/wanrouter/wanrouter.ko.gz
  48.255 +net/nfc/nfc.ko.gz
  48.256 +net/nfc/nci/nci.ko.gz
  48.257 +lib/crc7.ko.gz
  48.258 +drivers/tty/nozomi.ko.gz
  48.259 +drivers/misc/cb710/cb710.ko.gz
  48.260 +drivers/misc/tifm_core.ko.gz
  48.261 +drivers/misc/lis3lv02d/lis3lv02d.ko.gz
  48.262 +drivers/misc/lis3lv02d/lis3lv02d_i2c.ko.gz
  48.263 +drivers/misc/fsa9480.ko.gz
  48.264 +drivers/misc/altera-stapl/altera-stapl.ko.gz
  48.265 +drivers/hid/hid-speedlink.ko.gz
  48.266 +drivers/hid/hid-holtekff.ko.gz
  48.267 +drivers/hid/hid-logitech-dj.ko.gz
  48.268 +drivers/hid/hid-primax.ko.gz
  48.269 +net/llc/llc.ko.gz
  48.270 +drivers/mmc/core/mmc_core.ko.gz
  48.271 +net/rfkill/rfkill.ko.gz
  48.272 +net/sunrpc/auth_gss/auth_rpcgss.ko.gz
  48.273 +net/sunrpc/auth_gss/rpcsec_gss_krb5.ko.gz
  48.274 +net/netfilter/nf_conntrack.ko.gz
  48.275 +net/batman-adv/batman-adv.ko.gz
  48.276 +drivers/input/gameport/gameport.ko.gz
  48.277 +drivers/i2c/i2c-core.ko.gz
  48.278 +drivers/i2c/busses/i2c-designware-pci.ko.gz
  48.279 +drivers/regulator/gpio-regulator.ko.gz
  48.280 +sound/soundcore.ko.gz
  48.281 +sound/ac97_bus.ko.gz
  48.282 +sound/core/snd.ko.gz
  48.283 +lib/libcrc32c.ko.gz
  48.284 +lib/crc8.ko.gz
  48.285 +lib/cordic.ko.gz
  48.286 +lib/raid6/raid6_pq.ko.gz
  48.287 +lib/ts_bm.ko.gz
  48.288 +lib/ts_fsm.ko.gz
  48.289 +lib/ts_kmp.ko.gz
  48.290 \ No newline at end of file
    49.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    49.2 +++ b/mpc-library/receipt	Mon Apr 09 13:36:35 2012 +0200
    49.3 @@ -0,0 +1,29 @@
    49.4 +# SliTaz package receipt.
    49.5 +
    49.6 +PACKAGE="mpc-library"
    49.7 +VERSION="0.9"
    49.8 +CATEGORY="development"
    49.9 +SHORT_DESC="MPC is a C library for the arithmetic of complex numbers."
   49.10 +MAINTAINER="pankso@slitaz.org"
   49.11 +SOURCE="mpc"
   49.12 +TARBALL="$SOURCE-$VERSION.tar.gz"
   49.13 +WEB_SITE="http://www.multiprecision.org/"
   49.14 +WGET_URL="http://www.multiprecision.org/mpc/download/$TARBALL"
   49.15 +
   49.16 +DEPENDS="mpfr gmp"
   49.17 +BUILD_DEPENDS="mpfr-dev gmp-dev"
   49.18 +
   49.19 +compile_rules()
   49.20 +{
   49.21 +	cd $src
   49.22 +	./configure $CONFIGURE_ARGS && make && make install
   49.23 +}
   49.24 +
   49.25 +# Rules to gen a SliTaz package suitable for Tazpkg.
   49.26 +genpkg_rules()
   49.27 +{
   49.28 +	mkdir -p $fs/usr
   49.29 +	cp -a $install/usr/lib $fs/usr
   49.30 +	cp -a $install/usr/include $fs/usr
   49.31 +}
   49.32 +
    50.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    50.2 +++ b/mpfr-dev/receipt	Mon Apr 09 13:36:35 2012 +0200
    50.3 @@ -0,0 +1,20 @@
    50.4 +# SliTaz package receipt
    50.5 +
    50.6 +PACKAGE="mpfr-dev"
    50.7 +VERSION="3.1.0"
    50.8 +CATEGORY="development"
    50.9 +SHORT_DESC="GNU Multiple Precision Arithmetic devel files."
   50.10 +MAINTAINER="pankso@slitaz.org"
   50.11 +DEPENDS="mpfr"
   50.12 +WANTED="mpfr"
   50.13 +WEB_SITE="http://gmplib.org/"
   50.14 +#EXTRAVERSION="p8"
   50.15 +
   50.16 +# Rules to gen a SliTaz package suitable for Tazpkg.
   50.17 +genpkg_rules()
   50.18 +{
   50.19 +	mkdir -p $fs/usr/lib
   50.20 +	cp -a $install/usr/lib/*.*a $fs/usr/lib
   50.21 +	cp -a $install/usr/include $fs/usr
   50.22 +}
   50.23 +
    51.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    51.2 +++ b/mpfr/receipt	Mon Apr 09 13:36:35 2012 +0200
    51.3 @@ -0,0 +1,29 @@
    51.4 +# SliTaz package receipt
    51.5 +
    51.6 +PACKAGE="mpfr"
    51.7 +VERSION="3.1.0"
    51.8 +CATEGORY="development"
    51.9 +SHORT_DESC="C library for multiple-precision floating-point computations."
   51.10 +MAINTAINER="pankso@slitaz.org"
   51.11 +TARBALL="$PACKAGE-$VERSION.tar.bz2"
   51.12 +WEB_SITE="http://www.mpfr.org/"
   51.13 +WGET_URL="http://www.mpfr.org/mpfr-current/$TARBALL"
   51.14 +
   51.15 +DEPENDS="gmp"
   51.16 +BUILD_DEPENDS="gmp-dev"
   51.17 +
   51.18 +# Rules to configure and make the package.
   51.19 +compile_rules()
   51.20 +{	
   51.21 +	cd $src
   51.22 +	patch -Np1 -i $stuff/$PACKAGE-$VERSION.patch 
   51.23 +	./configure $CONFIGURE_ARGS &&
   51.24 +	make && make install
   51.25 +}
   51.26 +
   51.27 +# Rules to gen a SliTaz package suitable for Tazpkg.
   51.28 +genpkg_rules()
   51.29 +{
   51.30 +	mkdir -p $fs/usr/lib
   51.31 +	cp -a $install/usr/lib/*.so* $fs/usr/lib
   51.32 +}
    52.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    52.2 +++ b/mpfr/stuff/mpfr-3.0.0.patch	Mon Apr 09 13:36:35 2012 +0200
    52.3 @@ -0,0 +1,1945 @@
    52.4 +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
    52.5 +--- mpfr-3.0.0-a/PATCHES	2010-06-23 11:02:49.000000000 +0000
    52.6 ++++ mpfr-3.0.0-b/PATCHES	2010-06-23 11:03:36.000000000 +0000
    52.7 +@@ -0,0 +1 @@
    52.8 ++mpfr_out_str
    52.9 +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
   52.10 +--- mpfr-3.0.0-a/VERSION	2010-06-10 11:00:14.000000000 +0000
   52.11 ++++ mpfr-3.0.0-b/VERSION	2010-06-23 11:03:20.000000000 +0000
   52.12 +@@ -1 +1 @@
   52.13 +-3.0.0
   52.14 ++3.0.0-p1
   52.15 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
   52.16 +--- mpfr-3.0.0-a/mpfr.h	2010-06-10 11:00:14.000000000 +0000
   52.17 ++++ mpfr-3.0.0-b/mpfr.h	2010-06-23 11:03:20.000000000 +0000
   52.18 +@@ -27,7 +27,7 @@
   52.19 + #define MPFR_VERSION_MAJOR 3
   52.20 + #define MPFR_VERSION_MINOR 0
   52.21 + #define MPFR_VERSION_PATCHLEVEL 0
   52.22 +-#define MPFR_VERSION_STRING "3.0.0"
   52.23 ++#define MPFR_VERSION_STRING "3.0.0-p1"
   52.24 + 
   52.25 + /* Macros dealing with MPFR VERSION */
   52.26 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
   52.27 +diff -Naurd mpfr-3.0.0-a/mpfr.texi mpfr-3.0.0-b/mpfr.texi
   52.28 +--- mpfr-3.0.0-a/mpfr.texi	2010-06-10 11:00:14.000000000 +0000
   52.29 ++++ mpfr-3.0.0-b/mpfr.texi	2010-06-23 11:03:12.000000000 +0000
   52.30 +@@ -2050,7 +2050,7 @@
   52.31 + are printed. If @var{base} is greater than 10, @samp{@@} will be used
   52.32 + instead of @samp{e} as exponent delimiter.
   52.33 + 
   52.34 +-Return the number of bytes written, or if an error occurred, return 0.
   52.35 ++Return the number of characters written, or if an error occurred, return 0.
   52.36 + @end deftypefun
   52.37 + 
   52.38 + @deftypefun size_t mpfr_inp_str (mpfr_t @var{rop}, FILE *@var{stream}, int @var{base}, mpfr_rnd_t @var{rnd})
   52.39 +diff -Naurd mpfr-3.0.0-a/out_str.c mpfr-3.0.0-b/out_str.c
   52.40 +--- mpfr-3.0.0-a/out_str.c	2010-06-10 11:00:14.000000000 +0000
   52.41 ++++ mpfr-3.0.0-b/out_str.c	2010-06-23 11:03:12.000000000 +0000
   52.42 +@@ -22,6 +22,16 @@
   52.43 + 
   52.44 + #include "mpfr-impl.h"
   52.45 + 
   52.46 ++/* Warning! S should not contain "%". */
   52.47 ++#define OUT_STR_RET(S)                          \
   52.48 ++  do                                            \
   52.49 ++    {                                           \
   52.50 ++      int r;                                    \
   52.51 ++      r = fprintf (stream, (S));                \
   52.52 ++      return r < 0 ? 0 : r;                     \
   52.53 ++    }                                           \
   52.54 ++  while (0)
   52.55 ++
   52.56 + size_t
   52.57 + mpfr_out_str (FILE *stream, int base, size_t n_digits, mpfr_srcptr op,
   52.58 +               mpfr_rnd_t rnd_mode)
   52.59 +@@ -29,6 +39,7 @@
   52.60 +   char *s, *s0;
   52.61 +   size_t l;
   52.62 +   mpfr_exp_t e;
   52.63 ++  int err;
   52.64 + 
   52.65 +   MPFR_ASSERTN (base >= 2 && base <= 62);
   52.66 + 
   52.67 +@@ -36,37 +47,16 @@
   52.68 +   if (stream == NULL)
   52.69 +     stream = stdout;
   52.70 + 
   52.71 +-  if (MPFR_IS_NAN(op))
   52.72 +-    {
   52.73 +-      fprintf (stream, "@NaN@");
   52.74 +-      return 3;
   52.75 +-    }
   52.76 +-
   52.77 +-  if (MPFR_IS_INF(op))
   52.78 +-    {
   52.79 +-      if (MPFR_SIGN(op) > 0)
   52.80 +-        {
   52.81 +-          fprintf (stream, "@Inf@");
   52.82 +-          return 3;
   52.83 +-        }
   52.84 +-      else
   52.85 +-        {
   52.86 +-          fprintf (stream, "-@Inf@");
   52.87 +-          return 4;
   52.88 +-        }
   52.89 +-    }
   52.90 +-
   52.91 +-  if (MPFR_IS_ZERO(op))
   52.92 ++  if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (op)))
   52.93 +     {
   52.94 +-      if (MPFR_SIGN(op) > 0)
   52.95 +-        {
   52.96 +-          fprintf(stream, "0");
   52.97 +-          return 1;
   52.98 +-        }
   52.99 ++      if (MPFR_IS_NAN (op))
  52.100 ++        OUT_STR_RET ("@NaN@");
  52.101 ++      else if (MPFR_IS_INF (op))
  52.102 ++        OUT_STR_RET (MPFR_IS_POS (op) ? "@Inf@" : "-@Inf@");
  52.103 +       else
  52.104 +         {
  52.105 +-          fprintf(stream, "-0");
  52.106 +-          return 2;
  52.107 ++          MPFR_ASSERTD (MPFR_IS_ZERO (op));
  52.108 ++          OUT_STR_RET (MPFR_IS_POS (op) ? "0" : "-0");
  52.109 +         }
  52.110 +     }
  52.111 + 
  52.112 +@@ -77,21 +67,31 @@
  52.113 + 
  52.114 +   l = strlen (s) + 1; /* size of allocated block returned by mpfr_get_str
  52.115 +                          - may be incorrect, as only an upper bound? */
  52.116 +-  if (*s == '-')
  52.117 +-    fputc (*s++, stream);
  52.118 + 
  52.119 +-  /* outputs mantissa */
  52.120 +-  fputc (*s++, stream); e--; /* leading digit */
  52.121 +-  fputc ((unsigned char) MPFR_DECIMAL_POINT, stream);
  52.122 +-  fputs (s, stream);         /* rest of mantissa */
  52.123 ++  /* outputs possible sign and significand */
  52.124 ++  err = (*s == '-' && fputc (*s++, stream) == EOF)
  52.125 ++    || fputc (*s++, stream) == EOF  /* leading digit */
  52.126 ++    || fputc ((unsigned char) MPFR_DECIMAL_POINT, stream) == EOF
  52.127 ++    || fputs (s, stream) == EOF;     /* trailing significand */
  52.128 +   (*__gmp_free_func) (s0, l);
  52.129 ++  if (MPFR_UNLIKELY (err))
  52.130 ++    return 0;
  52.131 ++
  52.132 ++  e--;  /* due to the leading digit */
  52.133 + 
  52.134 +   /* outputs exponent */
  52.135 +   if (e)
  52.136 +     {
  52.137 ++      int r;
  52.138 ++
  52.139 +       MPFR_ASSERTN(e >= LONG_MIN);
  52.140 +       MPFR_ASSERTN(e <= LONG_MAX);
  52.141 +-      l += fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e);
  52.142 ++
  52.143 ++      r = fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e);
  52.144 ++      if (MPFR_UNLIKELY (r < 0))
  52.145 ++        return 0;
  52.146 ++
  52.147 ++      l += r;
  52.148 +     }
  52.149 + 
  52.150 +   return l;
  52.151 +diff -Naurd mpfr-3.0.0-a/tests/tout_str.c mpfr-3.0.0-b/tests/tout_str.c
  52.152 +--- mpfr-3.0.0-a/tests/tout_str.c	2010-06-10 11:00:13.000000000 +0000
  52.153 ++++ mpfr-3.0.0-b/tests/tout_str.c	2010-06-23 11:03:12.000000000 +0000
  52.154 +@@ -46,22 +46,54 @@
  52.155 + special (void)
  52.156 + {
  52.157 +   mpfr_t x;
  52.158 ++  unsigned int n;
  52.159 + 
  52.160 +   mpfr_init (x);
  52.161 + 
  52.162 +   mpfr_set_nan (x);
  52.163 +-  mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
  52.164 ++  n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
  52.165 ++  if (n != 5)
  52.166 ++    {
  52.167 ++      printf ("Error: mpfr_out_str (file, 10, 0, NaN, MPFR_RNDN) wrote %u "
  52.168 ++              "characters instead of 5.\n", n);
  52.169 ++      exit (1);
  52.170 ++    }
  52.171 + 
  52.172 +   mpfr_set_inf (x, 1);
  52.173 +-  mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
  52.174 ++  n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
  52.175 ++  if (n != 5)
  52.176 ++    {
  52.177 ++      printf ("Error: mpfr_out_str (file, 10, 0, +Inf, MPFR_RNDN) wrote %u "
  52.178 ++               "characters instead of 5.\n", n);
  52.179 ++      exit (1);
  52.180 ++    }
  52.181 + 
  52.182 +   mpfr_set_inf (x, -1);
  52.183 +-  mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
  52.184 ++  n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
  52.185 ++  if (n != 6)
  52.186 ++    {
  52.187 ++      printf ("Error: mpfr_out_str (file, 10, 0, -Inf, MPFR_RNDN) wrote %u "
  52.188 ++               "characters instead of 6.\n", n);
  52.189 ++      exit (1);
  52.190 ++    }
  52.191 + 
  52.192 +   mpfr_set_ui (x, 0, MPFR_RNDN);
  52.193 +-  mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
  52.194 ++  n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
  52.195 ++  if (n != 1)
  52.196 ++    {
  52.197 ++      printf ("Error: mpfr_out_str (file, 10, 0, +0, MPFR_RNDN) wrote %u "
  52.198 ++               "characters instead of 1.\n", n);
  52.199 ++      exit (1);
  52.200 ++    }
  52.201 ++
  52.202 +   mpfr_neg (x, x, MPFR_RNDN);
  52.203 +-  mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
  52.204 ++  n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
  52.205 ++  if (n != 2)
  52.206 ++    {
  52.207 ++      printf ("Error: mpfr_out_str (file, 10, 0, -0, MPFR_RNDN) wrote %u "
  52.208 ++               "characters instead of 2.\n", n);
  52.209 ++      exit (1);
  52.210 ++    }
  52.211 + 
  52.212 +   mpfr_clear (x);
  52.213 + }
  52.214 +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
  52.215 +--- mpfr-3.0.0-a/version.c	2010-06-10 11:00:14.000000000 +0000
  52.216 ++++ mpfr-3.0.0-b/version.c	2010-06-23 11:03:20.000000000 +0000
  52.217 +@@ -25,5 +25,5 @@
  52.218 + const char *
  52.219 + mpfr_get_version (void)
  52.220 + {
  52.221 +-  return "3.0.0";
  52.222 ++  return "3.0.0-p1";
  52.223 + }
  52.224 +diff -Naurd mpfr-3.0.0-a/Makefile.in mpfr-3.0.0-b/Makefile.in
  52.225 +--- mpfr-3.0.0-a/Makefile.in	2010-06-10 11:00:52.000000000 +0000
  52.226 ++++ mpfr-3.0.0-b/Makefile.in	2010-06-10 11:00:52.000000000 +0000
  52.227 +@@ -239,6 +239,7 @@
  52.228 + distuninstallcheck_listfiles = find . -type f -print
  52.229 + distcleancheck_listfiles = find . -type f -print
  52.230 + ACLOCAL = @ACLOCAL@
  52.231 ++ALLOCA = @ALLOCA@
  52.232 + AMTAR = @AMTAR@
  52.233 + AR = @AR@
  52.234 + AS = @AS@
  52.235 +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
  52.236 +--- mpfr-3.0.0-a/PATCHES	2010-06-23 11:03:36.000000000 +0000
  52.237 ++++ mpfr-3.0.0-b/PATCHES	2010-06-25 13:23:13.000000000 +0000
  52.238 +@@ -0,0 +1 @@
  52.239 ++alloca
  52.240 +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
  52.241 +--- mpfr-3.0.0-a/VERSION	2010-06-23 11:03:20.000000000 +0000
  52.242 ++++ mpfr-3.0.0-b/VERSION	2010-06-25 13:23:13.000000000 +0000
  52.243 +@@ -1 +1 @@
  52.244 +-3.0.0-p1
  52.245 ++3.0.0-p2
  52.246 +diff -Naurd mpfr-3.0.0-a/acinclude.m4 mpfr-3.0.0-b/acinclude.m4
  52.247 +--- mpfr-3.0.0-a/acinclude.m4	2010-06-10 11:00:14.000000000 +0000
  52.248 ++++ mpfr-3.0.0-b/acinclude.m4	2010-06-10 11:00:14.000000000 +0000
  52.249 +@@ -59,6 +59,9 @@
  52.250 + dnl sys/fpu.h - MIPS specific
  52.251 + AC_CHECK_HEADERS([sys/time.h sys/fpu.h])
  52.252 + 
  52.253 ++dnl Check how to get `alloca'
  52.254 ++AC_FUNC_ALLOCA
  52.255 ++
  52.256 + dnl SIZE_MAX macro
  52.257 + gl_SIZE_MAX
  52.258 + 
  52.259 +diff -Naurd mpfr-3.0.0-a/configure mpfr-3.0.0-b/configure
  52.260 +--- mpfr-3.0.0-a/configure	2010-06-10 11:00:51.000000000 +0000
  52.261 ++++ mpfr-3.0.0-b/configure	2010-06-25 13:23:05.000000000 +0000
  52.262 +@@ -783,6 +783,7 @@
  52.263 + OBJDUMP
  52.264 + DLLTOOL
  52.265 + AS
  52.266 ++ALLOCA
  52.267 + MPFR_LIBM
  52.268 + ANSI2KNR
  52.269 + U
  52.270 +@@ -5622,6 +5623,197 @@
  52.271 + done
  52.272 + 
  52.273 + 
  52.274 ++# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
  52.275 ++# for constant arguments.  Useless!
  52.276 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
  52.277 ++$as_echo_n "checking for working alloca.h... " >&6; }
  52.278 ++if test "${ac_cv_working_alloca_h+set}" = set; then :
  52.279 ++  $as_echo_n "(cached) " >&6
  52.280 ++else
  52.281 ++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  52.282 ++/* end confdefs.h.  */
  52.283 ++#include <alloca.h>
  52.284 ++int
  52.285 ++main ()
  52.286 ++{
  52.287 ++char *p = (char *) alloca (2 * sizeof (int));
  52.288 ++			  if (p) return 0;
  52.289 ++  ;
  52.290 ++  return 0;
  52.291 ++}
  52.292 ++_ACEOF
  52.293 ++if ac_fn_c_try_link "$LINENO"; then :
  52.294 ++  ac_cv_working_alloca_h=yes
  52.295 ++else
  52.296 ++  ac_cv_working_alloca_h=no
  52.297 ++fi
  52.298 ++rm -f core conftest.err conftest.$ac_objext \
  52.299 ++    conftest$ac_exeext conftest.$ac_ext
  52.300 ++fi
  52.301 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
  52.302 ++$as_echo "$ac_cv_working_alloca_h" >&6; }
  52.303 ++if test $ac_cv_working_alloca_h = yes; then
  52.304 ++
  52.305 ++$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
  52.306 ++
  52.307 ++fi
  52.308 ++
  52.309 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
  52.310 ++$as_echo_n "checking for alloca... " >&6; }
  52.311 ++if test "${ac_cv_func_alloca_works+set}" = set; then :
  52.312 ++  $as_echo_n "(cached) " >&6
  52.313 ++else
  52.314 ++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  52.315 ++/* end confdefs.h.  */
  52.316 ++#ifdef __GNUC__
  52.317 ++# define alloca __builtin_alloca
  52.318 ++#else
  52.319 ++# ifdef _MSC_VER
  52.320 ++#  include <malloc.h>
  52.321 ++#  define alloca _alloca
  52.322 ++# else
  52.323 ++#  ifdef HAVE_ALLOCA_H
  52.324 ++#   include <alloca.h>
  52.325 ++#  else
  52.326 ++#   ifdef _AIX
  52.327 ++ #pragma alloca
  52.328 ++#   else
  52.329 ++#    ifndef alloca /* predefined by HP cc +Olibcalls */
  52.330 ++char *alloca ();
  52.331 ++#    endif
  52.332 ++#   endif
  52.333 ++#  endif
  52.334 ++# endif
  52.335 ++#endif
  52.336 ++
  52.337 ++int
  52.338 ++main ()
  52.339 ++{
  52.340 ++char *p = (char *) alloca (1);
  52.341 ++				    if (p) return 0;
  52.342 ++  ;
  52.343 ++  return 0;
  52.344 ++}
  52.345 ++_ACEOF
  52.346 ++if ac_fn_c_try_link "$LINENO"; then :
  52.347 ++  ac_cv_func_alloca_works=yes
  52.348 ++else
  52.349 ++  ac_cv_func_alloca_works=no
  52.350 ++fi
  52.351 ++rm -f core conftest.err conftest.$ac_objext \
  52.352 ++    conftest$ac_exeext conftest.$ac_ext
  52.353 ++fi
  52.354 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
  52.355 ++$as_echo "$ac_cv_func_alloca_works" >&6; }
  52.356 ++
  52.357 ++if test $ac_cv_func_alloca_works = yes; then
  52.358 ++
  52.359 ++$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
  52.360 ++
  52.361 ++else
  52.362 ++  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
  52.363 ++# that cause trouble.  Some versions do not even contain alloca or
  52.364 ++# contain a buggy version.  If you still want to use their alloca,
  52.365 ++# use ar to extract alloca.o from them instead of compiling alloca.c.
  52.366 ++
  52.367 ++ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
  52.368 ++
  52.369 ++$as_echo "#define C_ALLOCA 1" >>confdefs.h
  52.370 ++
  52.371 ++
  52.372 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
  52.373 ++$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
  52.374 ++if test "${ac_cv_os_cray+set}" = set; then :
  52.375 ++  $as_echo_n "(cached) " >&6
  52.376 ++else
  52.377 ++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  52.378 ++/* end confdefs.h.  */
  52.379 ++#if defined CRAY && ! defined CRAY2
  52.380 ++webecray
  52.381 ++#else
  52.382 ++wenotbecray
  52.383 ++#endif
  52.384 ++
  52.385 ++_ACEOF
  52.386 ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  52.387 ++  $EGREP "webecray" >/dev/null 2>&1; then :
  52.388 ++  ac_cv_os_cray=yes
  52.389 ++else
  52.390 ++  ac_cv_os_cray=no
  52.391 ++fi
  52.392 ++rm -f conftest*
  52.393 ++
  52.394 ++fi
  52.395 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
  52.396 ++$as_echo "$ac_cv_os_cray" >&6; }
  52.397 ++if test $ac_cv_os_cray = yes; then
  52.398 ++  for ac_func in _getb67 GETB67 getb67; do
  52.399 ++    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
  52.400 ++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
  52.401 ++eval as_val=\$$as_ac_var
  52.402 ++   if test "x$as_val" = x""yes; then :
  52.403 ++
  52.404 ++cat >>confdefs.h <<_ACEOF
  52.405 ++#define CRAY_STACKSEG_END $ac_func
  52.406 ++_ACEOF
  52.407 ++
  52.408 ++    break
  52.409 ++fi
  52.410 ++
  52.411 ++  done
  52.412 ++fi
  52.413 ++
  52.414 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
  52.415 ++$as_echo_n "checking stack direction for C alloca... " >&6; }
  52.416 ++if test "${ac_cv_c_stack_direction+set}" = set; then :
  52.417 ++  $as_echo_n "(cached) " >&6
  52.418 ++else
  52.419 ++  if test "$cross_compiling" = yes; then :
  52.420 ++  ac_cv_c_stack_direction=0
  52.421 ++else
  52.422 ++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  52.423 ++/* end confdefs.h.  */
  52.424 ++$ac_includes_default
  52.425 ++int
  52.426 ++find_stack_direction ()
  52.427 ++{
  52.428 ++  static char *addr = 0;
  52.429 ++  auto char dummy;
  52.430 ++  if (addr == 0)
  52.431 ++    {
  52.432 ++      addr = &dummy;
  52.433 ++      return find_stack_direction ();
  52.434 ++    }
  52.435 ++  else
  52.436 ++    return (&dummy > addr) ? 1 : -1;
  52.437 ++}
  52.438 ++
  52.439 ++int
  52.440 ++main ()
  52.441 ++{
  52.442 ++  return find_stack_direction () < 0;
  52.443 ++}
  52.444 ++_ACEOF
  52.445 ++if ac_fn_c_try_run "$LINENO"; then :
  52.446 ++  ac_cv_c_stack_direction=1
  52.447 ++else
  52.448 ++  ac_cv_c_stack_direction=-1
  52.449 ++fi
  52.450 ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
  52.451 ++  conftest.$ac_objext conftest.beam conftest.$ac_ext
  52.452 ++fi
  52.453 ++
  52.454 ++fi
  52.455 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
  52.456 ++$as_echo "$ac_cv_c_stack_direction" >&6; }
  52.457 ++cat >>confdefs.h <<_ACEOF
  52.458 ++#define STACK_DIRECTION $ac_cv_c_stack_direction
  52.459 ++_ACEOF
  52.460 ++
  52.461 ++
  52.462 ++fi
  52.463 ++
  52.464 ++
  52.465 + 
  52.466 +   for ac_header in stdint.h
  52.467 + do :
  52.468 +@@ -7564,13 +7756,13 @@
  52.469 + else
  52.470 +   lt_cv_nm_interface="BSD nm"
  52.471 +   echo "int some_variable = 0;" > conftest.$ac_ext
  52.472 +-  (eval echo "\"\$as_me:7567: $ac_compile\"" >&5)
  52.473 ++  (eval echo "\"\$as_me:7759: $ac_compile\"" >&5)
  52.474 +   (eval "$ac_compile" 2>conftest.err)
  52.475 +   cat conftest.err >&5
  52.476 +-  (eval echo "\"\$as_me:7570: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
  52.477 ++  (eval echo "\"\$as_me:7762: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
  52.478 +   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
  52.479 +   cat conftest.err >&5
  52.480 +-  (eval echo "\"\$as_me:7573: output\"" >&5)
  52.481 ++  (eval echo "\"\$as_me:7765: output\"" >&5)
  52.482 +   cat conftest.out >&5
  52.483 +   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
  52.484 +     lt_cv_nm_interface="MS dumpbin"
  52.485 +@@ -8772,7 +8964,7 @@
  52.486 +   ;;
  52.487 + *-*-irix6*)
  52.488 +   # Find out which ABI we are using.
  52.489 +-  echo '#line 8775 "configure"' > conftest.$ac_ext
  52.490 ++  echo '#line 8967 "configure"' > conftest.$ac_ext
  52.491 +   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  52.492 +   (eval $ac_compile) 2>&5
  52.493 +   ac_status=$?
  52.494 +@@ -10032,11 +10224,11 @@
  52.495 +    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  52.496 +    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  52.497 +    -e 's:$: $lt_compiler_flag:'`
  52.498 +-   (eval echo "\"\$as_me:10035: $lt_compile\"" >&5)
  52.499 ++   (eval echo "\"\$as_me:10227: $lt_compile\"" >&5)
  52.500 +    (eval "$lt_compile" 2>conftest.err)
  52.501 +    ac_status=$?
  52.502 +    cat conftest.err >&5
  52.503 +-   echo "$as_me:10039: \$? = $ac_status" >&5
  52.504 ++   echo "$as_me:10231: \$? = $ac_status" >&5
  52.505 +    if (exit $ac_status) && test -s "$ac_outfile"; then
  52.506 +      # The compiler can only warn and ignore the option if not recognized
  52.507 +      # So say no if there are warnings other than the usual output.
  52.508 +@@ -10371,11 +10563,11 @@
  52.509 +    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  52.510 +    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  52.511 +    -e 's:$: $lt_compiler_flag:'`
  52.512 +-   (eval echo "\"\$as_me:10374: $lt_compile\"" >&5)
  52.513 ++   (eval echo "\"\$as_me:10566: $lt_compile\"" >&5)
  52.514 +    (eval "$lt_compile" 2>conftest.err)
  52.515 +    ac_status=$?
  52.516 +    cat conftest.err >&5
  52.517 +-   echo "$as_me:10378: \$? = $ac_status" >&5
  52.518 ++   echo "$as_me:10570: \$? = $ac_status" >&5
  52.519 +    if (exit $ac_status) && test -s "$ac_outfile"; then
  52.520 +      # The compiler can only warn and ignore the option if not recognized
  52.521 +      # So say no if there are warnings other than the usual output.
  52.522 +@@ -10476,11 +10668,11 @@
  52.523 +    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  52.524 +    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  52.525 +    -e 's:$: $lt_compiler_flag:'`
  52.526 +-   (eval echo "\"\$as_me:10479: $lt_compile\"" >&5)
  52.527 ++   (eval echo "\"\$as_me:10671: $lt_compile\"" >&5)
  52.528 +    (eval "$lt_compile" 2>out/conftest.err)
  52.529 +    ac_status=$?
  52.530 +    cat out/conftest.err >&5
  52.531 +-   echo "$as_me:10483: \$? = $ac_status" >&5
  52.532 ++   echo "$as_me:10675: \$? = $ac_status" >&5
  52.533 +    if (exit $ac_status) && test -s out/conftest2.$ac_objext
  52.534 +    then
  52.535 +      # The compiler can only warn and ignore the option if not recognized
  52.536 +@@ -10531,11 +10723,11 @@
  52.537 +    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  52.538 +    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  52.539 +    -e 's:$: $lt_compiler_flag:'`
  52.540 +-   (eval echo "\"\$as_me:10534: $lt_compile\"" >&5)
  52.541 ++   (eval echo "\"\$as_me:10726: $lt_compile\"" >&5)
  52.542 +    (eval "$lt_compile" 2>out/conftest.err)
  52.543 +    ac_status=$?
  52.544 +    cat out/conftest.err >&5
  52.545 +-   echo "$as_me:10538: \$? = $ac_status" >&5
  52.546 ++   echo "$as_me:10730: \$? = $ac_status" >&5
  52.547 +    if (exit $ac_status) && test -s out/conftest2.$ac_objext
  52.548 +    then
  52.549 +      # The compiler can only warn and ignore the option if not recognized
  52.550 +@@ -12915,7 +13107,7 @@
  52.551 +   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
  52.552 +   lt_status=$lt_dlunknown
  52.553 +   cat > conftest.$ac_ext <<_LT_EOF
  52.554 +-#line 12918 "configure"
  52.555 ++#line 13110 "configure"
  52.556 + #include "confdefs.h"
  52.557 + 
  52.558 + #if HAVE_DLFCN_H
  52.559 +@@ -13011,7 +13203,7 @@
  52.560 +   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
  52.561 +   lt_status=$lt_dlunknown
  52.562 +   cat > conftest.$ac_ext <<_LT_EOF
  52.563 +-#line 13014 "configure"
  52.564 ++#line 13206 "configure"
  52.565 + #include "confdefs.h"
  52.566 + 
  52.567 + #if HAVE_DLFCN_H
  52.568 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
  52.569 +--- mpfr-3.0.0-a/mpfr.h	2010-06-23 11:03:20.000000000 +0000
  52.570 ++++ mpfr-3.0.0-b/mpfr.h	2010-06-25 13:23:13.000000000 +0000
  52.571 +@@ -27,7 +27,7 @@
  52.572 + #define MPFR_VERSION_MAJOR 3
  52.573 + #define MPFR_VERSION_MINOR 0
  52.574 + #define MPFR_VERSION_PATCHLEVEL 0
  52.575 +-#define MPFR_VERSION_STRING "3.0.0-p1"
  52.576 ++#define MPFR_VERSION_STRING "3.0.0-p2"
  52.577 + 
  52.578 + /* Macros dealing with MPFR VERSION */
  52.579 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
  52.580 +diff -Naurd mpfr-3.0.0-a/tests/Makefile.in mpfr-3.0.0-b/tests/Makefile.in
  52.581 +--- mpfr-3.0.0-a/tests/Makefile.in	2010-06-10 11:00:52.000000000 +0000
  52.582 ++++ mpfr-3.0.0-b/tests/Makefile.in	2010-06-10 11:00:52.000000000 +0000
  52.583 +@@ -960,6 +960,7 @@
  52.584 + red=; grn=; lgn=; blu=; std=
  52.585 + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  52.586 + ACLOCAL = @ACLOCAL@
  52.587 ++ALLOCA = @ALLOCA@
  52.588 + AMTAR = @AMTAR@
  52.589 + AR = @AR@
  52.590 + AS = @AS@
  52.591 +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
  52.592 +--- mpfr-3.0.0-a/version.c	2010-06-23 11:03:20.000000000 +0000
  52.593 ++++ mpfr-3.0.0-b/version.c	2010-06-25 13:23:13.000000000 +0000
  52.594 +@@ -25,5 +25,5 @@
  52.595 + const char *
  52.596 + mpfr_get_version (void)
  52.597 + {
  52.598 +-  return "3.0.0-p1";
  52.599 ++  return "3.0.0-p2";
  52.600 + }
  52.601 +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
  52.602 +--- mpfr-3.0.0-a/PATCHES	2010-07-10 00:11:19.000000000 +0000
  52.603 ++++ mpfr-3.0.0-b/PATCHES	2010-07-10 00:12:50.000000000 +0000
  52.604 +@@ -0,0 +1 @@
  52.605 ++gamma_underflow
  52.606 +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
  52.607 +--- mpfr-3.0.0-a/VERSION	2010-06-25 13:23:13.000000000 +0000
  52.608 ++++ mpfr-3.0.0-b/VERSION	2010-07-10 00:11:53.000000000 +0000
  52.609 +@@ -1 +1 @@
  52.610 +-3.0.0-p2
  52.611 ++3.0.0-p3
  52.612 +diff -Naurd mpfr-3.0.0-a/gamma.c mpfr-3.0.0-b/gamma.c
  52.613 +--- mpfr-3.0.0-a/gamma.c	2010-06-10 11:00:14.000000000 +0000
  52.614 ++++ mpfr-3.0.0-b/gamma.c	2010-07-10 00:11:46.000000000 +0000
  52.615 +@@ -274,7 +274,7 @@
  52.616 +       /* we want an upper bound for x * [log(2-x)-1].
  52.617 +          since x < 0, we need a lower bound on log(2-x) */
  52.618 +       mpfr_ui_sub (xp, 2, x, MPFR_RNDD);
  52.619 +-      mpfr_log (xp, xp, MPFR_RNDD);
  52.620 ++      mpfr_log2 (xp, xp, MPFR_RNDD);
  52.621 +       mpfr_sub_ui (xp, xp, 1, MPFR_RNDD);
  52.622 +       mpfr_mul (xp, xp, x, MPFR_RNDU);
  52.623 + 
  52.624 +@@ -303,8 +303,8 @@
  52.625 +         {
  52.626 +           mpfr_sub (tmp, tmp, tmp2, MPFR_RNDZ); /* low bnd on |sin(Pi*(2-x))| */
  52.627 +           mpfr_ui_div (tmp, 12, tmp, MPFR_RNDU); /* upper bound */
  52.628 +-          mpfr_log (tmp, tmp, MPFR_RNDU);
  52.629 +-          mpfr_add (tmp, tmp, xp, MPFR_RNDU);
  52.630 ++          mpfr_log2 (tmp, tmp, MPFR_RNDU);
  52.631 ++          mpfr_add (xp, tmp, xp, MPFR_RNDU);
  52.632 +           underflow = mpfr_cmp_si (xp, expo.saved_emin - 2) <= 0;
  52.633 +         }
  52.634 + 
  52.635 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
  52.636 +--- mpfr-3.0.0-a/mpfr.h	2010-06-25 13:23:13.000000000 +0000
  52.637 ++++ mpfr-3.0.0-b/mpfr.h	2010-07-10 00:11:53.000000000 +0000
  52.638 +@@ -27,7 +27,7 @@
  52.639 + #define MPFR_VERSION_MAJOR 3
  52.640 + #define MPFR_VERSION_MINOR 0
  52.641 + #define MPFR_VERSION_PATCHLEVEL 0
  52.642 +-#define MPFR_VERSION_STRING "3.0.0-p2"
  52.643 ++#define MPFR_VERSION_STRING "3.0.0-p3"
  52.644 + 
  52.645 + /* Macros dealing with MPFR VERSION */
  52.646 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
  52.647 +diff -Naurd mpfr-3.0.0-a/tests/tgamma.c mpfr-3.0.0-b/tests/tgamma.c
  52.648 +--- mpfr-3.0.0-a/tests/tgamma.c	2010-06-10 11:00:13.000000000 +0000
  52.649 ++++ mpfr-3.0.0-b/tests/tgamma.c	2010-07-10 00:11:46.000000000 +0000
  52.650 +@@ -461,6 +461,20 @@
  52.651 +   mpfr_clear (x);
  52.652 + }
  52.653 + 
  52.654 ++/* bug found by Stathis, only occurs on 32-bit machines */
  52.655 ++static void
  52.656 ++test20100709 (void)
  52.657 ++{
  52.658 ++  mpfr_t x;
  52.659 ++  int inex;
  52.660 ++
  52.661 ++  mpfr_init2 (x, 100);
  52.662 ++  mpfr_set_str (x, "-4.6308260837372266e+07", 10, MPFR_RNDN);
  52.663 ++  inex = mpfr_gamma (x, x, MPFR_RNDN);
  52.664 ++  MPFR_ASSERTN(MPFR_IS_ZERO(x) && MPFR_IS_NEG(x) && inex > 0);
  52.665 ++  mpfr_clear (x);
  52.666 ++}
  52.667 ++
  52.668 + int
  52.669 + main (int argc, char *argv[])
  52.670 + {
  52.671 +@@ -471,6 +485,7 @@
  52.672 +   test_generic (2, 100, 2);
  52.673 +   gamma_integer ();
  52.674 +   test20071231 ();
  52.675 ++  test20100709 ();
  52.676 + 
  52.677 +   data_check ("data/gamma", mpfr_gamma, "mpfr_gamma");
  52.678 + 
  52.679 +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
  52.680 +--- mpfr-3.0.0-a/version.c	2010-06-25 13:23:13.000000000 +0000
  52.681 ++++ mpfr-3.0.0-b/version.c	2010-07-10 00:11:53.000000000 +0000
  52.682 +@@ -25,5 +25,5 @@
  52.683 + const char *
  52.684 + mpfr_get_version (void)
  52.685 + {
  52.686 +-  return "3.0.0-p2";
  52.687 ++  return "3.0.0-p3";
  52.688 + }
  52.689 +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
  52.690 +--- mpfr-3.0.0-a/PATCHES	2010-09-07 08:44:01.000000000 +0000
  52.691 ++++ mpfr-3.0.0-b/PATCHES	2010-09-07 08:48:46.000000000 +0000
  52.692 +@@ -0,0 +1 @@
  52.693 ++mpfr_cmp/set_ui/si
  52.694 +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
  52.695 +--- mpfr-3.0.0-a/VERSION	2010-07-10 00:11:53.000000000 +0000
  52.696 ++++ mpfr-3.0.0-b/VERSION	2010-09-07 08:46:06.000000000 +0000
  52.697 +@@ -1 +1 @@
  52.698 +-3.0.0-p3
  52.699 ++3.0.0-p4
  52.700 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
  52.701 +--- mpfr-3.0.0-a/mpfr.h	2010-07-10 00:11:53.000000000 +0000
  52.702 ++++ mpfr-3.0.0-b/mpfr.h	2010-09-07 08:46:06.000000000 +0000
  52.703 +@@ -27,7 +27,7 @@
  52.704 + #define MPFR_VERSION_MAJOR 3
  52.705 + #define MPFR_VERSION_MINOR 0
  52.706 + #define MPFR_VERSION_PATCHLEVEL 0
  52.707 +-#define MPFR_VERSION_STRING "3.0.0-p3"
  52.708 ++#define MPFR_VERSION_STRING "3.0.0-p4"
  52.709 + 
  52.710 + /* Macros dealing with MPFR VERSION */
  52.711 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
  52.712 +@@ -798,35 +798,45 @@
  52.713 +      anyway. Checking with other ICC versions is needed. Possibly detect
  52.714 +      whether warnings are produced or not with a configure test.
  52.715 +    + Remove C++ too, since it complains too much. */
  52.716 ++/* Added casts to improve robustness in case of undefined behavior and
  52.717 ++   compiler extensions based on UB (in particular -fwrapv). MPFR doesn't
  52.718 ++   use such extensions, but these macros will be used by 3rd-party code,
  52.719 ++   where such extensions may be required.
  52.720 ++   Moreover casts to unsigned long have been added to avoid warnings in
  52.721 ++   programs that use MPFR and are compiled with -Wconversion; such casts
  52.722 ++   are OK since if X is a constant expression, then (unsigned long) X is
  52.723 ++   also a constant expression, so that the optimizations still work. */
  52.724 + #if defined (__GNUC__) && !defined(__ICC) && !defined(__cplusplus)
  52.725 + #if (__GNUC__ >= 2)
  52.726 + #undef mpfr_cmp_ui
  52.727 +-/* We use the fact that mpfr_sgn on NaN sets the erange flag and returns 0. */
  52.728 +-#define mpfr_cmp_ui(_f,_u)                 \
  52.729 +- (__builtin_constant_p (_u) && (_u) == 0 ? \
  52.730 +-   mpfr_sgn (_f) :                         \
  52.731 +-   mpfr_cmp_ui_2exp ((_f),(_u),0))
  52.732 ++/* We use the fact that mpfr_sgn on NaN sets the erange flag and returns 0.
  52.733 ++   But warning! mpfr_sgn is specified as a macro in the API, thus the macro
  52.734 ++   mustn't be used if side effects are possible, like here. */
  52.735 ++#define mpfr_cmp_ui(_f,_u)                                      \
  52.736 ++  (__builtin_constant_p (_u) && (unsigned long) (_u) == 0 ?     \
  52.737 ++   (mpfr_sgn) (_f) :                                            \
  52.738 ++   mpfr_cmp_ui_2exp ((_f), (unsigned long) (_u), 0))
  52.739 + #undef mpfr_cmp_si
  52.740 +-#define mpfr_cmp_si(_f,_s)                 \
  52.741 +- (__builtin_constant_p (_s) && (_s) >= 0 ? \
  52.742 +-   mpfr_cmp_ui ((_f), (_s)) :              \
  52.743 +-   mpfr_cmp_si_2exp ((_f), (_s), 0))
  52.744 ++#define mpfr_cmp_si(_f,_s)                              \
  52.745 ++  (__builtin_constant_p (_s) && (long) (_s) >= 0 ?      \
  52.746 ++   mpfr_cmp_ui ((_f), (unsigned long) (long) (_s)) :    \
  52.747 ++   mpfr_cmp_si_2exp ((_f), (long) (_s), 0))
  52.748 + #if __GNUC__ > 2 || __GNUC_MINOR__ >= 95
  52.749 + #undef mpfr_set_ui
  52.750 +-#define mpfr_set_ui(_f,_u,_r)              \
  52.751 +- (__builtin_constant_p (_u) && (_u) == 0 ? \
  52.752 +-   __extension__ ({                        \
  52.753 +-     mpfr_ptr _p = (_f);                   \
  52.754 +-     _p->_mpfr_sign = 1;                   \
  52.755 +-     _p->_mpfr_exp = __MPFR_EXP_ZERO;      \
  52.756 +-     (void) (_r); 0; }) :                  \
  52.757 +-   mpfr_set_ui_2exp ((_f), (_u), 0, (_r)))
  52.758 ++#define mpfr_set_ui(_f,_u,_r)                                   \
  52.759 ++  (__builtin_constant_p (_u) && (unsigned long) (_u) == 0 ?     \
  52.760 ++   __extension__ ({                                             \
  52.761 ++       mpfr_ptr _p = (_f);                                      \
  52.762 ++       _p->_mpfr_sign = 1;                                      \
  52.763 ++       _p->_mpfr_exp = __MPFR_EXP_ZERO;                         \
  52.764 ++       (void) (_r); 0; }) :                                     \
  52.765 ++   mpfr_set_ui_2exp ((_f), (unsigned long) (_u), 0, (_r)))
  52.766 + #endif
  52.767 + #undef mpfr_set_si
  52.768 +-#define mpfr_set_si(_f,_s,_r)              \
  52.769 +- (__builtin_constant_p (_s) && (_s) >= 0 ? \
  52.770 +-   mpfr_set_ui ((_f), (_s), (_r)) :        \
  52.771 +-   mpfr_set_si_2exp ((_f), (_s), 0, (_r)))
  52.772 ++#define mpfr_set_si(_f,_s,_r)                                   \
  52.773 ++  (__builtin_constant_p (_s) && (long) (_s) >= 0 ?              \
  52.774 ++   mpfr_set_ui ((_f), (unsigned long) (long) (_s), (_r)) :      \
  52.775 ++   mpfr_set_si_2exp ((_f), (long) (_s), 0, (_r)))
  52.776 + #endif
  52.777 + #endif
  52.778 + 
  52.779 +diff -Naurd mpfr-3.0.0-a/tests/tcmp_ui.c mpfr-3.0.0-b/tests/tcmp_ui.c
  52.780 +--- mpfr-3.0.0-a/tests/tcmp_ui.c	2010-06-10 11:00:13.000000000 +0000
  52.781 ++++ mpfr-3.0.0-b/tests/tcmp_ui.c	2010-09-07 08:45:12.000000000 +0000
  52.782 +@@ -88,6 +88,126 @@
  52.783 +   mpfr_clear (x);
  52.784 + }
  52.785 + 
  52.786 ++/* Since mpfr_cmp_ui and mpfr_cmp_si are also implemented by a macro
  52.787 ++   with __builtin_constant_p for GCC, check that side effects are
  52.788 ++   handled correctly. */
  52.789 ++static void
  52.790 ++check_macros (void)
  52.791 ++{
  52.792 ++  mpfr_t x;
  52.793 ++  int c;
  52.794 ++
  52.795 ++  mpfr_init2 (x, 32);
  52.796 ++
  52.797 ++  c = 0;
  52.798 ++  mpfr_set_ui (x, 17, MPFR_RNDN);
  52.799 ++  if (mpfr_cmp_ui (x, 17) != 0)
  52.800 ++    {
  52.801 ++      printf ("Error 1 on mpfr_cmp_ui(x,17) in check_macros\n");
  52.802 ++      exit (1);
  52.803 ++    }
  52.804 ++  if (mpfr_cmp_ui (x, (c++, 17)) != 0)
  52.805 ++    {
  52.806 ++      printf ("Error 2 on mpfr_cmp_ui(x,17) in check_macros\n");
  52.807 ++      exit (1);
  52.808 ++    }
  52.809 ++  if (c != 1)
  52.810 ++    {
  52.811 ++      printf ("Error 3 on mpfr_cmp_ui(x,17) in check_macros\n"
  52.812 ++              "(c = %d instead of 1)\n", c);
  52.813 ++      exit (1);
  52.814 ++    }
  52.815 ++  if (mpfr_cmp_si (x, 17) != 0)
  52.816 ++    {
  52.817 ++      printf ("Error 1 on mpfr_cmp_si(x,17) in check_macros\n");
  52.818 ++      exit (1);
  52.819 ++    }
  52.820 ++  if (mpfr_cmp_si (x, (c++, 17)) != 0)
  52.821 ++    {
  52.822 ++      printf ("Error 2 on mpfr_cmp_si(x,17) in check_macros\n");
  52.823 ++      exit (1);
  52.824 ++    }
  52.825 ++  if (c != 2)
  52.826 ++    {
  52.827 ++      printf ("Error 3 on mpfr_cmp_si(x,17) in check_macros\n"
  52.828 ++              "(c = %d instead of 2)\n", c);
  52.829 ++      exit (1);
  52.830 ++    }
  52.831 ++
  52.832 ++  c = 0;
  52.833 ++  mpfr_set_ui (x, 0, MPFR_RNDN);
  52.834 ++  if (mpfr_cmp_ui (x, 0) != 0)
  52.835 ++    {
  52.836 ++      printf ("Error 1 on mpfr_cmp_ui(x,0) in check_macros\n");
  52.837 ++      exit (1);
  52.838 ++    }
  52.839 ++  if (mpfr_cmp_ui (x, (c++, 0)) != 0)
  52.840 ++    {
  52.841 ++      printf ("Error 2 on mpfr_cmp_ui(x,0) in check_macros\n");
  52.842 ++      exit (1);
  52.843 ++    }
  52.844 ++  if (c != 1)
  52.845 ++    {
  52.846 ++      printf ("Error 3 on mpfr_cmp_ui(x,0) in check_macros\n"
  52.847 ++              "(c = %d instead of 1)\n", c);
  52.848 ++      exit (1);
  52.849 ++    }
  52.850 ++  if (mpfr_cmp_si (x, 0) != 0)
  52.851 ++    {
  52.852 ++      printf ("Error 1 on mpfr_cmp_si(x,0) in check_macros\n");
  52.853 ++      exit (1);
  52.854 ++    }
  52.855 ++  if (mpfr_cmp_si (x, (c++, 0)) != 0)
  52.856 ++    {
  52.857 ++      printf ("Error 2 on mpfr_cmp_si(x,0) in check_macros\n");
  52.858 ++      exit (1);
  52.859 ++    }
  52.860 ++  if (c != 2)
  52.861 ++    {
  52.862 ++      printf ("Error 3 on mpfr_cmp_si(x,0) in check_macros\n"
  52.863 ++              "(c = %d instead of 2)\n", c);
  52.864 ++      exit (1);
  52.865 ++    }
  52.866 ++
  52.867 ++  mpfr_clear (x);
  52.868 ++}
  52.869 ++
  52.870 ++/* Bug in r7114 */
  52.871 ++static void
  52.872 ++test_macros (void)
  52.873 ++{
  52.874 ++  mpfr_t x[3];
  52.875 ++  mpfr_ptr p;
  52.876 ++
  52.877 ++  mpfr_inits (x[0], x[1], x[2], (mpfr_ptr) 0);
  52.878 ++  mpfr_set_ui (x[0], 0, MPFR_RNDN);
  52.879 ++  p = x[0];
  52.880 ++  if (mpfr_cmp_ui (p++, 0) != 0)
  52.881 ++    {
  52.882 ++      printf ("Error in mpfr_cmp_ui macro: result should be 0.\n");
  52.883 ++      exit (1);
  52.884 ++    }
  52.885 ++  if (p != x[1])
  52.886 ++    {
  52.887 ++      printf ("Error in mpfr_cmp_ui macro: p - x[0] = %d (expecting 1)\n",
  52.888 ++              (int) (p - x[0]));
  52.889 ++      exit (1);
  52.890 ++    }
  52.891 ++  p = x[0];
  52.892 ++  if (mpfr_cmp_si (p++, 0) != 0)
  52.893 ++    {
  52.894 ++      printf ("Error in mpfr_cmp_si macro: result should be 0.\n");
  52.895 ++      exit (1);
  52.896 ++    }
  52.897 ++  if (p != x[1])
  52.898 ++    {
  52.899 ++      printf ("Error in mpfr_cmp_si macro: p - x[0] = %d (expecting 1)\n",
  52.900 ++              (int) (p - x[0]));
  52.901 ++      exit (1);
  52.902 ++    }
  52.903 ++  mpfr_clears (x[0], x[1], x[2], (mpfr_ptr) 0);
  52.904 ++}
  52.905 ++
  52.906 + int
  52.907 + main (void)
  52.908 + {
  52.909 +@@ -216,6 +336,8 @@
  52.910 +   mpfr_clear (x);
  52.911 + 
  52.912 +   check_nan ();
  52.913 ++  check_macros ();
  52.914 ++  test_macros ();
  52.915 + 
  52.916 +   tests_end_mpfr ();
  52.917 +   return 0;
  52.918 +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
  52.919 +--- mpfr-3.0.0-a/version.c	2010-07-10 00:11:53.000000000 +0000
  52.920 ++++ mpfr-3.0.0-b/version.c	2010-09-07 08:46:06.000000000 +0000
  52.921 +@@ -25,5 +25,5 @@
  52.922 + const char *
  52.923 + mpfr_get_version (void)
  52.924 + {
  52.925 +-  return "3.0.0-p3";
  52.926 ++  return "3.0.0-p4";
  52.927 + }
  52.928 +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
  52.929 +--- mpfr-3.0.0-a/PATCHES	2010-10-21 20:28:38.000000000 +0000
  52.930 ++++ mpfr-3.0.0-b/PATCHES	2010-10-21 20:28:38.000000000 +0000
  52.931 +@@ -0,0 +1 @@
  52.932 ++tcan_round
  52.933 +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
  52.934 +--- mpfr-3.0.0-a/VERSION	2010-09-07 08:46:06.000000000 +0000
  52.935 ++++ mpfr-3.0.0-b/VERSION	2010-10-21 20:28:38.000000000 +0000
  52.936 +@@ -1 +1 @@
  52.937 +-3.0.0-p4
  52.938 ++3.0.0-p5
  52.939 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
  52.940 +--- mpfr-3.0.0-a/mpfr.h	2010-09-07 08:46:06.000000000 +0000
  52.941 ++++ mpfr-3.0.0-b/mpfr.h	2010-10-21 20:28:38.000000000 +0000
  52.942 +@@ -27,7 +27,7 @@
  52.943 + #define MPFR_VERSION_MAJOR 3
  52.944 + #define MPFR_VERSION_MINOR 0
  52.945 + #define MPFR_VERSION_PATCHLEVEL 0
  52.946 +-#define MPFR_VERSION_STRING "3.0.0-p4"
  52.947 ++#define MPFR_VERSION_STRING "3.0.0-p5"
  52.948 + 
  52.949 + /* Macros dealing with MPFR VERSION */
  52.950 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
  52.951 +diff -Naurd mpfr-3.0.0-a/tests/tcan_round.c mpfr-3.0.0-b/tests/tcan_round.c
  52.952 +--- mpfr-3.0.0-a/tests/tcan_round.c	2010-06-10 11:00:13.000000000 +0000
  52.953 ++++ mpfr-3.0.0-b/tests/tcan_round.c	2010-10-21 20:28:38.000000000 +0000
  52.954 +@@ -41,7 +41,7 @@
  52.955 +       /* avoid mpn_random which leaks memory */
  52.956 +       for (i = 0; i < n; i++)
  52.957 +         buf[i] = randlimb ();
  52.958 +-      p = (mpfr_prec_t) randlimb() % ((n-1) * GMP_NUMB_BITS) + MPFR_PREC_MIN;
  52.959 ++      p = randlimb() % ((n-1) * GMP_NUMB_BITS) + MPFR_PREC_MIN;
  52.960 +       err = p + randlimb () % GMP_NUMB_BITS;
  52.961 +       r1 = mpfr_round_p (buf, n, err, p);
  52.962 +       r2 = mpfr_can_round_raw (buf, n, MPFR_SIGN_POS, err,
  52.963 +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
  52.964 +--- mpfr-3.0.0-a/version.c	2010-09-07 08:46:06.000000000 +0000
  52.965 ++++ mpfr-3.0.0-b/version.c	2010-10-21 20:28:38.000000000 +0000
  52.966 +@@ -25,5 +25,5 @@
  52.967 + const char *
  52.968 + mpfr_get_version (void)
  52.969 + {
  52.970 +-  return "3.0.0-p4";
  52.971 ++  return "3.0.0-p5";
  52.972 + }
  52.973 +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
  52.974 +--- mpfr-3.0.0-a/PATCHES	2010-10-21 20:59:32.000000000 +0000
  52.975 ++++ mpfr-3.0.0-b/PATCHES	2010-10-21 20:59:32.000000000 +0000
  52.976 +@@ -0,0 +1 @@
  52.977 ++mpfr_sub1
  52.978 +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
  52.979 +--- mpfr-3.0.0-a/VERSION	2010-10-21 20:28:38.000000000 +0000
  52.980 ++++ mpfr-3.0.0-b/VERSION	2010-10-21 20:59:32.000000000 +0000
  52.981 +@@ -1 +1 @@
  52.982 +-3.0.0-p5
  52.983 ++3.0.0-p6
  52.984 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
  52.985 +--- mpfr-3.0.0-a/mpfr.h	2010-10-21 20:28:38.000000000 +0000
  52.986 ++++ mpfr-3.0.0-b/mpfr.h	2010-10-21 20:59:32.000000000 +0000
  52.987 +@@ -27,7 +27,7 @@
  52.988 + #define MPFR_VERSION_MAJOR 3
  52.989 + #define MPFR_VERSION_MINOR 0
  52.990 + #define MPFR_VERSION_PATCHLEVEL 0
  52.991 +-#define MPFR_VERSION_STRING "3.0.0-p5"
  52.992 ++#define MPFR_VERSION_STRING "3.0.0-p6"
  52.993 + 
  52.994 + /* Macros dealing with MPFR VERSION */
  52.995 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
  52.996 +diff -Naurd mpfr-3.0.0-a/sub1.c mpfr-3.0.0-b/sub1.c
  52.997 +--- mpfr-3.0.0-a/sub1.c	2010-06-10 11:00:14.000000000 +0000
  52.998 ++++ mpfr-3.0.0-b/sub1.c	2010-10-21 20:59:32.000000000 +0000
  52.999 +@@ -37,7 +37,9 @@
 52.1000 +   mp_size_t cancel2, an, bn, cn, cn0;
 52.1001 +   mp_limb_t *ap, *bp, *cp;
 52.1002 +   mp_limb_t carry, bb, cc, borrow = 0;
 52.1003 +-  int inexact, shift_b, shift_c, is_exact = 1, down = 0, add_exp = 0;
 52.1004 ++  int inexact, shift_b, shift_c, add_exp = 0;
 52.1005 ++  int cmp_low = 0; /* used for rounding to nearest: 0 if low(b) = low(c),
 52.1006 ++                      negative if low(b) < low(c), positive if low(b)>low(c) */
 52.1007 +   int sh, k;
 52.1008 +   MPFR_TMP_DECL(marker);
 52.1009 + 
 52.1010 +@@ -196,7 +198,8 @@
 52.1011 +     }
 52.1012 + 
 52.1013 + #ifdef DEBUG
 52.1014 +-  printf ("shift_b=%d shift_c=%d diffexp=%lu\n", shift_b, shift_c,
 52.1015 ++  printf ("rnd=%s shift_b=%d shift_c=%d diffexp=%lu\n",
 52.1016 ++          mpfr_print_rnd_mode (rnd_mode), shift_b, shift_c,
 52.1017 +           (unsigned long) diff_exp);
 52.1018 + #endif
 52.1019 + 
 52.1020 +@@ -307,17 +310,18 @@
 52.1021 +     {
 52.1022 +       if (MPFR_LIKELY(sh))
 52.1023 +         {
 52.1024 +-          is_exact = (carry == 0);
 52.1025 +           /* can decide except when carry = 2^(sh-1) [middle]
 52.1026 +              or carry = 0 [truncate, but cannot decide inexact flag] */
 52.1027 +-          down = (carry < (MPFR_LIMB_ONE << (sh - 1)));
 52.1028 +           if (carry > (MPFR_LIMB_ONE << (sh - 1)))
 52.1029 +             goto add_one_ulp;
 52.1030 +-          else if ((0 < carry) && down)
 52.1031 ++          else if ((0 < carry) && (carry < (MPFR_LIMB_ONE << (sh - 1))))
 52.1032 +             {
 52.1033 +               inexact = -1; /* result if smaller than exact value */
 52.1034 +               goto truncate;
 52.1035 +             }
 52.1036 ++          /* now carry = 2^(sh-1), in which case cmp_low=2,
 52.1037 ++             or carry = 0, in which case cmp_low=0 */
 52.1038 ++          cmp_low = (carry == 0) ? 0 : 2;
 52.1039 +         }
 52.1040 +     }
 52.1041 +   else /* directed rounding: set rnd_mode to RNDZ iff toward zero */
 52.1042 +@@ -344,12 +348,32 @@
 52.1043 +   cn -= (long int) an + cancel2;
 52.1044 + 
 52.1045 + #ifdef DEBUG
 52.1046 +-  printf ("last %d bits from a are %lu, bn=%ld, cn=%ld\n",
 52.1047 ++  printf ("last sh=%d bits from a are %lu, bn=%ld, cn=%ld\n",
 52.1048 +           sh, (unsigned long) carry, (long) bn, (long) cn);
 52.1049 + #endif
 52.1050 + 
 52.1051 ++  /* for rounding to nearest, we couldn't conclude up to here in the following
 52.1052 ++     cases:
 52.1053 ++     1. sh = 0, then cmp_low=0: we can either truncate, subtract one ulp
 52.1054 ++        or add one ulp: -1 ulp < low(b)-low(c) < 1 ulp
 52.1055 ++     2. sh > 0 but the low sh bits from high(b)-high(c) equal 2^(sh-1):
 52.1056 ++        -0.5 ulp <= -1/2^sh < low(b)-low(c)-0.5 < 1/2^sh <= 0.5 ulp
 52.1057 ++        we can't decide the rounding, in that case cmp_low=2:
 52.1058 ++        either we truncate and flag=-1, or we add one ulp and flag=1
 52.1059 ++     3. the low sh>0 bits from high(b)-high(c) equal 0: we know we have to
 52.1060 ++        truncate but we can't decide the ternary value, here cmp_low=0:
 52.1061 ++        -0.5 ulp <= -1/2^sh < low(b)-low(c) < 1/2^sh <= 0.5 ulp
 52.1062 ++        we always truncate and inexact can be any of -1,0,1
 52.1063 ++  */
 52.1064 ++
 52.1065 ++  /* note: here cn might exceed cn0, in which case we consider a zero limb */
 52.1066 +   for (k = 0; (bn > 0) || (cn > 0); k = 1)
 52.1067 +     {
 52.1068 ++      /* if cmp_low < 0, we know low(b) - low(c) < 0
 52.1069 ++         if cmp_low > 0, we know low(b) - low(c) > 0
 52.1070 ++            (more precisely if cmp_low = 2, low(b) - low(c) = 0.5 ulp so far)
 52.1071 ++         if cmp_low = 0, so far low(b) - low(c) = 0 */
 52.1072 ++
 52.1073 +       /* get next limbs */
 52.1074 +       bb = (bn > 0) ? bp[--bn] : 0;
 52.1075 +       if ((cn > 0) && (cn-- <= cn0))
 52.1076 +@@ -357,76 +381,115 @@
 52.1077 +       else
 52.1078 +         cc = 0;
 52.1079 + 
 52.1080 +-      /* down is set when low(b) < low(c) */
 52.1081 +-      if (down == 0)
 52.1082 +-        down = (bb < cc);
 52.1083 ++      /* cmp_low compares low(b) and low(c) */
 52.1084 ++      if (cmp_low == 0) /* case 1 or 3 */
 52.1085 ++        cmp_low = (bb < cc) ? -2+k : (bb > cc) ? 1 : 0;
 52.1086 ++
 52.1087 ++      /* Case 1 for k=0 splits into 7 subcases:
 52.1088 ++         1a: bb > cc + half
 52.1089 ++         1b: bb = cc + half
 52.1090 ++         1c: 0 < bb - cc < half
 52.1091 ++         1d: bb = cc
 52.1092 ++         1e: -half < bb - cc < 0
 52.1093 ++         1f: bb - cc = -half
 52.1094 ++         1g: bb - cc < -half
 52.1095 ++
 52.1096 ++         Case 2 splits into 3 subcases:
 52.1097 ++         2a: bb > cc
 52.1098 ++         2b: bb = cc
 52.1099 ++         2c: bb < cc
 52.1100 ++
 52.1101 ++         Case 3 splits into 3 subcases:
 52.1102 ++         3a: bb > cc
 52.1103 ++         3b: bb = cc
 52.1104 ++         3c: bb < cc
 52.1105 ++      */
 52.1106 + 
 52.1107 +       /* the case rounding to nearest with sh=0 is special since one couldn't
 52.1108 +          subtract above 1/2 ulp in the trailing limb of the result */
 52.1109 +-      if ((rnd_mode == MPFR_RNDN) && sh == 0 && k == 0)
 52.1110 ++      if (rnd_mode == MPFR_RNDN && sh == 0 && k == 0) /* case 1 for k=0 */
 52.1111 +         {
 52.1112 +           mp_limb_t half = MPFR_LIMB_HIGHBIT;
 52.1113 + 
 52.1114 +-          is_exact = (bb == cc);
 52.1115 +-
 52.1116 +           /* add one ulp if bb > cc + half
 52.1117 +              truncate if cc - half < bb < cc + half
 52.1118 +              sub one ulp if bb < cc - half
 52.1119 +           */
 52.1120 + 
 52.1121 +-          if (down)
 52.1122 ++          if (cmp_low < 0) /* bb < cc: -1 ulp < low(b) - low(c) < 0,
 52.1123 ++                              cases 1e, 1f and 1g */
 52.1124 +             {
 52.1125 +               if (cc >= half)
 52.1126 +                 cc -= half;
 52.1127 +-              else
 52.1128 ++              else /* since bb < cc < half, bb+half < 2*half */
 52.1129 +                 bb += half;
 52.1130 ++              /* now we have bb < cc + half:
 52.1131 ++                 we have to subtract one ulp if bb < cc,
 52.1132 ++                 and truncate if bb > cc */
 52.1133 +             }
 52.1134 +-          else /* bb >= cc */
 52.1135 ++          else if (cmp_low >= 0) /* bb >= cc, cases 1a to 1d */
 52.1136 +             {
 52.1137 +               if (cc < half)
 52.1138 +                 cc += half;
 52.1139 +-              else
 52.1140 ++              else /* since bb >= cc >= half, bb - half >= 0 */
 52.1141 +                 bb -= half;
 52.1142 ++              /* now we have bb > cc - half: we have to add one ulp if bb > cc,
 52.1143 ++                 and truncate if bb < cc */
 52.1144 ++              if (cmp_low > 0)
 52.1145 ++                cmp_low = 2;
 52.1146 +             }
 52.1147 +         }
 52.1148 + 
 52.1149 + #ifdef DEBUG
 52.1150 +-      printf ("    bb=%lu cc=%lu down=%d is_exact=%d\n",
 52.1151 +-              (unsigned long) bb, (unsigned long) cc, down, is_exact);
 52.1152 ++      printf ("k=%u bb=%lu cc=%lu cmp_low=%d\n", k,
 52.1153 ++              (unsigned long) bb, (unsigned long) cc, cmp_low);
 52.1154 + #endif
 52.1155 +-      if (bb < cc)
 52.1156 ++      if (cmp_low < 0) /* low(b) - low(c) < 0: either truncate or subtract
 52.1157 ++                          one ulp */
 52.1158 +         {
 52.1159 +           if (rnd_mode == MPFR_RNDZ)
 52.1160 +-            goto sub_one_ulp;
 52.1161 ++            goto sub_one_ulp; /* set inexact=-1 */
 52.1162 +           else if (rnd_mode != MPFR_RNDN) /* round away */
 52.1163 +             {
 52.1164 +               inexact = 1;
 52.1165 +               goto truncate;
 52.1166 +             }
 52.1167 +-          else /* round to nearest: special case here since for sh=k=0
 52.1168 +-                  bb = bb0 - MPFR_LIMB_HIGHBIT */
 52.1169 ++          else /* round to nearest */
 52.1170 +             {
 52.1171 +-              if (is_exact && sh == 0)
 52.1172 +-                {
 52.1173 +-                  /* For k=0 we can't decide exactness since it may depend
 52.1174 +-                     from low order bits.
 52.1175 +-                     For k=1, the first low limbs matched: low(b)-low(c)<0. */
 52.1176 +-                  if (k)
 52.1177 +-                    {
 52.1178 +-                      inexact = 1;
 52.1179 +-                      goto truncate;
 52.1180 +-                    }
 52.1181 +-                }
 52.1182 +-              else if (down && sh == 0)
 52.1183 +-                goto sub_one_ulp;
 52.1184 +-              else
 52.1185 +-                {
 52.1186 +-                  inexact = (is_exact) ? 1 : -1;
 52.1187 ++              /* If cmp_low < 0 and bb > cc, then -0.5 ulp < low(b)-low(c) < 0,
 52.1188 ++                 whatever the value of sh.
 52.1189 ++                 If sh>0, then cmp_low < 0 implies that the initial neglected
 52.1190 ++                 sh bits were 0 (otherwise cmp_low=2 initially), thus the
 52.1191 ++                 weight of the new bits is less than 0.5 ulp too.
 52.1192 ++                 If k > 0 (and sh=0) this means that either the first neglected
 52.1193 ++                 limbs bb and cc were equal (thus cmp_low was 0 for k=0),
 52.1194 ++                 or we had bb - cc = -0.5 ulp or 0.5 ulp.
 52.1195 ++                 The last case is not possible here since we would have
 52.1196 ++                 cmp_low > 0 which is sticky.
 52.1197 ++                 In the first case (where we have cmp_low = -1), we truncate,
 52.1198 ++                 whereas in the 2nd case we have cmp_low = -2 and we subtract
 52.1199 ++                 one ulp.
 52.1200 ++              */
 52.1201 ++              if (bb > cc || sh > 0 || cmp_low == -1)
 52.1202 ++                {  /* -0.5 ulp < low(b)-low(c) < 0,
 52.1203 ++                      bb > cc corresponds to cases 1e and 1f1
 52.1204 ++                      sh > 0 corresponds to cases 3c and 3b3
 52.1205 ++                      cmp_low = -1 corresponds to case 1d3 (also 3b3) */
 52.1206 ++                  inexact = 1;
 52.1207 +                   goto truncate;
 52.1208 +                 }
 52.1209 ++              else if (bb < cc) /* here sh = 0 and low(b)-low(c) < -0.5 ulp,
 52.1210 ++                                   this corresponds to cases 1g and 1f3 */
 52.1211 ++                goto sub_one_ulp;
 52.1212 ++              /* the only case where we can't conclude is sh=0 and bb=cc,
 52.1213 ++                 i.e., we have low(b) - low(c) = -0.5 ulp (up to now), thus
 52.1214 ++                 we don't know if we must truncate or subtract one ulp.
 52.1215 ++                 Note: for sh=0 we can't have low(b) - low(c) = -0.5 ulp up to
 52.1216 ++                 now, since low(b) - low(c) > 1/2^sh */
 52.1217 +             }
 52.1218 +         }
 52.1219 +-      else if (bb > cc)
 52.1220 ++      else if (cmp_low > 0) /* 0 < low(b) - low(c): either truncate or
 52.1221 ++                               add one ulp */
 52.1222 +         {
 52.1223 +           if (rnd_mode == MPFR_RNDZ)
 52.1224 +             {
 52.1225 +@@ -437,34 +500,70 @@
 52.1226 +             goto add_one_ulp;
 52.1227 +           else /* round to nearest */
 52.1228 +             {
 52.1229 +-              if (is_exact)
 52.1230 ++              if (bb > cc)
 52.1231 +                 {
 52.1232 +-                  inexact = -1;
 52.1233 +-                  goto truncate;
 52.1234 ++                  /* if sh=0, then bb>cc means that low(b)-low(c) > 0.5 ulp,
 52.1235 ++                     and similarly when cmp_low=2 */
 52.1236 ++                  if (cmp_low == 2) /* cases 1a, 1b1, 2a and 2b1 */
 52.1237 ++                    goto add_one_ulp;
 52.1238 ++                  /* sh > 0 and cmp_low > 0: this implies that the sh initial
 52.1239 ++                     neglected bits were 0, and the remaining low(b)-low(c)>0,
 52.1240 ++                     but its weight is less than 0.5 ulp */
 52.1241 ++                  else /* 0 < low(b) - low(c) < 0.5 ulp, this corresponds to
 52.1242 ++                          cases 3a, 1d1 and 3b1 */
 52.1243 ++                    {
 52.1244 ++                      inexact = -1;
 52.1245 ++                      goto truncate;
 52.1246 ++                    }
 52.1247 +                 }
 52.1248 +-              else if (down)
 52.1249 ++              else if (bb < cc) /* 0 < low(b) - low(c) < 0.5 ulp, cases 1c,
 52.1250 ++                                   1b3, 2b3 and 2c */
 52.1251 +                 {
 52.1252 +-                  inexact = 1;
 52.1253 ++                  inexact = -1;
 52.1254 +                   goto truncate;
 52.1255 +                 }
 52.1256 +-              else
 52.1257 +-                goto add_one_ulp;
 52.1258 ++              /* the only case where we can't conclude is bb=cc, i.e.,
 52.1259 ++                 low(b) - low(c) = 0.5 ulp (up to now), thus we don't know
 52.1260 ++                 if we must truncate or add one ulp. */
 52.1261 +             }
 52.1262 +         }
 52.1263 ++      /* after k=0, we cannot conclude in the following cases, we split them
 52.1264 ++         according to the values of bb and cc for k=1:
 52.1265 ++         1b. sh=0 and cmp_low = 1 and bb-cc = half [around 0.5 ulp]
 52.1266 ++             1b1. bb > cc: add one ulp, inex = 1
 52.1267 ++             1b2: bb = cc: cannot conclude
 52.1268 ++             1b3: bb < cc: truncate, inex = -1
 52.1269 ++         1d. sh=0 and cmp_low = 0 and bb-cc = 0 [around 0]
 52.1270 ++             1d1: bb > cc: truncate, inex = -1
 52.1271 ++             1d2: bb = cc: cannot conclude
 52.1272 ++             1d3: bb < cc: truncate, inex = +1
 52.1273 ++         1f. sh=0 and cmp_low = -1 and bb-cc = -half [around -0.5 ulp]
 52.1274 ++             1f1: bb > cc: truncate, inex = +1
 52.1275 ++             1f2: bb = cc: cannot conclude
 52.1276 ++             1f3: bb < cc: sub one ulp, inex = -1
 52.1277 ++         2b. sh > 0 and cmp_low = 2 and bb=cc [around 0.5 ulp]
 52.1278 ++             2b1. bb > cc: add one ulp, inex = 1
 52.1279 ++             2b2: bb = cc: cannot conclude
 52.1280 ++             2b3: bb < cc: truncate, inex = -1
 52.1281 ++         3b. sh > 0 and cmp_low = 0 [around 0]
 52.1282 ++             3b1. bb > cc: truncate, inex = -1
 52.1283 ++             3b2: bb = cc: cannot conclude
 52.1284 ++             3b3: bb < cc: truncate, inex = +1
 52.1285 ++      */
 52.1286 +     }
 52.1287 + 
 52.1288 +-  if ((rnd_mode == MPFR_RNDN) && !is_exact)
 52.1289 ++  if ((rnd_mode == MPFR_RNDN) && cmp_low != 0)
 52.1290 +     {
 52.1291 +       /* even rounding rule */
 52.1292 +       if ((ap[0] >> sh) & 1)
 52.1293 +         {
 52.1294 +-          if (down)
 52.1295 ++          if (cmp_low < 0)
 52.1296 +             goto sub_one_ulp;
 52.1297 +           else
 52.1298 +             goto add_one_ulp;
 52.1299 +         }
 52.1300 +       else
 52.1301 +-        inexact = (down) ? 1 : -1;
 52.1302 ++        inexact = (cmp_low > 0) ? -1 : 1;
 52.1303 +     }
 52.1304 +   else
 52.1305 +     inexact = 0;
 52.1306 +diff -Naurd mpfr-3.0.0-a/tests/tfma.c mpfr-3.0.0-b/tests/tfma.c
 52.1307 +--- mpfr-3.0.0-a/tests/tfma.c	2010-06-10 11:00:13.000000000 +0000
 52.1308 ++++ mpfr-3.0.0-b/tests/tfma.c	2010-10-21 20:59:32.000000000 +0000
 52.1309 +@@ -337,6 +337,94 @@
 52.1310 +   mpfr_clears (x, y, z, r, (mpfr_ptr) 0);
 52.1311 + }
 52.1312 + 
 52.1313 ++static void
 52.1314 ++bug20101018 (void)
 52.1315 ++{
 52.1316 ++  mpfr_t x, y, z, t, u;
 52.1317 ++  int i;
 52.1318 ++
 52.1319 ++  mpfr_init2 (x, 64);
 52.1320 ++  mpfr_init2 (y, 64);
 52.1321 ++  mpfr_init2 (z, 64);
 52.1322 ++  mpfr_init2 (t, 64);
 52.1323 ++  mpfr_init2 (u, 64);
 52.1324 ++
 52.1325 ++  mpfr_set_str (x, "0xf.fffffffffffffffp-14766", 16, MPFR_RNDN);
 52.1326 ++  mpfr_set_str (y, "-0xf.fffffffffffffffp+317", 16, MPFR_RNDN);
 52.1327 ++  mpfr_set_str (z, "0x8.3ffffffffffe3ffp-14443", 16, MPFR_RNDN);
 52.1328 ++  mpfr_set_str (t, "0x8.7ffffffffffc7ffp-14444", 16, MPFR_RNDN);
 52.1329 ++  i = mpfr_fma (u, x, y, z, MPFR_RNDN);
 52.1330 ++  if (mpfr_cmp (u, t) != 0)
 52.1331 ++    {
 52.1332 ++      printf ("Wrong result in bug20101018 (a)\n");
 52.1333 ++      printf ("Expected ");
 52.1334 ++      mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN);
 52.1335 ++      printf ("\nGot      ");
 52.1336 ++      mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN);
 52.1337 ++      printf ("\n");
 52.1338 ++      exit (1);
 52.1339 ++    }
 52.1340 ++  if (i <= 0)
 52.1341 ++    {
 52.1342 ++      printf ("Wrong ternary value in bug20101018 (a)\n");
 52.1343 ++      printf ("Expected > 0\n");
 52.1344 ++      printf ("Got      %d\n", i);
 52.1345 ++      exit (1);
 52.1346 ++    }
 52.1347 ++
 52.1348 ++  mpfr_set_str (x, "-0xf.fffffffffffffffp-11420", 16, MPFR_RNDN);
 52.1349 ++  mpfr_set_str (y, "0xf.fffffffffffffffp+9863", 16, MPFR_RNDN);
 52.1350 ++  mpfr_set_str (z, "0x8.fffff80ffffffffp-1551", 16, MPFR_RNDN);
 52.1351 ++  mpfr_set_str (t, "0x9.fffff01ffffffffp-1552", 16, MPFR_RNDN);
 52.1352 ++  i = mpfr_fma (u, x, y, z, MPFR_RNDN);
 52.1353 ++  if (mpfr_cmp (u, t) != 0)
 52.1354 ++    {
 52.1355 ++      printf ("Wrong result in bug20101018 (b)\n");
 52.1356 ++      printf ("Expected ");
 52.1357 ++      mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN);
 52.1358 ++      printf ("\nGot      ");
 52.1359 ++      mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN);
 52.1360 ++      printf ("\n");
 52.1361 ++      exit (1);
 52.1362 ++    }
 52.1363 ++  if (i <= 0)
 52.1364 ++    {
 52.1365 ++      printf ("Wrong ternary value in bug20101018 (b)\n");
 52.1366 ++      printf ("Expected > 0\n");
 52.1367 ++      printf ("Got      %d\n", i);
 52.1368 ++      exit (1);
 52.1369 ++    }
 52.1370 ++
 52.1371 ++  mpfr_set_str (x, "0xf.fffffffffffffffp-2125", 16, MPFR_RNDN);
 52.1372 ++  mpfr_set_str (y, "-0xf.fffffffffffffffp-6000", 16, MPFR_RNDN);
 52.1373 ++  mpfr_set_str (z, "0x8p-8119", 16, MPFR_RNDN);
 52.1374 ++  mpfr_set_str (t, "0x8.000000000000001p-8120", 16, MPFR_RNDN);
 52.1375 ++  i = mpfr_fma (u, x, y, z, MPFR_RNDN);
 52.1376 ++  if (mpfr_cmp (u, t) != 0)
 52.1377 ++    {
 52.1378 ++      printf ("Wrong result in bug20101018 (c)\n");
 52.1379 ++      printf ("Expected ");
 52.1380 ++      mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN);
 52.1381 ++      printf ("\nGot      ");
 52.1382 ++      mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN);
 52.1383 ++      printf ("\n");
 52.1384 ++      exit (1);
 52.1385 ++    }
 52.1386 ++  if (i <= 0)
 52.1387 ++    {
 52.1388 ++      printf ("Wrong ternary value in bug20101018 (c)\n");
 52.1389 ++      printf ("Expected > 0\n");
 52.1390 ++      printf ("Got      %d\n", i);
 52.1391 ++      exit (1);
 52.1392 ++    }
 52.1393 ++
 52.1394 ++  mpfr_clear (x);
 52.1395 ++  mpfr_clear (y);
 52.1396 ++  mpfr_clear (z);
 52.1397 ++  mpfr_clear (t);
 52.1398 ++  mpfr_clear (u);
 52.1399 ++}
 52.1400 ++
 52.1401 + int
 52.1402 + main (int argc, char *argv[])
 52.1403 + {
 52.1404 +@@ -345,6 +433,8 @@
 52.1405 + 
 52.1406 +   tests_start_mpfr ();
 52.1407 + 
 52.1408 ++  bug20101018 ();
 52.1409 ++
 52.1410 +   mpfr_init (x);
 52.1411 +   mpfr_init (s);
 52.1412 +   mpfr_init (y);
 52.1413 +diff -Naurd mpfr-3.0.0-a/tests/tsub.c mpfr-3.0.0-b/tests/tsub.c
 52.1414 +--- mpfr-3.0.0-a/tests/tsub.c	2010-06-10 11:00:13.000000000 +0000
 52.1415 ++++ mpfr-3.0.0-b/tests/tsub.c	2010-10-21 20:59:32.000000000 +0000
 52.1416 +@@ -201,6 +201,8 @@
 52.1417 +   if (mpfr_cmp (z, x))
 52.1418 +     {
 52.1419 +       printf ("Error in mpfr_sub (2)\n");
 52.1420 ++      printf ("Expected "); mpfr_print_binary (x); puts ("");
 52.1421 ++      printf ("Got      "); mpfr_print_binary (z); puts ("");
 52.1422 +       exit (1);
 52.1423 +     }
 52.1424 +   mpfr_set_str_binary (x, "1.1110111011110001110111011111111111101000011001011100101100101101");
 52.1425 +@@ -478,6 +480,156 @@
 52.1426 +   mpfr_clear (u);
 52.1427 + }
 52.1428 + 
 52.1429 ++/* Bug found by Jakub Jelinek
 52.1430 ++ * http://bugzilla.redhat.com/643657
 52.1431 ++ * https://gforge.inria.fr/tracker/index.php?func=detail&aid=11301
 52.1432 ++ * The consequence can be either an assertion failure (i = 2 in the
 52.1433 ++ * testcase below, in debug mode) or an incorrectly rounded value.
 52.1434 ++ */
 52.1435 ++static void
 52.1436 ++bug20101017 (void)
 52.1437 ++{
 52.1438 ++  mpfr_t a, b, c;
 52.1439 ++  int inex;
 52.1440 ++  int i;
 52.1441 ++
 52.1442 ++  mpfr_init2 (a, GMP_NUMB_BITS * 2);
 52.1443 ++  mpfr_init2 (b, GMP_NUMB_BITS);
 52.1444 ++  mpfr_init2 (c, GMP_NUMB_BITS);
 52.1445 ++
 52.1446 ++  /* a = 2^(2N) + k.2^(2N-1) + 2^N and b = 1
 52.1447 ++     with N = GMP_NUMB_BITS and k = 0 or 1.
 52.1448 ++     c = a - b should round to the same value as a. */
 52.1449 ++
 52.1450 ++  for (i = 2; i <= 3; i++)
 52.1451 ++    {
 52.1452 ++      mpfr_set_ui_2exp (a, i, GMP_NUMB_BITS - 1, MPFR_RNDN);
 52.1453 ++      mpfr_add_ui (a, a, 1, MPFR_RNDN);
 52.1454 ++      mpfr_mul_2ui (a, a, GMP_NUMB_BITS, MPFR_RNDN);
 52.1455 ++      mpfr_set_ui (b, 1, MPFR_RNDN);
 52.1456 ++      inex = mpfr_sub (c, a, b, MPFR_RNDN);
 52.1457 ++      mpfr_set (b, a, MPFR_RNDN);
 52.1458 ++      if (! mpfr_equal_p (c, b))
 52.1459 ++        {
 52.1460 ++          printf ("Error in bug20101017 for i = %d.\n", i);
 52.1461 ++          printf ("Expected ");
 52.1462 ++          mpfr_out_str (stdout, 16, 0, b, MPFR_RNDN);
 52.1463 ++          putchar ('\n');
 52.1464 ++          printf ("Got      ");
 52.1465 ++          mpfr_out_str (stdout, 16, 0, c, MPFR_RNDN);
 52.1466 ++          putchar ('\n');
 52.1467 ++          exit (1);
 52.1468 ++        }
 52.1469 ++      if (inex >= 0)
 52.1470 ++        {
 52.1471 ++          printf ("Error in bug20101017 for i = %d: bad inex value.\n", i);
 52.1472 ++          printf ("Expected negative, got %d.\n", inex);
 52.1473 ++          exit (1);
 52.1474 ++        }
 52.1475 ++    }
 52.1476 ++
 52.1477 ++  mpfr_set_prec (a, 64);
 52.1478 ++  mpfr_set_prec (b, 129);
 52.1479 ++  mpfr_set_prec (c, 2);
 52.1480 ++  mpfr_set_str_binary (b, "0.100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001E65");
 52.1481 ++  mpfr_set_str_binary (c, "0.10E1");
 52.1482 ++  inex = mpfr_sub (a, b, c, MPFR_RNDN);
 52.1483 ++  if (mpfr_cmp_ui_2exp (a, 1, 64) != 0 || inex >= 0)
 52.1484 ++    {
 52.1485 ++      printf ("Error in mpfr_sub for b-c for b=2^64+1+2^(-64), c=1\n");
 52.1486 ++      printf ("Expected result 2^64 with inex < 0\n");
 52.1487 ++      printf ("Got "); mpfr_print_binary (a);
 52.1488 ++      printf (" with inex=%d\n", inex);
 52.1489 ++      exit (1);
 52.1490 ++    }
 52.1491 ++
 52.1492 ++  mpfr_clears (a, b, c, (mpfr_ptr) 0);
 52.1493 ++}
 52.1494 ++
 52.1495 ++/* hard test of rounding */
 52.1496 ++static void
 52.1497 ++check_rounding (void)
 52.1498 ++{
 52.1499 ++  mpfr_t a, b, c, res;
 52.1500 ++  mpfr_prec_t p;
 52.1501 ++  long k, l;
 52.1502 ++  int i;
 52.1503 ++
 52.1504 ++#define MAXKL (2 * GMP_NUMB_BITS)
 52.1505 ++  for (p = MPFR_PREC_MIN; p <= GMP_NUMB_BITS; p++)
 52.1506 ++    {
 52.1507 ++      mpfr_init2 (a, p);
 52.1508 ++      mpfr_init2 (res, p);
 52.1509 ++      mpfr_init2 (b, p + 1 + MAXKL);
 52.1510 ++      mpfr_init2 (c, MPFR_PREC_MIN);
 52.1511 ++
 52.1512 ++      /* b = 2^p + 1 + 2^(-k), c = 2^(-l) */
 52.1513 ++      for (k = 0; k <= MAXKL; k++)
 52.1514 ++        for (l = 0; l <= MAXKL; l++)
 52.1515 ++          {
 52.1516 ++            mpfr_set_ui_2exp (b, 1, p, MPFR_RNDN);
 52.1517 ++            mpfr_add_ui (b, b, 1, MPFR_RNDN);
 52.1518 ++            mpfr_mul_2ui (b, b, k, MPFR_RNDN);
 52.1519 ++            mpfr_add_ui (b, b, 1, MPFR_RNDN);
 52.1520 ++            mpfr_div_2ui (b, b, k, MPFR_RNDN);
 52.1521 ++            mpfr_set_ui_2exp (c, 1, -l, MPFR_RNDN);
 52.1522 ++            i = mpfr_sub (a, b, c, MPFR_RNDN);
 52.1523 ++            /* b - c = 2^p + 1 + 2^(-k) - 2^(-l), should be rounded to
 52.1524 ++               2^p for l <= k, and 2^p+2 for l < k */
 52.1525 ++            if (l <= k)
 52.1526 ++              {
 52.1527 ++                if (mpfr_cmp_ui_2exp (a, 1, p) != 0)
 52.1528 ++                  {
 52.1529 ++                    printf ("Wrong result in check_rounding\n");
 52.1530 ++                    printf ("p=%lu k=%ld l=%ld\n", p, k, l);
 52.1531 ++                    printf ("b="); mpfr_print_binary (b); puts ("");
 52.1532 ++                    printf ("c="); mpfr_print_binary (c); puts ("");
 52.1533 ++                    printf ("Expected 2^%lu\n", p);
 52.1534 ++                    printf ("Got      "); mpfr_print_binary (a); puts ("");
 52.1535 ++                    exit (1);
 52.1536 ++                  }
 52.1537 ++                if (i >= 0)
 52.1538 ++                  {
 52.1539 ++                    printf ("Wrong ternary value in check_rounding\n");
 52.1540 ++                    printf ("p=%lu k=%ld l=%ld\n", p, k, l);
 52.1541 ++                    printf ("b="); mpfr_print_binary (b); puts ("");
 52.1542 ++                    printf ("c="); mpfr_print_binary (c); puts ("");
 52.1543 ++                    printf ("a="); mpfr_print_binary (a); puts ("");
 52.1544 ++                    printf ("Expected < 0, got %d\n", i);
 52.1545 ++                    exit (1);
 52.1546 ++                  }
 52.1547 ++              }
 52.1548 ++            else /* l < k */
 52.1549 ++              {
 52.1550 ++                mpfr_set_ui_2exp (res, 1, p, MPFR_RNDN);
 52.1551 ++                mpfr_add_ui (res, res, 2, MPFR_RNDN);
 52.1552 ++                if (mpfr_cmp (a, res) != 0)
 52.1553 ++                  {
 52.1554 ++                    printf ("Wrong result in check_rounding\n");
 52.1555 ++                    printf ("b="); mpfr_print_binary (b); puts ("");
 52.1556 ++                    printf ("c="); mpfr_print_binary (c); puts ("");
 52.1557 ++                    printf ("Expected "); mpfr_print_binary (res); puts ("");
 52.1558 ++                    printf ("Got      "); mpfr_print_binary (a); puts ("");
 52.1559 ++                    exit (1);
 52.1560 ++                  }
 52.1561 ++                if (i <= 0)
 52.1562 ++                  {
 52.1563 ++                    printf ("Wrong ternary value in check_rounding\n");
 52.1564 ++                    printf ("b="); mpfr_print_binary (b); puts ("");
 52.1565 ++                    printf ("c="); mpfr_print_binary (c); puts ("");
 52.1566 ++                    printf ("Expected > 0, got %d\n", i);
 52.1567 ++                    exit (1);
 52.1568 ++                  }
 52.1569 ++              }
 52.1570 ++          }
 52.1571 ++
 52.1572 ++      mpfr_clear (a);
 52.1573 ++      mpfr_clear (res);
 52.1574 ++      mpfr_clear (b);
 52.1575 ++      mpfr_clear (c);
 52.1576 ++    }
 52.1577 ++}
 52.1578 ++
 52.1579 + #define TEST_FUNCTION test_sub
 52.1580 + #define TWO_ARGS
 52.1581 + #define RAND_FUNCTION(x) mpfr_random2(x, MPFR_LIMB_SIZE (x), randlimb () % 100, RANDS)
 52.1582 +@@ -491,6 +643,8 @@
 52.1583 + 
 52.1584 +   tests_start_mpfr ();
 52.1585 + 
 52.1586 ++  bug20101017 ();
 52.1587 ++  check_rounding ();
 52.1588 +   check_diverse ();
 52.1589 +   check_inexact ();
 52.1590 +   bug_ddefour ();
 52.1591 +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
 52.1592 +--- mpfr-3.0.0-a/version.c	2010-10-21 20:28:38.000000000 +0000
 52.1593 ++++ mpfr-3.0.0-b/version.c	2010-10-21 20:59:32.000000000 +0000
 52.1594 +@@ -25,5 +25,5 @@
 52.1595 + const char *
 52.1596 + mpfr_get_version (void)
 52.1597 + {
 52.1598 +-  return "3.0.0-p5";
 52.1599 ++  return "3.0.0-p6";
 52.1600 + }
 52.1601 +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
 52.1602 +--- mpfr-3.0.0-a/PATCHES	2010-10-21 21:18:26.000000000 +0000
 52.1603 ++++ mpfr-3.0.0-b/PATCHES	2010-10-21 21:18:26.000000000 +0000
 52.1604 +@@ -0,0 +1 @@
 52.1605 ++mpfr_set_ld
 52.1606 +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
 52.1607 +--- mpfr-3.0.0-a/VERSION	2010-10-21 20:59:32.000000000 +0000
 52.1608 ++++ mpfr-3.0.0-b/VERSION	2010-10-21 21:18:26.000000000 +0000
 52.1609 +@@ -1 +1 @@
 52.1610 +-3.0.0-p6
 52.1611 ++3.0.0-p7
 52.1612 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
 52.1613 +--- mpfr-3.0.0-a/mpfr.h	2010-10-21 20:59:32.000000000 +0000
 52.1614 ++++ mpfr-3.0.0-b/mpfr.h	2010-10-21 21:18:26.000000000 +0000
 52.1615 +@@ -27,7 +27,7 @@
 52.1616 + #define MPFR_VERSION_MAJOR 3
 52.1617 + #define MPFR_VERSION_MINOR 0
 52.1618 + #define MPFR_VERSION_PATCHLEVEL 0
 52.1619 +-#define MPFR_VERSION_STRING "3.0.0-p6"
 52.1620 ++#define MPFR_VERSION_STRING "3.0.0-p7"
 52.1621 + 
 52.1622 + /* Macros dealing with MPFR VERSION */
 52.1623 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
 52.1624 +diff -Naurd mpfr-3.0.0-a/set_ld.c mpfr-3.0.0-b/set_ld.c
 52.1625 +--- mpfr-3.0.0-a/set_ld.c	2010-06-10 11:00:14.000000000 +0000
 52.1626 ++++ mpfr-3.0.0-b/set_ld.c	2010-10-21 21:18:26.000000000 +0000
 52.1627 +@@ -102,21 +102,25 @@
 52.1628 +             {
 52.1629 +               x /= div13; /* exact */
 52.1630 +               shift_exp += 8192;
 52.1631 ++              mpfr_div_2si (t, t, 8192, MPFR_RNDZ);
 52.1632 +             }
 52.1633 +           if (ABS (x) >= div12)
 52.1634 +             {
 52.1635 +               x /= div12; /* exact */
 52.1636 +               shift_exp += 4096;
 52.1637 ++              mpfr_div_2si (t, t, 4096, MPFR_RNDZ);
 52.1638 +             }
 52.1639 +           if (ABS (x) >= div11)
 52.1640 +             {
 52.1641 +               x /= div11; /* exact */
 52.1642 +               shift_exp += 2048;
 52.1643 ++              mpfr_div_2si (t, t, 2048, MPFR_RNDZ);
 52.1644 +             }
 52.1645 +           if (ABS (x) >= div10)
 52.1646 +             {
 52.1647 +               x /= div10; /* exact */
 52.1648 +               shift_exp += 1024;
 52.1649 ++              mpfr_div_2si (t, t, 1024, MPFR_RNDZ);
 52.1650 +             }
 52.1651 +           /* warning: we may have DBL_MAX=2^1024*(1-2^(-53)) < x < 2^1024,
 52.1652 +              therefore we have one extra exponent reduction step */
 52.1653 +@@ -124,9 +128,10 @@
 52.1654 +             {
 52.1655 +               x /= div9; /* exact */
 52.1656 +               shift_exp += 512;
 52.1657 ++              mpfr_div_2si (t, t, 512, MPFR_RNDZ);
 52.1658 +             }
 52.1659 +         } /* Check overflow of double */
 52.1660 +-      else
 52.1661 ++      else /* no overflow on double */
 52.1662 +         {
 52.1663 +           long double div9, div10, div11;
 52.1664 + 
 52.1665 +@@ -149,29 +154,34 @@
 52.1666 +                 {
 52.1667 +                   x /= div13; /* exact */
 52.1668 +                   shift_exp -= 8192;
 52.1669 ++                  mpfr_mul_2si (t, t, 8192, MPFR_RNDZ);
 52.1670 +                 }
 52.1671 +               if (ABS (x) <= div12)
 52.1672 +                 {
 52.1673 +                   x /= div12; /* exact */
 52.1674 +                   shift_exp -= 4096;
 52.1675 ++                  mpfr_mul_2si (t, t, 4096, MPFR_RNDZ);
 52.1676 +                 }
 52.1677 +               if (ABS (x) <= div11)
 52.1678 +                 {
 52.1679 +                   x /= div11; /* exact */
 52.1680 +                   shift_exp -= 2048;
 52.1681 ++                  mpfr_mul_2si (t, t, 2048, MPFR_RNDZ);
 52.1682 +                 }
 52.1683 +               if (ABS (x) <= div10)
 52.1684 +                 {
 52.1685 +                   x /= div10; /* exact */
 52.1686 +                   shift_exp -= 1024;
 52.1687 ++                  mpfr_mul_2si (t, t, 1024, MPFR_RNDZ);
 52.1688 +                 }
 52.1689 +               if (ABS(x) <= div9)
 52.1690 +                 {
 52.1691 +                   x /= div9;  /* exact */
 52.1692 +                   shift_exp -= 512;
 52.1693 ++                  mpfr_mul_2si (t, t, 512, MPFR_RNDZ);
 52.1694 +                 }
 52.1695 +             }
 52.1696 +-          else
 52.1697 ++          else /* no underflow */
 52.1698 +             {
 52.1699 +               inexact = mpfr_set_d (u, (double) x, MPFR_RNDZ);
 52.1700 +               MPFR_ASSERTD (inexact == 0);
 52.1701 +diff -Naurd mpfr-3.0.0-a/tests/tset_ld.c mpfr-3.0.0-b/tests/tset_ld.c
 52.1702 +--- mpfr-3.0.0-a/tests/tset_ld.c	2010-06-10 11:00:13.000000000 +0000
 52.1703 ++++ mpfr-3.0.0-b/tests/tset_ld.c	2010-10-21 21:18:26.000000000 +0000
 52.1704 +@@ -147,12 +147,39 @@
 52.1705 + test_fixed_bugs (void)
 52.1706 + {
 52.1707 +   mpfr_t x;
 52.1708 +-  long double d;
 52.1709 ++  long double l, m;
 52.1710 + 
 52.1711 +   /* bug found by Steve Kargl (2009-03-14) */
 52.1712 +   mpfr_init2 (x, 64);
 52.1713 +   mpfr_set_ui_2exp (x, 1, -16447, MPFR_RNDN);
 52.1714 +-  d = mpfr_get_ld (x, MPFR_RNDN);  /* an assertion failed in init2.c:50 */
 52.1715 ++  mpfr_get_ld (x, MPFR_RNDN);  /* an assertion failed in init2.c:50 */
 52.1716 ++
 52.1717 ++  /* bug reported by Jakub Jelinek (2010-10-17)
 52.1718 ++     https://gforge.inria.fr/tracker/?func=detail&aid=11300 */
 52.1719 ++  mpfr_set_prec (x, MPFR_LDBL_MANT_DIG);
 52.1720 ++  /* l = 0x1.23456789abcdef0123456789abcdp-914L; */
 52.1721 ++  l = 8.215640181713713164092636634579e-276;
 52.1722 ++  mpfr_set_ld (x, l, MPFR_RNDN);
 52.1723 ++  m = mpfr_get_ld (x, MPFR_RNDN);
 52.1724 ++  if (m != l)
 52.1725 ++    {
 52.1726 ++      printf ("Error in get_ld o set_ld for l=%Le\n", l);
 52.1727 ++      printf ("Got m=%Le instead of l\n", m);
 52.1728 ++      exit (1);
 52.1729 ++    }
 52.1730 ++
 52.1731 ++  /* another similar test which failed with extended double precision and the
 52.1732 ++     generic code for mpfr_set_ld */
 52.1733 ++  /* l = 0x1.23456789abcdef0123456789abcdp-968L; */
 52.1734 ++  l = 4.560596445887084662336528403703e-292;
 52.1735 ++  mpfr_set_ld (x, l, MPFR_RNDN);
 52.1736 ++  m = mpfr_get_ld (x, MPFR_RNDN);
 52.1737 ++  if (m != l)
 52.1738 ++    {
 52.1739 ++      printf ("Error in get_ld o set_ld for l=%Le\n", l);
 52.1740 ++      printf ("Got m=%Le instead of l\n", m);
 52.1741 ++      exit (1);
 52.1742 ++    }
 52.1743 + 
 52.1744 +   mpfr_clear (x);
 52.1745 + }
 52.1746 +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
 52.1747 +--- mpfr-3.0.0-a/version.c	2010-10-21 20:59:32.000000000 +0000
 52.1748 ++++ mpfr-3.0.0-b/version.c	2010-10-21 21:18:26.000000000 +0000
 52.1749 +@@ -25,5 +25,5 @@
 52.1750 + const char *
 52.1751 + mpfr_get_version (void)
 52.1752 + {
 52.1753 +-  return "3.0.0-p6";
 52.1754 ++  return "3.0.0-p7";
 52.1755 + }
 52.1756 +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
 52.1757 +--- mpfr-3.0.0-a/PATCHES	2010-11-09 15:15:07.000000000 +0000
 52.1758 ++++ mpfr-3.0.0-b/PATCHES	2010-11-09 15:15:07.000000000 +0000
 52.1759 +@@ -0,0 +1 @@
 52.1760 ++macros
 52.1761 +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
 52.1762 +--- mpfr-3.0.0-a/VERSION	2010-10-21 21:18:26.000000000 +0000
 52.1763 ++++ mpfr-3.0.0-b/VERSION	2010-11-09 15:15:07.000000000 +0000
 52.1764 +@@ -1 +1 @@
 52.1765 +-3.0.0-p7
 52.1766 ++3.0.0-p8
 52.1767 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
 52.1768 +--- mpfr-3.0.0-a/mpfr.h	2010-10-21 21:18:26.000000000 +0000
 52.1769 ++++ mpfr-3.0.0-b/mpfr.h	2010-11-09 15:15:07.000000000 +0000
 52.1770 +@@ -27,7 +27,7 @@
 52.1771 + #define MPFR_VERSION_MAJOR 3
 52.1772 + #define MPFR_VERSION_MINOR 0
 52.1773 + #define MPFR_VERSION_PATCHLEVEL 0
 52.1774 +-#define MPFR_VERSION_STRING "3.0.0-p7"
 52.1775 ++#define MPFR_VERSION_STRING "3.0.0-p8"
 52.1776 + 
 52.1777 + /* Macros dealing with MPFR VERSION */
 52.1778 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
 52.1779 +@@ -67,6 +67,16 @@
 52.1780 + # define _MPFR_H_HAVE_INTMAX_T 1
 52.1781 + #endif
 52.1782 + 
 52.1783 ++/* Avoid some problems with macro expansion if the user defines macros
 52.1784 ++   with the same name as keywords. By convention, identifiers and macro
 52.1785 ++   names starting with mpfr_ are reserved by MPFR. */
 52.1786 ++typedef void            mpfr_void;
 52.1787 ++typedef int             mpfr_int;
 52.1788 ++typedef unsigned int    mpfr_uint;
 52.1789 ++typedef long            mpfr_long;
 52.1790 ++typedef unsigned long   mpfr_ulong;
 52.1791 ++typedef size_t          mpfr_size_t;
 52.1792 ++
 52.1793 + /* Definition of rounding modes (DON'T USE MPFR_RNDNA!).
 52.1794 +    Warning! Changing the contents of this enum should be seen as an
 52.1795 +    interface change since the old and the new types are not compatible
 52.1796 +@@ -136,7 +146,7 @@
 52.1797 + typedef mp_exp_t     mpfr_exp_t;
 52.1798 + 
 52.1799 + /* Definition of the standard exponent limits */
 52.1800 +-#define MPFR_EMAX_DEFAULT ((mpfr_exp_t) (((unsigned long) 1 << 30) - 1))
 52.1801 ++#define MPFR_EMAX_DEFAULT ((mpfr_exp_t) (((mpfr_ulong) 1 << 30) - 1))
 52.1802 + #define MPFR_EMIN_DEFAULT (-(MPFR_EMAX_DEFAULT))
 52.1803 + 
 52.1804 + /* Definition of the main structure */
 52.1805 +@@ -725,13 +735,13 @@
 52.1806 +    unexpected results with future compilers and aggressive optimisations.
 52.1807 +    Why not working only with signed types, using INT_MIN and LONG_MIN? */
 52.1808 + #if __GMP_MP_SIZE_T_INT
 52.1809 +-#define __MPFR_EXP_NAN  ((mpfr_exp_t)((~((~(unsigned int)0)>>1))+2))
 52.1810 +-#define __MPFR_EXP_ZERO ((mpfr_exp_t)((~((~(unsigned int)0)>>1))+1))
 52.1811 +-#define __MPFR_EXP_INF  ((mpfr_exp_t)((~((~(unsigned int)0)>>1))+3))
 52.1812 ++#define __MPFR_EXP_NAN  ((mpfr_exp_t)((~((~(mpfr_uint)0)>>1))+2))
 52.1813 ++#define __MPFR_EXP_ZERO ((mpfr_exp_t)((~((~(mpfr_uint)0)>>1))+1))
 52.1814 ++#define __MPFR_EXP_INF  ((mpfr_exp_t)((~((~(mpfr_uint)0)>>1))+3))
 52.1815 + #else
 52.1816 +-#define __MPFR_EXP_NAN  ((mpfr_exp_t)((~((~(unsigned long)0)>>1))+2))
 52.1817 +-#define __MPFR_EXP_ZERO ((mpfr_exp_t)((~((~(unsigned long)0)>>1))+1))
 52.1818 +-#define __MPFR_EXP_INF  ((mpfr_exp_t)((~((~(unsigned long)0)>>1))+3))
 52.1819 ++#define __MPFR_EXP_NAN  ((mpfr_exp_t)((~((~(mpfr_ulong)0)>>1))+2))
 52.1820 ++#define __MPFR_EXP_ZERO ((mpfr_exp_t)((~((~(mpfr_ulong)0)>>1))+1))
 52.1821 ++#define __MPFR_EXP_INF  ((mpfr_exp_t)((~((~(mpfr_ulong)0)>>1))+3))
 52.1822 + #endif
 52.1823 + 
 52.1824 + /* Define MPFR_USE_EXTENSION to avoid "gcc -pedantic" warnings. */
 52.1825 +@@ -760,9 +770,9 @@
 52.1826 + #define mpfr_inf_p(_x)      ((_x)->_mpfr_exp == __MPFR_EXP_INF)
 52.1827 + #define mpfr_zero_p(_x)     ((_x)->_mpfr_exp == __MPFR_EXP_ZERO)
 52.1828 + #define mpfr_regular_p(_x)  ((_x)->_mpfr_exp >  __MPFR_EXP_INF)
 52.1829 +-#define mpfr_sgn(_x)                                          \
 52.1830 +-  ((_x)->_mpfr_exp < __MPFR_EXP_INF ?                         \
 52.1831 +-   (mpfr_nan_p (_x) ? mpfr_set_erangeflag () : (void) 0), 0 : \
 52.1832 ++#define mpfr_sgn(_x)                                               \
 52.1833 ++  ((_x)->_mpfr_exp < __MPFR_EXP_INF ?                              \
 52.1834 ++   (mpfr_nan_p (_x) ? mpfr_set_erangeflag () : (mpfr_void) 0), 0 : \
 52.1835 +    MPFR_SIGN (_x))
 52.1836 + 
 52.1837 + /* Prevent them from using as lvalues */
 52.1838 +@@ -805,7 +815,19 @@
 52.1839 +    Moreover casts to unsigned long have been added to avoid warnings in
 52.1840 +    programs that use MPFR and are compiled with -Wconversion; such casts
 52.1841 +    are OK since if X is a constant expression, then (unsigned long) X is
 52.1842 +-   also a constant expression, so that the optimizations still work. */
 52.1843 ++   also a constant expression, so that the optimizations still work. The
 52.1844 ++   warnings are probably related to the following two bugs:
 52.1845 ++     http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210
 52.1846 ++     http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38470 (possibly a variant)
 52.1847 ++   and the casts could be removed once these bugs are fixed.
 52.1848 ++   Casts shouldn't be used on the generic calls (to the ..._2exp functions),
 52.1849 ++   where implicit conversions are performed. Indeed, having at least one
 52.1850 ++   implicit conversion in the macro allows the compiler to emit diagnostics
 52.1851 ++   when normally expected, for instance in the following call:
 52.1852 ++     mpfr_set_ui (x, "foo", MPFR_RNDN);
 52.1853 ++   If this is not possible (for future macros), one of the tricks described
 52.1854 ++   on http://groups.google.com/group/comp.std.c/msg/e92abd24bf9eaf7b could
 52.1855 ++   be used. */
 52.1856 + #if defined (__GNUC__) && !defined(__ICC) && !defined(__cplusplus)
 52.1857 + #if (__GNUC__ >= 2)
 52.1858 + #undef mpfr_cmp_ui
 52.1859 +@@ -813,45 +835,45 @@
 52.1860 +    But warning! mpfr_sgn is specified as a macro in the API, thus the macro
 52.1861 +    mustn't be used if side effects are possible, like here. */
 52.1862 + #define mpfr_cmp_ui(_f,_u)                                      \
 52.1863 +-  (__builtin_constant_p (_u) && (unsigned long) (_u) == 0 ?     \
 52.1864 ++  (__builtin_constant_p (_u) && (mpfr_ulong) (_u) == 0 ?        \
 52.1865 +    (mpfr_sgn) (_f) :                                            \
 52.1866 +-   mpfr_cmp_ui_2exp ((_f), (unsigned long) (_u), 0))
 52.1867 ++   mpfr_cmp_ui_2exp ((_f), (_u), 0))
 52.1868 + #undef mpfr_cmp_si
 52.1869 +-#define mpfr_cmp_si(_f,_s)                              \
 52.1870 +-  (__builtin_constant_p (_s) && (long) (_s) >= 0 ?      \
 52.1871 +-   mpfr_cmp_ui ((_f), (unsigned long) (long) (_s)) :    \
 52.1872 +-   mpfr_cmp_si_2exp ((_f), (long) (_s), 0))
 52.1873 ++#define mpfr_cmp_si(_f,_s)                                      \
 52.1874 ++  (__builtin_constant_p (_s) && (mpfr_long) (_s) >= 0 ?         \
 52.1875 ++   mpfr_cmp_ui ((_f), (mpfr_ulong) (mpfr_long) (_s)) :          \
 52.1876 ++   mpfr_cmp_si_2exp ((_f), (_s), 0))
 52.1877 + #if __GNUC__ > 2 || __GNUC_MINOR__ >= 95
 52.1878 + #undef mpfr_set_ui
 52.1879 + #define mpfr_set_ui(_f,_u,_r)                                   \
 52.1880 +-  (__builtin_constant_p (_u) && (unsigned long) (_u) == 0 ?     \
 52.1881 ++  (__builtin_constant_p (_u) && (mpfr_ulong) (_u) == 0 ?        \
 52.1882 +    __extension__ ({                                             \
 52.1883 +        mpfr_ptr _p = (_f);                                      \
 52.1884 +        _p->_mpfr_sign = 1;                                      \
 52.1885 +        _p->_mpfr_exp = __MPFR_EXP_ZERO;                         \
 52.1886 +-       (void) (_r); 0; }) :                                     \
 52.1887 +-   mpfr_set_ui_2exp ((_f), (unsigned long) (_u), 0, (_r)))
 52.1888 ++       (mpfr_void) (_r); 0; }) :                                \
 52.1889 ++   mpfr_set_ui_2exp ((_f), (_u), 0, (_r)))
 52.1890 + #endif
 52.1891 + #undef mpfr_set_si
 52.1892 + #define mpfr_set_si(_f,_s,_r)                                   \
 52.1893 +-  (__builtin_constant_p (_s) && (long) (_s) >= 0 ?              \
 52.1894 +-   mpfr_set_ui ((_f), (unsigned long) (long) (_s), (_r)) :      \
 52.1895 +-   mpfr_set_si_2exp ((_f), (long) (_s), 0, (_r)))
 52.1896 ++  (__builtin_constant_p (_s) && (mpfr_long) (_s) >= 0 ?         \
 52.1897 ++   mpfr_set_ui ((_f), (mpfr_ulong) (mpfr_long) (_s), (_r)) :    \
 52.1898 ++   mpfr_set_si_2exp ((_f), (_s), 0, (_r)))
 52.1899 + #endif
 52.1900 + #endif
 52.1901 + 
 52.1902 + /* Macro version of mpfr_stack interface for fast access */
 52.1903 +-#define mpfr_custom_get_size(p) ((size_t)                            \
 52.1904 ++#define mpfr_custom_get_size(p) ((mpfr_size_t)                          \
 52.1905 +        (((p)+GMP_NUMB_BITS-1)/GMP_NUMB_BITS*sizeof (mp_limb_t)))
 52.1906 + #define mpfr_custom_init(m,p) do {} while (0)
 52.1907 +-#define mpfr_custom_get_significand(x) ((void*)((x)->_mpfr_d))
 52.1908 ++#define mpfr_custom_get_significand(x) ((mpfr_void*)((x)->_mpfr_d))
 52.1909 + #define mpfr_custom_get_exp(x) ((x)->_mpfr_exp)
 52.1910 + #define mpfr_custom_move(x,m) do { ((x)->_mpfr_d = (mp_limb_t*)(m)); } while (0)
 52.1911 + #define mpfr_custom_init_set(x,k,e,p,m) do {                   \
 52.1912 +   mpfr_ptr _x = (x);                                           \
 52.1913 +   mpfr_exp_t _e;                                               \
 52.1914 +   mpfr_kind_t _t;                                              \
 52.1915 +-  int _s, _k;                                                  \
 52.1916 ++  mpfr_int _s, _k;                                             \
 52.1917 +   _k = (k);                                                    \
 52.1918 +   if (_k >= 0)  {                                              \
 52.1919 +     _t = (mpfr_kind_t) _k;                                     \
 52.1920 +@@ -868,11 +890,13 @@
 52.1921 +   _x->_mpfr_exp  = _e;                                         \
 52.1922 +   _x->_mpfr_d    = (mp_limb_t*) (m);                           \
 52.1923 +  } while (0)
 52.1924 +-#define mpfr_custom_get_kind(x)                                              \
 52.1925 +-  ( (x)->_mpfr_exp >  __MPFR_EXP_INF ? (int)MPFR_REGULAR_KIND*MPFR_SIGN (x) \
 52.1926 +-  : (x)->_mpfr_exp == __MPFR_EXP_INF ? (int)MPFR_INF_KIND*MPFR_SIGN (x)     \
 52.1927 +-  : (x)->_mpfr_exp == __MPFR_EXP_NAN ? (int)MPFR_NAN_KIND                   \
 52.1928 +-  : (int) MPFR_ZERO_KIND * MPFR_SIGN (x) )
 52.1929 ++#define mpfr_custom_get_kind(x)                                         \
 52.1930 ++  ( (x)->_mpfr_exp >  __MPFR_EXP_INF ?                                  \
 52.1931 ++    (mpfr_int) MPFR_REGULAR_KIND * MPFR_SIGN (x)                        \
 52.1932 ++  : (x)->_mpfr_exp == __MPFR_EXP_INF ?                                  \
 52.1933 ++    (mpfr_int) MPFR_INF_KIND * MPFR_SIGN (x)                            \
 52.1934 ++  : (x)->_mpfr_exp == __MPFR_EXP_NAN ? (mpfr_int) MPFR_NAN_KIND         \
 52.1935 ++  : (mpfr_int) MPFR_ZERO_KIND * MPFR_SIGN (x) )
 52.1936 + 
 52.1937 + 
 52.1938 + #endif /* MPFR_USE_NO_MACRO */
 52.1939 +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
 52.1940 +--- mpfr-3.0.0-a/version.c	2010-10-21 21:18:26.000000000 +0000
 52.1941 ++++ mpfr-3.0.0-b/version.c	2010-11-09 15:15:07.000000000 +0000
 52.1942 +@@ -25,5 +25,5 @@
 52.1943 + const char *
 52.1944 + mpfr_get_version (void)
 52.1945 + {
 52.1946 +-  return "3.0.0-p7";
 52.1947 ++  return "3.0.0-p8";
 52.1948 + }
    53.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    53.2 +++ b/mpfr/stuff/mpfr-3.0.1.patch	Mon Apr 09 13:36:35 2012 +0200
    53.3 @@ -0,0 +1,367 @@
    53.4 +diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
    53.5 +--- mpfr-3.0.1-a/PATCHES	2011-04-12 10:50:02.000000000 +0000
    53.6 ++++ mpfr-3.0.1-b/PATCHES	2011-04-12 10:50:02.000000000 +0000
    53.7 +@@ -0,0 +1 @@
    53.8 ++asin_exprange
    53.9 +diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
   53.10 +--- mpfr-3.0.1-a/VERSION	2011-04-04 10:19:18.000000000 +0000
   53.11 ++++ mpfr-3.0.1-b/VERSION	2011-04-12 10:50:02.000000000 +0000
   53.12 +@@ -1 +1 @@
   53.13 +-3.0.1
   53.14 ++3.0.1-p1
   53.15 +diff -Naurd mpfr-3.0.1-a/asin.c mpfr-3.0.1-b/asin.c
   53.16 +--- mpfr-3.0.1-a/asin.c	2011-04-04 10:19:18.000000000 +0000
   53.17 ++++ mpfr-3.0.1-b/asin.c	2011-04-12 10:50:02.000000000 +0000
   53.18 +@@ -63,11 +63,14 @@
   53.19 + 
   53.20 +   compared = mpfr_cmp_ui (xp, 1);
   53.21 + 
   53.22 ++  MPFR_SAVE_EXPO_MARK (expo);
   53.23 ++
   53.24 +   if (MPFR_UNLIKELY (compared >= 0))
   53.25 +     {
   53.26 +       mpfr_clear (xp);
   53.27 +       if (compared > 0)                  /* asin(x) = NaN for |x| > 1 */
   53.28 +         {
   53.29 ++          MPFR_SAVE_EXPO_FREE (expo);
   53.30 +           MPFR_SET_NAN (asin);
   53.31 +           MPFR_RET_NAN;
   53.32 +         }
   53.33 +@@ -80,13 +83,11 @@
   53.34 +               inexact = -mpfr_const_pi (asin, MPFR_INVERT_RND(rnd_mode));
   53.35 +               MPFR_CHANGE_SIGN (asin);
   53.36 +             }
   53.37 +-          mpfr_div_2ui (asin, asin, 1, rnd_mode); /* May underflow */
   53.38 +-          return inexact;
   53.39 ++          mpfr_div_2ui (asin, asin, 1, rnd_mode);
   53.40 +         }
   53.41 +     }
   53.42 +-
   53.43 +-  MPFR_SAVE_EXPO_MARK (expo);
   53.44 +-
   53.45 ++  else
   53.46 ++    {
   53.47 +   /* Compute exponent of 1 - ABS(x) */
   53.48 +   mpfr_ui_sub (xp, 1, xp, MPFR_RNDD);
   53.49 +   MPFR_ASSERTD (MPFR_GET_EXP (xp) <= 0);
   53.50 +@@ -115,6 +116,7 @@
   53.51 +   inexact = mpfr_set (asin, xp, rnd_mode);
   53.52 + 
   53.53 +   mpfr_clear (xp);
   53.54 ++    }
   53.55 + 
   53.56 +   MPFR_SAVE_EXPO_FREE (expo);
   53.57 +   return mpfr_check_range (asin, inexact, rnd_mode);
   53.58 +diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
   53.59 +--- mpfr-3.0.1-a/mpfr.h	2011-04-04 10:19:18.000000000 +0000
   53.60 ++++ mpfr-3.0.1-b/mpfr.h	2011-04-12 10:50:02.000000000 +0000
   53.61 +@@ -27,7 +27,7 @@
   53.62 + #define MPFR_VERSION_MAJOR 3
   53.63 + #define MPFR_VERSION_MINOR 0
   53.64 + #define MPFR_VERSION_PATCHLEVEL 1
   53.65 +-#define MPFR_VERSION_STRING "3.0.1"
   53.66 ++#define MPFR_VERSION_STRING "3.0.1-p1"
   53.67 + 
   53.68 + /* Macros dealing with MPFR VERSION */
   53.69 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
   53.70 +diff -Naurd mpfr-3.0.1-a/tests/tasin.c mpfr-3.0.1-b/tests/tasin.c
   53.71 +--- mpfr-3.0.1-a/tests/tasin.c	2011-04-04 10:19:17.000000000 +0000
   53.72 ++++ mpfr-3.0.1-b/tests/tasin.c	2011-04-12 10:50:02.000000000 +0000
   53.73 +@@ -219,6 +219,49 @@
   53.74 +   mpfr_clear (y);
   53.75 + }
   53.76 + 
   53.77 ++static void
   53.78 ++reduced_expo_range (void)
   53.79 ++{
   53.80 ++  mpfr_exp_t emin, emax;
   53.81 ++  mpfr_t x, y, ex_y;
   53.82 ++  int inex, ex_inex;
   53.83 ++  unsigned int flags, ex_flags;
   53.84 ++
   53.85 ++  emin = mpfr_get_emin ();
   53.86 ++  emax = mpfr_get_emax ();
   53.87 ++
   53.88 ++  mpfr_inits2 (4, x, y, ex_y, (mpfr_ptr) 0);
   53.89 ++  mpfr_set_str (x, "-0.1e1", 2, MPFR_RNDN);
   53.90 ++
   53.91 ++  mpfr_set_emin (1);
   53.92 ++  mpfr_set_emax (1);
   53.93 ++  mpfr_clear_flags ();
   53.94 ++  inex = mpfr_asin (y, x, MPFR_RNDA);
   53.95 ++  flags = __gmpfr_flags;
   53.96 ++  mpfr_set_emin (emin);
   53.97 ++  mpfr_set_emax (emax);
   53.98 ++
   53.99 ++  mpfr_set_str (ex_y, "-0.1101e1", 2, MPFR_RNDN);
  53.100 ++  ex_inex = -1;
  53.101 ++  ex_flags = MPFR_FLAGS_INEXACT;
  53.102 ++
  53.103 ++  if (SIGN (inex) != ex_inex || flags != ex_flags ||
  53.104 ++      ! mpfr_equal_p (y, ex_y))
  53.105 ++    {
  53.106 ++      printf ("Error in reduced_expo_range\non x = ");
  53.107 ++      mpfr_dump (x);
  53.108 ++      printf ("Expected y = ");
  53.109 ++      mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN);
  53.110 ++      printf ("\n         inex = %d, flags = %u\n", ex_inex, ex_flags);
  53.111 ++      printf ("Got      y = ");
  53.112 ++      mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
  53.113 ++      printf ("\n         inex = %d, flags = %u\n", SIGN (inex), flags);
  53.114 ++      exit (1);
  53.115 ++    }
  53.116 ++
  53.117 ++  mpfr_clears (x, y, ex_y, (mpfr_ptr) 0);
  53.118 ++}
  53.119 ++
  53.120 + int
  53.121 + main (void)
  53.122 + {
  53.123 +@@ -226,6 +269,7 @@
  53.124 + 
  53.125 +   special ();
  53.126 +   special_overflow ();
  53.127 ++  reduced_expo_range ();
  53.128 + 
  53.129 +   test_generic (2, 100, 15);
  53.130 + 
  53.131 +diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
  53.132 +--- mpfr-3.0.1-a/version.c	2011-04-04 10:19:18.000000000 +0000
  53.133 ++++ mpfr-3.0.1-b/version.c	2011-04-12 10:50:02.000000000 +0000
  53.134 +@@ -25,5 +25,5 @@
  53.135 + const char *
  53.136 + mpfr_get_version (void)
  53.137 + {
  53.138 +-  return "3.0.1";
  53.139 ++  return "3.0.1-p1";
  53.140 + }
  53.141 +diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
  53.142 +--- mpfr-3.0.1-a/PATCHES	2011-05-04 11:18:33.000000000 +0000
  53.143 ++++ mpfr-3.0.1-b/PATCHES	2011-05-04 11:18:33.000000000 +0000
  53.144 +@@ -0,0 +1 @@
  53.145 ++rec_sqrt-carry
  53.146 +diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
  53.147 +--- mpfr-3.0.1-a/VERSION	2011-04-12 10:50:02.000000000 +0000
  53.148 ++++ mpfr-3.0.1-b/VERSION	2011-05-04 11:18:33.000000000 +0000
  53.149 +@@ -1 +1 @@
  53.150 +-3.0.1-p1
  53.151 ++3.0.1-p2
  53.152 +diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
  53.153 +--- mpfr-3.0.1-a/mpfr.h	2011-04-12 10:50:02.000000000 +0000
  53.154 ++++ mpfr-3.0.1-b/mpfr.h	2011-05-04 11:18:33.000000000 +0000
  53.155 +@@ -27,7 +27,7 @@
  53.156 + #define MPFR_VERSION_MAJOR 3
  53.157 + #define MPFR_VERSION_MINOR 0
  53.158 + #define MPFR_VERSION_PATCHLEVEL 1
  53.159 +-#define MPFR_VERSION_STRING "3.0.1-p1"
  53.160 ++#define MPFR_VERSION_STRING "3.0.1-p2"
  53.161 + 
  53.162 + /* Macros dealing with MPFR VERSION */
  53.163 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
  53.164 +diff -Naurd mpfr-3.0.1-a/rec_sqrt.c mpfr-3.0.1-b/rec_sqrt.c
  53.165 +--- mpfr-3.0.1-a/rec_sqrt.c	2011-04-04 10:19:18.000000000 +0000
  53.166 ++++ mpfr-3.0.1-b/rec_sqrt.c	2011-05-04 11:18:33.000000000 +0000
  53.167 +@@ -375,20 +375,37 @@
  53.168 +       MPFR_ASSERTD(un == ln + 1 || un == ln + 2);
  53.169 +       /* the high un-ln limbs of u will overlap the low part of {x+ln,xn},
  53.170 +          we need to add or subtract the overlapping part {u + ln, un - ln} */
  53.171 ++      /* Warning! th may be 0, in which case the mpn_add_1 and mpn_sub_1
  53.172 ++         below (with size = th) mustn't be used. In such a case, the limb
  53.173 ++         (carry) will be 0, so that this is semantically a no-op, but if
  53.174 ++         mpn_add_1 and mpn_sub_1 are used, GMP (currently) still does a
  53.175 ++         non-atomic read/write in a place that is not always allocated,
  53.176 ++         with the possible consequences: a crash if the corresponding
  53.177 ++         address is not mapped, or (rather unlikely) memory corruption
  53.178 ++         if another process/thread writes at the same place; things may
  53.179 ++         be worse with future GMP versions. Hence the tests carry != 0. */
  53.180 +       if (neg == 0)
  53.181 +         {
  53.182 +           if (ln > 0)
  53.183 +             MPN_COPY (x, u, ln);
  53.184 +           cy = mpn_add (x + ln, x + ln, xn, u + ln, un - ln);
  53.185 +           /* add cu at x+un */
  53.186 +-          cy += mpn_add_1 (x + un, x + un, th, cu);
  53.187 ++          if (cu != 0)
  53.188 ++            {
  53.189 ++              MPFR_ASSERTD (th != 0);
  53.190 ++              cy += mpn_add_1 (x + un, x + un, th, cu);
  53.191 ++            }
  53.192 +         }
  53.193 +       else /* negative case */
  53.194 +         {
  53.195 +           /* subtract {u+ln, un-ln} from {x+ln,un} */
  53.196 +           cy = mpn_sub (x + ln, x + ln, xn, u + ln, un - ln);
  53.197 +           /* carry cy is at x+un, like cu */
  53.198 +-          cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */
  53.199 ++          if (cy + cu != 0)
  53.200 ++            {
  53.201 ++              MPFR_ASSERTD (th != 0);
  53.202 ++              cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */
  53.203 ++            }
  53.204 +           /* cy cannot be zero, since the most significant bit of Xh is 1,
  53.205 +              and the correction is bounded by 2^{-h+3} */
  53.206 +           MPFR_ASSERTD(cy == 0);
  53.207 +diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
  53.208 +--- mpfr-3.0.1-a/version.c	2011-04-12 10:50:02.000000000 +0000
  53.209 ++++ mpfr-3.0.1-b/version.c	2011-05-04 11:18:33.000000000 +0000
  53.210 +@@ -25,5 +25,5 @@
  53.211 + const char *
  53.212 + mpfr_get_version (void)
  53.213 + {
  53.214 +-  return "3.0.1-p1";
  53.215 ++  return "3.0.1-p2";
  53.216 + }
  53.217 +diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
  53.218 +--- mpfr-3.0.1-a/PATCHES	2011-05-05 00:00:35.000000000 +0000
  53.219 ++++ mpfr-3.0.1-b/PATCHES	2011-05-05 00:00:35.000000000 +0000
  53.220 +@@ -0,0 +1 @@
  53.221 ++atan-expo-range
  53.222 +diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
  53.223 +--- mpfr-3.0.1-a/VERSION	2011-05-04 11:18:33.000000000 +0000
  53.224 ++++ mpfr-3.0.1-b/VERSION	2011-05-05 00:00:35.000000000 +0000
  53.225 +@@ -1 +1 @@
  53.226 +-3.0.1-p2
  53.227 ++3.0.1-p3
  53.228 +diff -Naurd mpfr-3.0.1-a/atan.c mpfr-3.0.1-b/atan.c
  53.229 +--- mpfr-3.0.1-a/atan.c	2011-04-04 10:19:18.000000000 +0000
  53.230 ++++ mpfr-3.0.1-b/atan.c	2011-05-05 00:00:35.000000000 +0000
  53.231 +@@ -431,5 +431,5 @@
  53.232 +   MPFR_GROUP_CLEAR (group);
  53.233 + 
  53.234 +   MPFR_SAVE_EXPO_FREE (expo);
  53.235 +-  return mpfr_check_range (arctgt, inexact, rnd_mode);
  53.236 ++  return mpfr_check_range (atan, inexact, rnd_mode);
  53.237 + }
  53.238 +diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
  53.239 +--- mpfr-3.0.1-a/mpfr.h	2011-05-04 11:18:33.000000000 +0000
  53.240 ++++ mpfr-3.0.1-b/mpfr.h	2011-05-05 00:00:35.000000000 +0000
  53.241 +@@ -27,7 +27,7 @@
  53.242 + #define MPFR_VERSION_MAJOR 3
  53.243 + #define MPFR_VERSION_MINOR 0
  53.244 + #define MPFR_VERSION_PATCHLEVEL 1
  53.245 +-#define MPFR_VERSION_STRING "3.0.1-p2"
  53.246 ++#define MPFR_VERSION_STRING "3.0.1-p3"
  53.247 + 
  53.248 + /* Macros dealing with MPFR VERSION */
  53.249 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
  53.250 +diff -Naurd mpfr-3.0.1-a/tests/tatan.c mpfr-3.0.1-b/tests/tatan.c
  53.251 +--- mpfr-3.0.1-a/tests/tatan.c	2011-04-04 10:19:17.000000000 +0000
  53.252 ++++ mpfr-3.0.1-b/tests/tatan.c	2011-05-05 00:00:35.000000000 +0000
  53.253 +@@ -535,6 +535,52 @@
  53.254 +   mpfr_clears (a, x, y, (mpfr_ptr) 0);
  53.255 + }
  53.256 + 
  53.257 ++/* http://websympa.loria.fr/wwsympa/arc/mpfr/2011-05/msg00008.html
  53.258 ++ * Incorrect flags (in debug mode on a 32-bit machine, assertion failure).
  53.259 ++ */
  53.260 ++static void
  53.261 ++reduced_expo_range (void)
  53.262 ++{
  53.263 ++  mpfr_exp_t emin, emax;
  53.264 ++  mpfr_t x, y, ex_y;
  53.265 ++  int inex, ex_inex;
  53.266 ++  unsigned int flags, ex_flags;
  53.267 ++
  53.268 ++  emin = mpfr_get_emin ();
  53.269 ++  emax = mpfr_get_emax ();
  53.270 ++
  53.271 ++  mpfr_inits2 (12, x, y, ex_y, (mpfr_ptr) 0);
  53.272 ++  mpfr_set_str (x, "0.1e-5", 2, MPFR_RNDN);
  53.273 ++
  53.274 ++  mpfr_set_emin (-5);
  53.275 ++  mpfr_set_emax (-5);
  53.276 ++  mpfr_clear_flags ();
  53.277 ++  inex = mpfr_atan (y, x, MPFR_RNDN);
  53.278 ++  flags = __gmpfr_flags;
  53.279 ++  mpfr_set_emin (emin);
  53.280 ++  mpfr_set_emax (emax);
  53.281 ++
  53.282 ++  mpfr_set_str (ex_y, "0.1e-5", 2, MPFR_RNDN);
  53.283 ++  ex_inex = 1;
  53.284 ++  ex_flags = MPFR_FLAGS_INEXACT;
  53.285 ++
  53.286 ++  if (SIGN (inex) != ex_inex || flags != ex_flags ||
  53.287 ++      ! mpfr_equal_p (y, ex_y))
  53.288 ++    {
  53.289 ++      printf ("Error in reduced_expo_range\non x = ");
  53.290 ++      mpfr_dump (x);
  53.291 ++      printf ("Expected y = ");
  53.292 ++      mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN);
  53.293 ++      printf ("\n         inex = %d, flags = %u\n", ex_inex, ex_flags);
  53.294 ++      printf ("Got      y = ");
  53.295 ++      mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
  53.296 ++      printf ("\n         inex = %d, flags = %u\n", SIGN (inex), flags);
  53.297 ++      exit (1);
  53.298 ++    }
  53.299 ++
  53.300 ++  mpfr_clears (x, y, ex_y, (mpfr_ptr) 0);
  53.301 ++}
  53.302 ++
  53.303 + int
  53.304 + main (int argc, char *argv[])
  53.305 + {
  53.306 +@@ -546,6 +592,7 @@
  53.307 +   smallvals_atan2 ();
  53.308 +   atan2_bug_20071003 ();
  53.309 +   atan2_different_prec ();
  53.310 ++  reduced_expo_range ();
  53.311 + 
  53.312 +   test_generic_atan  (2, 200, 17);
  53.313 +   test_generic_atan2 (2, 200, 17);
  53.314 +diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
  53.315 +--- mpfr-3.0.1-a/version.c	2011-05-04 11:18:33.000000000 +0000
  53.316 ++++ mpfr-3.0.1-b/version.c	2011-05-05 00:00:35.000000000 +0000
  53.317 +@@ -25,5 +25,5 @@
  53.318 + const char *
  53.319 + mpfr_get_version (void)
  53.320 + {
  53.321 +-  return "3.0.1-p2";
  53.322 ++  return "3.0.1-p3";
  53.323 + }
  53.324 +diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
  53.325 +--- mpfr-3.0.1-a/PATCHES	2011-05-09 14:48:24.000000000 +0000
  53.326 ++++ mpfr-3.0.1-b/PATCHES	2011-05-09 14:48:24.000000000 +0000
  53.327 +@@ -0,0 +1 @@
  53.328 ++texp-zero
  53.329 +diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
  53.330 +--- mpfr-3.0.1-a/VERSION	2011-05-05 00:00:35.000000000 +0000
  53.331 ++++ mpfr-3.0.1-b/VERSION	2011-05-09 14:48:24.000000000 +0000
  53.332 +@@ -1 +1 @@
  53.333 +-3.0.1-p3
  53.334 ++3.0.1-p4
  53.335 +diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
  53.336 +--- mpfr-3.0.1-a/mpfr.h	2011-05-05 00:00:35.000000000 +0000
  53.337 ++++ mpfr-3.0.1-b/mpfr.h	2011-05-09 14:48:24.000000000 +0000
  53.338 +@@ -27,7 +27,7 @@
  53.339 + #define MPFR_VERSION_MAJOR 3
  53.340 + #define MPFR_VERSION_MINOR 0
  53.341 + #define MPFR_VERSION_PATCHLEVEL 1
  53.342 +-#define MPFR_VERSION_STRING "3.0.1-p3"
  53.343 ++#define MPFR_VERSION_STRING "3.0.1-p4"
  53.344 + 
  53.345 + /* Macros dealing with MPFR VERSION */
  53.346 + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
  53.347 +diff -Naurd mpfr-3.0.1-a/tests/texp.c mpfr-3.0.1-b/tests/texp.c
  53.348 +--- mpfr-3.0.1-a/tests/texp.c	2011-04-04 10:19:17.000000000 +0000
  53.349 ++++ mpfr-3.0.1-b/tests/texp.c	2011-05-09 14:48:24.000000000 +0000
  53.350 +@@ -170,7 +170,9 @@
  53.351 +       mpfr_set_prec (x, prec);
  53.352 +       mpfr_set_prec (y, prec);
  53.353 +       mpfr_set_prec (z, prec);
  53.354 +-      mpfr_urandomb (x, RANDS);
  53.355 ++      do
  53.356 ++        mpfr_urandomb (x, RANDS);
  53.357 ++      while (MPFR_IS_ZERO (x));  /* 0 is handled by mpfr_exp only */
  53.358 +       rnd = RND_RAND ();
  53.359 +       mpfr_exp_2 (y, x, rnd);
  53.360 +       mpfr_exp_3 (z, x, rnd);
  53.361 +diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
  53.362 +--- mpfr-3.0.1-a/version.c	2011-05-05 00:00:35.000000000 +0000
  53.363 ++++ mpfr-3.0.1-b/version.c	2011-05-09 14:48:24.000000000 +0000
  53.364 +@@ -25,5 +25,5 @@
  53.365 + const char *
  53.366 + mpfr_get_version (void)
  53.367 + {
  53.368 +-  return "3.0.1-p3";
  53.369 ++  return "3.0.1-p4";
  53.370 + }
    54.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    54.2 +++ b/slitaz-toolchain/receipt	Mon Apr 09 13:36:35 2012 +0200
    54.3 @@ -0,0 +1,112 @@
    54.4 +# SliTaz package receipt.
    54.5 +
    54.6 +PACKAGE="slitaz-toolchain"
    54.7 +VERSION="4.0"
    54.8 +CATEGORY="meta"
    54.9 +SHORT_DESC="SliTaz meta package to rebuild or install current toolchain."
   54.10 +MAINTAINER="pankso@slitaz.org"
   54.11 +WEB_SITE="http://www.slitaz.org/"
   54.12 +
   54.13 +DEPENDS="binutils linux-api-headers glibc-dev gcc make elfkickers"
   54.14 +
   54.15 +# The goal here is to build and install SliTaz toolchain. We build the toolchain
   54.16 +# from SliTaz packages, on SliTaz and for SliTaz so in case of new and important
   54.17 +# toolchain upgrade we must build Binutils a first time, then GCC so it use the
   54.18 +# new Binutils. After we cook Glibc and then rebuild Binutils + GCC a second
   54.19 +# time so they are linked with the new main GNU libc. We usually also due a
   54.20 +# bootstrap by recooking slitaz-toolchain a second time so we are sure it can
   54.21 +# rebuild itself.
   54.22 +#
   54.23 +# SliTaz does one big toolchain by year just after the stable release, any change
   54.24 +# here or in the toolchain packages version must be discuss on the mailing list.
   54.25 +
   54.26 +# Rules to configure and make the package.
   54.27 +compile_rules()
   54.28 +{
   54.29 +	[ -x /usr/bin/cook ] || return 0
   54.30 +	tmplog=$LOGS/$PACKAGE.tmplog
   54.31 +	echo "Cook: $PACKAGE $VERSION" > $tmplog
   54.32 +	separator >> $tmplog
   54.33 +	cat >> $tmplog << EOT
   54.34 +Cook toolchain : started $(date "+%Y-%m-%d %H:%M")
   54.35 +Architecture   : $ARCH
   54.36 +Build system   : $BUILD_SYSTEM
   54.37 +Host  system   : $HOST_SYSTEM
   54.38 +EOT
   54.39 +	
   54.40 +	# 1. binutils (first pass)
   54.41 +	echo "cook: binutils first pass: $(date '+%Y-%m-%d %H:%M')" >> $tmplog
   54.42 +	cook binutils --install
   54.43 +
   54.44 +	# 2. gcc (first pass)
   54.45 +	echo "cook: GCC first pass: $(date '+%Y-%m-%d %H:%M')" >> $tmplog
   54.46 +	cook gcc --install --first-pass
   54.47 +	cook gcc-lib-base --install
   54.48 +	
   54.49 +	# 3. linux-api-headers
   54.50 +	echo "cook: linux API headers: $(date '+%Y-%m-%d %H:%M')" >> $tmplog
   54.51 +	cook linux-api-headers --install
   54.52 +	
   54.53 +	# 4. glibc
   54.54 +	for i in glibc glibc-base glibc-extra-samba glibc-locale glibc-dev
   54.55 +	do
   54.56 +		echo "cook: $i: $(date '+%Y-%m-%d %H:%M')" >> $tmplog
   54.57 +		cook $i --install
   54.58 +	done
   54.59 +
   54.60 +	# 5. binutils (final)
   54.61 +	echo "cook: binutils final: $(date '+%Y-%m-%d %H:%M')" >> $tmplog
   54.62 +	cook binutils --install
   54.63 +	
   54.64 +	# 6. gcc (final)
   54.65 +	echo "cook: GCC final: $(date '+%Y-%m-%d %H:%M')" >> $tmplog
   54.66 +	for i in gcc gcc-lib-base libobjc libgomp
   54.67 +	do
   54.68 +		echo "cook: $i: $(date '+%Y-%m-%d %H:%M')" >> $tmplog
   54.69 +		cook $i --install
   54.70 +	done
   54.71 +	cook libgfortran
   54.72 +	cook gfortran
   54.73 +	separator >> $tmplog
   54.74 +
   54.75 +	# GCC info in toolchain.log
   54.76 +	echo -e "\nGCC compiler information" >> $tmplog
   54.77 +	separator >> $tmplog
   54.78 +	gcc -v 2>> $tmplog
   54.79 +
   54.80 +	# All packages cooked got ther own log so we dont keep them.
   54.81 +	separator >> $tmplog && echo "" >> $tmplog
   54.82 +	mv -f $tmplog $LOGS/$PACKAGE.log 
   54.83 +}
   54.84 +
   54.85 +# Rules to gen a SliTaz package suitable for Tazpkg.
   54.86 +genpkg_rules()
   54.87 +{
   54.88 +	binutils=$(grep ^VERSION $WOK/binutils/receipt | cut -d '"' -f 2)
   54.89 +	linux=$(grep ^VERSION $WOK/linux/receipt | cut -d '"' -f 2)
   54.90 +	gcc=$(grep ^VERSION $WOK/gcc/receipt | cut -d '"' -f 2)
   54.91 +	glibc=$(grep ^VERSION $WOK/glibc/receipt | cut -d '"' -f 2)
   54.92 +	
   54.93 +	mkdir -p $fs/usr/share/doc/slitaz
   54.94 +	cat > $fs/usr/share/doc/slitaz/toolchain.txt << EOT
   54.95 +SliTaz GNU/Linux toolchain
   54.96 +================================================================================
   54.97 +
   54.98 +Build date   : $(date "+%Y-%m-%d")
   54.99 +Architecture : $ARCH
  54.100 +Build system : $BUILD_SYSTEM
  54.101 +Host  system : $HOST_SYSTEM
  54.102 +
  54.103 +Packages:
  54.104 +
  54.105 +    * Binutils $binutils
  54.106 +    * Linux API headers $linux
  54.107 +    * GCC $gcc
  54.108 +    * Glibc $glibc
  54.109 +
  54.110 +Toolchain documentation: http://doc.slitaz.org/en:cookbook:toolchain
  54.111 +
  54.112 +================================================================================
  54.113 +
  54.114 +EOT
  54.115 +}