SHA256
2
0

Accepting request 935304 from devel:libraries:c_c++

OBS-URL: https://build.opensuse.org/request/show/935304
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gc?expand=0&rev=37
This commit is contained in:
Dominique Leuenberger 2021-12-06 22:59:05 +00:00 committed by Git OBS Bridge
commit 1ca5a9645e
5 changed files with 106 additions and 8 deletions

View File

@ -0,0 +1,64 @@
From c876dc2b12fcfd65466b9aa42349cfb621064971 Mon Sep 17 00:00:00 2001
From: Jakub Wojciech <jakub-w@riseup.net>
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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3b4914abc9fa76593596773e4da671d7ed4d5390e3d46fbf2e5f155e121bea11
size 1168660

3
gc-8.2.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2540f7356cb74f6c5b75326c6d38a066edd796361fd7d4ed26e494d9856fed8f
size 1183225

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Thu Dec 2 17:28:08 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- 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 <jengelh@inai.de>
- 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 <jengelh@inai.de>

11
gc.spec
View File

@ -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