diff --git a/ghc/includes/Assembler.h b/ghc/includes/Assembler.h
index 913ec9eeb159c7709fcc222c697c9e42cdaad586..b7087129d0df53c2bb31cffd84967f5fb16d0d39 100644
--- a/ghc/includes/Assembler.h
+++ b/ghc/includes/Assembler.h
@@ -1,6 +1,6 @@
 
 /* -----------------------------------------------------------------------------
- * $Id: Assembler.h,v 1.6 1999/04/27 10:07:22 sewardj Exp $
+ * $Id: Assembler.h,v 1.7 1999/07/06 16:17:39 sewardj Exp $
  *
  * (c) The GHC Team 1994-1998.
  *
@@ -223,6 +223,7 @@ extern AsmBCO asm_BCO_seq   ( void );
  * ------------------------------------------------------------------------*/
 
 extern AsmVar asmClosure       ( AsmBCO bco, AsmObject p );
+extern AsmVar asmGHCClosure    ( AsmBCO bco, AsmObject p );
 
 extern AsmVar asmAllocCONSTR   ( AsmBCO bco, AsmInfo info );
 
diff --git a/ghc/includes/ClosureMacros.h b/ghc/includes/ClosureMacros.h
index 34b08c31bbfb0811d59539adf3e0567eee248914..07dfa09a572f9200d4137501575edb2524bb7c03 100644
--- a/ghc/includes/ClosureMacros.h
+++ b/ghc/includes/ClosureMacros.h
@@ -1,5 +1,5 @@
 /* ----------------------------------------------------------------------------
- * $Id: ClosureMacros.h,v 1.17 1999/06/25 09:13:37 simonmar Exp $
+ * $Id: ClosureMacros.h,v 1.18 1999/07/06 16:17:39 sewardj Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -102,9 +102,22 @@ extern StgFun start;
 extern void* TEXT_SECTION_END_MARKER_DECL;
 extern void* DATA_SECTION_END_MARKER_DECL;
 
+#ifdef INTERPRETER
+/* Take into account code sections in dynamically loaded object files. */
+#define IS_CODE_PTR(p) (  ((P_)(p) < (P_)&TEXT_SECTION_END_MARKER) \
+                       || is_dynamically_loaded_code_or_rodata_ptr(p) )
+#define IS_DATA_PTR(p) ( ((P_)(p) >= (P_)&TEXT_SECTION_END_MARKER && \
+                          (P_)(p) < (P_)&DATA_SECTION_END_MARKER) \
+                       || is_dynamically_loaded_rwdata_ptr(p) )
+#define IS_USER_PTR(p) ( ((P_)(p) >= (P_)&DATA_SECTION_END_MARKER) \
+                       && is_not_dynamically_loaded_ptr(p) )
+#else
 #define IS_CODE_PTR(p) ((P_)(p) < (P_)&TEXT_SECTION_END_MARKER)
 #define IS_DATA_PTR(p) ((P_)(p) >= (P_)&TEXT_SECTION_END_MARKER && (P_)(p) < (P_)&DATA_SECTION_END_MARKER)
 #define IS_USER_PTR(p) ((P_)(p) >= (P_)&DATA_SECTION_END_MARKER)
+#endif
+
+
 
 #ifdef HAVE_WIN32_DLL_SUPPORT
 extern int is_heap_alloced(const void* x);
diff --git a/ghc/includes/StgMiscClosures.h b/ghc/includes/StgMiscClosures.h
index 94bf651dc69e4721cc749a55c2d3c4e2c0925448..c1ac9f078e5a732d924098682ad49b4c52ae8dcb 100644
--- a/ghc/includes/StgMiscClosures.h
+++ b/ghc/includes/StgMiscClosures.h
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: StgMiscClosures.h,v 1.13 1999/05/21 14:46:21 sof Exp $
+ * $Id: StgMiscClosures.h,v 1.14 1999/07/06 16:17:40 sewardj Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -87,7 +87,8 @@ extern DLL_IMPORT_RTS const StgInfoTable dummy_ret_info;
 #ifdef INTERPRETER
 
 EXTFUN(Hugs_CONSTR_entry);
-extern const StgInfoTable ret_bco_info;
+
+extern const vec_info_8 ret_bco_info;
 
 #endif /* INTERPRETER */