mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
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:
@@ -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"; }
|
||||
@@ -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 ........
|
||||
@@ -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 ........
|
||||
@@ -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) {}
|
||||
@@ -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
Reference in New Issue
Block a user