- gc-7.2 (final)
This commit is contained in:
Rex Dieter 2012-05-14 19:54:08 -05:00
parent 73b5e99c72
commit 63c6a35d92
5 changed files with 18 additions and 83 deletions

4
.gitignore vendored
View File

@ -1,3 +1,3 @@
gc-7.2alpha4.tar.gz /gc-7.2alpha4.tar.gz
/bdwgc-7_2alpha5-20110107.tar.bz2
/gc-7.2alpha6.tar.gz /gc-7.2alpha6.tar.gz
/gc-7.2.tar.gz

View File

@ -1,14 +0,0 @@
diff -up gc-7.1/include/include.am.dup_headers gc-7.1/include/include.am
--- gc-7.1/include/include.am.dup_headers 2007-12-21 18:20:15.000000000 -0600
+++ gc-7.1/include/include.am 2009-07-18 20:34:58.812906860 -0500
@@ -21,10 +21,8 @@ pkginclude_HEADERS += \
include/gc_typed.h \
include/gc_inline.h \
include/gc_mark.h \
- include/gc_cpp.h \
include/weakpointer.h \
include/new_gc_alloc.h \
- include/gc_allocator.h \
include/gc_backptr.h \
include/gc_gcj.h \
include/leak_detector.h \

View File

@ -1,49 +0,0 @@
From 2a28e66d5603dae37031ff8105fdf6acb649b46d Mon Sep 17 00:00:00 2001
From: Niels de Vos <devos@fedoraproject.org>
Date: Fri, 2 Mar 2012 21:06:58 +0100
Subject: [PATCH] Fallback to pthread implementation on ARMv5 and earlier
ARMv6 and newer has optimized code, earlier versions need to fall back to
the pthread implementation.
Signed-off-by: Niels de Vos <devos@fedoraproject.org>
---
src/atomic_ops.h | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/atomic_ops.h b/src/atomic_ops.h
index 3f9000d..af09501 100644
--- a/src/atomic_ops.h
+++ b/src/atomic_ops.h
@@ -193,16 +193,22 @@
# define AO_compiler_barrier() asm("")
#endif
-#if defined(AO_USE_PTHREAD_DEFS)
-# include "atomic_ops/sysdeps/generic_pthread.h"
-#endif /* AO_USE_PTHREAD_DEFS */
-
#if (defined(__CC_ARM) || defined(__ARMCC__)) && !defined(__GNUC__) \
&& !defined(AO_USE_PTHREAD_DEFS)
-# include "atomic_ops/sysdeps/armcc/arm_v6.h"
-# define AO_GENERALIZE_TWICE
+# if __TARGET_ARCH_ARM >= 6
+ /* ARMv6 and newer has optimized code, earlier versions */
+ /* need to fall back to the pthread implementation. */
+# include "atomic_ops/sysdeps/armcc/arm_v6.h"
+# define AO_GENERALIZE_TWICE
+# else
+# define AO_USE_PTHREAD_DEFS
+# endif
#endif
+#if defined(AO_USE_PTHREAD_DEFS)
+# include "atomic_ops/sysdeps/generic_pthread.h"
+#endif /* AO_USE_PTHREAD_DEFS */
+
#if defined(__GNUC__) && !defined(AO_USE_PTHREAD_DEFS) \
&& !defined(__INTEL_COMPILER)
# if defined(__i386__)
--
1.7.3.4

32
gc.spec
View File

