This commit is contained in:
Rex Dieter 2013-11-15 07:23:42 -06:00
parent 6cfc37e692
commit cfc443354e
5 changed files with 30 additions and 103 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
/gc-7.2c.tar.gz
/gc-7.2d.tar.gz
/gc-7.2e.tar.gz

View File

@ -1,67 +0,0 @@
diff --git a/libatomic_ops/tests/test_atomic.c b/libatomic_ops/tests/test_atomic.c
index e354024..b8906e9 100644
--- a/libatomic_ops/tests/test_atomic.c
+++ b/libatomic_ops/tests/test_atomic.c
@@ -77,7 +77,10 @@ void * acqrel_thr(void *id)
{
AO_t my_counter1;
if (me != 1)
- fprintf(stderr, "acqrel test: too many threads\n");
+ {
+ fprintf(stderr, "acqrel test: too many threads\n");
+ abort();
+ }
my_counter1 = AO_load(&counter1);
AO_store(&counter1, my_counter1 + 1);
AO_store_release_write(&counter2, my_counter1 + 1);
diff --git a/libatomic_ops/tests/test_malloc.c b/libatomic_ops/tests/test_malloc.c
index a1f4179..a19ffd5 100644
--- a/libatomic_ops/tests/test_malloc.c
+++ b/libatomic_ops/tests/test_malloc.c
@@ -151,6 +151,7 @@ void * run_one_test(void * arg) {
if (0 == p) {
# ifdef HAVE_MMAP
fprintf(stderr, "AO_malloc(%d) failed\n", LARGE_OBJ_SIZE);
+ abort();
# else
fprintf(stderr, "AO_malloc(%d) failed: This is normal without mmap\n",
LARGE_OBJ_SIZE);
diff --git a/libatomic_ops/tests/test_stack.c b/libatomic_ops/tests/test_stack.c
index bf3180d..e654c35 100644
--- a/libatomic_ops/tests/test_stack.c
+++ b/libatomic_ops/tests/test_stack.c
@@ -97,14 +97,23 @@ void check_list(int n)
p = (list_element *)AO_REAL_NEXT_PTR(p -> next))
{
if (p -> data > n || p -> data <= 0)
- fprintf(stderr, "Found erroneous list element %d\n", p -> data);
+ {
+ fprintf(stderr, "Found erroneous list element %d\n", i);
+ abort();
+ }
if (marks[p -> data] != 0)
- fprintf(stderr, "Found duplicate list element %d\n", p -> data);
+ {
+ fprintf(stderr, "Found duplicate list element %d\n", i);
+ abort();
+ }
marks[p -> data] = 1;
}
for (i = 1; i <= n; ++i)
if (marks[i] != 1)
- fprintf(stderr, "Missing list element %d\n", i);
+ {
+ fprintf(stderr, "Missing list element %d\n", i);
+ abort();
+ }
}
volatile AO_t ops_performed = 0;
@@ -218,6 +227,7 @@ int main(int argc, char **argv)
int code;
if ((code = pthread_join(thread[i], 0)) != 0) {
fprintf(stderr, "Thread join failed %u\n", code);
+ abort();
}
}
times[nthreads][exper_n] = (unsigned long)(get_msecs() - start_time);

View File

