mirror of https://github.com/bebbo/amiga-gcc.git
fix mui asm clobber
This commit is contained in:
parent
4e2724e38e
commit
c2d966664f
|
@ -0,0 +1,245 @@
|
|||
--- libmui.c 2023-04-27 12:59:33.348672817 +0200
|
||||
+++ libmui.c 2023-04-27 12:51:04.728764400 +0200
|
||||
@@ -35,7 +35,7 @@
|
||||
__asm volatile ("jsr a6@(-30:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (cl), "r" (tags)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
__asm volatile ("jsr a6@(-36:W)"
|
||||
: /* No output */
|
||||
: "r" (_base), "r" (obj)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d0", "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
}
|
||||
|
||||
LONG
|
||||
@@ -74,7 +74,7 @@
|
||||
__asm volatile ("jsr a6@(-42:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (app), "r" (win), "r" (flags), "r" (title), "r" (gadgets), "r" (format), "r" (params)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
__asm volatile ("jsr a6@(-48:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (type), "r" (tags)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
__asm volatile ("jsr a6@(-54:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (req), "r" (tags)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
__asm volatile ("jsr a6@(-60:W)"
|
||||
: /* No output */
|
||||
: "r" (_base), "r" (req)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d0", "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
}
|
||||
|
||||
LONG
|
||||
@@ -179,7 +179,7 @@
|
||||
__asm volatile ("jsr a6@(-78:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (name)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
__asm volatile ("jsr a6@(-84:W)"
|
||||
: /* No output */
|
||||
: "r" (_base), "r" (cl)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d0", "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
}
|
||||
|
||||
VOID
|
||||
@@ -206,7 +206,7 @@
|
||||
__asm volatile ("jsr a6@(-90:W)"
|
||||
: /* No output */
|
||||
: "r" (_base), "r" (obj), "r" (flags)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
}
|
||||
|
||||
VOID
|
||||
@@ -219,7 +219,7 @@
|
||||
__asm volatile ("jsr a6@(-96:W)"
|
||||
: /* No output */
|
||||
: "r" (_base), "r" (obj), "r" (flags)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
}
|
||||
|
||||
VOID
|
||||
@@ -232,7 +232,7 @@
|
||||
__asm volatile ("jsr a6@(-102:W)"
|
||||
: /* No output */
|
||||
: "r" (_base), "r" (obj), "r" (flags)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
}
|
||||
|
||||
struct Library;
|
||||
@@ -251,7 +251,7 @@
|
||||
__asm volatile ("jsr a6@(-108:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (base), "r" (supername), "r" (supermcc), "r" (datasize), "r" (dispatcher)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -266,7 +266,7 @@
|
||||
__asm volatile ("jsr a6@(-114:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (mcc)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -281,7 +281,7 @@
|
||||
__asm volatile ("jsr a6@(-120:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (type), "r" (params)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -306,7 +306,7 @@
|
||||
__asm volatile ("jsr a6@(-126:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (obj), "r" (l), "r" (t), "r" (w), "r" (h), "r" (flags)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "a1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -324,7 +324,7 @@
|
||||
__asm volatile ("jsr a6@(-156:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (mri), "r" (spec), "r" (flags)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -339,7 +339,7 @@
|
||||
__asm volatile ("jsr a6@(-162:W)"
|
||||
: /* No output */
|
||||
: "r" (_base), "r" (mri), "r" (pen)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
}
|
||||
|
||||
struct MUI_RenderInfo;
|
||||
@@ -357,7 +357,7 @@
|
||||
__asm volatile ("jsr a6@(-168:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (mri), "r" (l), "r" (t), "r" (w), "r" (h)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "a1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -372,7 +372,7 @@
|
||||
__asm volatile ("jsr a6@(-174:W)"
|
||||
: /* No output */
|
||||
: "r" (_base), "r" (mri), "r" (h)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d0", "d1", "fp0", "fp1", "cc", "memory");
|
||||
}
|
||||
|
||||
struct MUI_RenderInfo;
|
||||
@@ -388,7 +388,7 @@
|
||||
__asm volatile ("jsr a6@(-180:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (mri), "r" (region)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -403,7 +403,7 @@
|
||||
__asm volatile ("jsr a6@(-186:W)"
|
||||
: /* No output */
|
||||
: "r" (_base), "r" (mri), "r" (region)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d0", "d1", "fp0", "fp1", "cc", "memory");
|
||||
}
|
||||
|
||||
struct MUI_RenderInfo;
|
||||
@@ -418,7 +418,7 @@
|
||||
__asm volatile ("jsr a6@(-192:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (mri), "r" (flags)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -433,7 +433,7 @@
|
||||
__asm volatile ("jsr a6@(-198:W)"
|
||||
: /* No output */
|
||||
: "r" (_base), "r" (mri), "r" (flags)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
}
|
||||
|
||||
ULONG
|
||||
@@ -446,7 +446,7 @@
|
||||
__asm volatile ("jsr a6@(-216:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (obj)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -460,7 +460,7 @@
|
||||
__asm volatile ("jsr a6@(-222:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (obj)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "d1", "a1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -479,7 +479,7 @@
|
||||
__asm volatile ("jsr a6@(-228:W)"
|
||||
: "=r" (_res)
|
||||
: "r" (_base), "r" (obj), "r" (l), "r" (t), "r" (w), "r" (h), "r" (flags)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "a1", "fp0", "fp1", "cc", "memory");
|
||||
return _res;
|
||||
}
|
||||
|
||||
@@ -494,7 +494,7 @@
|
||||
__asm volatile ("jsr a6@(-234:W)"
|
||||
: /* No output */
|
||||
: "r" (_base), "r" (obj), "r" (x), "r" (y)
|
||||
- : "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
|
||||
+ : "a1", "fp0", "fp1", "cc", "memory");
|
||||
}
|
||||
|
||||
|
15
sdk/install
15
sdk/install
|
@ -96,6 +96,21 @@ case $1 in
|
|||
echo $3/bin/m68k-amigaos-ar r $3/m68k-amigaos/lib/lib$2.a build/$2/lib$2.o
|
||||
$3/bin/m68k-amigaos-ar r $3/m68k-amigaos/lib/lib$2.a build/$2/lib$2.o || exit 1
|
||||
;;
|
||||
liba)
|
||||
sfd=${a[1]}
|
||||
file=$(basename $sfd)
|
||||
name=${file%????}
|
||||
$3/bin/sfdc --mode=stubs --target=m68k-amigaos --output=build/$2/lib$2.c $3/m68k-amigaos/lib/sfd/$name.sfd || exit 1
|
||||
sed -i.bak -e 's/__inline//g' -e 's/: \"d0\",/:/g' build/$2/lib$2.c || exit 1
|
||||
rm build/$2/lib$2.c.bak
|
||||
;;
|
||||
libc)
|
||||
echo $3/bin/m68k-amigaos-gcc -Os -noixemul -fomit-frame-pointer build/$2/lib$2.c -c
|
||||
$3/bin/m68k-amigaos-gcc -Os -noixemul -fomit-frame-pointer build/$2/lib$2.c -c -o build/$2/lib$2.o || exit 1
|
||||
echo $3/bin/m68k-amigaos-ar r $3/m68k-amigaos/lib/lib$2.a build/$2/lib$2.o
|
||||
$3/bin/m68k-amigaos-ar r $3/m68k-amigaos/lib/lib$2.a build/$2/lib$2.o || exit 1
|
||||
;;
|
||||
|
||||
redirinc)
|
||||
echo creating redirecting header $3/m68k-amigaos/include/${a[1]}
|
||||
echo "#include \"${a[2]}\"" >$3/m68k-amigaos/include/${a[1]}
|
||||
|
|
|
@ -111,7 +111,9 @@ SDK/MUI/sfd/muimaster_lib.sfd
|
|||
fd2sfd : muimaster_lib.fd clib/muimaster_protos.h
|
||||
sfdc : muimaster_lib.sfd muimaster.h muimaster_lib.h
|
||||
stubs : muimaster_lib.sfd
|
||||
lib : muimaster_lib.sfd
|
||||
liba : muimaster_lib.sfd
|
||||
patch : SDK/MUI/C/include/libraries/mui.h
|
||||
patch : libmui.c
|
||||
libc : muimaster_lib.sfd
|
||||
sed : m68k-amigaos/include/proto/muimaster_lib.h "s/(#\s+include <inline\/muimaster_lib.h>)/#define NO_INLINE_STDARG\n#define NO_INLINE_VARARGS\n\1\n#undef NO_INLINE_STDARG\n#undef NO_INLINE_VARARGS\n/g"
|
||||
symlink: include/proto/muimaster_lib.h include/proto/muimaster.h
|
Loading…
Reference in New Issue