summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-libs/boehm-gc
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-libs/boehm-gc')
-rw-r--r--dev-libs/boehm-gc/Manifest6
-rw-r--r--dev-libs/boehm-gc/boehm-gc-6.8.ebuild48
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild49
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild59
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.2d.ebuild65
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.2e.ebuild58
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild44
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild43
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch83
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch13
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch33
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch13
-rw-r--r--dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch13
-rw-r--r--dev-libs/boehm-gc/metadata.xml12
14 files changed, 539 insertions, 0 deletions
diff --git a/dev-libs/boehm-gc/Manifest b/dev-libs/boehm-gc/Manifest
new file mode 100644
index 000000000000..5a64322a63e8
--- /dev/null
+++ b/dev-libs/boehm-gc/Manifest
@@ -0,0 +1,6 @@
+DIST gc-7.1.tar.gz 1077714 SHA256 e3cef6028fe3efe7de3bcf4107c880eae50b3ee79841450d885467c09bcebf30 SHA512 10faa0062c7df2ac7e2e29ac369167daad526c9de477e9af2298e6e5ad0bb1de5d32203e048892b16c34b398657a1a338e2e122c3137eeb8143b184f9b5e7ea0 WHIRLPOOL e099bd824601d53d94207f5a9c255fad30e55396eae2e6a01a55e98a7b8441e7e1bdfb698b2f77ee75b3c13f60a4f8e26b82b9fdf783b10dd40a49bf7f4fcdf6
+DIST gc-7.2d.tar.gz 1263064 SHA256 d9fe0ae8650d43746a48bfb394cab01a319f3809cee19f8ebd16aa985b511c5e SHA512 5b342754a1efeef0cf78983b7a0e48a36495beac04fc881ab356b26dc153b343e940ec7af070f4fc875be44adc559f7be995919fe9229f68d2e0237cdbeaabcc WHIRLPOOL 441507f8d8a9ee6d19a25ef0a1b11068a60b15b40a5c484cc3133e48e7ed1c498ce7cc05924d34b0bb6a63f8cb437a696d66f45dca1e256e792f5180081b6051
+DIST gc-7.2e.tar.gz 1291186 SHA256 09315b48a82d600371207691126ad058c04677281ac318d86fa84c98c3c9af4b SHA512 80d1d50e38714b4f198743cd8cd5ab80a35cfbb7f5f9d66c89f40319604e989125870f010d4499876978594a5823d7b61213224a68da8664b9e4f8e14076c999 WHIRLPOOL bac6bac3dde1ed136403450d335a33e7ffc692575871d19edaa322a523046a7f6dc75331ffec02a8e36a2f056e6422331c6a40fb5bfb5cfc23c70819a9e03447
+DIST gc-7.4.0.tar.gz 1060884 SHA256 61f8fc6991f8cb003a0d3c7d251c5b9a76093615ef793e0c588a4661e0b5e283 SHA512 7421dddd963a4eeb3d0c2efd486dcf842793e81385c9a87c38265137626822566c98920d9d6a9423c1dbeb067fd7fe8aeeead2d7bb7083f6056b6288410e1032 WHIRLPOOL 5506bb8503b646daede64580a8302e3515bf14aa19b2a2f768ad0b1ef23e70bb983f3c6d10ab5746f977e4a27b217187147188ecc38056614a9a2f74c73179c8
+DIST gc-7.4.2.tar.gz 1082597 SHA256 63320ad7c45460e4a40e03f5aa4c6893783f21a16416c3282b994f933312afa2 SHA512 2e21516addf268780641ee55c0cb3ecc2d96fa963faffee5beadcade9c6bf1ee49ee1a75b076b5d49ddde7c839fb94f4c3623ca8412d14c2a5bf6ca30d424a72 WHIRLPOOL 139fb9fbaef30f30f54940d99832b2eb936015620f59ee51b58a45e12d03cb9b05d75d8f91a6d706bafad9498894e77a7205d64f422bf2a4b64be2e9a8a13d90
+DIST gc6.8.tar.gz 756879 SHA256 448f8e4c6ee8c80eac059cf1c9379d20c388bcb900fc0796cd2a44d1dcbbae69 SHA512 69a9554d2d213392512d4ce41ec8c4993557e65c2b3dc4f568ac18695421cc08b7677c25f9a0ce03e94fb5e68a298fcac7ed09fb90007a2c998ff6ef78d3c651 WHIRLPOOL 970b4453895053e8bafc0b1b5b4f9c221f83cf20e5c9e305cacf47bf67f9a04bf9a3c684b0288c2cb8217cf10ed61ac7eeabcecafeaa64becb16d17ec3456909
diff --git a/dev-libs/boehm-gc/boehm-gc-6.8.ebuild b/dev-libs/boehm-gc/boehm-gc-6.8.ebuild
new file mode 100644
index 000000000000..baa801361398
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-6.8.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+MY_P="gc${PV/_/}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
+IUSE="cxx threads"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -i -e '/^SUBDIRS/s/doc//' Makefile.in || die
+ epatch "${FILESDIR}"/${PN}-6.5-gentoo.patch
+ epatch "${FILESDIR}"/gc6.6-builtin-backtrace-uclibc.patch
+}
+
+src_compile() {
+ econf \
+ $(use_enable cxx cplusplus) \
+ $(use threads || echo --disable-threads)
+ emake || die
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+
+ rm -rf "${D}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README* doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild b/dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild
new file mode 100644
index 000000000000..e97795051e67
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+MY_P="gc-${PV/_/}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 ~sparc x86"
+IUSE="cxx threads"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -i -e '/^SUBDIRS/s/doc//' Makefile.in || die
+ epatch "${FILESDIR}"/${PN}-6.5-gentoo.patch
+ epatch "${FILESDIR}"/gc6.6-builtin-backtrace-uclibc.patch
+ sed '/Cflags/s:$:/gc:g' -i bdw-gc.pc.in || die
+}
+
+src_compile() {
+ econf \
+ $(use_enable cxx cplusplus) \
+ $(use threads || echo --disable-threads)
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ rm -rf "${D}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README* doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild b/dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild
new file mode 100644
index 000000000000..c94f871d7331
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+MY_P="gc-${PV/_/}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.2
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P/d}"
+
+src_prepare() {
+ rm -r libatomic_ops || die
+
+ epatch "${FILESDIR}"/${P}-configure.patch
+ epatch "${FILESDIR}"/${P}-automake-1.13.patch
+ eautoreconf
+}
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_install() {
+ default
+
+ rm -rf "${ED}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README{.environment,.linux,.macros} doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+
+ prune_libtool_files
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.2d.ebuild b/dev-libs/boehm-gc/boehm-gc-7.2d.ebuild
new file mode 100644
index 000000000000..806bce800635
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.2d.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils
+
+MY_P="gc-${PV/_/}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+RDEPEND=">=dev-libs/libatomic_ops-7.2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P/d}"
+
+DOCS=( README.QUICK doc/README{,.environment,.linux,.macros} doc/barrett_diagram )
+
+PATCHES=( "${FILESDIR}"/${P}-configure.patch )
+
+AUTOTOOLS_AUTORECONF=1
+
+src_prepare() {
+ sed '/Cflags/s:$:/gc:g' -i bdw-gc.pc.in || die
+ sed \
+ -e '/gc_allocator.h/d' \
+ -i Makefile.am || die
+ rm -rf libatomic_ops || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-libatomic-ops=yes
+ $(use_enable cxx cplusplus)
+ $(use threads || echo --disable-threads)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ rm -rf "${ED}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.2e.ebuild b/dev-libs/boehm-gc/boehm-gc-7.2e.ebuild
new file mode 100644
index 000000000000..baa6db5bd9c3
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.2e.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+MY_P="gc-${PV/_/}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.2
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P/e}"
+
+src_prepare() {
+ rm -r libatomic_ops || die
+
+ epatch "${FILESDIR}"/${P}-automake-1.13.patch
+ eautoreconf
+}
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_install() {
+ default
+
+ rm -r "${ED}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README{.environment,.linux,.macros} doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+
+ use static-libs || prune_libtool_files #457872
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild b/dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild
new file mode 100644
index 000000000000..dcfdef979a83
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+MY_P="gc-${PV}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.4
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_install() {
+ default
+ use static-libs || prune_libtool_files
+
+ rm -r "${ED}"/usr/share/gc || die
+ dodoc README.QUICK doc/README{.environment,.linux,.macros} \
+ doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild b/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild
new file mode 100644
index 000000000000..922121afb77f
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+MY_P="gc-${PV}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.4
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_install() {
+ default
+ use static-libs || prune_libtool_files
+
+ rm -r "${ED}"/usr/share/gc || die
+ dodoc README.QUICK doc/README{.environment,.linux,.macros}
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch b/dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch
new file mode 100644
index 000000000000..72eb881eef7d
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch
@@ -0,0 +1,83 @@
+diff -ur gc6.5.orig/include/private/gcconfig.h gc6.5/include/private/gcconfig.h
+--- gc6.5.orig/include/private/gcconfig.h 2005-08-05 00:03:00.000000000 +0200
++++ gc6.5/include/private/gcconfig.h 2005-08-05 00:08:42.000000000 +0200
+@@ -1100,6 +1100,9 @@
+ # endif
+ # define OS_TYPE "LINUX"
+ # define LINUX_STACKBOTTOM
++ /* On I386 Linux, enable HEURISTIC2 as a backup to /proc data */
++ /* for the case where /proc is missing or nobbled (grsec) */
++# define HEURISTIC2
+ # if 0
+ # define HEURISTIC1
+ # undef STACK_GRAN
+@@ -1901,6 +1904,9 @@
+ # ifdef LINUX
+ # define OS_TYPE "LINUX"
+ # define LINUX_STACKBOTTOM
++ /* On x86_64 Linux, enable HEURISTIC2 as a backup to /proc data */
++ /* for the case where /proc is missing or nobbled (grsec) */
++# define HEURISTIC2
+ # if !defined(GC_LINUX_THREADS) || !defined(REDIRECT_MALLOC)
+ # define MPROTECT_VDB
+ # else
+diff -ur gc6.5.orig/os_dep.c gc6.5/os_dep.c
+--- gc6.5.orig/os_dep.c 2005-08-05 00:03:00.000000000 +0200
++++ gc6.5/os_dep.c 2005-08-05 00:07:56.000000000 +0200
+@@ -967,7 +967,13 @@
+ # endif
+ f = open("/proc/self/stat", O_RDONLY);
+ if (f < 0 || STAT_READ(f, stat_buf, STAT_BUF_SIZE) < 2 * STAT_SKIP) {
++ /* if /proc/self/stat isn't available, and HEURISTIC2 is possible, */
++ /* return NULL so that HEURISTIC2 will be tried. Otherwise bail. */
++# ifdef HEURISTIC2
++ return (ptr_t)NULL;
++# else
+ ABORT("Couldn't read /proc/self/stat");
++# endif
+ }
+ c = stat_buf[buf_offset++];
+ /* Skip the required number of fields. This number is hopefully */
+@@ -983,7 +989,16 @@
+ c = stat_buf[buf_offset++];
+ }
+ close(f);
+- if (result < 0x10000000) ABORT("Absurd stack bottom value");
++ if (result < 0x10000000) {
++ /* if stack base result is silly (e.g. is 0 due to grsec), and */
++ /* HEURISTIC2 is enabled, return NULL so that HEURISTIC2 will be */
++ /* tried. Otherwise bail. */
++# ifdef HEURISTIC2
++ return (ptr_t)NULL;
++# else
++ ABORT("Absurd stack bottom value");
++# endif
++ }
+ return (ptr_t)result;
+ }
+
+@@ -1045,6 +1060,12 @@
+ result = GC_freebsd_stack_base();
+ # endif
+ # ifdef HEURISTIC2
++/* if both LINUX_STACKBOTTOM and HEURISTIC2 are enabled, try HEURISTIC2 */
++/* when the LINUX_STACKBOTTOM returns NULL (indicating failure to get */
++/* a sensible result from /proc/self/stat) */
++# ifdef LINUX_STACKBOTTOM
++ if (result == (ptr_t)NULL) {
++# endif
+ # ifdef STACK_GROWS_DOWN
+ result = GC_find_limit((ptr_t)(&dummy), TRUE);
+ # ifdef HEURISTIC2_LIMIT
+@@ -1062,6 +1083,11 @@
+ }
+ # endif
+ # endif
++/* tail of extra 'if' condition when both LINUX_STACKBOTTOM and */
++/* HEURISTIC are configured. */
++# ifdef LINUX_STACKBOTTOM
++ }
++# endif
+
+ # endif /* HEURISTIC2 */
+ # ifdef STACK_GROWS_DOWN
diff --git a/dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch b/dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch
new file mode 100644
index 000000000000..e987c42a5852
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index ee6693d..d258252 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,7 +26,7 @@ AC_PREREQ(2.64)
+ AC_REVISION($Revision: 1.1 $)
+ GC_SET_VERSION
+ AM_INIT_AUTOMAKE([foreign dist-bzip2 nostdinc])
+-AM_CONFIG_HEADER([include/private/config.h])
++AC_CONFIG_HEADER([include/private/config.h])
+ AM_MAINTAINER_MODE
+
+ AC_SUBST(PACKAGE)
diff --git a/dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch b/dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch
new file mode 100644
index 000000000000..fdada4394cc4
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch
@@ -0,0 +1,33 @@
+diff --git a/configure.ac b/configure.ac
+index ee6693d..45300c0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -337,7 +337,7 @@ if test $compiler_xlc = yes -a "$powerpc_darwin" = true; then
+ AC_DEFINE([DARWIN_DONT_PARSE_STACK], 1, [See doc/README.macros.])
+ fi
+
+-if test "$GCC" == yes; then
++if test "$GCC" = yes; then
+ # Disable aliasing optimization unless forced to.
+ AC_MSG_CHECKING([whether gcc supports -fno-strict-aliasing])
+ ac_cv_fno_strict_aliasing=no
+@@ -442,8 +442,8 @@ esac
+ AC_MSG_RESULT($enable_shared)
+
+ # Compile with GC_DLL defined unless building static libraries.
+-if test "${enable_shared}" == yes; then
+- if test "${enable_static}" == no; then
++if test "${enable_shared}" = yes; then
++ if test "${enable_static}" = no; then
+ AC_DEFINE(GC_DLL)
+ # FIXME: Also pass -fvisibility=hidden option if GCC v4+ and not Win32.
+ fi
+@@ -707,7 +707,7 @@ if test -n "${with_cross_host}"; then
+ [Define to tune the collector for small heap sizes.])
+ fi
+
+-if test "$enable_gc_debug" == "no"; then
++if test "$enable_gc_debug" = "no"; then
+ AC_DEFINE([NO_DEBUGGING], 1,
+ [Disable debugging, like GC_dump and its callees.])
+ fi
diff --git a/dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch b/dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch
new file mode 100644
index 000000000000..e987c42a5852
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index ee6693d..d258252 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,7 +26,7 @@ AC_PREREQ(2.64)
+ AC_REVISION($Revision: 1.1 $)
+ GC_SET_VERSION
+ AM_INIT_AUTOMAKE([foreign dist-bzip2 nostdinc])
+-AM_CONFIG_HEADER([include/private/config.h])
++AC_CONFIG_HEADER([include/private/config.h])
+ AM_MAINTAINER_MODE
+
+ AC_SUBST(PACKAGE)
diff --git a/dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch b/dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch
new file mode 100644
index 000000000000..1d3e5780e74d
--- /dev/null
+++ b/dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch
@@ -0,0 +1,13 @@
+--- include/gc.h 2006-02-25 15:49:52 +0000
++++ include/gc.h 2006-02-25 15:50:00 +0000
+@@ -473,7 +473,9 @@
+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
+ && !defined(__ia64__)
+ # ifndef GC_HAVE_BUILTIN_BACKTRACE
+-# define GC_HAVE_BUILTIN_BACKTRACE
++# ifndef __UCLIBC__
++# define GC_HAVE_BUILTIN_BACKTRACE
++# endif
+ # endif
+ # endif
+ # if defined(__i386__) || defined(__x86_64__)
diff --git a/dev-libs/boehm-gc/metadata.xml b/dev-libs/boehm-gc/metadata.xml
new file mode 100644
index 000000000000..89de980746b6
--- /dev/null
+++ b/dev-libs/boehm-gc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>sera@gentoo.org</email>
+ <name>Ralph Sennhauser</name>
+ </maintainer>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>