Subject: [alpine-devel] [PATCH] /testing/openvswitch - 2.0.1 version bump + new kernel module

From: Stuart Cardall <[email-masked]>
Date: Wed, 19 Feb 2014 19:00:05 +0000

This bumps openvswitch up to version 2.0.1 (now multithreaded) & is compiled
without debugging support for better performance. Also included is a kernel
module for the best performance. This is NOT the bleeding edge version (which
configures with libtool) that at the moment pulls in build dependencies to the
final pkg.

ovs-controller will be dropped in version 2.1 (& is already dropped in the latest
GiT) - see notes in it's initd. The 8 byte patch will also not be needed in the
next version (https://www.mail-archive.com/[email-masked]/msg25840.html)

I changed ovs-vswitchd.initd to a hard dependency with ovsdb-server. This prevents
a hanging boot & RunScripts getting confused about the status of ovs-vswitchd if it
is started while the database is stopped. I would like to have the database init script
stop with the equivalent of "/etc/init.d/ovsdb-server --nodeps stop" (so the switch
stays up) but could not work out how to ? (added a note for stopping the database only
in it's init script.
---
 testing/openvswitch-grsec/APKBUILD                 | 95 ++++++++++++++++++++++
 .../openvswitch-grsec/openvswitch-modules.initd    | 25 ++++++
 testing/openvswitch/APKBUILD                       | 74 +++++++++++------
 testing/openvswitch/openvswitch.post-install       | 26 +++++-
 testing/openvswitch/openvswitch.post-upgrade       | 26 +++++-
 testing/openvswitch/ovs-controller.initd           |  5 ++
 testing/openvswitch/ovs-vswitchd.initd             |  3 +-
 testing/openvswitch/ovsdb-server.confd             |  8 +-
 testing/openvswitch/ovsdb-server.initd             |  3 +
 testing/openvswitch/remove-test-atomic-8byte.patch | 31 +++++++
 10 files changed, 257 insertions(+), 39 deletions(-)
 create mode 100644 testing/openvswitch-grsec/APKBUILD
 create mode 100644 testing/openvswitch-grsec/openvswitch-modules.initd
 create mode 100644 testing/openvswitch/remove-test-atomic-8byte.patch

diff --git a/testing/openvswitch-grsec/APKBUILD b/testing/openvswitch-grsec/APKBUILD
new file mode 100644
index 0000000..fc4c580
--- /dev/null
+++ b/testing/openvswitch-grsec/APKBUILD
@@ -0,0 +1,95 @@
+# Contributor: Stuart Cardall <[email-masked]>
+# Maintainer: Stuart Cardall <[email-masked]>
+
+_flavor=grsec
+_kpkg=linux-$_flavor
+_realname=openvswitch
+_kver=3.10.28
+_kpkgrel=0
+
+_realver=2.0.1
+_gitversion=09350a3de320e83517c943858acc397db784d583
+_ver=${_gitversion:0:7}
+_mypkgrel=0
+
+# source openvswitch version
+if [ -f ../testing/$_realname/APKBUILD ]; then
+	. ../testing/$_realname/APKBUILD
+	[ "${_gitversion}" != "$gitversion" ] && pkgname=$_realname-$_flavor \
+		&& die "please set _gitversion to $gitversion"
+fi
+
+# source the kernel version
+if [ -f ../testing/linux-${_flavor}-openvswitch/APKBUILD ]; then
+        . ../testing/linux-${_flavor}-openvswitch/APKBUILD
+	[ "$_kver" != "$pkgver" ] && die "_kver=$_kver pkgver=$pkgver - please set _kver to $pkgver"
+	[ "$_kpkgrel" != "$pkgrel" ] && die "please set _kpkgrel to $pkgrel"
+fi
+
+_abi_release=${_kver}-${_kpkgrel}-${_flavor}
+_kernelver="$_kver-r$_kpkgrel"
+
+pkgname="$_realname-$_flavor"
+pkgver=$_kver
+pkgrel=$(($_kpkgrel + $_mypkgrel))
+
+pkgdesc="A production quality, multilayer virtual switch - this package contains the Kernel Module."
+url="http://openvswitch.org/"
+arch="all"
+license="Apache 2.0"
+subpackages=""
+depends="linux-${_flavor}=${_kernelver}"
+depends_dev="openssl-dev linux-${_flavor}-dev=${_kernelver}"
+makedepends="$depends_dev"
+source="saveas-http://git.openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=snapshot;h=$_gitversion;sf=tgz/$pkgname-$_realver+git$gitdate.tar.gz
+	openvswitch-modules.initd
+	"
+install_if="linux-${_flavor}-openvswitch=${_kernelver} openvswitch2"
+
+_builddir="$srcdir"/$_realname-$_ver
+
+prepare() {
+	cd "$_builddir"
+	update_config_sub || return 1
+        for i in $source; do
+                case $i in
+                *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+                esac
+        done
+}
+
+build() {
+	export GCC_SPECS=hardenednopie.specs
+	cd "$_builddir"
+	./boot.sh \
+        ./configure # must be run twice to generate & update makefile or build fails
+        ./configure --prefix=/usr \
+                --sysconfdir=/etc \
+                --mandir=/usr/share/man \
+                --infodir=/usr/share/info \
+                --localstatedir=/var \
+                --enable-ndebug \
+                --with-linux=/lib/modules/$_abi_release/build \
+		--with-linux-source=/usr/src/linux-headers-${_abi_release} \
+                || return 1
+	cd "$_builddir"/datapath
+        make -j1 CONFIG_DEBUG_SECTION_MISMATCH=y || return 1
+}
+
+package() {
+	cd "$_builddir"
+	install -D -m755 "$srcdir"/openvswitch-modules.initd \
+		"$pkgdir"/etc/init.d/openvswitch-modules-${_flavor} || return 1
+	mkdir -p $pkgdir/lib/modules/${_abi_release}/kernel/net/openvswitch
+	cd "$_builddir"/datapath/linux
+	for module in `find . -type f -name '*.ko'`; do
+		install -Dm644 $module "$pkgdir/lib/modules/${_abi_release}/kernel/net/openvswitch/"
+	done
+}
+
+md5sums="4e9384ddbd8dbb40ad899fd089f335d7  openvswitch-grsec-2.0.1+git.tar.gz
+f358118b571348c781fa9d24dc14e876  openvswitch-modules.initd"
+sha256sums="015d801240c0eae44cc8507e36abf76dbf8919925352eedab0d2d0db8cdc140b  openvswitch-grsec-2.0.1+git.tar.gz
+6e999b2e0a93a4fa5268361f98f59a6c527266c6d5ae9dc593a5cad488a300a3  openvswitch-modules.initd"
+sha512sums="bc9b964db5e25572b0034330f34b65bd40d3f294d35e1b7522f1339c3e0b4200581fbd1b5cf13f2632c9b19315ce669387833d6f24e139c6ad61e17b8fe4afb7  openvswitch-grsec-2.0.1+git.tar.gz
+d69cc29e7c4e8278b77fd8f03d635f109a14ee0c4fbfc25635f3ca2fd2f59d4664188743cb5f7273891b25a61d43192c5f448e41f7c606d6a5b9050314f14151  openvswitch-modules.initd"
diff --git a/testing/openvswitch-grsec/openvswitch-modules.initd b/testing/openvswitch-grsec/openvswitch-modules.initd
new file mode 100644
index 0000000..8e48d1e
--- /dev/null
+++ b/testing/openvswitch-grsec/openvswitch-modules.initd
@@ -0,0 +1,25 @@
+#!/sbin/runscript
+
+MODULES="openvswitch"
+
+depend() {
+        before openvswitch
+}
+
+
+start() {
+        ebegin "Loading Openvswitch kernel modules"
+        for mod in $MODULES; do
+		modprobe -q $mod
+	done
+	eend $?
+}
+
+stop() {
+        ebegin "Unloading Openvswitch kernel modules"
+        for mod in $MODULES; do
+		rmmod $mod
+	done
+        eend $?
+}
+
diff --git a/testing/openvswitch/APKBUILD b/testing/openvswitch/APKBUILD
index f4bbfdc..3011da7 100644
--- a/testing/openvswitch/APKBUILD
+++ b/testing/openvswitch/APKBUILD
@@ -1,19 +1,25 @@
-# Contributor: William Pitcock <[email-masked]>
-# Maintainer: William Pitcock <[email-masked]>
+# Contributor: Stuart Cardall <[email-masked]>
+# Maintainer: Stuart Cardall <[email-masked]>
 pkgname=openvswitch
-pkgver=1.11.0
+pkgver=2.0.1
+gitdate=141213
+gitversion=f9b9c7a68dc4c5eefb100b8b4d0e024b5ce87f2a
+f9b9c7a68dc4c5eefb100b8b4d0e024b5ce87f2a
 pkgrel=1
-pkgdesc="an open virtual switch"
+_kver=3.10.28
+_kpkgrel=0
+_flavor=grsec
+pkgdesc="A production quality, multilayer virtual switch - includes Kernel Modules for best performance."
 url="http://openvswitch.org/"
 arch="all"
 license="GPL"
 depends=""
 depends_dev="openssl-dev"
 depends_monitor="py-twisted py-twisted-web2 py-qt"
-makedepends="perl $depends_dev $depends_monitor"
+makedepends="linux-grsec-dev perl $depends_dev $depends_monitor"
 install="openvswitch.post-install openvswitch.post-upgrade"
 subpackages="$pkgname-doc $pkgname-monitor"
-source="http://openvswitch.org/releases/openvswitch-$pkgver.tar.gz
+source="saveas-http://git.openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=snapshot;h=$gitversion;sf=tgz/$pkgname-$pkgver+git$gitdate.tar.gz
 	ovsdb-server.initd
 	ovsdb-server.confd
 	ovs-controller.initd
@@ -21,26 +27,41 @@ source="http://openvswitch.org/releases/openvswitch-$pkgver.tar.gz
 	ovs-vswitchd.initd
 	ovs-vswitchd.confd"
 
-_builddir="$srcdir"/openvswitch-$pkgver
+_builddir="$srcdir"/$pkgname-${gitversion:0:7}
+_abi_release=${_kver}-${_kpkgrel}-${_flavor}
+_kernelver="$_kver-r$_kpkgrel"
+
 prepare() {
 	local i
-	cd "$_builddir"
-	for i in $source; do
-		case $i in
-		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
-		esac
-	done
+        cd "$_builddir"
+	#patch not needed after git-180214 https://www.mail-archive.com/[email-masked]/msg25840.html
+	patch -p1 -i ../../remove-test-atomic-8byte.patch || return 1
+
+        for i in $source; do
+                case $i in
+                *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+                esac
+        done
+
+	if [ ! -d /usr/src/linux-headers-$_abi_release ]; then
+		echo "linux-grsec-dev-$_kernelver not found"; return 1
+	fi
 }
 
 build() {
 	cd "$_builddir"
+	./boot.sh \
+	./configure # must be run twice to generate & update makefile or build fails
 	./configure --prefix=/usr \
 		--sysconfdir=/etc \
 		--mandir=/usr/share/man \
 		--infodir=/usr/share/info \
 		--localstatedir=/var \
+		--enable-ndebug \
+		--with-linux=/lib/modules/$_abi_release/build \
+		--with-linux-source=/usr/src/linux-headers-$_abi_release \
 		|| return 1
-	make || return 1
+	make CONFIG_DEBUG_SECTION_MISMATCH=y || return 1
 }
 
 monitor() {
@@ -53,6 +74,7 @@ package() {
 	cd "$_builddir"
 	make DESTDIR="$pkgdir" install || return 1
 	rm -f "$pkgdir"/usr/lib/*.la
+	rm -f "$pkgdir"/usr/lib/*.a
 
 	install -Dm755 "$srcdir"/ovsdb-server.initd "$pkgdir"/etc/init.d/ovsdb-server
 	install -Dm755 "$srcdir"/ovs-controller.initd "$pkgdir"/etc/init.d/ovs-controller
@@ -63,24 +85,24 @@ package() {
 	install -Dm644 "$srcdir"/ovs-vswitchd.confd "$pkgdir"/etc/conf.d/ovs-vswitchd
 }
 
-md5sums="81231a77dcd38181dbc1cb701e4fc9d0  openvswitch-1.11.0.tar.gz
+md5sums="f29b6c789a14cf7b9f2aa4b34bd6a5f5  openvswitch-2.0.1+git141213.tar.gz
 b9b6b23d349d5563d70a1c6d0a5b677c  ovsdb-server.initd
-9c2c1d774be02f2e69609bcc4f24a370  ovsdb-server.confd
-1315fb5ed8b70ceec97f76206fa14849  ovs-controller.initd
+f10a8ac784654bec359bda52779f16fe  ovsdb-server.confd
+488dffc27afbc48cebf140019ae05818  ovs-controller.initd
 0f5ce60dda512b29d4e20cb832e062d4  ovs-controller.confd
-92f26091d52353bf248e9bdc332ad418  ovs-vswitchd.initd
+737a852ef4590c42f4548313a3fc97f2  ovs-vswitchd.initd
 2d1e0111ea62779f49e14d62678294b2  ovs-vswitchd.confd"
-sha256sums="007d7d3f2deabe5a3845d1045d23b6b1de174497a8e436091541221dd71833da  openvswitch-1.11.0.tar.gz
+sha256sums="4514672b669afa2f2ec0f95280224109e98d8a4b4b1654b34e6cf5c519b0eb27  openvswitch-2.0.1+git141213.tar.gz
 2a9a3bd0277362fcdab62b7ea86ae2e488e099d9ed724dc27648136e5f5ed93c  ovsdb-server.initd
-15c508d134fed8cda13e2d394fc7c20b9868294a30e73a952ebffd31df129251  ovsdb-server.confd
-62eeaa3a5d53c2048201d894d5cd97df3b728a4e7cb5beb168a190c6cad111e0  ovs-controller.initd
+d0d8a6a7256f4cc47ab1b9f9f7657202388133bcfff3668e7c1d4adbcc572261  ovsdb-server.confd
+f1a89f8cb42e18bb8ba7a184a6cdecaa30164ecb1aaa3115b729cc338b6316ca  ovs-controller.initd
 950996914d7991550ead5fcfb5b262c60b5f53df6796c111105baa2a89a39431  ovs-controller.confd
-ca809e55e4540b905aa2a1afea9624cd0a52c31d833db9ed2b57eb5a905f6058  ovs-vswitchd.initd
+467ee6110748046e29e4e92e0b7bf11b9c083c252dfb0d901ce2879a1726a734  ovs-vswitchd.initd
 cc189d5ca24708ff775a4de312df3f611c65714724b8901ec6527c9e3f22e14a  ovs-vswitchd.confd"
-sha512sums="9c338a9e376c845ae5f273030263dbae52fa268350d943e65987d6840d9647194f715e36517c829be32200f1064e13a585bd5b2acb9fa2a7f32199bd4be31459  openvswitch-1.11.0.tar.gz
+sha512sums="e851c6e923ae92b0f265e14fabb98b034c9221f9953fbdb90081531f8790ef7c2b7d4f52a5144f68489e360206ba3283f1400a09533c52d4320f5b7e73fc5377  openvswitch-2.0.1+git141213.tar.gz
 4d031347b146cf82812cb0fc1ead944d6e29a9a8bd2afe603c4003b6f8c9d2f9d0c5f7e2ebdad456e7f5af4b01c756203cd96cc44db7be266bf94ac9bba188ff  ovsdb-server.initd
-a9aab68cf5188ebdff520e8ae1bc90018fab13fea5cf7c36dda42a4acdeb842de8344191f2f52213ea173a73e647fe48e7bd29ce6974c9bf3880d0f91a3713aa  ovsdb-server.confd
-b48b9405c16dc117213071a32000f155c08cf7c4d28333090f7f5ba8871f7b4dddeec6908b34a97101a9d973dff69da773f0b941c92d330fd7cc3f282dfb0744  ovs-controller.initd
+b1588d076bbfc7ef2dd46fce8e46186f40cbbc4667697f7ac13ddc68e34568fdab315fde47838de7f6d32916853190336cfe3735f672ad7cb624ae14dbff55a5  ovsdb-server.confd
+feab263b4a4305d6b21dc29c5c29dc43813b37adccaefc4fd74412a8a03f0c00dfa6dff7f88934e5e7c05d44ad36647c212d3ba46736b27116df22f4d9e9925e  ovs-controller.initd
 e8f28b01a080d4ba11db7f17e61d4352241194e723fc198cc1c7ce60717be297025b892633599be3e1dc86dec525c1be41b9f22a5c06b8a4c267555195c92dc9  ovs-controller.confd
-d160ac8bf80e3b0e7cb7d434842950381b248e96bfdd00d9b6d0ae6c762dbbcd0f351739adf54e6b3f677e84a800ad62355d7f7771ff0a4965824744ea853f8f  ovs-vswitchd.initd
+543f82887e374e25d703d968cca90bf36603ea23dd9a8b4e5bc6181d95402e6b47b28c0e079f516639542b87a43458b929f0db9104faaa68016c9410d152636b  ovs-vswitchd.initd
 346aea099f51707d2b4fc9fdc8c1502582723fb4e00c4d5d1624b0378c94dfb76674fa95e2af894f36169df52109dbe441ee6a45aa744584d9e4c74d15a46c1d  ovs-vswitchd.confd"
diff --git a/testing/openvswitch/openvswitch.post-install b/testing/openvswitch/openvswitch.post-install
index 2c3ea69..6dc42a2 100644
--- a/testing/openvswitch/openvswitch.post-install
+++ b/testing/openvswitch/openvswitch.post-install
@@ -1,11 +1,29 @@
 #!/bin/sh
 
+NORMAL="\033[1;0m"
+STRONG="\033[1;1m"
+RED="\033[1;31m"
+GREEN="\033[1;32m"
+
+print_red() {
+        local prompt="${RED}${STRONG}$1 ${NORMAL}"
+        printf "${prompt} %s\n"
+}
+
+print_green() {
+        local prompt="${GREEN}${STRONG}$1 ${NORMAL}"
+        printf "${prompt} %s\n"
+}
+
 db="/etc/openvswitch/conf.db"
 if [ -e "$db" ]; then
-	echo "Trying schema migration for $db..."
-	ovsdb-tool convert "$db" "/usr/share/openvswitch/vswitch.ovsschema"
+        print_red "\nStopping OVS Database\n"; rc-service ovsdb-server stop
+        print_green "\nTrying schema migration for $db..."
+        ovsdb-tool convert "$db" "/usr/share/openvswitch/vswitch.ovsschema"
+        print_green "\nStarting OVS Database\n"; rc-service ovsdb-server start
 else
-	echo "Creating new Open vSwitch database $db..."
-	ovsdb-tool create "$db" "/usr/share/openvswitch/vswitch.ovsschema"
+        print_green "\nCreating new Open vSwitch database $db...\n"
+        ovsdb-tool create "$db" "/usr/share/openvswitch/vswitch.ovsschema"
 fi
 
+
diff --git a/testing/openvswitch/openvswitch.post-upgrade b/testing/openvswitch/openvswitch.post-upgrade
index 2c3ea69..6dc42a2 100644
--- a/testing/openvswitch/openvswitch.post-upgrade
+++ b/testing/openvswitch/openvswitch.post-upgrade
@@ -1,11 +1,29 @@
 #!/bin/sh
 
+NORMAL="\033[1;0m"
+STRONG="\033[1;1m"
+RED="\033[1;31m"
+GREEN="\033[1;32m"
+
+print_red() {
+        local prompt="${RED}${STRONG}$1 ${NORMAL}"
+        printf "${prompt} %s\n"
+}
+
+print_green() {
+        local prompt="${GREEN}${STRONG}$1 ${NORMAL}"
+        printf "${prompt} %s\n"
+}
+
 db="/etc/openvswitch/conf.db"
 if [ -e "$db" ]; then
-	echo "Trying schema migration for $db..."
-	ovsdb-tool convert "$db" "/usr/share/openvswitch/vswitch.ovsschema"
+        print_red "\nStopping OVS Database\n"; rc-service ovsdb-server stop
+        print_green "\nTrying schema migration for $db..."
+        ovsdb-tool convert "$db" "/usr/share/openvswitch/vswitch.ovsschema"
+        print_green "\nStarting OVS Database\n"; rc-service ovsdb-server start
 else
-	echo "Creating new Open vSwitch database $db..."
-	ovsdb-tool create "$db" "/usr/share/openvswitch/vswitch.ovsschema"
+        print_green "\nCreating new Open vSwitch database $db...\n"
+        ovsdb-tool create "$db" "/usr/share/openvswitch/vswitch.ovsschema"
 fi
 
+
diff --git a/testing/openvswitch/ovs-controller.initd b/testing/openvswitch/ovs-controller.initd
index dea1f67..5f07636 100644
--- a/testing/openvswitch/ovs-controller.initd
+++ b/testing/openvswitch/ovs-controller.initd
@@ -5,6 +5,11 @@
 
 description="Open vSwitch OpenFlow controller"
 
+# in the 2.1 release ovs-controller has been renamed test-controller.  It is no longer
+# packaged or installed by default, because too many users assumed incorrectly that
+# ovs-controller was a necessary or desirable part of an Open vSwitch deployment.
+# (!!!! SO YOU PROBABLY DO NOT WANT TO USE THIS !!!!)
+
 command="/usr/bin/ovs-controller"
 command_args="
     --pidfile
diff --git a/testing/openvswitch/ovs-vswitchd.initd b/testing/openvswitch/ovs-vswitchd.initd
index 6bf8bfc..3f14cc9 100644
--- a/testing/openvswitch/ovs-vswitchd.initd
+++ b/testing/openvswitch/ovs-vswitchd.initd
@@ -14,7 +14,8 @@ command_args="
 pidfile="/var/run/openvswitch/ovs-vswitchd.pid"
 
 depend() {
-	use ovsdb-server logger
+	use logger
+	need ovsdb-server
 }
 
 start_pre() {
diff --git a/testing/openvswitch/ovsdb-server.confd b/testing/openvswitch/ovsdb-server.confd
index 1299b82..97367b9 100644
--- a/testing/openvswitch/ovsdb-server.confd
+++ b/testing/openvswitch/ovsdb-server.confd
@@ -2,12 +2,12 @@
 DB_SOCKET="/var/run/openvswitch/db.sock"
 
 # Remote sockets are defined in the database by default
-REMOTE_DB="db:Open_vSwitch,manager_options"
+REMOTE_DB="db:Open_vSwitch,Open_vSwitch,manager_options"
 
 # All certificates and keys are stored in the database (if any)
-PRIVATE_KEY="db:SSL,private_key"
-CERTIFICATE="db:SSL,certificate"
-BOOTSTRAP_CA_CERT="db:SSL,ca_cert"
+PRIVATE_KEY="db:Open_vSwitch,SSL,private_key"
+CERTIFICATE="db:Open_vSwitch,SSL,certificate"
+BOOTSTRAP_CA_CERT="db:Open_vSwitch,SSL,ca_cert"
 
 # Alternative path for the database (default is /etc/openvswitch/conf.db)
 # DATABASE="/etc/openvswitch/conf.db"
diff --git a/testing/openvswitch/ovsdb-server.initd b/testing/openvswitch/ovsdb-server.initd
index 53c2744..a7d7c02 100644
--- a/testing/openvswitch/ovsdb-server.initd
+++ b/testing/openvswitch/ovsdb-server.initd
@@ -30,6 +30,9 @@ depend() {
     use logger
 }
 
+# ovsdb-server is a hard dependency for ovs-vswitchd (to keep them in sync) - to stop the db only:
+# /etc/init.d/ovsdb-server --nodeps stop |or| rc-service ovsdb-server -- --nodeps stop
+
 start_pre() {
 	checkpath -d "/var/run/openvswitch" -m 0750
 }
diff --git a/testing/openvswitch/remove-test-atomic-8byte.patch b/testing/openvswitch/remove-test-atomic-8byte.patch
new file mode 100644
index 0000000..dcff9b9
--- /dev/null
+++ b/testing/openvswitch/remove-test-atomic-8byte.patch
@@ -0,0 +1,31 @@
+--- openvswitch-2.0.0/tests/test-atomic.c
++++ openvswitch-2.0.0.alpine/tests/test-atomic.c
+@@ -83,22 +83,26 @@
+     TEST_ATOMIC_TYPE(atomic_uint, unsigned int);
+     TEST_ATOMIC_TYPE(atomic_long, long int);
+     TEST_ATOMIC_TYPE(atomic_ulong, unsigned long int);
++#if 0
+     TEST_ATOMIC_TYPE(atomic_llong, long long int);
+     TEST_ATOMIC_TYPE(atomic_ullong, unsigned long long int);
++#endif
+     TEST_ATOMIC_TYPE(atomic_size_t, size_t);
+     TEST_ATOMIC_TYPE(atomic_ptrdiff_t, ptrdiff_t);
++#if 0
+     TEST_ATOMIC_TYPE(atomic_intmax_t, intmax_t);
+     TEST_ATOMIC_TYPE(atomic_uintmax_t, uintmax_t);
++#endif
+     TEST_ATOMIC_TYPE(atomic_intptr_t, intptr_t);
+     TEST_ATOMIC_TYPE(atomic_uintptr_t, uintptr_t);
+-    TEST_ATOMIC_TYPE(atomic_uint8_t, uint8_t);
+-    TEST_ATOMIC_TYPE(atomic_int8_t, int8_t);
+     TEST_ATOMIC_TYPE(atomic_uint16_t, uint16_t);
+     TEST_ATOMIC_TYPE(atomic_int16_t, int16_t);
+     TEST_ATOMIC_TYPE(atomic_uint32_t, uint32_t);
+     TEST_ATOMIC_TYPE(atomic_int32_t, int32_t);
++#if 0
+     TEST_ATOMIC_TYPE(atomic_uint64_t, uint64_t);
+     TEST_ATOMIC_TYPE(atomic_int64_t, int64_t);
++#endif
+
+     test_atomic_flag();
+
-- 
1.8.5.4

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---