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]

Reply via email to