diff --git a/patches/ira/Makefile.diff b/patches/ira/Makefile.diff index 9331fae..547bf3f 100644 --- a/patches/ira/Makefile.diff +++ b/patches/ira/Makefile.diff @@ -5,7 +5,7 @@ CC = gcc CCOUT = -o -COPTS = -c -O2 -+COPTS = -c -O2 -Wall -Wno-pointer-sign ++COPTS = -c -O2 -Wall -Wno-pointer-sign -Wno-unused-result LD = $(CC) LDOUT = $(CCOUT) LDFLAGS = diff --git a/patches/ira/ira.c.diff b/patches/ira/ira.c.diff index c8b5c00..3debd3d 100644 --- a/patches/ira/ira.c.diff +++ b/patches/ira/ira.c.diff @@ -1,5 +1,5 @@ --- ira/ira.c 2015-09-11 09:25:13.000000000 +0200 -+++ ira/ira.c 2015-09-11 09:19:33.000000000 +0200 ++++ ira/ira.c 2015-09-11 10:29:42.000000000 +0200 @@ -254,7 +254,7 @@ if (baseoff > 0) fprintf(f,"+%hd,A%hu\n",baseoff,basereg); @@ -36,6 +36,51 @@ if (!ptr3) base = area1; if (area1prgende || area2prgende) +@@ -1269,7 +1269,7 @@ + for(modulcnt=0;modulcnt99) k+=3; + else if (buf[j]>9) k+=2; + else k++; +@@ -1726,7 +1726,7 @@ + longs_per_line=0; + for(i=0;(ptr2-ptr1)>=sizeof(ULONG) && be32(buf)==0;ptr1+=sizeof(ULONG),buf+=sizeof(ULONG)) i++; + mnecat("DS.L"); +- adrcat(itoa(i)); ++ adrcat(itostr(i)); + Ausgabe(); + } + else { @@ -1833,7 +1833,7 @@ } @@ -45,6 +90,289 @@ if (LabelAdr2[p2labind]==adr && p2labind= prgstart && adr <= prgende)) + GetLabel(adr,mode); +@@ -2409,11 +2409,11 @@ + break; + case 19: /* TRAP */ + adrcat("#"); +- adrcat(itoa(sigw&0xF)); ++ adrcat(itostr(sigw&0xF)); + break; + case 20: /* moveq */ + adrcat("#"); +- adrcat(itoa((BYTE)(sigw&0x00FF))); ++ adrcat(itostr((BYTE)(sigw&0x00FF))); + break; + case 21: /* Bcc */ + if ((sigw&0x00ff)==0x00ff) { +@@ -2449,7 +2449,7 @@ + else { + if (P2WriteReloc()) return(-1); + adrcat("#"); +- adrcat(itoa((WORD)buf)); ++ adrcat(itostr((WORD)buf)); + } + break; + case 23: /* BTST,BCLR,... IMMEDIATE®ISTER,SOURCEOP ONLY */ +@@ -2473,7 +2473,7 @@ + if (buf&0xFFE0) + mode=NOADRMODE; + } +- adrcat(itoa(buf)); ++ adrcat(itostr(buf)); + } + extens=0; /* Set extension to BYTE (undefined before) */ + break; +@@ -2489,7 +2489,7 @@ + if (reg>7) mode=NOADRMODE; + adrcat("D"); + } +- adrcat(itoa(reg)); ++ adrcat(itostr(reg)); + adrcat(":"); + reg=(extra&0x001F); + if (extra&0x0020) { +@@ -2498,14 +2498,14 @@ + } + else + if (reg==0) reg = 32; +- adrcat(itoa(reg)); ++ adrcat(itostr(reg)); + adrcat("}"); + if (((sigw&0x0700)>>8)&1) { + /* BFEXTU, BFEXTS, BFFFO, BFINS */ + if (extra&0x8000) mode=NOADRMODE; + adrcat(",D"); + reg=(extra&0x7000)>>12; +- adrcat(itoa(reg)); ++ adrcat(itostr(reg)); + } + else { + if (extra&0xF000) mode=NOADRMODE; +@@ -2514,7 +2514,7 @@ + case 26: /* RTM */ + if (sigw&0x0008) adrcat("A"); + else adrcat("D"); +- adrcat(itoa(reg2)); ++ adrcat(itostr(reg2)); + break; + case 27: /* CAS2 SOURCE/DESTINATION */ + buf = be16(&buffer[prgcount]); +@@ -2525,24 +2525,24 @@ + if (buf&0x0e38 || extra&0x0e38) mode=NOADRMODE; + else { + adrcat("D"); +- adrcat(itoa(extra&7)); ++ adrcat(itostr(extra&7)); + adrcat(":"); + adrcat("D"); +- adrcat(itoa(buf&7)); ++ adrcat(itostr(buf&7)); + adrcat(","); + adrcat("D"); +- adrcat(itoa((extra&0x01c0)>>6)); ++ adrcat(itostr((extra&0x01c0)>>6)); + adrcat(":"); + adrcat("D"); +- adrcat(itoa((buf&0x01c0)>>6)); ++ adrcat(itostr((buf&0x01c0)>>6)); + adrcat(","); + if (extra&0x8000) adrcat("(A"); + else adrcat("(D"); +- adrcat(itoa((extra&0x7000)>>12)); ++ adrcat(itostr((extra&0x7000)>>12)); + adrcat("):"); + if (buf&0x8000) adrcat("(A"); + else adrcat("(D"); +- adrcat(itoa((buf&0x7000)>>12)); ++ adrcat(itostr((buf&0x7000)>>12)); + adrcat(")"); + } + break; +@@ -2553,10 +2553,10 @@ + if (extra&0xfe38) mode=NOADRMODE; + else { + adrcat("D"); +- adrcat(itoa(extra&7)); ++ adrcat(itostr(extra&7)); + adrcat(","); + adrcat("D"); +- adrcat(itoa((extra&0x01c0)>>6)); ++ adrcat(itostr((extra&0x01c0)>>6)); + } + break; + case 29: /* DIVIDE/MULTIPLY LONG SIGNED/UNSIGNED */ +@@ -2569,21 +2569,21 @@ + if (opcnumber == OPC_DIVL) { + if (!(extra&0x0400) && reg!=creg) mnecat("L"); + adrcat("D"); +- adrcat(itoa(creg)); ++ adrcat(itostr(creg)); + if ((extra&0x0400) || + (!(extra&0x0400) && reg!=creg)) { + adrcat(":D"); +- adrcat(itoa(reg)); ++ adrcat(itostr(reg)); + } + } + else { /* mul?.l */ + if (extra&0x0400) { + adrcat("D"); +- adrcat(itoa(creg)); ++ adrcat(itostr(creg)); + adrcat(":"); + } + adrcat("D"); +- adrcat(itoa(reg)); ++ adrcat(itostr(reg)); + } + mnecat(".L"); + } +@@ -2595,7 +2595,7 @@ + if (P2WriteReloc()) return(-1); + if (P2WriteReloc()) return(-1); + adrcat("#"); +- adrcat(itoa(displace)); ++ adrcat(itostr(displace)); + } + break; + case 31: /* MOVE16 POSTINCREMENT ONLY (DESTINATION) */ +@@ -2603,7 +2603,7 @@ + else { + if (P2WriteReloc()) return(-1); + adrcat("(A"); +- adrcat(itoa((buf&0x7000)>>12)); ++ adrcat(itostr((buf&0x7000)>>12)); + adrcat(")+"); + } + break; +@@ -2640,7 +2640,7 @@ + if (sigw&1) { + if (buf&0x8000) adrcat("A"); + else adrcat("D"); +- adrcat(itoa(reg)); ++ adrcat(itostr(reg)); + adrcat(","); + } + if (creg&0x0800) creg=(creg%8)+9; +@@ -2650,7 +2650,7 @@ + adrcat(","); + if (buf&0x8000) adrcat("A"); + else adrcat("D"); +- adrcat(itoa(reg)); ++ adrcat(itostr(reg)); + } + } + break; +@@ -2660,7 +2660,7 @@ + reg=(extra&0x7000)>>12; + if (extra&0x8000) adrcat("A"); + else adrcat("D"); +- adrcat(itoa(reg)); ++ adrcat(itostr(reg)); + } + break; + } @@ -2806,7 +2806,7 @@ if (!(strnicmp(odata,"OMPAT=",6))) { char c,*p = odata+6; diff --git a/patches/ira/ira_2.c.diff b/patches/ira/ira_2.c.diff index 04278a7..cee714d 100644 --- a/patches/ira/ira_2.c.diff +++ b/patches/ira/ira_2.c.diff @@ -1,6 +1,6 @@ --- ira/ira_2.c 2015-09-11 09:25:13.000000000 +0200 -+++ ira/ira_2.c 2015-09-11 09:17:20.000000000 +0200 -@@ -586,7 +588,7 @@ ++++ ira/ira_2.c 2015-09-11 10:29:42.000000000 +0200 +@@ -586,7 +586,7 @@ ULONG FileLength(UBYTE *name) { @@ -9,7 +9,21 @@ FILE *file; if (name) { if (!(file = fopen(name,"rb"))) -@@ -828,9 +830,9 @@ +@@ -811,11 +811,11 @@ + /* label outside of smalldata section always based on SECSTRT_n */ + if (!GetSymbol(moduloffs[basesec])) { + adrcat("SECSTRT_"); +- adrcat(itoa(basesec)); ++ adrcat(itostr(basesec)); + } + if (adr > (LONG)moduloffs[basesec]) + adrcat("+"); +- adrcat(itoa(adr-moduloffs[basesec])); ++ adrcat(itostr(adr-moduloffs[basesec])); + fprintf(stderr,"Base relative label not in section: %s\n",adrbuf); + return; + } +@@ -828,9 +828,9 @@ } if (LabelAdr[r]!=adr) { fprintf(stderr,"ADR=%08lx not found! (mode=%d) relocount=%ld nextreloc=%ld\n",(unsigned long)adr,(int)adrmode,(long)relocount,(long)nextreloc); @@ -22,7 +36,22 @@ adrcat("LAB_"); adrcat(itohex(adr,8)); return; -@@ -857,7 +859,7 @@ +@@ -845,24 +845,24 @@ + if (LabelAdr2[r] == moduloffs[RelocMod[nextreloc]]) { + if (!GetSymbol(LabelAdr[r2])) { + adrcat("SECSTRT_"); +- adrcat(itoa(RelocMod[nextreloc])); ++ adrcat(itostr(RelocMod[nextreloc])); + } + if ((dummy=RelocOff[nextreloc])) { + if ((LONG)RelocOff[nextreloc] > 0) adrcat("+"); +- adrcat(itoa(RelocOff[nextreloc])); ++ adrcat(itostr(RelocOff[nextreloc])); + } + else if ((dummy = LabelAdr[r2]-LabelAdr2[r])) { + adrcat("+"); +- adrcat(itoa(dummy)); ++ adrcat(itostr(dummy)); } } else { if (!GetSymbol(LabelAdr[r2])) { @@ -31,7 +60,27 @@ adrcat(buf); } if ((dummy = LabelAdr[r2]-LabelAdr2[r])) { -@@ -892,7 +894,7 @@ + adrcat("+"); +- adrcat(itoa(dummy)); ++ adrcat(itostr(dummy)); + } + } + } +@@ -881,23 +881,23 @@ + if (i >= 0) { + if (!GetSymbol(LabelAdr[r2])) { + adrcat("SECSTRT_"); +- adrcat(itoa(i)); ++ adrcat(itostr(i)); + } + if (adr > (LONG)moduloffs[i]) { + adrcat("+"); +- adrcat(itoa(adr-moduloffs[i])); ++ adrcat(itostr(adr-moduloffs[i])); + } + else if (adr < (LONG)moduloffs[i]) +- adrcat(itoa(adr-moduloffs[i])); ++ adrcat(itostr(adr-moduloffs[i])); } else { if (!GetSymbol(LabelAdr[r2])) { @@ -40,3 +89,35 @@ adrcat(buf); } if ((dummy = LabelAdr[r2]-LabelAdr2[r])) { + adrcat("+"); +- adrcat(itoa(dummy)); ++ adrcat(itostr(dummy)); + } + } + } +@@ -1307,7 +1307,7 @@ + TEXT symbol[32]; + + strcpy(symbol,name); +- if (number) strcat(symbol,itoa(number)); ++ if (number) strcat(symbol,itostr(number)); + InsertReloc(refptr+prgstart,symptr,0L,module); + InsertSymbol(symbol,symptr); + InsertLabel(symptr); +@@ -1410,13 +1410,13 @@ + if (ptr && (ptr != 0xFFFFFFFF)) { + if (k-j > l) { + strcpy(name,"LIBFUNC"); +- if (number) strcat(name,itoa(number)); ++ if (number) strcat(name,itostr(number)); + strcat(name,"_"); +- strcat(name,itoa(k-j-l-1)); ++ strcat(name,itostr(k-j-l-1)); + } + else { + strcpy(name,FuncName[k-j-1-relative]); +- if (number) strcat(name,itoa(number)); ++ if (number) strcat(name,itostr(number)); + } + if (relative==0) + InsertReloc(refptr+prgstart,ptr,0L,module); diff --git a/patches/ira/supp.c.diff b/patches/ira/supp.c.diff new file mode 100644 index 0000000..0913a59 --- /dev/null +++ b/patches/ira/supp.c.diff @@ -0,0 +1,11 @@ +--- ira/supp.c 2015-09-11 09:25:13.000000000 +0200 ++++ ira/supp.c 2015-09-11 10:29:42.000000000 +0200 +@@ -10,7 +10,7 @@ + char adrbuf[64]; + + +-char *itoa(long integer) ++char *itostr(long integer) + { + static char buf[16]; + diff --git a/patches/ira/supp.h.diff b/patches/ira/supp.h.diff new file mode 100644 index 0000000..3f998ad --- /dev/null +++ b/patches/ira/supp.h.diff @@ -0,0 +1,11 @@ +--- ira/supp.h 2015-09-11 09:25:13.000000000 +0200 ++++ ira/supp.h 2015-09-11 10:29:42.000000000 +0200 +@@ -58,7 +58,7 @@ + #define lmovmem(x,y,a) memmove(y,x,(a)*sizeof(LONG)) + + void ExitPrg(CONST_STRPTR , ...); +-char *itoa(long); ++char *itostr(long); + char *itohex(unsigned long, unsigned long); + void mnecat(const char *); + void adrcat(const char *);