Elf_Word* pP = (Elf_Word*)P;
Elf_Addr A = *pP;
Elf_Addr S;
+ void* S_tmp;
Elf_Addr value;
IF_DEBUG(linker,belch( "Rel entry %3d is raw(%6p %6p)",
} else {
/* No, so look up the name in our global table. */
symbol = strtab + sym.st_name;
- (void*)S = lookupSymbol( symbol );
+ S_tmp = lookupSymbol( symbol );
+ S = (Elf_Addr)S_tmp;
}
if (!S) {
belch("%s: unknown symbol `%s'", oc->fileName, symbol);
Elf_Addr info = rtab[j].r_info;
Elf_Addr A = rtab[j].r_addend;
Elf_Addr S;
+ void* S_tmp;
Elf_Addr value;
# if defined(sparc_TARGET_ARCH)
Elf_Word* pP = (Elf_Word*)P;
} else {
/* No, so look up the name in our global table. */
symbol = strtab + sym.st_name;
- (void*)S = lookupSymbol( symbol );
+ S_tmp = lookupSymbol( symbol );
+ S = (Elf_Addr)S_tmp;
#ifdef ELF_FUNCTION_DESC
/* If a function, already a function descriptor - we would
/* -----------------------------------------------------------------------------
- * $Id: Stable.c,v 1.28 2004/08/13 13:10:45 simonmar Exp $
+ * $Id: Stable.c,v 1.29 2004/08/22 15:50:42 panne Exp $
*
* (c) The GHC Team, 1998-2002
*
lookupStableName(StgPtr p)
{
StgWord sn;
+ void* sn_tmp;
if (stable_ptr_free == NULL) {
enlargeStablePtrTable();
*/
p = (StgPtr)removeIndirections((StgClosure*)p);
- (void *)sn = lookupHashTable(addrToStableHash,(W_)p);
+ sn_tmp = lookupHashTable(addrToStableHash,(W_)p);
+ sn = (StgWord)sn_tmp;
if (sn != 0) {
ASSERT(stable_ptr_table[sn].addr == p);
return sn;
} else {
sn = stable_ptr_free - stable_ptr_table;
- (P_)stable_ptr_free = stable_ptr_free->addr;
+ stable_ptr_free = (snEntry*)(stable_ptr_free->addr);
stable_ptr_table[sn].ref = 0;
stable_ptr_table[sn].addr = p;
stable_ptr_table[sn].sn_obj = NULL;
continue;
} else {
- (StgClosure *)p->addr = isAlive((StgClosure *)p->addr);
+ p->addr = (StgPtr)isAlive((StgClosure *)p->addr);
IF_DEBUG(stable, fprintf(stderr,"Stable name %d still alive at %p, ref %d\n", p - stable_ptr_table, p->addr, p->ref));
}
}