Convert every submodule into subrepo (#170)

* remove ZAPD submodule

* git subrepo clone https://github.com/zeldaret/ZAPD.git tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "ca229f19"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "ca229f19"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* git subrepo clone https://github.com/simonlindholm/decomp-permuter.git tools/decomp-permuter

subrepo:
  subdir:   "tools/decomp-permuter"
  merged:   "1e4b85a7"
upstream:
  origin:   "https://github.com/simonlindholm/decomp-permuter.git"
  branch:   "main"
  commit:   "1e4b85a7"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Remove asm-differ

* git subrepo clone https://github.com/simonlindholm/asm-differ.git tools/asm-differ

subrepo:
  subdir:   "tools/asm-differ"
  merged:   "eaf72269"
upstream:
  origin:   "https://github.com/simonlindholm/asm-differ.git"
  branch:   "master"
  commit:   "eaf72269"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* remove asm-processor

* git subrepo clone https://github.com/simonlindholm/asm-processor.git tools/asm-processor

subrepo:
  subdir:   "tools/asm-processor"
  merged:   "85288fcd"
upstream:
  origin:   "https://github.com/simonlindholm/asm-processor.git"
  branch:   "master"
  commit:   "85288fcd"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* remove .gitmodules file

* Update REAMDE

* Update warnings
This commit is contained in:
Anghelo Carvajal
2021-06-07 18:31:56 -04:00
committed by GitHub
parent 2bf68a5263
commit b6904aa2cc
418 changed files with 113047 additions and 62 deletions
+19
View File
@@ -0,0 +1,19 @@
void foo(void) { "abcdef"; }
GLOBAL_ASM(
.rdata
.ascii "AB"
.ascii "CD", "EF"
.ascii "GH\n\n\n\0\11\222\3333\44444\x1234567\n\nIJK"
)
void bar(void) { "hello"; }
GLOBAL_ASM(
.rdata
.asciiz "12"
.asciiz "34", "56"
.asciiz "78\n\n\n\0\11\222\3333\44444\x1234567\n\n9A"
)
void baz(void) { "ghijkl"; }
+19
View File
@@ -0,0 +1,19 @@
tests/ascii.o: file format elf32-tradbigmips
Contents of section .text:
0000 03e00008 00000000 03e00008 00000000 ................
0010 03e00008 00000000 03e00008 00000000 ................
0020 03e00008 00000000 03e00008 00000000 ................
Contents of section .rodata:
0000 61626364 65660000 41424344 45464748 abcdef..ABCDEFGH
0010 0a0a0a00 0992db33 24343467 0a0a494a .......3$44g..IJ
0020 4b000000 68656c6c 6f000000 31320033 K...hello...12.3
0030 34003536 0037380a 0a0a0009 92db3324 4.56.78.......3$
0040 3434670a 0a394100 6768696a 6b6c0000 44g..9A.ghijkl..
Contents of section .options:
0000 01200000 00000000 80000000 00000000 . ..............
0010 00000000 00000000 00000000 00007ff0 ................
Contents of section .reginfo:
0000 80000000 00000000 00000000 00000000 ................
0010 00000000 00007ff0 ........
+6
View File
@@ -0,0 +1,6 @@
const char before[] = "^";
GLOBAL_ASM(
.rdata
.asciz "aaaa /* bbbb */ # cccc" /**//**//**//**/ /*/ "xxxx" /*/ /* dddd " eeee */ "# ffff" # gggg "hhhh" /* iiii */
)
const char after[] = "$";
@@ -0,0 +1,13 @@
tests/comments.o: file format elf32-tradbigmips
Contents of section .rodata:
0000 5e000000 61616161 202f2a20 62626262 ^...aaaa /* bbbb
0010 202a2f20 23206363 63630023 20666666 */ # cccc.# fff
0020 66000000 24000000 00000000 00000000 f...$...........
Contents of section .options:
0000 01200000 00000000 00000000 00000000 . ..............
0010 00000000 00000000 00000000 00007ff0 ................
Contents of section .reginfo:
0000 00000000 00000000 00000000 00000000 ................
0010 00000000 00007ff0 ........
@@ -0,0 +1,7 @@
GLOBAL_ASM(
.rdata
.word 0x12345678
glabel blah
.word blah2
/*a*/ blah2: /*b*/ .word blah /*c*/
)
@@ -0,0 +1,11 @@
tests/label-sameline.o: file format elf32-tradbigmips
Contents of section .rodata:
0000 12345678 00000008 00000000 00000000 .4Vx............
Contents of section .options:
0000 01200000 00000000 00000000 00000000 . ..............
0010 00000000 00000000 00000000 00007ff0 ................
Contents of section .reginfo:
0000 00000000 00000000 00000000 00000000 ................
0010 00000000 00007ff0 ........
+164
View File
@@ -0,0 +1,164 @@
GLOBAL_ASM(
glabel test
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
addiu $sp, $sp, -24
sw $zero, 4($sp)
lw $t6, 4($sp)
addu $t7, $a0, $t6
sb $zero, ($t7)
lw $t8, 4($sp)
addiu $t9, $t8, 1
slt $at, $t9, $a1
sw $t9, 4($sp)
nop
jr $ra
addiu $sp, $sp, 24
)
void foo(void) {}
+50
View File
@@ -0,0 +1,50 @@
tests/large.o: file format elf32-tradbigmips
Contents of section .text:
0000 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
0010 a1e00000 8fb80004 27190001 0325082a ........'....%.*
0020 afb90004 00000000 03e00008 27bd0018 ............'...
0030 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
0040 a1e00000 8fb80004 27190001 0325082a ........'....%.*
0050 afb90004 00000000 03e00008 27bd0018 ............'...
0060 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
0070 a1e00000 8fb80004 27190001 0325082a ........'....%.*
0080 afb90004 00000000 03e00008 27bd0018 ............'...
0090 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
00a0 a1e00000 8fb80004 27190001 0325082a ........'....%.*
00b0 afb90004 00000000 03e00008 27bd0018 ............'...
00c0 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
00d0 a1e00000 8fb80004 27190001 0325082a ........'....%.*
00e0 afb90004 00000000 03e00008 27bd0018 ............'...
00f0 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
0100 a1e00000 8fb80004 27190001 0325082a ........'....%.*
0110 afb90004 00000000 03e00008 27bd0018 ............'...
0120 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
0130 a1e00000 8fb80004 27190001 0325082a ........'....%.*
0140 afb90004 00000000 03e00008 27bd0018 ............'...
0150 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
0160 a1e00000 8fb80004 27190001 0325082a ........'....%.*
0170 afb90004 00000000 03e00008 27bd0018 ............'...
0180 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
0190 a1e00000 8fb80004 27190001 0325082a ........'....%.*
01a0 afb90004 00000000 03e00008 27bd0018 ............'...
01b0 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
01c0 a1e00000 8fb80004 27190001 0325082a ........'....%.*
01d0 afb90004 00000000 03e00008 27bd0018 ............'...
01e0 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
01f0 a1e00000 8fb80004 27190001 0325082a ........'....%.*
0200 afb90004 00000000 03e00008 27bd0018 ............'...
0210 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
0220 a1e00000 8fb80004 27190001 0325082a ........'....%.*
0230 afb90004 00000000 03e00008 27bd0018 ............'...
0240 27bdffe8 afa00004 8fae0004 008e7821 '.............x!
0250 a1e00000 8fb80004 27190001 0325082a ........'....%.*
0260 afb90004 00000000 03e00008 27bd0018 ............'...
0270 03e00008 00000000 03e00008 00000000 ................
Contents of section .options:
0000 01200000 00000000 80000000 00000000 . ..............
0010 00000000 00000000 00000000 00007ff0 ................
Contents of section .reginfo:
0000 a300c032 00000000 00000000 00000000 ...2............
0010 00000000 00007ff0 ........
@@ -0,0 +1,80 @@
GLOBAL_ASM(
.late_rodata
.float 4.1
.float 4.2
.float 4.3
.float 4.4
.text
glabel a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
float foo(void) { "foo"; return 1.1f; }
GLOBAL_ASM(
.late_rodata
.late_rodata_alignment 4
.float 5.1
.float 5.2
.float 5.3
.float 5.4
.text
glabel b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
float bar(void) { "bar"; return 1.2f; }
GLOBAL_ASM(
.late_rodata
.late_rodata_alignment 8
.float 6.1
.float 6.2
.float 6.3
.float 6.4
.float 6.5
.text
glabel c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
@@ -0,0 +1,31 @@
tests/late_rodata_align.o: file format elf32-tradbigmips
Contents of section .text:
0000 00000000 00000000 00000000 00000000 ................
0010 00000000 00000000 00000000 00000000 ................
0020 00000000 00000000 00000000 00000000 ................
0030 00000000 00000000 00000000 00000000 ................
0040 3c010000 03e00008 c4200018 03e00008 <........ ......
0050 00000000 03e00008 00000000 00000000 ................
0060 00000000 00000000 00000000 00000000 ................
0070 00000000 00000000 00000000 00000000 ................
0080 00000000 00000000 00000000 00000000 ................
0090 3c010000 03e00008 c420002c 03e00008 <........ .,....
00a0 00000000 03e00008 00000000 00000000 ................
00b0 00000000 00000000 00000000 00000000 ................
00c0 00000000 00000000 00000000 00000000 ................
00d0 00000000 00000000 00000000 00000000 ................
00e0 00000000 00000000 00000000 00000000 ................
Contents of section .rodata:
0000 666f6f00 62617200 40833333 40866666 foo.bar.@.33@.ff
0010 4089999a 408ccccd 3f8ccccd 40a33333 @...@...?...@.33
0020 40a66666 40a9999a 40accccd 3f99999a @.ff@...@...?...
0030 40c33333 40c66666 40c9999a 40cccccd @.33@.ff@...@...
0040 40d00000 00000000 00000000 00000000 @...............
Contents of section .options:
0000 01200000 00000000 80000002 00000000 . ..............
0010 000005f1 00000000 00000000 00007ff0 ................
Contents of section .reginfo:
0000 80000002 00000000 000005f1 00000000 ................
0010 00000000 00007ff0 ........
@@ -0,0 +1,83 @@
GLOBAL_ASM(
.late_rodata
.float 4.1
.text
glabel a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
float foo(void) {
return 4.15f;
}
GLOBAL_ASM(
.late_rodata
.float 4.2
.word 0
.double 4.3
.text
glabel b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
float bar(void) {
return 4.4f;
}
GLOBAL_ASM(
.late_rodata
.float 4.55
.double 4.6
.text
glabel c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
float baz(void) {
return 4.6f;
}
@@ -0,0 +1,32 @@
tests/late_rodata_doubles.o: file format elf32-tradbigmips
Contents of section .text:
0000 00000000 00000000 00000000 00000000 ................
0010 00000000 00000000 00000000 00000000 ................
0020 00000000 00000000 00000000 00000000 ................
0030 00000000 00000000 00000000 00000000 ................
0040 3c010000 03e00008 c4200004 03e00008 <........ ......
0050 00000000 03e00008 00000000 00000000 ................
0060 00000000 00000000 00000000 00000000 ................
0070 00000000 00000000 00000000 00000000 ................
0080 00000000 00000000 00000000 00000000 ................
0090 00000000 00000000 00000000 3c010000 ............<...
00a0 03e00008 c4200018 03e00008 00000000 ..... ..........
00b0 03e00008 00000000 00000000 00000000 ................
00c0 00000000 00000000 00000000 00000000 ................
00d0 00000000 00000000 00000000 00000000 ................
00e0 00000000 00000000 00000000 00000000 ................
00f0 00000000 00000000 3c010000 03e00008 ........<.......
0100 c4200028 03e00008 00000000 03e00008 . .(............
0110 00000000 00000000 00000000 00000000 ................
Contents of section .rodata:
0000 40833333 4084cccd 40866666 00000000 @.33@...@.ff....
0010 40113333 33333333 408ccccd 4091999a @.333333@...@...
0020 40126666 66666666 40933333 00000000 @.ffffff@.33....
Contents of section .options:
0000 01200000 00000000 80000002 00000000 . ..............
0010 000000f1 00000000 00000000 00007ff0 ................
Contents of section .reginfo:
0000 80000002 00000000 000000f1 00000000 ................
0010 00000000 00007ff0 ........
@@ -0,0 +1,86 @@
// COMPILE-FLAGS: -O2
// COMPILE-ISET: -mips1
// exact copy of late_rodata_doubles.c except for the -mips1 -O2 additions
GLOBAL_ASM(
.late_rodata
.float 4.1
.text
glabel a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
float foo(void) {
return 4.15f;
}
GLOBAL_ASM(
.late_rodata
.float 4.2
.word 0
.double 4.3
.text
glabel b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
float bar(void) {
return 4.4f;
}
GLOBAL_ASM(
.late_rodata
.float 4.55
.double 4.6
.text
glabel c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
float baz(void) {
return 4.6f;
}
@@ -0,0 +1,29 @@
tests/late_rodata_doubles_mips1.o: file format elf32-tradbigmips
Contents of section .text:
0000 00000000 00000000 00000000 00000000 ................
0010 00000000 00000000 00000000 00000000 ................
0020 00000000 00000000 00000000 00000000 ................
0030 00000000 00000000 00000000 00000000 ................
0040 3c010000 c4200004 03e00008 00000000 <.... ..........
0050 00000000 00000000 00000000 00000000 ................
0060 00000000 00000000 00000000 00000000 ................
0070 00000000 00000000 00000000 00000000 ................
0080 00000000 00000000 00000000 00000000 ................
0090 3c010000 c4200018 03e00008 00000000 <.... ..........
00a0 00000000 00000000 00000000 00000000 ................
00b0 00000000 00000000 00000000 00000000 ................
00c0 00000000 00000000 00000000 00000000 ................
00d0 00000000 00000000 00000000 00000000 ................
00e0 3c010000 c4200028 03e00008 00000000 <.... .(........
Contents of section .rodata:
0000 40833333 4084cccd 40866666 00000000 @.33@...@.ff....
0010 40113333 33333333 408ccccd 4091999a @.333333@...@...
0020 40126666 66666666 40933333 00000000 @.ffffff@.33....
Contents of section .options:
0000 01200000 00000000 80000002 00000000 . ..............
0010 000c0011 00000000 00000000 00007ff0 ................
Contents of section .reginfo:
0000 80000002 00000000 000c0011 00000000 ................
0010 00000000 00007ff0 ........
@@ -0,0 +1,77 @@
// COMPILE-FLAGS: -O2
float a(void) { return 1.1f; }
GLOBAL_ASM(
glabel a2
move $a0, $a0
nop
nop
nop
jr $ra
move $a0, $a0
)
GLOBAL_ASM(
.late_rodata
glabel jtbl
.word case0, case1, case2, case3, case4, case5, case6, case7, case8, case9, case10
.word case11, case12, case13, case14, case15, case16, case17, case18, case19, case20
.word case21, case22, case23, case24, case25, case26
.text
glabel foo
sltiu $at, $a0, 0xa
beqz $at, .L756E659B
sll $t7, $a0, 2
lui $at, %hi(jtbl)
addu $at, $at, $t7
lw $t7, %lo(jtbl)($at)
jr $t7
nop
case0: addiu $a0, $a0, 1
case1: addiu $a0, $a0, 1
case2: addiu $a0, $a0, 1
case3: addiu $a0, $a0, 1
case4: addiu $a0, $a0, 1
case5: addiu $a0, $a0, 1
case6: addiu $a0, $a0, 1
case7: addiu $a0, $a0, 1
case8: addiu $a0, $a0, 1
case9: addiu $a0, $a0, 1
case10: addiu $a0, $a0, 1
case11: addiu $a0, $a0, 1
case12: addiu $a0, $a0, 1
case13: addiu $a0, $a0, 1
case14: addiu $a0, $a0, 1
case15: addiu $a0, $a0, 1
case16: addiu $a0, $a0, 1
case17: addiu $a0, $a0, 1
case18: addiu $a0, $a0, 1
case19: addiu $a0, $a0, 1
case20: addiu $a0, $a0, 1
case21: addiu $a0, $a0, 1
case22: addiu $a0, $a0, 1
case23: addiu $a0, $a0, 1
case24: addiu $a0, $a0, 1
case25: addiu $a0, $a0, 1
case26:
jr $ra
addiu $v0, $a0, 1
.L756E659B:
addiu $v0, $zero, 2
jr $ra
nop
)
GLOBAL_ASM(
glabel b2
move $a0, $a0
nop
nop
jr $ra
move $a0, $a0
)
float b(void) { return 1.2f; }
@@ -0,0 +1,33 @@
tests/late_rodata_jtbl.o: file format elf32-tradbigmips
Contents of section .text:
0000 3c010000 03e00008 c4200000 00802025 <........ .... %
0010 00000000 00000000 00000000 03e00008 ................
0020 00802025 2c81000a 10200022 00047880 .. %,.... ."..x.
0030 3c010000 002f0821 8c2f0000 01e00008 <..../.!./......
0040 00000000 24840001 24840001 24840001 ....$...$...$...
0050 24840001 24840001 24840001 24840001 $...$...$...$...
0060 24840001 24840001 24840001 24840001 $...$...$...$...
0070 24840001 24840001 24840001 24840001 $...$...$...$...
0080 24840001 24840001 24840001 24840001 $...$...$...$...
0090 24840001 24840001 24840001 24840001 $...$...$...$...
00a0 24840001 24840001 24840001 03e00008 $...$...$.......
00b0 24820001 24020002 03e00008 00000000 $...$...........
00c0 00802025 00000000 00000000 03e00008 .. %............
00d0 00802025 3c010000 03e00008 c4200070 .. %<........ .p
Contents of section .rodata:
0000 3f8ccccd 00000044 00000048 0000004c ?......D...H...L
0010 00000050 00000054 00000058 0000005c ...P...T...X...\
0020 00000060 00000064 00000068 0000006c ...`...d...h...l
0030 00000070 00000074 00000078 0000007c ...p...t...x...|
0040 00000080 00000084 00000088 0000008c ................
0050 00000090 00000094 00000098 0000009c ................
0060 000000a0 000000a4 000000a8 000000ac ................
0070 3f99999a 00000000 00000000 00000000 ?...............
Contents of section .options:
0000 01200000 00000000 80004002 00000000 . ........@.....
0010 00000011 00000000 00000000 00007ff0 ................
Contents of section .reginfo:
0000 8000c016 00000000 00000011 00000000 ................
0010 00000000 00007ff0 ........
@@ -0,0 +1,79 @@
// COMPILE-FLAGS: -O2
// COMPILE-ISET: -mips1
// exact copy of late_rodata_jtbl.c except for the -mips1 addition
float a(void) { return 1.1f; }
GLOBAL_ASM(
glabel a2
move $a0, $a0
nop
nop
nop
jr $ra
move $a0, $a0
)
GLOBAL_ASM(
.late_rodata
glabel jtbl
.word case0, case1, case2, case3, case4, case5, case6, case7, case8, case9, case10
.word case11, case12, case13, case14, case15, case16, case17, case18, case19, case20
.word case21, case22, case23, case24, case25, case26
.text
glabel foo
sltiu $at, $a0, 0xa
beqz $at, .L756E659B
sll $t7, $a0, 2
lui $at, %hi(jtbl)
addu $at, $at, $t7
lw $t7, %lo(jtbl)($at)
jr $t7
nop
case0: addiu $a0, $a0, 1
case1: addiu $a0, $a0, 1
case2: addiu $a0, $a0, 1
case3: addiu $a0, $a0, 1
case4: addiu $a0, $a0, 1
case5: addiu $a0, $a0, 1
case6: addiu $a0, $a0, 1
case7: addiu $a0, $a0, 1
case8: addiu $a0, $a0, 1
case9: addiu $a0, $a0, 1
case10: addiu $a0, $a0, 1
case11: addiu $a0, $a0, 1
case12: addiu $a0, $a0, 1
case13: addiu $a0, $a0, 1
case14: addiu $a0, $a0, 1
case15: addiu $a0, $a0, 1
case16: addiu $a0, $a0, 1
case17: addiu $a0, $a0, 1
case18: addiu $a0, $a0, 1
case19: addiu $a0, $a0, 1
case20: addiu $a0, $a0, 1
case21: addiu $a0, $a0, 1
case22: addiu $a0, $a0, 1
case23: addiu $a0, $a0, 1
case24: addiu $a0, $a0, 1
case25: addiu $a0, $a0, 1
case26:
jr $ra
addiu $v0, $a0, 1
.L756E659B:
addiu $v0, $zero, 2
jr $ra
nop
)
GLOBAL_ASM(
glabel b2
move $a0, $a0
nop
nop
jr $ra
move $a0, $a0
)
float b(void) { return 1.2f; }
@@ -0,0 +1,34 @@
tests/late_rodata_jtbl_mips1.o: file format elf32-tradbigmips
Contents of section .text:
0000 3c010000 c4200000 03e00008 00000000 <.... ..........
0010 00802025 00000000 00000000 00000000 .. %............
0020 03e00008 00802025 2c81000a 10200022 ...... %,.... ."
0030 00047880 3c010000 002f0821 8c2f0000 ..x.<..../.!./..
0040 01e00008 00000000 24840001 24840001 ........$...$...
0050 24840001 24840001 24840001 24840001 $...$...$...$...
0060 24840001 24840001 24840001 24840001 $...$...$...$...
0070 24840001 24840001 24840001 24840001 $...$...$...$...
0080 24840001 24840001 24840001 24840001 $...$...$...$...
0090 24840001 24840001 24840001 24840001 $...$...$...$...
00a0 24840001 24840001 24840001 24840001 $...$...$...$...
00b0 03e00008 24820001 24020002 03e00008 ....$...$.......
00c0 00000000 00802025 00000000 00000000 ...... %........
00d0 03e00008 00802025 3c010000 c4200070 ...... %<.... .p
00e0 03e00008 00000000 00000000 00000000 ................
Contents of section .rodata:
0000 3f8ccccd 00000048 0000004c 00000050 ?......H...L...P
0010 00000054 00000058 0000005c 00000060 ...T...X...\...`
0020 00000064 00000068 0000006c 00000070 ...d...h...l...p
0030 00000074 00000078 0000007c 00000080 ...t...x...|....
0040 00000084 00000088 0000008c 00000090 ................
0050 00000094 00000098 0000009c 000000a0 ................
0060 000000a4 000000a8 000000ac 000000b0 ................
0070 3f99999a 00000000 00000000 00000000 ?...............
Contents of section .options:
0000 01200000 00000000 80004002 00000000 . ........@.....
0010 00000011 00000000 00000000 00007ff0 ................
Contents of section .reginfo:
0000 8000c016 00000000 00000011 00000000 ................
0010 00000000 00007ff0 ........
@@ -0,0 +1,77 @@
GLOBAL_ASM(
.late_rodata
.float 4.01
.word 0
.double 4.02
.text
glabel a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
double foo(void) { return 4.03; }
GLOBAL_ASM(
.late_rodata
.float 4.04
.double 4.05
.text
glabel b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
double bar(void) { return 4.06; }
float baz(void) { return 4.07f; }
GLOBAL_ASM(
.late_rodata
.double 4.08
.text
glabel c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
)
@@ -0,0 +1,33 @@
tests/late_rodata_misaligned_doubles.o: file format elf32-tradbigmips
Contents of section .text:
0000 00000000 00000000 00000000 00000000 ................
0010 00000000 00000000 00000000 00000000 ................
0020 00000000 00000000 00000000 00000000 ................
0030 00000000 00000000 00000000 00000000 ................
0040 3c010000 03e00008 d4200010 03e00008 <........ ......
0050 00000000 03e00008 00000000 00000000 ................
0060 00000000 00000000 00000000 00000000 ................
0070 00000000 00000000 00000000 00000000 ................
0080 00000000 00000000 00000000 00000000 ................
0090 00000000 00000000 00000000 3c010000 ............<...
00a0 03e00008 d4200028 03e00008 00000000 ..... .(........
00b0 03e00008 00000000 3c010000 03e00008 ........<.......
00c0 c4200030 03e00008 00000000 03e00008 . .0............
00d0 00000000 00000000 00000000 00000000 ................
00e0 00000000 00000000 00000000 00000000 ................
00f0 00000000 00000000 00000000 00000000 ................
0100 00000000 00000000 00000000 00000000 ................
0110 00000000 00000000 00000000 00000000 ................
Contents of section .rodata:
0000 408051ec 00000000 4010147a e147ae14 @.Q.....@..z.G..
0010 40101eb8 51eb851f 00000000 408147ae @...Q.......@.G.
0020 40103333 33333333 40103d70 a3d70a3d @.333333@.=p...=
0030 40823d71 00000000 401051eb 851eb852 @.=q....@.Q....R
Contents of section .options:
0000 01200000 00000000 80000002 00000000 . ..............
0010 000000f3 00000000 00000000 00007ff0 ................
Contents of section .reginfo:
0000 80000002 00000000 000000f3 00000000 ................
0010 00000000 00007ff0 ........

Some files were not shown because too many files have changed in this diff Show More