@ -1,10 +1,8 @@
%define pre alpha6
Summary: A garbage collector for C and C++ Summary: A garbage collector for C and C++
Name: gc Name: gc
Version: 7.2 Version: 7.2
Release: 0.7.%{pre}%{?dist} Release: 1%{?dist}
Group: System Environment/Libraries Group: System Environment/Libraries
License: BSD License: BSD
@ -13,11 +11,8 @@ Source0: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-%{version}%{?
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
## upstreamable patches ## upstreamable patches
# use AO_USE_PTHREAD_DEFS on ARMv5
Patch51: gc-7.2alpha6-libatomic_ops_arm5.patch
## upstream patches ## upstream patches
Patch100: gc-7.1-dup_cpp_headers.patch
BuildRequires: automake libtool BuildRequires: automake libtool
BuildRequires: pkgconfig BuildRequires: pkgconfig
@ -42,6 +37,9 @@ Provides: libgc-devel = %{version}-%{release}
%package -n libatomic_ops-devel %package -n libatomic_ops-devel
Summary: Atomic memory update operations Summary: Atomic memory update operations
Group: Development/Libraries Group: Development/Libraries
# libatomic_ops.a is MIT
# libatomic_ops_gpl.a is GPLv2+
License: MIT and GPLv2+
Provides: libatomic_ops-static = %{version}-%{release} Provides: libatomic_ops-static = %{version}-%{release}
%description -n libatomic_ops-devel %description -n libatomic_ops-devel
Provides implementations for atomic memory update operations on a Provides implementations for atomic memory update operations on a
@ -54,10 +52,6 @@ that involves minimum overhead across a variety of architectures.
%prep %prep
%setup -q -n gc-%{version}%{?pre} %setup -q -n gc-%{version}%{?pre}
pushd libatomic_ops
%patch51 -p1 -b .libatomic_ops_arm5
popd
%patch100 -p1 -b .dup_cpp_headers
# refresh auto*/libtool to purge rpaths # refresh auto*/libtool to purge rpaths
rm -f libtool libtool.m4 rm -f libtool libtool.m4
autoreconf -i -f autoreconf -i -f
@ -92,9 +86,9 @@ make install DESTDIR=%{buildroot} -C libatomic_ops
install -p -D -m644 doc/gc.man %{buildroot}%{_mandir}/man3/gc.3 install -p -D -m644 doc/gc.man %{buildroot}%{_mandir}/man3/gc.3
## Unpackaged files ## Unpackaged files
rm -rf %{buildroot}%{_datadir}/gc/ #rm -rfv %{buildroot}%{_datadir}/gc/
rm -rf %{buildroot}%{_datadir}/libatomic_ops/{COPYING,*.txt} #rm -rfv %{buildroot}%{_datadir}/libatomic_ops/{COPYING,*.txt}
rm -f %{buildroot}%{_libdir}/lib*.la rm -fv %{buildroot}%{_libdir}/lib*.la
%check %check
@ -107,10 +101,8 @@ rm -rf %{buildroot}
%post -p /sbin/ldconfig %post -p /sbin/ldconfig
%postun -p /sbin/ldconfig %postun -p /sbin/ldconfig
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc doc/README %doc doc/README
@ -137,14 +129,20 @@ rm -rf %{buildroot}
%doc libatomic_ops/AUTHORS libatomic_ops/ChangeLog libatomic_ops/COPYING libatomic_ops/NEWS libatomic_ops/README %doc libatomic_ops/AUTHORS libatomic_ops/ChangeLog libatomic_ops/COPYING libatomic_ops/NEWS libatomic_ops/README
%doc libatomic_ops/doc/*.txt %doc libatomic_ops/doc/*.txt
%{_includedir}/atomic_ops.h %{_includedir}/atomic_ops.h
%{_includedir}/atomic_ops_malloc.h
%{_includedir}/atomic_ops_stack.h
%{_includedir}/atomic_ops/ %{_includedir}/atomic_ops/
%{_libdir}/libatomic_ops.a %{_libdir}/libatomic_ops.a
%{_libdir}/pkgconfig/atomic_ops.pc
# GPLv2+ bits
%{_includedir}/atomic_ops_malloc.h
%{_includedir}/atomic_ops_stack.h
%{_libdir}/libatomic_ops_gpl.a %{_libdir}/libatomic_ops_gpl.a
%changelog %changelog
* Mon May 14 2012 Rex Dieter <rdieter@fedoraproject.org>
- 7.2-1
- gc-7.2 (final)
* Fri Mar 02 2012 Rex Dieter <rdieter@fedoraproject.org> 7.2-0.7.alpha6 * Fri Mar 02 2012 Rex Dieter <rdieter@fedoraproject.org> 7.2-0.7.alpha6
- libatomic_ops: use -DAO_USE_PTHREAD_DEFS on ARMv5 - libatomic_ops: use -DAO_USE_PTHREAD_DEFS on ARMv5

View File

@ -1 +1 @@
319d0b18cc4eb735c8038ece9df055e4 gc-7.2alpha6.tar.gz d17aecedef3d73e75387fb63558fa4eb gc-7.2.tar.gz