Hi, On Tue, 19 Sep 2006, Richard B. Kreckel wrote:
> Roman Zippel wrote: > > > I checked the compile failure and it seems to be an assembler problem, > > but the constructor/desctructor hack is not completely blameless. > > It seems the assembler doesn't know how to generate the GOT entry for > > the duplicated jump destination. > > > That causes a "can't close cl_MI.o" error message? > What on earth is happening when it cannot close an output file? "close" means here that the assembler writes out some final data and stumbles across this symbol. I didn't look deeply what really goes wrong. > > #endif > > #if defined(__m68k__) > > - #define CL_JUMP_TO(addr) ASM_VOLATILE("jmp %0@" : : "a" > > ((void*)(addr))) > > + #define CL_JUMP_TO(addr) ASM_VOLATILE("jmp (" ASM_UNDERSCORE_PREFIX > > #addr ",%pc)") > > #endif > > #if defined(__mips__) || defined(__mipsel__) > > //#define CL_JUMP_TO(addr) ASM_VOLATILE("%*j %0" : : "d" > > ((void*)(addr))) > > > One question: are you aware of restrictions this patch poses on the assembler > used? What kind of restrictions? This part is specific to gcc and practically gas is the only assembler left, which is supported. bye, Roman -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]