From a8ac79420e525b9bfc396cc6031031ae49b9448c Mon Sep 17 00:00:00 2001
From: ljrittle <ljrittle@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu, 4 Apr 2002 20:49:38 +0000
Subject: [PATCH] 	* include/private/gcconfig.h: Add support for an
 unmapped 	memory hole between the end of the initialized data segment 
 and the start of the BSS on FreeBSD/i386.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51867 138bc75d-0d04-0410-961f-82ee72b054a4
---
 boehm-gc/ChangeLog                  | 6 ++++++
 boehm-gc/include/private/gcconfig.h | 8 ++++++++
 2 files changed, 14 insertions(+)

diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 571e792feb5a..4d2af97d3d40 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-04  Loren J. Rittle  <ljrittle@acm.org>
+
+	* include/private/gcconfig.h: Add support for an unmapped
+	memory hole between the end of the initialized data segment
+	and the start of the BSS on FreeBSD/i386.
+
 2002-03-30  Krister Walfridsson  <cato@df.lth.se>
 
 	* include/private/gcconfig.h: define DYNAMIC_LOADING for ELF
diff --git a/boehm-gc/include/private/gcconfig.h b/boehm-gc/include/private/gcconfig.h
index efbfc39c79ab..a3f468f68911 100644
--- a/boehm-gc/include/private/gcconfig.h
+++ b/boehm-gc/include/private/gcconfig.h
@@ -1058,8 +1058,16 @@
 #	ifdef __ELF__
 #	    define DYNAMIC_LOADING
 #	endif
+/* Handle unmapped hole i386*-*-freebsd[45]* may put between etext and edata. */
 	extern char etext[];
+	extern char edata[];
+	extern char end[];
+#	define NEED_FIND_LIMIT
 #	define DATASTART ((ptr_t)(etext))
+#   	define MIN(x,y) ((x) < (y) ? (x) : (y))
+#	define DATAEND (MIN (GC_find_limit (DATASTART, TRUE), DATASTART2))
+#	define DATASTART2 ((ptr_t)(edata))
+#	define DATAEND2 ((ptr_t)(end))
 #   endif
 #   ifdef NETBSD
 #	define OS_TYPE "NETBSD"
-- 
GitLab