8Fermer10
DrTypoFrLe 01/06/2021 à 03:56
J'ai trouvé un gcc m68k elf en MinGW mais j'ai des doutes sur le code généré...
Voici la commande utilisé dans le makefile:
C2OBJ = m68k-elf-gcc.exe -fleading-underscore -g -ID:\cpluscplus\jaguar\jaguar\include -ID:\cpluscplus\jaguar\jaguar\projects\MyInclude -c $? -o $@
Bon on a des symboles, y'a du progrès:

| | _MainLoop: | | 004058: 4E56 FFE8 LINK.W A6, #$FFE8 | | 00405C: 42AE FFEC CLR.L (A6,$FFEC) == $1FFFD8 | | 004060: 42AE FFF8 CLR.L (A6,$FFF8) == $1FFFE4 | | 004064: 42AE FFE8 CLR.L (A6,$FFE8) == $1FFFD4 | | 004068: 42AE FFF4 CLR.L (A6,$FFF4) == $1FFFE0 | | 00406C: 4878 0960 PEA.L $960 | | 004070: 42A7 CLR.L -(A7) | | 004072: 42A7 CLR.L -(A7) | | 004074: 4879 000F 109C PEA.L _ptrtriclipped | | 00407A: 4EB9 0000 D0C8 JSR.L _Memset64 | | 004080: 4FEF 0010 LEA.L (A7,SINGLE_GO) == $1FFFE4, A7 | | 004084: 4878 0960 PEA.L $960 | | 004088: 42A7 CLR.L -(A7) | | 00408A: 42A7 CLR.L -(A7) | | 00408C: 4879 000F 19FC PEA.L _ptrtriclipped2 | | 004092: 4EB9 0000 D0C8 JSR.L _Memset64 | | 004098: 4FEF 0010 LEA.L (A7,SINGLE_GO) == $1FFFE4, A7 | | 00409C: 23FC 0011 2628 000F 2FFC MOVE.L #$112628, _ptDisplayList | | 0040A6: 206E FFEC MOVEA.L (A6,$FFEC) == $1FFFD8, A0 | | 0040AA: 2208 MOVE.L A0, D1 | | 0040AC: 2001 MOVE.L D1, D0 | | 0040AE: E588 LSL.L #$2, D0 | | 0040B0: 2200 MOVE.L D0, D1 | | 0040B2: 2001 MOVE.L D1, D0 | | 0040B4: E788 LSL.L #$3, D0 | | 0040B6: 9081 SUB.L D1, D0 | | 0040B8: D088 ADD.L A0, D0 | | -> 0040BA: E588 LSL.L #$2, D0 | | 0040BC: 21AE FFEC 09B0 000F 2C5C MOVE.L (A6,$FFEC) == $1FFFD8, (D0.L*1+994396)+0 == $F2C5C | | 0040C6: 206E FFEC MOVEA.L (A6,$FFEC) == $1FFFD8, A0 | | 0040CA: 2208 MOVE.L A0, D1 | | 0040CC: 2001 MOVE.L D1, D0
L'instruction:
| | 0040BC: 21AE FFEC 09B0 000F 2C5C MOVE.L (A6,$FFEC) == $1FFFD8, (D0.L*1+994396)+0 == $F2C5C
déclenche une alerte d'écriture à adresse inconnue.
C'est vraie qu'elle est bizarre cette instruction (indirection sur d0.l+994396? En 68000?)
Dans le désassembleur radare2, sur l'objet game.o, on a pour cette instruction:
move.l -0x14(a6),(d0.l)
Bizarre...

@dilinger: ton compilateur gcc, il vient d'où? Pourrais-tu le fournir?