@ -1,7 +1,6 @@
diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h
index 767859c..ec92882 100644
--- a/include/private/gcconfig.h
+++ b/include/private/gcconfig.h
diff -up gc-7.2/include/private/gcconfig.h.aarch64 gc-7.2/include/private/gcconfig.h
--- gc-7.2/include/private/gcconfig.h.aarch64 2013-11-10 02:51:30.000000000 -0600
+++ gc-7.2/include/private/gcconfig.h 2013-11-15 07:19:06.279025167 -0600
@@ -70,6 +70,13 @@
# define I386
# define mach_type_known
@ -15,8 +14,8 @@ index 767859c..ec92882 100644
+# endif
# if defined(__arm) || defined(__arm__) || defined(__thumb__)
# define ARM32
# if !defined(LINUX) && !defined(NETBSD) && !defined(OPENBSD) \
@@ -250,6 +257,10 @@
# if !defined(LINUX) && !defined(NETBSD) && !defined(FREEBSD) \
@@ -251,6 +258,10 @@
# define IA64
# define mach_type_known
# endif
@ -27,7 +26,7 @@ index 767859c..ec92882 100644
# if defined(LINUX) && (defined(__arm) || defined(__arm__))
# define ARM32
# define mach_type_known
@@ -537,6 +548,7 @@
@@ -546,6 +557,7 @@
/* running Amdahl UTS4 */
/* S390 ==> 390-like machine */
/* running LINUX */
@ -35,7 +34,7 @@ index 767859c..ec92882 100644
/* ARM32 ==> Intel StrongARM */
/* IA64 ==> Intel IPF */
/* (e.g. Itanium) */
@@ -1899,6 +1911,31 @@
@@ -1908,6 +1920,31 @@
# endif
# endif
@ -67,11 +66,10 @@ index 767859c..ec92882 100644
# ifdef ARM32
# define CPP_WORDSZ 32
# define MACH_TYPE "ARM32"
diff --git a/libatomic_ops/src/atomic_ops.h b/libatomic_ops/src/atomic_ops.h
index db177d5..d91da53 100644
--- a/libatomic_ops/src/atomic_ops.h
+++ b/libatomic_ops/src/atomic_ops.h
@@ -244,6 +244,10 @@
diff -up gc-7.2/libatomic_ops/src/atomic_ops.h.aarch64 gc-7.2/libatomic_ops/src/atomic_ops.h
--- gc-7.2/libatomic_ops/src/atomic_ops.h.aarch64 2013-11-10 02:02:41.000000000 -0600
+++ gc-7.2/libatomic_ops/src/atomic_ops.h 2013-11-15 07:16:14.345140211 -0600
@@ -251,6 +251,10 @@
|| defined(__powerpc64__) || defined(__ppc64__)
# include "atomic_ops/sysdeps/gcc/powerpc.h"
# endif /* __powerpc__ */
@ -82,11 +80,10 @@ index db177d5..d91da53 100644
# if defined(__arm__) && !defined(AO_USE_PTHREAD_DEFS)
# include "atomic_ops/sysdeps/gcc/arm.h"
# define AO_CAN_EMUL_CAS
diff --git a/libatomic_ops/src/atomic_ops/sysdeps/Makefile.am b/libatomic_ops/src/atomic_ops/sysdeps/Makefile.am
index d8b24dc..b73a20c 100644
--- a/libatomic_ops/src/atomic_ops/sysdeps/Makefile.am
+++ b/libatomic_ops/src/atomic_ops/sysdeps/Makefile.am
@@ -30,6 +30,7 @@ nobase_sysdep_HEADERS= generic_pthread.h \
diff -up gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/Makefile.am.aarch64 gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/Makefile.am
--- gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/Makefile.am.aarch64 2013-11-10 02:02:43.000000000 -0600
+++ gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/Makefile.am 2013-11-15 07:16:14.345140211 -0600
@@ -30,6 +30,7 @@ nobase_sysdep_HEADERS= generic_pthread.h
gcc/hexagon.h gcc/hppa.h gcc/ia64.h gcc/m68k.h \
gcc/mips.h gcc/powerpc.h gcc/s390.h \
gcc/sh.h gcc/sparc.h gcc/x86.h gcc/x86_64.h \
@ -94,11 +91,9 @@ index d8b24dc..b73a20c 100644
\
hpc/hppa.h hpc/ia64.h \
\
diff --git a/libatomic_ops/src/atomic_ops/sysdeps/gcc/aarch64.h b/libatomic_ops/src/atomic_ops/sysdeps/gcc/aarch64.h
new file mode 100644
index 0000000..94f1f14
--- /dev/null
+++ b/libatomic_ops/src/atomic_ops/sysdeps/gcc/aarch64.h
diff -up gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/gcc/aarch64.h.aarch64 gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/gcc/aarch64.h
--- gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/gcc/aarch64.h.aarch64 2013-11-15 07:16:14.345140211 -0600
+++ gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/gcc/aarch64.h 2013-11-15 07:16:14.345140211 -0600
@@ -0,0 +1,353 @@
+/*
+ * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
@ -453,11 +448,10 @@ index 0000000..94f1f14
+
+
+#include "../../generalize.h"
diff --git a/libatomic_ops/src/atomic_ops/sysdeps/standard_ao_double_t.h b/libatomic_ops/src/atomic_ops/sysdeps/standard_ao_double_t.h
index 7089f05..de726fc 100644
--- a/libatomic_ops/src/atomic_ops/sysdeps/standard_ao_double_t.h
+++ b/libatomic_ops/src/atomic_ops/sysdeps/standard_ao_double_t.h
@@ -11,6 +11,8 @@
diff -up gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/standard_ao_double_t.h.aarch64 gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/standard_ao_double_t.h
--- gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/standard_ao_double_t.h.aarch64 2013-11-10 02:02:47.000000000 -0600
+++ gc-7.2/libatomic_ops/src/atomic_ops/sysdeps/standard_ao_double_t.h 2013-11-15 07:16:14.346140193 -0600
@@ -12,6 +12,8 @@
typedef __m128 double_ptr_storage;
#elif defined(_WIN32) && !defined(__GNUC__)
typedef unsigned __int64 double_ptr_storage;

12
gc.spec
View File

@ -1,15 +1,14 @@
Summary: A garbage collector for C and C++
Name: gc
%global base_ver 7.2
Version: 7.2d
Release: 4%{?dist}
Version: 7.2e
Release: 1%{?dist}
Group: System Environment/Libraries
License: BSD
Url: http://www.hpl.hp.com/personal/Hans_Boehm/gc/
Source0: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-%{version}%{?pre}.tar.gz
Patch1: gc-7.2c-test-stack-infinite-loop.patch
Patch2: gc-7.2d-aarch64.patch
Patch2: gc-7.2e-aarch64.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
## upstreamable patches
@ -53,7 +52,6 @@ that involves minimum overhead across a variety of architectures.
%prep
%setup -q -n gc-%{base_ver}%{?pre}
%patch1 -p1 -b .infinite-loop-in-tests
%patch2 -p1 -b .aarch64
# refresh auto*/libtool to purge rpaths
@ -67,7 +65,6 @@ autoreconf -i -f
CPPFLAGS="-DUSE_GET_STACKBASE_FOR_MAIN"; export CPPFLAGS
%configure \
--disable-dependency-tracking \
--disable-static \
--enable-cplusplus \
--enable-large-config \
@ -148,6 +145,9 @@ rm -rf %{buildroot}
%changelog
* Fri Nov 15 2013 Rex Dieter <rdieter@fedoraproject.org> 7.2e-1
- gc-7.2e (#892559)
* Wed Oct 30 2013 Pavel Raiskup <praiskup@redhat.com> - 7.2d-4
- add support for aarch64 (#969817)
- ignore testsuite results only for powerpc

View File

@ -1 +1 @@
91340b28c61753a789eb6077675d87d2 gc-7.2d.tar.gz
5e230029f802d0ac633b1d9b3d4934c9 gc-7.2e.tar.gz