From 6656fda37b7354784b395dffbdd4049c441b4e99 Mon Sep 17 00:00:00 2001
From: Andreas Tobler <a.tobler@schweiz.org>
Date: Tue, 19 Feb 2008 21:29:26 +0000
Subject: [PATCH] dyn_load.c (GC_dyld_image_add): Remove ifdef clause and use
 the macro GC_GETSECTBYNAME instead.

2007-02-19  Andreas Tobler  <a.tobler@schweiz.org>

	* dyn_load.c (GC_dyld_image_add): Remove ifdef clause and use the macro
	GC_GETSECTBYNAME instead.
	* include/private/gc_priv.h: Define GC_GETSECTBYNAME according to the
	architecture (Darwin).

From-SVN: r132452
---
 boehm-gc/ChangeLog                 |  7 +++++++
 boehm-gc/dyn_load.c                | 17 +++++------------
 boehm-gc/include/private/gc_priv.h | 12 ++++++++----
 3 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 79eb91abb1e4..da28024df175 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,10 @@
+2007-02-19  Andreas Tobler  <a.tobler@schweiz.org>
+
+	* dyn_load.c (GC_dyld_image_add): Remove ifdef clause and use the macro
+	GC_GETSECTBYNAME instead.
+	* include/private/gc_priv.h: Define GC_GETSECTBYNAME according to the
+	architecture (Darwin).
+
 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
 
 	* include/private/gcconfig.h (HBLKSIZE): Define for MIPS.
diff --git a/boehm-gc/dyn_load.c b/boehm-gc/dyn_load.c
index 27c1b07387aa..f205be2823d1 100644
--- a/boehm-gc/dyn_load.c
+++ b/boehm-gc/dyn_load.c
@@ -1168,12 +1168,9 @@ static void GC_dyld_image_add(const struct GC_MACH_HEADER *hdr, intptr_t slide)
     const struct GC_MACH_SECTION *sec;
     if (GC_no_dls) return;
     for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
-#   if defined (__LP64__)
-      sec = getsectbynamefromheader_64(
-#   else
-      sec = getsectbynamefromheader(
-#   endif
-            hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
+
+      sec = GC_GETSECTBYNAME (hdr, GC_dyld_sections[i].seg,
+			      GC_dyld_sections[i].sect);
         if(sec == NULL || sec->size == 0) continue;
         start = slide + sec->addr;
         end = start + sec->size;
@@ -1194,12 +1191,8 @@ static void GC_dyld_image_remove(const struct GC_MACH_HEADER *hdr,
     unsigned long start,end,i;
     const struct GC_MACH_SECTION *sec;
     for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
-#   if defined (__LP64__)
-      sec = getsectbynamefromheader_64(
-#   else
-      sec = getsectbynamefromheader(
-#   endif
-            hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
+      sec = GC_GETSECTBYNAME (hdr, GC_dyld_sections[i].seg,
+			      GC_dyld_sections[i].sect);
         if(sec == NULL || sec->size == 0) continue;
         start = slide + sec->addr;
         end = start + sec->size;
diff --git a/boehm-gc/include/private/gc_priv.h b/boehm-gc/include/private/gc_priv.h
index 41c75d3bb62c..fdebe3688a52 100644
--- a/boehm-gc/include/private/gc_priv.h
+++ b/boehm-gc/include/private/gc_priv.h
@@ -472,16 +472,18 @@ extern GC_warn_proc GC_current_warn_proc;
 #      if defined(POWERPC)
 #              if CPP_WORDSZ == 32
 #                define GC_THREAD_STATE_T ppc_thread_state_t
-#		  define GC_MACH_THREAD_STATE PPC_THREAD_STATE
-#		  define GC_MACH_THREAD_STATE_COUNT PPC_THREAD_STATE_COUNT
+#		 define GC_MACH_THREAD_STATE PPC_THREAD_STATE
+#		 define GC_MACH_THREAD_STATE_COUNT PPC_THREAD_STATE_COUNT
 #                define GC_MACH_HEADER mach_header
 #                define GC_MACH_SECTION section
+#                define GC_GETSECTBYNAME getsectbynamefromheader
 #              else
 #                define GC_THREAD_STATE_T ppc_thread_state64_t
-#		  define GC_MACH_THREAD_STATE PPC_THREAD_STATE64
-#		  define GC_MACH_THREAD_STATE_COUNT PPC_THREAD_STATE64_COUNT
+#		 define GC_MACH_THREAD_STATE PPC_THREAD_STATE64
+#		 define GC_MACH_THREAD_STATE_COUNT PPC_THREAD_STATE64_COUNT
 #                define GC_MACH_HEADER mach_header_64
 #                define GC_MACH_SECTION section_64
+#                define GC_GETSECTBYNAME getsectbynamefromheader_64
 #              endif
 #      elif defined(I386) || defined(X86_64)
 #              if CPP_WORDSZ == 32
@@ -490,12 +492,14 @@ extern GC_warn_proc GC_current_warn_proc;
 #                define GC_MACH_THREAD_STATE_COUNT x86_THREAD_STATE32_COUNT
 #                define GC_MACH_HEADER mach_header
 #                define GC_MACH_SECTION section
+#                define GC_GETSECTBYNAME getsectbynamefromheader
 #              else
 #                define GC_THREAD_STATE_T x86_thread_state64_t
 #                define GC_MACH_THREAD_STATE x86_THREAD_STATE64
 #                define GC_MACH_THREAD_STATE_COUNT x86_THREAD_STATE64_COUNT
 #                define GC_MACH_HEADER mach_header_64
 #                define GC_MACH_SECTION section_64
+#                define GC_GETSECTBYNAME getsectbynamefromheader_64
 #              endif
 #      else
 #              error define GC_THREAD_STATE_T
-- 
GitLab