summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2014-08-04 08:09:39 +0000
committerMike Frysinger <vapier@gentoo.org>2014-08-04 08:09:39 +0000
commit88d9b0d10e87dbd3794f8a0b9dfa711eec722e12 (patch)
tree19c3b3cec3e7990887913b3ec875f413448dfca3 /dev-util/stressapptest
parentMarked ~x86-macos (diff)
downloadgentoo-2-88d9b0d10e87dbd3794f8a0b9dfa711eec722e12.tar.gz
gentoo-2-88d9b0d10e87dbd3794f8a0b9dfa711eec722e12.tar.bz2
gentoo-2-88d9b0d10e87dbd3794f8a0b9dfa711eec722e12.zip
Pull random clean up fixes from upstream to simplify build and make it cross-compile.
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key D2E96200)
Diffstat (limited to 'dev-util/stressapptest')
-rw-r--r--dev-util/stressapptest/ChangeLog13
-rw-r--r--dev-util/stressapptest/files/stressapptest-1.0.6-autotools.patch145
-rw-r--r--dev-util/stressapptest/files/stressapptest-1.0.6-misc-fixes.patch75
-rw-r--r--dev-util/stressapptest/files/stressapptest-1.0.6-pthread-test.patch136
-rw-r--r--dev-util/stressapptest/stressapptest-1.0.6-r1.ebuild33
5 files changed, 400 insertions, 2 deletions
diff --git a/dev-util/stressapptest/ChangeLog b/dev-util/stressapptest/ChangeLog
index 3c678de212cc..cbeaaa993b10 100644
--- a/dev-util/stressapptest/ChangeLog
+++ b/dev-util/stressapptest/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for dev-util/stressapptest
-# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/stressapptest/ChangeLog,v 1.6 2013/05/13 01:49:23 vapier Exp $
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/stressapptest/ChangeLog,v 1.7 2014/08/04 08:09:39 vapier Exp $
+
+*stressapptest-1.0.6-r1 (04 Aug 2014)
+
+ 04 Aug 2014; Mike Frysinger <vapier@gentoo.org>
+ +files/stressapptest-1.0.6-autotools.patch,
+ +files/stressapptest-1.0.6-misc-fixes.patch,
+ +files/stressapptest-1.0.6-pthread-test.patch, +stressapptest-1.0.6-r1.ebuild:
+ Pull random clean up fixes from upstream to simplify build and make it cross-
+ compile.
*stressapptest-1.0.6 (13 May 2013)
diff --git a/dev-util/stressapptest/files/stressapptest-1.0.6-autotools.patch b/dev-util/stressapptest/files/stressapptest-1.0.6-autotools.patch
new file mode 100644
index 000000000000..db5103d34584
--- /dev/null
+++ b/dev-util/stressapptest/files/stressapptest-1.0.6-autotools.patch
@@ -0,0 +1,145 @@
+From fdc52203836f7fd54e1bff84e11d26838a8f21bc Mon Sep 17 00:00:00 2001
+From: "nick.j.sanders@gmail.com"
+ <nick.j.sanders@gmail.com@93e54ea4-8218-11de-8aaf-8d8425684b44>
+Date: Tue, 11 Feb 2014 08:53:31 +0000
+Subject: [PATCH] Fix autoconf bugs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* Correctly use autoconf host rather than target.
+* Use autoconf host_os.
+* Warn rather than error on unknown configs.
+* Add --disable-default-optimizations to avoid forced flags.
+* Fix manfile install
+
+
+git-svn-id: http://stressapptest.googlecode.com/svn/trunk@42 93e54ea4-8218-11de-8aaf-8d8425684b44
+---
+ Makefile.am | 3 +-
+ Makefile.in | 171 ++++++++-----
+ aclocal.m4 | 72 ++++--
+ configure | 781 ++++++++++++++++++++++++++++----------------------------
+ configure.ac | 63 +++--
+ src/Makefile.in | 36 ++-
+ 6 files changed, 602 insertions(+), 524 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c476e5f..5b1998f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,2 +1,3 @@
+ SUBDIRS = src
+-dist_doc_DATA = COPYING stressapptest.1
+\ No newline at end of file
++dist_man_MANS = stressapptest.1
++
+diff --git a/configure.ac b/configure.ac
+index 6f09eb9..1fbc460 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -12,60 +12,53 @@ else
+ fi
+
+ AC_CANONICAL_HOST
+-AC_CANONICAL_BUILD
+ # Checking for target cpu and setting custom configuration
+ # for the different platforms
+-AC_CANONICAL_TARGET
+-case x"$target_cpu" in
+- "xx86_64")
++AS_CASE(["$host_cpu"],
++ [*x86_64*], [
+ AC_DEFINE([STRESSAPPTEST_CPU_X86_64],[],
+ [Defined if the target CPU is x86_64])
+- ;;
+- "xi686")
++ ],
++ [*i686*], [
+ AC_DEFINE([STRESSAPPTEST_CPU_I686],[],
+ [Defined if the target CPU is i686])
+- ;;
+- "xpowerpc")
++ ],
++ [*powerpc*], [
+ AC_DEFINE([STRESSAPPTEST_CPU_PPC],[],
+ [Defined if the target CPU is PowerPC])
+- ;;
+- "xarmv7a")
++ ],
++ [*armv7a*], [
+ AC_DEFINE([STRESSAPPTEST_CPU_ARMV7A],[],
+ [Defined if the target CPU is armv7a])
+- ;;
+- *)
+- AC_MSG_ERROR([$target_cpu is not supported! Try x86_64, i686, powerpc, or armv7a])
+- ;;
+-esac
++ ],
++ [AC_MSG_WARN([Unsupported CPU: $host_cpu! Try x86_64, i686, powerpc, or armv7a])]
++)
+
+-_os=`uname`
+ ## The following allows like systems to share settings. This is not meant to
+ ## imply that these OS are the same thing. From OpenOffice dmake configure.in
+-case "$_os" in
+- "Linux")
++AS_CASE(["$host_os"],
++ [*linux*], [
+ OS_VERSION=linux
+ AC_DEFINE([STRESSAPPTEST_OS_LINUX],[],
+ [Defined if the target OS is Linux])
+- ;;
+- "Darwin")
++ ],
++ [*darwin*], [
+ OS_VERSION=macosx
+ AC_DEFINE([STRESSAPPTEST_OS_DARWIN],[],
+ [Defined if the target OS is OSX])
+- ;;
+- "FreeBSD")
++ ],
++ [*freebsd*], [
+ OS_VERSION=bsd
+ AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
+ [Defined if the target OS is BSD based])
+- ;;
+- "NetBSD")
++ ],
++ [*netbsd*], [
+ OS_VERSION=bsd
+ AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
+ [Defined if the target OS is BSD based])
+- ;;
+- *)
+- AC_MSG_ERROR([$_os operating system is not suitable to build dmake!])
+- ;;
+-esac
++ ],
++ [AC_MSG_WARN([unsupported system: $host_os])]
++)
+
+ AM_INIT_AUTOMAKE([-Wall -Werror foreign])
+ AC_CONFIG_SRCDIR([src/])
+@@ -95,10 +88,14 @@ AC_DEFINE_UNQUOTED([STRESSAPPTEST_TIMESTAMP],
+ "$username @ $hostname on $timestamp",
+ [Timestamp when ./configure was executed])
+
+-#Default cxxflags
+-CXXFLAGS="$CXXFLAGS -DCHECKOPTS"
+-CXXFLAGS="$CXXFLAGS -Wreturn-type -Wunused -Wuninitialized -Wall -Wno-psabi"
+-CXXFLAGS="$CXXFLAGS -O3 -funroll-all-loops -funroll-loops -DNDEBUG"
++AC_ARG_ENABLE([default-optimizations],
++ [AS_HELP_STRING([--disable-default-optimizations], [Disable default optimization flag overrides])])
++AS_IF([test x"$enable_default_optimizations" != xno], [
++ #Default cxxflags
++ CXXFLAGS="$CXXFLAGS -DCHECKOPTS"
++ CXXFLAGS="$CXXFLAGS -Wreturn-type -Wunused -Wuninitialized -Wall -Wno-psabi"
++ CXXFLAGS="$CXXFLAGS -O3 -funroll-all-loops -funroll-loops -DNDEBUG"
++])
+
+ # Checks for header files.
+ AC_HEADER_DIRENT
+--
+2.0.0
+
diff --git a/dev-util/stressapptest/files/stressapptest-1.0.6-misc-fixes.patch b/dev-util/stressapptest/files/stressapptest-1.0.6-misc-fixes.patch
new file mode 100644
index 000000000000..e67bbc52e7c3
--- /dev/null
+++ b/dev-util/stressapptest/files/stressapptest-1.0.6-misc-fixes.patch
@@ -0,0 +1,75 @@
+extracted just a few fixes we care about
+
+From 5fca3981f68115144566ddf91d2d188372603b7b Mon Sep 17 00:00:00 2001
+From: "ewout@google.com"
+ <ewout@google.com@93e54ea4-8218-11de-8aaf-8d8425684b44>
+Date: Tue, 10 Sep 2013 21:27:49 +0000
+Subject: [PATCH] New frequency test, fixed error accounting, added logging
+ timestamps, and miscellaneous smaller changes.
+
+* Added a CPU Frequency test for select X86 processors to verify a minimum frequency is maintained during non-pause periods.
+* Fixed the error accounting in WorkerThread::CheckRegion if more than 128 miscompares are found and when block errors are detected.
+* Updated the logger to include timestamps and the associated timezone.
+* Moved from apicid() to sched_getcpu() for determining the core ID.
+* Added the ability to reserve a specified amount of memory. This can override the requested memory allocation.
+* If not using POSIX shared memory or hugepages, explicitly mmap memory if the pagesize is 4kB otherwise use memalign.
+* Removed the OSLayer's unused PCI device handling.
+* Numerous refactoring changes.
+
+
+
+git-svn-id: http://stressapptest.googlecode.com/svn/trunk@38 93e54ea4-8218-11de-8aaf-8d8425684b44
+---
+ configure.ac | 6 +-
+ src/Makefile.am | 1 +
+ src/clock.h | 29 ++++
+ src/disk_blocks.cc | 187 ++++++++---------------
+ src/disk_blocks.h | 157 +++++++++++++------
+ src/findmask.c | 6 +-
+ src/logger.cc | 56 ++++---
+ src/logger.h | 17 ++-
+ src/os.cc | 218 +++++++++++----------------
+ src/os.h | 132 ++++++++++++++--
+ src/sat.cc | 144 +++++++++++++++---
+ src/sat.h | 19 ++-
+ src/sattypes.h | 58 ++++++-
+ src/worker.cc | 435 +++++++++++++++++++++++++++++++++++++++++------------
+ src/worker.h | 100 +++++++++++-
+ stressapptest.1 | 7 +-
+ 16 files changed, 1095 insertions(+), 477 deletions(-)
+ create mode 100644 src/clock.h
+
+diff --git a/src/os.cc b/src/os.cc
+index 7cae23b..6358398 100644
+--- a/src/os.cc
++++ b/src/os.cc
+@@ -130,7 +141,7 @@ int OsLayer::AddressMode() {
+ // Translates user virtual to physical address.
+ uint64 OsLayer::VirtualToPhysical(void *vaddr) {
+ uint64 frame, shift;
+- off64_t off = ((uintptr_t)vaddr) / getpagesize() * 8;
++ off64_t off = ((uintptr_t)vaddr) / sysconf(_SC_PAGESIZE) * 8;
+ int fd = open(kPagemapPath, O_RDONLY);
+ // /proc/self/pagemap is available in kernel >= 2.6.25
+ if (fd < 0)
+@@ -507,7 +533,7 @@ bool OsLayer::AllocateTestMem(int64 length, uint64 paddr_base) {
+ break;
+ }
+
+- shmaddr = shmat(shmid, NULL, NULL);
++ shmaddr = shmat(shmid, NULL, 0);
+ if (shmaddr == reinterpret_cast<void*>(-1)) {
+ int err = errno;
+ string errtxt = ErrorString(err);
+@@ -564,7 +590,7 @@ bool OsLayer::AllocateTestMem(int64 length, uint64 paddr_base) {
+ // Do a full mapping here otherwise.
+ shmaddr = mmap64(NULL, length, PROT_READ | PROT_WRITE,
+ MAP_SHARED | MAP_NORESERVE | MAP_LOCKED | MAP_POPULATE,
+- shm_object, NULL);
++ shm_object, 0);
+ if (shmaddr == reinterpret_cast<void*>(-1)) {
+ int err = errno;
+ string errtxt = ErrorString(err);
+--
+2.0.0
+
diff --git a/dev-util/stressapptest/files/stressapptest-1.0.6-pthread-test.patch b/dev-util/stressapptest/files/stressapptest-1.0.6-pthread-test.patch
new file mode 100644
index 000000000000..31036b423cda
--- /dev/null
+++ b/dev-util/stressapptest/files/stressapptest-1.0.6-pthread-test.patch
@@ -0,0 +1,136 @@
+From 2cc58e88b26e13e87a36439d7a7e7b44b4a1e47e Mon Sep 17 00:00:00 2001
+From: "nick.j.sanders" <nick.j.sanders@93e54ea4-8218-11de-8aaf-8d8425684b44>
+Date: Wed, 9 Jan 2013 21:13:13 +0000
+Subject: [PATCH] Allow ./configure for cross compile
+
+Fix regression from BARRIER detect change.
+
+
+git-svn-id: http://stressapptest.googlecode.com/svn/trunk@36 93e54ea4-8218-11de-8aaf-8d8425684b44
+---
+ configure | 49 +++++++------------------------------------
+ configure.ac | 21 +------------------
+ src/stressapptest_config.h.in | 3 +++
+ 3 files changed, 11 insertions(+), 62 deletions(-)
+
+diff --git a/configure b/configure
+index 12bc16b..8c10c52 100755
+--- a/configure
++++ b/configure
+@@ -5064,6 +5064,13 @@ if test "$ac_res" != no; then :
+
+ fi
+
++ac_fn_c_check_type "$LINENO" "pthread_barrier_t" "ac_cv_type_pthread_barrier_t" "$ac_includes_default"
++if test "x$ac_cv_type_pthread_barrier_t" = x""yes; then :
++
++$as_echo "#define HAVE_PTHREAD_BARRIERS 1" >>confdefs.h
++
++fi
++
+ for ac_header in libaio.h
+ do :
+ ac_fn_c_check_header_mongrel "$LINENO" "libaio.h" "ac_cv_header_libaio_h" "$ac_includes_default"
+@@ -5201,48 +5208,6 @@ if test "$ac_res" != no; then :
+ fi
+
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_barrier" >&5
+-$as_echo_n "checking for pthread_barrier... " >&6; }
+-if test "${ac_cv_func_pthread_barrier+set}" = set; then :
+- $as_echo_n "(cached) " >&6
+-else
+- if test "$cross_compiling" = yes; then :
+- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "cannot run test program while cross compiling
+-See \`config.log' for more details." "$LINENO" 5; }
+-else
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+- #include <pthread.h>
+- int main(void)
+- {
+- pthread_barrier_t t;
+- return 0;
+- }
+-
+-_ACEOF
+-if ac_fn_c_try_run "$LINENO"; then :
+- ac_cv_func_pthread_barrier=yes
+-else
+- ac_cv_func_pthread_barrier=no
+-
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+- conftest.$ac_objext conftest.beam conftest.$ac_ext
+-fi
+-
+-
+-fi
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_pthread_barrier" >&5
+-$as_echo "$ac_cv_func_pthread_barrier" >&6; }
+-if test "$ac_cv_func_pthread_barrier" = "yes"; then
+-
+-$as_echo "#define HAVE_PTHREAD_BARRIER 1" >>confdefs.h
+-
+-fi
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
+diff --git a/configure.ac b/configure.ac
+index aba8791..ca10966 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -107,31 +107,12 @@ AC_HEADER_STDC
+ AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h stdint.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h unistd.h], [], [AC_MSG_FAILURE([Missing some header files.])])
+ AC_CHECK_HEADERS([pthread.h])
+ AC_SEARCH_LIBS([pthread_create], [pthread])
++AC_CHECK_TYPE([pthread_barrier_t], AC_DEFINE(HAVE_PTHREAD_BARRIERS, [1], [Define to 1 if the system has `pthread_barrier'.]))
+ AC_CHECK_HEADERS([libaio.h])
+ AC_SEARCH_LIBS([io_setup], [aio])
+ AC_CHECK_HEADERS([sys/shm.h])
+ AC_SEARCH_LIBS([shm_open], [rt])
+
+-AC_MSG_CHECKING(for pthread_barrier)
+-AC_CACHE_VAL(
+- ac_cv_func_pthread_barrier,
+- AC_TRY_RUN(
+- [
+- #include <pthread.h>
+- int main(void)
+- {
+- pthread_barrier_t t;
+- return 0;
+- }
+- ],
+- ac_cv_func_pthread_barrier=yes,
+- ac_cv_func_pthread_barrier=no
+- )
+-)
+-AC_MSG_RESULT($ac_cv_func_pthread_barrier)
+-if test "$ac_cv_func_pthread_barrier" = "yes"; then
+- AC_DEFINE(HAVE_PTHREAD_BARRIER, [1], [Define to 1 if the system has `pthread_barrier'.])
+-fi
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_HEADER_STDBOOL
+diff --git a/src/stressapptest_config.h.in b/src/stressapptest_config.h.in
+index 97f306e..5412df4 100644
+--- a/src/stressapptest_config.h.in
++++ b/src/stressapptest_config.h.in
+@@ -53,6 +53,9 @@
+ /* Define to 1 if you have the `posix_memalign' function. */
+ #undef HAVE_POSIX_MEMALIGN
+
++/* Define to 1 if the system has `pthread_barrier'. */
++#undef HAVE_PTHREAD_BARRIERS
++
+ /* Define to 1 if you have the <pthread.h> header file. */
+ #undef HAVE_PTHREAD_H
+
+--
+2.0.0
+
diff --git a/dev-util/stressapptest/stressapptest-1.0.6-r1.ebuild b/dev-util/stressapptest/stressapptest-1.0.6-r1.ebuild
new file mode 100644
index 000000000000..8c0108ccfce0
--- /dev/null
+++ b/dev-util/stressapptest/stressapptest-1.0.6-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/stressapptest/stressapptest-1.0.6-r1.ebuild,v 1.1 2014/08/04 08:09:39 vapier Exp $
+
+EAPI="4"
+
+inherit eutils autotools
+
+MY_P="${P}_autoconf"
+DESCRIPTION="Stressful Application Test"
+HOMEPAGE="http://code.google.com/p/stressapptest/"
+SRC_URI="http://stressapptest.googlecode.com/files/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~mips ~x86"
+IUSE="debug"
+
+RDEPEND="dev-libs/libaio"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ epatch "${FILESDIR}"/${P}-pthread-test.patch
+ epatch "${FILESDIR}"/${P}-misc-fixes.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-default-optimizations
+}