X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FLinker.c;h=2dbcc150de1fec55fb0065ba79e2cb1de99a5c1f;hb=aee2068e034aca6ddaf6f20f85902137ecf718b7;hp=bd0b54398ea913045c251e0c0fdb3427e3dbb669;hpb=7cca410a40cccf0fbeda2155f307baa5619b8130;p=ghc-hetmet.git diff --git a/rts/Linker.c b/rts/Linker.c index bd0b543..2dbcc15 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -457,7 +457,6 @@ typedef struct _RtsSymbolVal { SymX(stg_block_1) \ SymX(stg_block_takemvar) \ SymX(stg_block_putmvar) \ - SymX(stg_seq_frame_info) \ MAIN_CAP_SYM \ SymX(MallocFailHook) \ SymX(OnExitHook) \ @@ -521,6 +520,8 @@ typedef struct _RtsSymbolVal { SymX(hs_free_stable_ptr) \ SymX(hs_free_fun_ptr) \ SymX(initLinker) \ + SymX(infoPtrzh_fast) \ + SymX(closurePayloadzh_fast) \ SymX(int2Integerzh_fast) \ SymX(integer2Intzh_fast) \ SymX(integer2Wordzh_fast) \ @@ -551,6 +552,7 @@ typedef struct _RtsSymbolVal { SymX(newMVarzh_fast) \ SymX(newMutVarzh_fast) \ SymX(newTVarzh_fast) \ + SymX(noDuplicatezh_fast) \ SymX(atomicModifyMutVarzh_fast) \ SymX(newPinnedByteArrayzh_fast) \ SymX(newSpark) \ @@ -698,14 +700,6 @@ typedef struct _RtsSymbolVal { SymX(xorIntegerzh_fast) \ SymX(yieldzh_fast) \ SymX(stg_interp_constr_entry) \ - SymX(stg_interp_constr1_entry) \ - SymX(stg_interp_constr2_entry) \ - SymX(stg_interp_constr3_entry) \ - SymX(stg_interp_constr4_entry) \ - SymX(stg_interp_constr5_entry) \ - SymX(stg_interp_constr6_entry) \ - SymX(stg_interp_constr7_entry) \ - SymX(stg_interp_constr8_entry) \ SymX(allocateExec) \ SymX(freeExec) \ SymX(getAllocations) \ @@ -806,10 +800,10 @@ static RtsSymbolVal rtsSyms[] = { - /* ----------------------------------------------------------------------------- * Insert symbols into hash tables, checking for duplicates. */ + static void ghciInsertStrHashTable ( char* obj_name, HashTable *table, char* key, @@ -839,8 +833,6 @@ static void ghciInsertStrHashTable ( char* obj_name, ); exit(1); } - - /* ----------------------------------------------------------------------------- * initialize the object linker */ @@ -1286,7 +1278,8 @@ loadObj( char *path ) // reading the file, and then we misalign oc->image on purpose so // that the actual sections end up aligned again. oc->misalignment = machoGetMisalignment(f); - oc->image = stgMallocBytes(oc->fileSize + misalignment, "loadObj(image)"); + oc->image = stgMallocBytes(oc->fileSize + oc->misalignment, "loadObj(image)"); + oc->image += oc->misalignment; # else oc->image = stgMallocBytes(oc->fileSize, "loadObj(image)"); # endif @@ -4359,3 +4352,4 @@ static int machoGetMisalignment( FILE * f ) } #endif +