rpms/gc/EL-5 gc-7.1-dont_add_byte.patch, NONE, 1.1 gc-7.1-gcinit.patch, NONE, 1.1 gc-7.1-sparc.patch, NONE, 1.1 .cvsignore, 1.9, 1.10 gc.spec, 1.21, 1.22 sources, 1.8, 1.9 gc-6.7-no-undefined.patch, 1.1, NONE

Rex Dieter rdieter at fedoraproject.org
Tue Feb 17 21:06:36 UTC 2009


Author: rdieter

Update of /cvs/pkgs/rpms/gc/EL-5
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23688

Modified Files:
	.cvsignore gc.spec sources 
Added Files:
	gc-7.1-dont_add_byte.patch gc-7.1-gcinit.patch 
	gc-7.1-sparc.patch 
Removed Files:
	gc-6.7-no-undefined.patch 
Log Message:
sync w/devel branch for gc-7.1


gc-7.1-dont_add_byte.patch:

--- NEW FILE gc-7.1-dont_add_byte.patch ---
diff -up gc-7.1/thread_local_alloc.c.dont_add_byte gc-7.1/thread_local_alloc.c
--- gc-7.1/thread_local_alloc.c.dont_add_byte	2007-10-24 19:22:37.000000000 -0500
+++ gc-7.1/thread_local_alloc.c	2008-09-08 06:53:20.000000000 -0500
@@ -291,14 +291,16 @@ void GC_mark_thread_local_fls_for(GC_tlf
     ptr_t q;
     int j;
     
-    for (j = 1; j < TINY_FREELISTS; ++j) {
+    for (j = 0; j < TINY_FREELISTS; ++j) {
       q = p -> ptrfree_freelists[j];
       if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
       q = p -> normal_freelists[j];
       if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
 #     ifdef GC_GCJ_SUPPORT
-        q = p -> gcj_freelists[j];
-        if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
+      if (j > 0) {
+         q = p -> gcj_freelists[j];
+         if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
+      }
 #     endif /* GC_GCJ_SUPPORT */
     }
 }

gc-7.1-gcinit.patch:

--- NEW FILE gc-7.1-gcinit.patch ---
diff -up gc-7.1/thread_local_alloc.c.gcinit gc-7.1/thread_local_alloc.c
--- gc-7.1/thread_local_alloc.c.gcinit	2007-10-24 19:22:37.000000000 -0500
+++ gc-7.1/thread_local_alloc.c	2008-10-15 07:13:45.000000000 -0500
@@ -141,6 +141,9 @@ void * GC_malloc(size_t bytes)
     void *result;
     void **tiny_fl;
 
+    if (!GC_is_initialized)
+      GC_init();
+
 #   if !defined(USE_PTHREAD_SPECIFIC) && !defined(USE_WIN32_SPECIFIC)
       GC_key_t k = GC_thread_key;
       if (EXPECT(0 == k, 0)) {
diff -up gc-7.1/malloc.c.gcinit gc-7.1/malloc.c
--- gc-7.1/malloc.c.gcinit	2008-03-10 00:33:41.000000000 -0500
+++ gc-7.1/malloc.c	2008-10-15 07:12:31.000000000 -0500
@@ -263,6 +263,9 @@ void * GC_generic_malloc(size_t lb, int 
     size_t lg;
     DCL_LOCK_STATE;
 
+    if (!GC_is_initialized)
+	GC_init();
+
     if(SMALL_OBJ(lb)) {
 	lg = GC_size_map[lb];
 	opp = (void **)&(GC_objfreelist[lg]);

gc-7.1-sparc.patch:

--- NEW FILE gc-7.1-sparc.patch ---
diff -up gc-7.1/configure.sparc gc-7.1/configure
--- gc-7.1/configure.sparc	2008-05-03 19:52:50.000000000 -0500
+++ gc-7.1/configure	2008-10-15 07:01:18.000000000 -0500
@@ -6161,6 +6161,9 @@ _ACEOF
  sparc-*-netbsd*)
     machdep="mach_dep.lo sparc_netbsd_mach_dep.lo"
     ;;
+ sparc*-*-linux*)
+    machdep="mach_dep.lo sparc_mach_dep.lo"
+    ;;
  sparc-sun-solaris2.3)
     machdep="mach_dep.lo sparc_mach_dep.lo"
     cat >>confdefs.h <<\_ACEOF
diff -up gc-7.1/configure.ac.sparc gc-7.1/configure.ac
--- gc-7.1/configure.ac.sparc	2008-05-03 19:52:06.000000000 -0500
+++ gc-7.1/configure.ac	2008-10-15 07:01:18.000000000 -0500
@@ -405,6 +405,9 @@ case "$host" in
  sparc-*-netbsd*)
     machdep="mach_dep.lo sparc_netbsd_mach_dep.lo"
     ;;
