libatomic_ops: use -DAO_USE_PTHREAD_DEFS on ARMv5
This commit is contained in:
parent
849bf5f0c6
commit
73b5e99c72
49
gc-7.2alpha6-libatomic_ops_arm5.patch
Normal file
49
gc-7.2alpha6-libatomic_ops_arm5.patch
Normal file
@ -0,0 +1,49 @@
|
||||
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
|
||||
|
14
gc.spec
14
gc.spec
@ -4,7 +4,7 @@
|
||||
Summary: A garbage collector for C and C++
|
||||
Name: gc
|
||||
Version: 7.2
|
||||
Release: 0.6.%{pre}%{?dist}
|
||||
Release: 0.7.%{pre}%{?dist}
|
||||
|
||||
Group: System Environment/Libraries
|
||||
License: BSD
|
||||
@ -13,9 +13,11 @@ Source0: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-%{version}%{?
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
## upstreamable patches
|
||||
Patch50: gc-7.1-dup_cpp_headers.patch
|
||||
# use AO_USE_PTHREAD_DEFS on ARMv5
|
||||
Patch51: gc-7.2alpha6-libatomic_ops_arm5.patch
|
||||
|
||||
## upstream patches
|
||||
Patch100: gc-7.1-dup_cpp_headers.patch
|
||||
|
||||
BuildRequires: automake libtool
|
||||
BuildRequires: pkgconfig
|
||||
@ -52,7 +54,10 @@ that involves minimum overhead across a variety of architectures.
|
||||
%prep
|
||||
%setup -q -n gc-%{version}%{?pre}
|
||||
|
||||
%patch50 -p1 -b .dup_cpp_headers
|
||||
pushd libatomic_ops
|
||||
%patch51 -p1 -b .libatomic_ops_arm5
|
||||
popd
|
||||
%patch100 -p1 -b .dup_cpp_headers
|
||||
# refresh auto*/libtool to purge rpaths
|
||||
rm -f libtool libtool.m4
|
||||
autoreconf -i -f
|
||||
@ -140,6 +145,9 @@ rm -rf %{buildroot}
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Mar 02 2012 Rex Dieter <rdieter@fedoraproject.org> 7.2-0.7.alpha6
|
||||
- libatomic_ops: use -DAO_USE_PTHREAD_DEFS on ARMv5
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.2-0.6.alpha6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user