]> www.ginac.de Git - cln.git/commitdiff
* include/cln/modules.h (CL_JUMP_TO): Fix IA64 brokenness.
authorRichard Kreckel <kreckel@ginac.de>
Mon, 5 Mar 2001 17:24:08 +0000 (17:24 +0000)
committerRichard Kreckel <kreckel@ginac.de>
Mon, 5 Mar 2001 17:24:08 +0000 (17:24 +0000)
ChangeLog
include/cln/modules.h

index e06e8eebb84dd3de3b563a7334fe1520f963bd38..189d7b7b84f17b0f8aa9b478787063fc9f20e1ff 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2001-03-05  Richard Kreckel  <kreckel@ginac.de>
+
+        * include/cln/modules.h (CL_JUMP_TO): Fix IA64 brokenness.
+
 2001-01-28  Richard Kreckel  <kreckel@ginac.de>
 
         * include/cln/number.h (cl_as_N): Remove bogus comment.
index 00be8355907392a6dabbe5ed42e076504c6c5233..33bce47cb5902bf573bcae2b80668fdd353ebcd7 100644 (file)
     #define ASM_UNDERSCORE_PREFIX ""
   #endif
   // Globalize a label defined in the same translation unit.
-  // See macro ASM_GLOBALIZE_LABEL in the egcs sources.
+  // See macro ASM_GLOBALIZE_LABEL in the gcc sources.
   #if defined(__i386__) || defined(__m68k__) || defined(__mips__) || defined(__mips64__) || defined(__alpha__) || defined(__rs6000__)
     // Some m68k systems use "xdef" or "global" or ".global"...
     #define CL_GLOBALIZE_LABEL(label)  __asm__("\t.globl " label);
   #endif
-  #if defined(__sparc__) || defined(__sparc64__) || defined(__arm__)
+  #if defined(__sparc__) || defined(__sparc64__) || defined(__arm__) || defined(__ia64__)
     // Some arm systems use "EXPORT" or ".globl"...
     #define CL_GLOBALIZE_LABEL(label)  __asm__("\t.global " label);
   #endif
@@ -81,9 +81,6 @@
   #if defined(__convex__)
     #define CL_GLOBALIZE_LABEL(label)  __asm__(".globl " label);
   #endif
-  #if defined(__ia64__)
-    #define CL_GLOBALIZE_LABEL(label)  __asm__("\t.global " label);
-  #endif
   #ifndef CL_GLOBALIZE_LABEL
     #define CL_GLOBALIZE_LABEL(label)
   #endif
@@ -98,7 +95,7 @@
     #define CL_GLOBALIZE_CTORDTOR_LABEL(label)
   #endif
   // Output a label inside a function.
-  // See macro ASM_OUTPUT_LABEL in the egcs sources.
+  // See macro ASM_OUTPUT_LABEL in the gcc sources.
   #if defined(__hppa__)
     #define CL_OUTPUT_LABEL(label)  ASM_VOLATILE ("\n" label)
   #else
     #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp (%0)" : : "r" ((void*)(addr)))
   #endif
   #if defined(__ia64__)
-    #define CL_JUMP_TO(addr)  ASM_VOLATILE("br %0" : : "b" ((void*)(addr)))
+    #define CL_JUMP_TO(addr)  ASM_VOLATILE("br " #addr)
   #endif
   #define CL_PROVIDE(module)  \
     extern "C" void cl_module__##module##__firstglobalfun () {}                \