+ sparc*-*-linux*)
+    machdep="mach_dep.lo sparc_mach_dep.lo"
+    ;;
  sparc-sun-solaris2.3)
     machdep="mach_dep.lo sparc_mach_dep.lo"
     AC_DEFINE(SUNOS53_SHARED_LIB)
diff -up gc-7.1/mach_dep.c.sparc gc-7.1/mach_dep.c
--- gc-7.1/mach_dep.c.sparc	2007-08-13 16:49:11.000000000 -0500
+++ gc-7.1/mach_dep.c	2008-10-15 07:03:35.000000000 -0500
@@ -175,9 +175,10 @@ void GC_with_callee_saves_pushed(void (*
 #   if defined(HAVE_PUSH_REGS)
       GC_push_regs();
 #   elif defined(UNIX_LIKE) && !defined(DARWIN) && !defined(ARM32) && \
-	 !defined(HURD)
+	 !defined(HURD) && !defined(SPARC)
       /* Older versions of Darwin seem to lack getcontext(). */
       /* ARM Linux often doesn't support a real getcontext(). */
+      /* SPARC 32bit Linux doesn't support getcontext(). */
       ucontext_t ctxt;
       if (getcontext(&ctxt) < 0)
 	ABORT ("Getcontext failed: Use another register retrieval method?");


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gc/EL-5/.cvsignore,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- .cvsignore	11 Dec 2006 23:09:15 -0000	1.9
+++ .cvsignore	17 Feb 2009 21:06:06 -0000	1.10
@@ -1,2 +1 @@
-clog
-gc6.8.tar.gz
+gc-7.1.tar.gz


Index: gc.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gc/EL-5/gc.spec,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- gc.spec	11 Dec 2006 23:09:15 -0000	1.21
+++ gc.spec	17 Feb 2009 21:06:06 -0000	1.22
@@ -1,33 +1,39 @@
 
-Summary: C++ Garbage Collector	
+Summary: A garbage collector for C and C++ 
 Name:    gc	
-Version: 6.8
+Version: 7.1
 
-Release: 3%{?dist}
+Release: 5%{?dist}
 Group:   System Environment/Libraries
 License: BSD
 Url:     http://www.hpl.hp.com/personal/Hans_Boehm/gc/	
-Source:  http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc%{version}.tar.gz
+Source0: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
-# force no undefined symbols (#166344)
-Patch1: gc-6.7-no-undefined.patch
-
-BuildRequires: libtool
-BuildRequires: automake 
+# To be more backward-compatible abi-wise, TODO: upstream ml reference
+Patch1: gc-7.1-gcinit.patch
+Patch3: gc-7.1-sparc.patch
+## upstream patches
+# http://www.hpl.hp.com/hosted/linux/mail-archives/gc/2008-May/002206.html
+Patch100: gc-7.1-dont_add_byte.patch
+
+BuildRequires: automake libtool 
+BuildRequires: libatomic_ops-devel
+BuildRequires: pkgconfig
 
+# rpmforge compatibility
 Obsoletes: libgc < %{version}-%{release}
 Provides:  libgc = %{version}-%{release}
 
-
 %description
-The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage 
-collecting replacement for C malloc or C++ new.
+The Boehm-Demers-Weiser conservative garbage collector can be 
+used as a garbage collecting replacement for C malloc or C++ new.
 
 %package devel
 Summary: Libraries and header files for %{name} development 
 Group:   Development/Libraries
 Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig
 Obsoletes: libgc-devel < %{version}-%{release}
 Provides:  libgc-devel = %{version}-%{release}
 %description devel
@@ -35,20 +41,20 @@
 
 
 %prep
-%setup -q -n %{name}%{version}
-
-%patch1 -p1 -b .no-undefined
+%setup -q 
 
-cp -f %{_datadir}/aclocal/libtool.m4 .
-libtoolize --copy --force
-%if 1
-autoreconf
-%else
-aclocal
-automake
-autoconf
-#autoheader
+# FIXME? -- Rex
+%if 0%{?rhel} < 6 && 0%{?fedora} < 10
+%patch1 -p1 -b .gcinit
 %endif
+%patch3 -p1 -b .sparc
+
+%patch100 -p1 -b .dont_add_byte
+
+# refresh auto*/libtool to purge rpaths
+rm -f libtool libtool.m4
+libtoolize --force
+autoreconf -i
 
 
 %build
@@ -57,32 +63,33 @@
   --disable-dependency-tracking \
   --disable-static \
   --enable-cplusplus \
-  --enable-threads=posix \
+  --enable-large-config \
 %ifarch %{ix86}
-  --enable-parallel-mark
+  --enable-parallel-mark \
 %endif
+  --enable-threads=posix
 
 make %{?_smp_mflags}
 
 
-%check || :
-make check
-
-
 %install
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
 
-make install DESTDIR=$RPM_BUILD_ROOT 
+make install DESTDIR=%{buildroot} 
 
-install -p -D -m644 doc/gc.man	$RPM_BUILD_ROOT%{_mandir}/man3/gc.3
+install -p -D -m644 doc/gc.man	%{buildroot}%{_mandir}/man3/gc.3
 
 ## Unpackaged files
-rm -rf $RPM_BUILD_ROOT%{_datadir}/gc
-rm -f  $RPM_BUILD_ROOT%{_libdir}/lib*.la
+rm -rf %{buildroot}%{_datadir}/gc
+rm -f  %{buildroot}%{_libdir}/lib*.la
+
+
+%check
+make check
 
 
 %clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
 
 
 %post   -p /sbin/ldconfig
@@ -92,19 +99,61 @@
 
 %files 
 %defattr(-,root,root,-)
-%doc doc/README doc/README.changes doc/README.contributors 
+%doc doc/README
+%doc doc/README.changes doc/README.contributors 
 %doc doc/README.environment doc/README.linux
 %{_libdir}/lib*.so.*
 
 %files devel
 %defattr(-,root,root,-)
 %doc doc/*.html
-%{_includedir}/*
+%{_includedir}/*.h
+%{_includedir}/gc/
 %{_libdir}/lib*.so
+%{_libdir}/pkgconfig/*
 %{_mandir}/man?/*
 
 
 %changelog
+* Wed Oct 15 2008 Rex Dieter <rdieter at fedoraproject.org> 7.1-5
+- forward-port patches (gcinit, sparc)
+
+* Fri Oct 03 2008 Rex Dieter <rdieter at fedoraproject.org> 7.1-4
+- BR: libatomic_ops-devel
+
+* Mon Sep 08 2008 Rex Dieter <rdieter at fedoraproject.org> 7.1-3
+- upstream DONT_ADD_BYTE_AT_END patch
+- spec cosmetics
+
+* Sat Jul 12 2008 Rex Dieter <rdieter at fedoraproject.org> 7.1-2
+- --enable-large-config (#453972)
+
+* Sun May 04 2008 Rex Dieter <rdieter at fedoraproject.org> 7.1-1
+- gc-7.1
+- purge rpaths
+
+* Fri Feb 08 2008 Rex Dieter <rdieter at fedoraproject.org> 7.0-7 
+- respin (gcc43)
+
+* Wed Aug 29 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-6
+- BR: gawk
+- fixup compat_header patch to avoid needing auto* tools
+
+* Wed Aug 29 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-5
+- compat_header patch (supercedes previous pkgconfig patch)
+
+* Tue Aug 21 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-4
+- pkgconfig patch (cflags += -I%%_includedir/gc)
+
+* Tue Aug 21 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-3
+- respin (ppc32)
+
+* Tue Jul 24 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-2
+- gcinit patch, ABI compatibility (#248700)
+
+* Mon Jul 09 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 7.0-1
+- gc-7.0
+
 * Mon Dec 11 2006 Rex Dieter <rexdieter[AT]users.sf.net> 6.8-3
 - Obsoletes/Provides: libgc(-devel) (rpmforge compatibility)
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gc/EL-5/sources,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- sources	13 Jul 2006 14:44:30 -0000	1.8
+++ sources	17 Feb 2009 21:06:06 -0000	1.9
@@ -1 +1 @@
-418d38bd9c66398386a372ec0435250e  gc6.8.tar.gz
+2ff9924c7249ef7f736ecfe6f08f3f9b  gc-7.1.tar.gz


--- gc-6.7-no-undefined.patch DELETED ---




More information about the fedora-extras-commits mailing list