diff --git a/0001-Distribute-gc_gcj.h-and-some-other-headers-in-single.patch b/0001-Distribute-gc_gcj.h-and-some-other-headers-in-single.patch new file mode 100644 index 0000000..56710a4 --- /dev/null +++ b/0001-Distribute-gc_gcj.h-and-some-other-headers-in-single.patch @@ -0,0 +1,64 @@ +From c876dc2b12fcfd65466b9aa42349cfb621064971 Mon Sep 17 00:00:00 2001 +From: Jakub Wojciech +Date: Fri, 5 Nov 2021 08:36:32 +0100 +Subject: [PATCH] Distribute gc_gcj.h and some other headers in + single-obj-compilation + +Issue #389 (bdwgc). + +This fixes installation of gc_pthread_redirects.h, gc_gcj.h and +gc_disclaim.h if --single-obj-compilation is passed to configure. + +* Makefile.am [PTHREADS] (pkginclude_HEADERS): Move outside the +SINGLE_GC_OBJ conditional. +* Makefile.am [ENABLE_GCJ_SUPPORT] (pkginclude_HEADERS): Likewise. +* Makefile.am [ENABLE_DISCLAIM] (pkginclude_HEADERS): Likewise. +--- + Makefile.am | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git Makefile.am Makefile.am +index e3230c1d..f557fe12 100644 +--- Makefile.am ++++ Makefile.am +@@ -83,7 +83,6 @@ else + if PTHREADS + # Not Cygwin or MinGW. + libgc_la_SOURCES += pthread_start.c pthread_support.c +-pkginclude_HEADERS += include/gc_pthread_redirects.h + if DARWIN_THREADS + libgc_la_SOURCES += darwin_stop_world.c + else +@@ -106,17 +105,27 @@ endif + + if ENABLE_GCJ_SUPPORT + libgc_la_SOURCES += gcj_mlc.c +-pkginclude_HEADERS += include/gc_gcj.h + endif + + if ENABLE_DISCLAIM + libgc_la_SOURCES += fnlz_mlc.c +-pkginclude_HEADERS += include/gc_disclaim.h + endif + + ## End of !SINGLE_GC_OBJ + endif + ++if PTHREADS ++pkginclude_HEADERS += include/gc_pthread_redirects.h ++endif ++ ++if ENABLE_GCJ_SUPPORT ++pkginclude_HEADERS += include/gc_gcj.h ++endif ++ ++if ENABLE_DISCLAIM ++pkginclude_HEADERS += include/gc_disclaim.h ++endif ++ + if USE_INTERNAL_LIBATOMIC_OPS + nodist_libgc_la_SOURCES = libatomic_ops/src/atomic_ops.c + endif +-- +2.34.0 + diff --git a/gc-8.0.6.tar.gz b/gc-8.0.6.tar.gz deleted file mode 100644 index 6062828..0000000 --- a/gc-8.0.6.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3b4914abc9fa76593596773e4da671d7ed4d5390e3d46fbf2e5f155e121bea11 -size 1168660 diff --git a/gc-8.2.0.tar.gz b/gc-8.2.0.tar.gz new file mode 100644 index 0000000..02a06af --- /dev/null +++ b/gc-8.2.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2540f7356cb74f6c5b75326c6d38a066edd796361fd7d4ed26e494d9856fed8f +size 1183225 diff --git a/gc.changes b/gc.changes index 51965b9..62c64fd 100644 --- a/gc.changes +++ b/gc.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Thu Dec 2 17:28:08 UTC 2021 - Jan Engelhardt + +- Add 0001-Distribute-gc_gcj.h-and-some-other-headers-in-single.patch + to repair `make install` forgetting to install gc_pthread.h. +- Drop C++98 build mode; just use what g++ uses. + +------------------------------------------------------------------- +Wed Sep 29 22:03:07 UTC 2021 - Jan Engelhardt + +- Update to release 8.2.0 + * Add API for accessing incremental GC time limit with + nanosecond precision + * Add API function to force start of incremental collection + * Add GC_get/set_disable_automatic_collection API + * New API (GC_set_markers_count) to control number of parallel + markers + * New API function to clear GC exclusion table + * New API function to get size of object debug header + * New API standalone functions to acquire and release the + allocator lock + * Always abort on failure to access /proc/self/maps + * Avoid initial 3ms pause on world stop/start with GC_retry_signals + * Enable mprotect-based incremental GC for Linux/arm and + Linux/aarch64 + * Enable true incremental collection even if parallel marker is on + * Fix mmap(PROT_NONE) failure if RLIMIT_AS value is low (Linux) + * Report memory region bounds and errno on GC_unmap/remap failure + * Use mprotect-based VDB on PowerPC and S390 (Linux) + * Use soft dirty bits on Linux (i386, powerpc, s390, x86_64) + * Fix copyright message in de_win.rc, gc_cpp.cc, ec.h and + specific.h + ------------------------------------------------------------------- Tue Sep 28 22:27:54 UTC 2021 - Jan Engelhardt diff --git a/gc.spec b/gc.spec index c883272..a25138b 100644 --- a/gc.spec +++ b/gc.spec @@ -17,7 +17,7 @@ Name: gc -Version: 8.0.6 +Version: 8.2.0 Release: 0 Summary: A garbage collector for C and C++ License: BSD-3-Clause @@ -26,6 +26,7 @@ URL: http://www.hboehm.info/gc/ #Git-Clone: https://github.com/ivmai/bdwgc Source: https://github.com/ivmai/bdwgc/releases/download/v%version/%name-%version.tar.gz +Patch1: 0001-Distribute-gc_gcj.h-and-some-other-headers-in-single.patch BuildRequires: autoconf >= 2.64 BuildRequires: gcc-c++ BuildRequires: libtool @@ -73,14 +74,14 @@ automatically recycles memory when it determines that it can no longer be otherwise accessed. %prep -%autosetup -p1 +%autosetup -p0 %build autoreconf -fi # see bugzilla.redhat.com/689877 export CPPFLAGS="-DUSE_GET_STACKBASE_FOR_MAIN" -export CXXFLAGS="%optflags -std=gnu++98" +export CXXFLAGS="%optflags" %configure --disable-static --docdir="%_docdir/%name" \ --with-gnu-ld \ --enable-cplusplus \ @@ -90,7 +91,7 @@ export CXXFLAGS="%optflags -std=gnu++98" --with-libatomic-ops=yes # --with-libatomic-ops=yes means to use the system library -make %{?_smp_mflags} +%make_build %install %make_install @@ -101,7 +102,7 @@ done %check %if !0%{?qemu_user_space_build} -make check +make check -j1 %endif %post -n libgc1 -p /sbin/ldconfig