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?

Luckily the problem is easily avoidable by using a pc relative jump as
done in the attached patch.
Thanks very much! I'll include it soon.

diff -ur cln-1.1.13.old/include/cln/modules.h cln-1.1.13/include/cln/modules.h
--- cln-1.1.13.old/include/cln/modules.h        2006-05-07 22:51:58.000000000 
+0200
+++ cln-1.1.13/include/cln/modules.h    2006-09-16 14:56:05.000000000 +0200
@@ -136,7 +136,7 @@
    #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp " ASM_UNDERSCORE_PREFIX #addr)
  #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?

 -richy.

--
 .''`.  Richard B. Kreckel
: :' :  <[EMAIL PROTECTED]>
`. `'   <[EMAIL PROTECTED]>
  `-    <http://www.ginac.de/~kreckel/>



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to