Package: cln Severity: important Tags: patch Hi,
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. Luckily the problem is easily avoidable by using a pc relative jump as done in the attached patch. bye, Roman -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable') Architecture: m68k Shell: /bin/sh linked to /bin/dash Kernel: Linux 2.4.30 Locale: LANG=de_DE.UTF-8, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
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)))