PATCH: fix VICE-1.14 build

Nate Lawson nate at root.org
Thu Sep 16 22:15:42 PDT 2004


Attached is a patch to fix the build of the VICE emulator with gcc-3.4. 
  The original code is incorrect in the number of args it specifies for 
regparm().  I'm ccing the maintainer of VICE so they can integrate this 
patch into the main dist.  For now, it probably makes sense to apply it 
locally with the port so we can unbreak it.

-Nate
-------------- next part --------------
--- work/vice-1.14/src/via.h.orig	Thu Sep 16 21:57:35 2004
+++ work/vice-1.14/src/via.h	Thu Sep 16 21:57:49 2004
@@ -153,11 +153,11 @@
 extern void viacore_signal(struct via_context_s *via_context, int line,
                            int edge);
 
-extern void REGPARM2 viacore_store(struct via_context_s *via_context,
+extern void REGPARM3 viacore_store(struct via_context_s *via_context,
                                    WORD addr, BYTE data);
-extern BYTE REGPARM1 viacore_read(struct via_context_s *via_context,
+extern BYTE REGPARM2 viacore_read(struct via_context_s *via_context,
                                   WORD addr);
-extern BYTE REGPARM1 viacore_peek(struct via_context_s *via_context,
+extern BYTE REGPARM2 viacore_peek(struct via_context_s *via_context,
                                   WORD addr);
 
 extern int viacore_snapshot_write_module(struct via_context_s *via_context,
--- work/vice-1.14/src/cia.h.orig	Thu Sep 16 21:57:08 2004
+++ work/vice-1.14/src/cia.h	Thu Sep 16 21:57:18 2004
@@ -138,11 +138,11 @@
                          struct clk_guard_s *clk_guard);
 extern void ciacore_shutdown(cia_context_t *cia_context);
 extern void ciacore_reset(struct cia_context_s *cia_context);
-extern void REGPARM2 ciacore_store(struct cia_context_s *cia_context,
+extern void REGPARM3 ciacore_store(struct cia_context_s *cia_context,
                                    WORD addr, BYTE data);
-extern BYTE REGPARM1 ciacore_read(struct cia_context_s *cia_context,
+extern BYTE REGPARM2 ciacore_read(struct cia_context_s *cia_context,
                                   WORD addr);
-extern BYTE REGPARM1 ciacore_peek(struct cia_context_s *cia_context,
+extern BYTE REGPARM2 ciacore_peek(struct cia_context_s *cia_context,
                                   WORD addr);
 
 extern void ciacore_set_flag(struct cia_context_s *cia_context);
--- work/vice-1.14/src/c64/c64tpi.c.orig	Thu Sep 16 22:00:01 2004
+++ work/vice-1.14/src/c64/c64tpi.c	Thu Sep 16 22:00:12 2004
@@ -46,17 +46,17 @@
 #define mytpi_set_int tpi_set_int
 
 
-void REGPARM3 tpi_store(WORD addr, BYTE data)
+void REGPARM2 tpi_store(WORD addr, BYTE data)
 {
     tpicore_store(machine_context.tpi1, addr, data);
 }
 
-BYTE REGPARM2 tpi_read(WORD addr)
+BYTE REGPARM1 tpi_read(WORD addr)
 {
     return tpicore_read(machine_context.tpi1, addr);
 }
 
-BYTE REGPARM2 tpi_peek(WORD addr)
+BYTE REGPARM1 tpi_peek(WORD addr)
 {
     return tpicore_peek(machine_context.tpi1, addr);
 }
--- work/vice-1.14/src/cbm2/cbm2tpi1.c.orig	Thu Sep 16 22:01:40 2004
+++ work/vice-1.14/src/cbm2/cbm2tpi1.c	Thu Sep 16 22:01:53 2004
@@ -47,17 +47,17 @@
 #include "types.h"
 
 
-void REGPARM3 tpi1_store(WORD addr, BYTE data)
+void REGPARM2 tpi1_store(WORD addr, BYTE data)
 {
     tpicore_store(machine_context.tpi1, addr, data);
 }
 
-BYTE REGPARM2 tpi1_read(WORD addr)
+BYTE REGPARM1 tpi1_read(WORD addr)
 {
     return tpicore_read(machine_context.tpi1, addr);
 }
 
-BYTE REGPARM2 tpi1_peek(WORD addr)
+BYTE REGPARM1 tpi1_peek(WORD addr)
 {
     return tpicore_peek(machine_context.tpi1, addr);
 }
--- work/vice-1.14/src/cbm2/cbm2tpi2.c.orig	Thu Sep 16 22:02:11 2004
+++ work/vice-1.14/src/cbm2/cbm2tpi2.c	Thu Sep 16 22:02:23 2004
@@ -41,17 +41,17 @@
 #include "types.h"
 
 
-void REGPARM3 tpi2_store(WORD addr, BYTE data)
+void REGPARM2 tpi2_store(WORD addr, BYTE data)
 {
     tpicore_store(machine_context.tpi2, addr, data);
 }
 
-BYTE REGPARM2 tpi2_read(WORD addr)
+BYTE REGPARM1 tpi2_read(WORD addr)
 {
     return tpicore_read(machine_context.tpi2, addr);
 }
 
-BYTE REGPARM2 tpi2_peek(WORD addr)
+BYTE REGPARM1 tpi2_peek(WORD addr)
 {
     return tpicore_peek(machine_context.tpi2, addr);
 }


More information about the freebsd-ports mailing list