1 /* -----------------------------------------------------------------------------
2 * $Id: Linker.h,v 1.1 2000/10/06 15:33:27 simonmar Exp $
4 * (c) The GHC Team, 2000
8 * ---------------------------------------------------------------------------*/
10 /* initialize the object linker */
11 void initLinker( void );
13 /* lookup a symbol in the hash table */
14 void *lookupSymbol( char *lbl );
16 /* delete an object from the pool */
17 HsInt unloadObj( char *path );
19 /* add an obj (populate the global symbol table, but don't resolve yet) */
20 HsInt loadObj( char *path );
22 /* resolve all the currently unlinked objects in memory */
23 HsInt resolveObjs( void );
25 /* These three are used by the garbage collector (see ClosureMacros.h,
27 int is_dynamically_loaded_code_or_rodata_ptr ( char* p );
28 int is_dynamically_loaded_rwdata_ptr ( char* p );
29 int is_not_dynamically_loaded_ptr ( char* p );