summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>2008-02-19 21:29:26 +0000
committerandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>2008-02-19 21:29:26 +0000
commit0c7589c8dde7e5b97c8ca43873cdf2287c8900ff (patch)
treeb5eb56b596e3b3c62b9334b31da2c0edbc70cc26
parentd704ea82c2f91525a814bd0e262be32015b78fc2 (diff)
downloadgcc-0c7589c8dde7e5b97c8ca43873cdf2287c8900ff.tar.gz
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). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132452 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--boehm-gc/ChangeLog7
-rw-r--r--boehm-gc/dyn_load.c17
-rw-r--r--boehm-gc/include/private/gc_priv.h12
3 files changed, 20 insertions, 16 deletions
diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 79eb91abb1e..da28024df17 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 27c1b07387a..f205be2823d 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 41c75d3bb62..fdebe3688a5 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