diff options
author | Mike Frysinger <vapier@gentoo.org> | 2014-08-04 08:09:39 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2014-08-04 08:09:39 +0000 |
commit | 88d9b0d10e87dbd3794f8a0b9dfa711eec722e12 (patch) | |
tree | 19c3b3cec3e7990887913b3ec875f413448dfca3 /dev-util/stressapptest | |
parent | Marked ~x86-macos (diff) | |
download | gentoo-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')
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 +} |