gc/0001-Fix-visibility-of-GC_clear-set_mark_bit-unhide-symbo.patch

56 lines
1.8 KiB
Diff
Raw Normal View History

From 5563e13d2b1b5c063bdabe720303d8068a07dcae Mon Sep 17 00:00:00 2001
From: Ivan Maidanski <ivmai@mail.ru>
Date: Sat, 2 Jun 2012 11:13:19 +0400
Subject: [PATCH 1/9] Fix visibility of GC_clear/set_mark_bit (unhide symbols)
* include/private/gc_priv.h (GC_clear_mark_bit, GC_set_mark_bit):
Declare as GC_API_PRIV (instead of GC_INNER) to make the symbol
externally visible to 3rd-party software (e.g., ECL).
* mark.c (GC_set_mark_bit, GC_clear_mark_bit): Remove GC_INNER (to
match the declaration).
---
include/private/gc_priv.h | 4 ++--
mark.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h
index 8eefb70..5afa916 100644
--- a/include/private/gc_priv.h
+++ b/include/private/gc_priv.h
@@ -1905,8 +1905,8 @@ GC_EXTERN GC_bool GC_print_back_height;
/* Slow/general mark bit manipulation: */
GC_API_PRIV GC_bool GC_is_marked(ptr_t p);
-GC_INNER void GC_clear_mark_bit(ptr_t p);
-GC_INNER void GC_set_mark_bit(ptr_t p);
+GC_API_PRIV void GC_clear_mark_bit(ptr_t p);
+GC_API_PRIV void GC_set_mark_bit(ptr_t p);
/* Stubborn objects: */
void GC_read_changed(void); /* Analogous to GC_read_dirty */
diff --git a/mark.c b/mark.c
index 41a7af5..746f1bd 100644
--- a/mark.c
+++ b/mark.c
@@ -187,7 +187,7 @@ static void clear_marks_for_block(struct hblk *h, word dummy)
}
/* Slow but general routines for setting/clearing/asking about mark bits */
-GC_INNER void GC_set_mark_bit(ptr_t p)
+void GC_set_mark_bit(ptr_t p)
{
struct hblk *h = HBLKPTR(p);
hdr * hhdr = HDR(h);
@@ -199,7 +199,7 @@ GC_INNER void GC_set_mark_bit(ptr_t p)
}
}
-GC_INNER void GC_clear_mark_bit(ptr_t p)
+void GC_clear_mark_bit(ptr_t p)
{
struct hblk *h = HBLKPTR(p);
hdr * hhdr = HDR(h);
--
1.7.10.2