Blob Blame History Raw
diff -ur z88dk/src/copt/copt.c z88dk-64bit/src/copt/copt.c
--- z88dk/src/copt/copt.c	2002-09-15 19:10:07.000000000 +0200
+++ z88dk-64bit/src/copt/copt.c	2012-11-06 23:40:53.000000000 +0100
@@ -507,12 +507,12 @@
 		/* check for activation rules */
 		if (o->o_new && strcmp(o->o_new->l_text, "%activate\n") == 0) {
 			/* we have to prevent repeated activation of rules */
-			char signature[160];
+			char signature[240];
 			struct lnode *lnp;
 			struct onode *nn, *last;
 			int skip = 0;
 			/* since we 'install()' strings, we can compare pointers */
-			sprintf(signature, "%s%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x\n",
+			sprintf(signature, (sizeof(char*)>4)?"%s%016lx%016lx%016lx%016lx%016lx%016lx%016lx%016lx%016lx%016lx\n":"%s%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx\n",
 				activated,
 				vars[0], vars[1], vars[2], vars[3], vars[4],
 				vars[5], vars[6], vars[7], vars[8], vars[9]);
diff -ur z88dk/src/sccz80/io.c z88dk-64bit/src/sccz80/io.c
--- z88dk/src/sccz80/io.c	2009-06-21 23:16:52.000000000 +0200
+++ z88dk-64bit/src/sccz80/io.c	2012-11-06 23:40:53.000000000 +0100
@@ -334,7 +334,7 @@
 }
 
 
-void outdec(long number)
+void outdec(int number)
 {
         if ( number < 0 ) {
 		number=-number;
@@ -344,7 +344,7 @@
         outd2(number);
 }
 
-void outd2(long n)
+void outd2(int n)
 {
         if ( n > 9 ) {
                 outd2(n/10) ;
diff -ur z88dk/src/sccz80/io.h z88dk-64bit/src/sccz80/io.h
--- z88dk/src/sccz80/io.h	2009-06-21 23:16:52.000000000 +0200
+++ z88dk-64bit/src/sccz80/io.h	2012-11-06 23:40:53.000000000 +0100
@@ -26,8 +26,8 @@
 extern void ol(char *ptr);
 extern void ot(char *ptr);
 extern void blanks(void);
-extern void outdec(long number);
-extern void outd2(long n);
+extern void outdec(int number);
+extern void outd2(int n);
 extern void queuelabel(int);
 
 typedef struct {
diff -ur z88dk/src/sccz80/primary.c z88dk-64bit/src/sccz80/primary.c
--- z88dk/src/sccz80/primary.c	2009-09-06 20:58:37.000000000 +0200
+++ z88dk-64bit/src/sccz80/primary.c	2012-11-06 23:42:18.000000000 +0100
@@ -739,7 +739,7 @@
 	SYMBOL  *ptr;
     char    temp_type;
     int     itag;
-    char    nam[20];
+    char    nam[24];
 
 
 
diff -ur z88dk/src/z80asm/config.h z88dk-64bit/src/z80asm/config.h
--- z88dk/src/z80asm/config.h	2012-05-25 04:00:28.000000000 +0200
+++ z88dk-64bit/src/z80asm/config.h	2012-11-06 23:40:53.000000000 +0100
@@ -150,6 +150,12 @@
 #define MAXCODESIZE 65536
 #endif
 
+#ifdef __linux__
+#include <endian.h>
+#if __BYTE_ORDER == __BIG_ENDIAN
+#define ENDIAN 1
+#endif
+#else
 /* Some clever config-ing if we're using GNUC */
 #ifdef __BIG_ENDIAN__
 /* Sadly the compiler on OS-X falls over with the #if below... */
@@ -161,6 +167,7 @@
 #endif
 #endif  /* __GNUC__ */
 #endif
+#endif
 
 /* File name extension separator */
 #ifdef QDOS
diff -ur z88dk/src/z80asm/options.c z88dk-64bit/src/z80asm/options.c
--- z88dk/src/z80asm/options.c	2012-11-04 04:00:45.000000000 +0100
+++ z88dk-64bit/src/z80asm/options.c	2012-11-06 23:40:53.000000000 +0100
@@ -395,7 +395,7 @@
 
     else if ( *flagid == 'r' )
     {
-        sscanf( flagid + 1, "%x", &EXPLICIT_ORIGIN );
+        sscanf( flagid + 1, "%lx", &EXPLICIT_ORIGIN );
         deforigin = ON;         /* explicit origin has been defined */
     }