From 4c966479a711714eef87bb9e7177bb738c7327f0 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 6 Oct 2024 08:50:28 +0200 Subject: [PATCH] Prune fake Thumb functions starting with invalid `ldr` load offsets --- config/usa/arm9/overlays/ov004/relocs.txt | 2 + config/usa/arm9/overlays/ov018/delinks.txt | 4 +- config/usa/arm9/overlays/ov018/relocs.txt | 34 ++++++++++++++++ config/usa/arm9/overlays/ov018/symbols.txt | 47 +++++++++++++++++++--- config/usa/arm9/relocs.txt | 3 ++ 5 files changed, 82 insertions(+), 8 deletions(-) diff --git a/config/usa/arm9/overlays/ov004/relocs.txt b/config/usa/arm9/overlays/ov004/relocs.txt index ba3ce0f6..bf1ef1c9 100644 --- a/config/usa/arm9/overlays/ov004/relocs.txt +++ b/config/usa/arm9/overlays/ov004/relocs.txt @@ -1417,7 +1417,9 @@ from:0x02107058 kind:thumb_call to:0x0203d694 module:main from:0x02107066 kind:thumb_call to:0x0203d694 module:main from:0x02107090 kind:load to:0x02179670 module:overlays(20,22,26,27,28) from:0x02107094 kind:load to:0x02153fd0 module:overlay(14) +from:0x02107098 kind:load to:0x0216b5cc module:overlay(18) from:0x0210709c kind:load to:0x0211db0c module:overlay(9) +from:0x021070a0 kind:load to:0x0216b5c0 module:overlay(18) from:0x021070ac kind:load to:0x0203d6ed module:main from:0x021070d0 kind:thumb_call_arm to:0x02078ae0 module:overlay(0) from:0x021070e2 kind:thumb_call_arm to:0x020a5e3c module:overlay(0) diff --git a/config/usa/arm9/overlays/ov018/delinks.txt b/config/usa/arm9/overlays/ov018/delinks.txt index e5ada1fd..fe52c01c 100644 --- a/config/usa/arm9/overlays/ov018/delinks.txt +++ b/config/usa/arm9/overlays/ov018/delinks.txt @@ -1,5 +1,5 @@ - .text start:0x0215b400 end:0x0216b64c kind:code align:32 - .rodata start:0x0216b64c end:0x0216b6e0 kind:data align:4 + .text start:0x0215b400 end:0x0216b38c kind:code align:32 + .rodata start:0x0216b38c end:0x0216b6e0 kind:data align:4 .init start:0x0216b6e0 end:0x0216bfac kind:code align:4 .ctor start:0x0216bfac end:0x0216c00c kind:data align:4 .data start:0x0216c020 end:0x0216d3a0 kind:data align:32 diff --git a/config/usa/arm9/overlays/ov018/relocs.txt b/config/usa/arm9/overlays/ov018/relocs.txt index 566231b0..58be9719 100644 --- a/config/usa/arm9/overlays/ov018/relocs.txt +++ b/config/usa/arm9/overlays/ov018/relocs.txt @@ -8,6 +8,7 @@ from:0x0215b570 kind:arm_call to:0x0201e388 module:main from:0x0215b58c kind:arm_call to:0x021691dc module:overlay(18) from:0x0215b598 kind:load to:0x0216c040 module:overlay(18) from:0x0215b59c kind:load to:0x027e0ce0 module:dtcm +from:0x0215b5a0 kind:load to:0x0216b3e4 module:overlay(18) from:0x0215b5a4 kind:load to:0x0216b38c module:overlay(18) from:0x0215b5a8 kind:load to:0x027e0d38 module:dtcm from:0x0215b5d0 kind:arm_call to:0x02169224 module:overlay(18) @@ -75,6 +76,9 @@ from:0x0215c078 kind:arm_call to:0x021691cc module:overlay(18) from:0x0215c080 kind:arm_call to:0x0216929c module:overlay(18) from:0x0215c08c kind:load to:0x027e0f94 module:dtcm from:0x0215c090 kind:load to:0x027e0e60 module:dtcm +from:0x0215c098 kind:load to:0x0216b39c module:overlay(18) +from:0x0215c09c kind:load to:0x0216b3ac module:overlay(18) +from:0x0215c0a0 kind:load to:0x0216b3cc module:overlay(18) from:0x0215c0ac kind:arm_call to:0x02111b80 module:overlay(5) from:0x0215c0d8 kind:arm_call to:0x02079e08 module:overlay(0) from:0x0215c0fc kind:arm_call to:0x02019534 module:main @@ -125,6 +129,7 @@ from:0x0215c868 kind:load to:0x0216c020 module:overlay(18) from:0x0215c86c kind:load to:0x020577f8 module:main from:0x0215c870 kind:load to:0x02057814 module:main from:0x0215c874 kind:load to:0x027e0ce0 module:dtcm +from:0x0215c878 kind:load to:0x0216b3bc module:overlay(18) from:0x0215c890 kind:arm_call_thumb to:0x020c0ba8 module:overlay(0) from:0x0215c8a8 kind:arm_call_thumb to:0x020a9a08 module:overlay(0) from:0x0215c8b4 kind:arm_call to:0x020c0be4 module:overlay(0) @@ -135,6 +140,7 @@ from:0x0215c8fc kind:arm_call to:0x020c0c3c module:overlay(0) from:0x0215c908 kind:load to:0x020e5808 module:overlay(0) from:0x0215c998 kind:load to:0x0215c9ec module:overlay(18) from:0x0215c9b8 kind:arm_call to:0x0201e388 module:main +from:0x0215c9e8 kind:load to:0x0216b414 module:overlay(18) from:0x0215ca00 kind:load to:0x0215c99c module:overlay(18) from:0x0215ca28 kind:arm_call_thumb to:0x021135a0 module:overlay(9) from:0x0215ca6c kind:arm_call_thumb to:0x0202e7a0 module:main @@ -164,6 +170,7 @@ from:0x0215cc08 kind:arm_call to:0x021135ec module:overlays(9,13) from:0x0215cc2c kind:arm_call to:0x021135d0 module:overlay(9) from:0x0215cc4c kind:arm_call_thumb to:0x020360fc module:main from:0x0215cc58 kind:arm_call to:0x02113618 module:overlay(9) +from:0x0215cc64 kind:load to:0x0216b42c module:overlay(18) from:0x0215cc68 kind:load to:0x027e0c54 module:dtcm from:0x0215cc6c kind:load to:0x0215cad4 module:overlay(18) from:0x0215cc88 kind:arm_call to:0x0202e73c module:main @@ -172,6 +179,7 @@ from:0x0215ccbc kind:arm_call to:0x02160434 module:overlay(18) from:0x0215cccc kind:arm_call to:0x0215ccec module:overlay(18) from:0x0215ccd0 kind:arm_call to:0x021096e8 module:overlay(5) from:0x0215cce0 kind:load to:0x027e077c module:dtcm +from:0x0215cce8 kind:load to:0x0216b428 module:overlay(18) from:0x0215ccf8 kind:load to:0x01fffcd8 module:itcm from:0x0215cd0c kind:load to:0x0202e73c module:main from:0x0215cd10 kind:load to:0x027e077c module:dtcm @@ -445,6 +453,7 @@ from:0x0215efd4 kind:load to:0x0215eff0 module:overlay(18) from:0x0215efec kind:load to:0x0215f09c module:overlay(18) from:0x0215f028 kind:arm_call to:0x0201e388 module:main from:0x0215f078 kind:arm_call to:0x01ff9bc4 module:itcm +from:0x0215f098 kind:load to:0x0216b448 module:overlay(18) from:0x0215f0dc kind:arm_call to:0x0201e388 module:main from:0x0215f110 kind:arm_call to:0x0202e9d8 module:main from:0x0215f120 kind:arm_call to:0x0215f12c module:overlay(18) @@ -893,6 +902,8 @@ from:0x02162688 kind:load to:0x027e0f64 module:dtcm from:0x021626dc kind:arm_call to:0x01ff8248 module:itcm from:0x02162724 kind:arm_call to:0x0208b880 module:overlay(0) from:0x02162730 kind:load to:0x02050f10 module:main +from:0x02162734 kind:load to:0x0216b474 module:overlay(18) +from:0x02162738 kind:load to:0x0216b45c module:overlay(18) from:0x021627c8 kind:arm_call to:0x02084c34 module:overlay(0) from:0x021627d8 kind:arm_call to:0x020c14a0 module:overlay(0) from:0x021627ec kind:arm_call to:0x020c32e8 module:overlay(0) @@ -976,6 +987,7 @@ from:0x02163068 kind:arm_call to:0x0200107c module:main from:0x02163124 kind:arm_call to:0x0208b96c module:overlay(0) from:0x02163170 kind:arm_call to:0x02097700 module:overlay(0) from:0x021631a4 kind:load to:0x027e0764 module:dtcm +from:0x021631ac kind:load to:0x0216b48c module:overlay(18) from:0x021631b4 kind:load to:0x027e0f74 module:dtcm from:0x021631ec kind:arm_call to:0x021635e0 module:overlay(18) from:0x02163240 kind:arm_call to:0x01ffa8d4 module:itcm @@ -1049,6 +1061,7 @@ from:0x02163b7c kind:arm_call to:0x0200107c module:main from:0x02163c44 kind:arm_call to:0x0208b96c module:overlay(0) from:0x02163c8c kind:arm_call to:0x02097700 module:overlay(0) from:0x02163cac kind:load to:0x027e0764 module:dtcm +from:0x02163cb8 kind:load to:0x0216b494 module:overlay(18) from:0x02163cc0 kind:load to:0x027e0f74 module:dtcm from:0x02163cf8 kind:arm_call to:0x021640ec module:overlay(18) from:0x02163d4c kind:arm_call to:0x01ffa8d4 module:itcm @@ -1254,6 +1267,9 @@ from:0x02165588 kind:arm_call to:0x020c3fe8 module:overlay(0) from:0x021655a0 kind:arm_call to:0x0216594c module:overlay(18) from:0x021655bc kind:arm_call to:0x0216585c module:overlay(18) from:0x021655cc kind:load to:0x027e0fec module:dtcm +from:0x021655d0 kind:load to:0x0216b4bc module:overlay(18) +from:0x021655d4 kind:load to:0x0216b4a8 module:overlay(18) +from:0x021655d8 kind:load to:0x0216b49c module:overlay(18) from:0x021655dc kind:load to:0x027e0f74 module:dtcm from:0x021655e0 kind:load to:0x027e0fe8 module:dtcm from:0x021655e8 kind:load to:0x0216cea4 module:overlay(18) @@ -1317,11 +1333,13 @@ from:0x02165c0c kind:arm_call to:0x0201b1bc module:main from:0x02165c10 kind:arm_call to:0x02018450 module:main from:0x02165c20 kind:arm_call to:0x01ff8e84 module:itcm from:0x02165c30 kind:arm_call to:0x02007908 module:main +from:0x02165c48 kind:load to:0x0216b544 module:overlay(18) from:0x02165c54 kind:arm_call to:0x0214504c module:overlay(14) from:0x02165c70 kind:arm_call to:0x021459d0 module:overlay(14) from:0x02165cac kind:arm_call to:0x02145da4 module:overlay(14) from:0x02165d0c kind:arm_call to:0x02166ab0 module:overlay(18) from:0x02165d1c kind:arm_call to:0x02166ab0 module:overlay(18) +from:0x02165d3c kind:load to:0x0216b504 module:overlay(18) from:0x02165d40 kind:load to:0x02165b98 module:overlay(18) from:0x02165d4c kind:load to:0x020c2784 module:overlay(0) from:0x02165d88 kind:arm_call to:0x02166ab0 module:overlay(18) @@ -1563,6 +1581,8 @@ from:0x0216842c kind:arm_call to:0x01ff991c module:itcm from:0x02168604 kind:arm_call to:0x02079e08 module:overlay(0) from:0x0216861c kind:arm_call to:0x0216937c module:overlay(18) from:0x02168628 kind:load to:0x027e0fec module:dtcm +from:0x0216862c kind:load to:0x0216b558 module:overlay(18) +from:0x02168630 kind:load to:0x0216b56c module:overlay(18) from:0x02168634 kind:load to:0x02050f10 module:main from:0x02168638 kind:load to:0x027e0fe4 module:dtcm from:0x0216863c kind:load to:0x0216d564 module:overlay(18) @@ -1603,6 +1623,8 @@ from:0x02168b2c kind:arm_call to:0x020cea6c module:overlay(0) from:0x02168b3c kind:arm_call to:0x02094824 module:overlay(0) from:0x02168b54 kind:load to:0x027e0ffc module:dtcm from:0x02168b5c kind:load to:0x027e0e58 module:dtcm +from:0x02168b64 kind:load to:0x0216b580 module:overlay(18) +from:0x02168b68 kind:load to:0x0216b594 module:overlay(18) from:0x02168b6c kind:load to:0x02168cd8 module:overlay(18) from:0x02168bec kind:arm_call to:0x020a614c module:overlay(0) from:0x02168bf4 kind:arm_call to:0x01fffb4c module:itcm @@ -1859,6 +1881,18 @@ from:0x0216b334 kind:arm_call to:0x0204dd58 module:main from:0x0216b348 kind:arm_call to:0x0202e9d8 module:main from:0x0216b358 kind:load to:0x027e0ce0 module:dtcm from:0x0216b378 kind:arm_call to:0x0216b384 module:overlay(18) +from:0x0216b5e0 kind:load to:0x0216d358 module:overlay(18) +from:0x0216b5e8 kind:load to:0x0216d338 module:overlay(18) +from:0x0216b5f0 kind:load to:0x0216d340 module:overlay(18) +from:0x0216b5f4 kind:load to:0x0216d350 module:overlay(18) +from:0x0216b5f8 kind:load to:0x0216b5ec module:overlay(18) +from:0x0216b60c kind:load to:0x0216b5c4 module:overlay(18) +from:0x0216b614 kind:load to:0x0216d348 module:overlay(18) +from:0x0216b618 kind:load to:0x0216b5e4 module:overlay(18) +from:0x0216b62c kind:load to:0x0216b5ac module:overlay(18) +from:0x0216b634 kind:load to:0x0216d364 module:overlay(18) +from:0x0216b638 kind:load to:0x0216b5dc module:overlay(18) +from:0x0216b64c kind:load to:0x0216b5b0 module:overlay(18) from:0x0216b6f4 kind:arm_call to:0x0203e740 module:main from:0x0216b704 kind:arm_call to:0x0204f890 module:main from:0x0216b710 kind:arm_call to:0x01ff98e0 module:itcm diff --git a/config/usa/arm9/overlays/ov018/symbols.txt b/config/usa/arm9/overlays/ov018/symbols.txt index a7ce1534..f5354950 100644 --- a/config/usa/arm9/overlays/ov018/symbols.txt +++ b/config/usa/arm9/overlays/ov018/symbols.txt @@ -453,14 +453,43 @@ func_ov018_0216b2d8 kind:function(arm,size=0x44) addr:0x216b2d8 func_ov018_0216b31c kind:function(arm,size=0x40) addr:0x216b31c func_ov018_0216b35c kind:function(arm,size=0x28) addr:0x216b35c func_ov018_0216b384 kind:function(arm,size=0x8) addr:0x216b384 -func_ov018_0216b38c kind:function(thumb,size=0x26c) addr:0x216b38c -func_ov018_0216b5f8 kind:function(thumb,size=0x14) addr:0x216b5f8 -func_ov018_0216b60c kind:function(thumb,size=0xc) addr:0x216b60c -func_ov018_0216b618 kind:function(thumb,size=0x14) addr:0x216b618 -func_ov018_0216b62c kind:function(thumb,size=0xc) addr:0x216b62c -func_ov018_0216b638 kind:function(thumb,size=0x14) addr:0x216b638 +data_ov018_0216b38c kind:data(any) addr:0x216b38c +data_ov018_0216b39c kind:data(any) addr:0x216b39c +data_ov018_0216b3ac kind:data(any) addr:0x216b3ac +data_ov018_0216b3bc kind:data(any) addr:0x216b3bc +data_ov018_0216b3cc kind:data(any) addr:0x216b3cc +data_ov018_0216b3e4 kind:data(any) addr:0x216b3e4 +data_ov018_0216b414 kind:data(any) addr:0x216b414 +data_ov018_0216b428 kind:data(any) addr:0x216b428 +data_ov018_0216b42c kind:data(any) addr:0x216b42c +data_ov018_0216b448 kind:data(any) addr:0x216b448 +data_ov018_0216b45c kind:data(any) addr:0x216b45c +data_ov018_0216b474 kind:data(any) addr:0x216b474 +data_ov018_0216b48c kind:data(any) addr:0x216b48c +data_ov018_0216b494 kind:data(any) addr:0x216b494 +data_ov018_0216b49c kind:data(any) addr:0x216b49c +data_ov018_0216b4a8 kind:data(any) addr:0x216b4a8 +data_ov018_0216b4bc kind:data(any) addr:0x216b4bc +data_ov018_0216b504 kind:data(any) addr:0x216b504 +data_ov018_0216b544 kind:data(any) addr:0x216b544 +data_ov018_0216b558 kind:data(any) addr:0x216b558 +data_ov018_0216b56c kind:data(any) addr:0x216b56c +data_ov018_0216b580 kind:data(any) addr:0x216b580 +data_ov018_0216b594 kind:data(any) addr:0x216b594 +data_ov018_0216b5ac kind:data(any) addr:0x216b5ac +data_ov018_0216b5b0 kind:data(any) addr:0x216b5b0 +data_ov018_0216b5c0 kind:data(any) addr:0x216b5c0 +data_ov018_0216b5c4 kind:data(any) addr:0x216b5c4 +data_ov018_0216b5cc kind:data(any) addr:0x216b5cc +data_ov018_0216b5dc kind:data(any) addr:0x216b5dc +data_ov018_0216b5e4 kind:data(any) addr:0x216b5e4 +data_ov018_0216b5ec kind:data(any) addr:0x216b5ec +data_ov018_0216b5f4 kind:data(any) addr:0x216b5f4 +data_ov018_0216b614 kind:data(any) addr:0x216b614 +data_ov018_0216b634 kind:data(any) addr:0x216b634 data_ov018_0216b654 kind:data(any) addr:0x216b654 data_ov018_0216b670 kind:data(any) addr:0x216b670 +data_ov018_0216b6a8 kind:data(any) addr:0x216b6a8 func_ov018_0216b6e0 kind:function(arm,size=0x130) addr:0x216b6e0 func_ov018_0216b810 kind:function(arm,size=0x2a4) addr:0x216b810 func_ov018_0216bab4 kind:function(arm,size=0x38) addr:0x216bab4 @@ -612,6 +641,12 @@ data_ov018_0216d128 kind:data(any) addr:0x216d128 data_ov018_0216d1b4 kind:data(any) addr:0x216d1b4 data_ov018_0216d1c8 kind:data(any) addr:0x216d1c8 data_ov018_0216d284 kind:data(any) addr:0x216d284 +data_ov018_0216d338 kind:data(any) addr:0x216d338 +data_ov018_0216d340 kind:data(any) addr:0x216d340 +data_ov018_0216d348 kind:data(any) addr:0x216d348 +data_ov018_0216d350 kind:data(any) addr:0x216d350 +data_ov018_0216d358 kind:data(any) addr:0x216d358 +data_ov018_0216d364 kind:data(any) addr:0x216d364 data_ov018_0216d378 kind:data(any) addr:0x216d378 data_ov018_0216d3a0 kind:bss addr:0x216d3a0 data_ov018_0216d3ac kind:bss addr:0x216d3ac diff --git a/config/usa/arm9/relocs.txt b/config/usa/arm9/relocs.txt index c3724747..3b0e2656 100644 --- a/config/usa/arm9/relocs.txt +++ b/config/usa/arm9/relocs.txt @@ -7092,6 +7092,8 @@ from:0x020564f0 kind:load to:0x02188200 module:overlays(37,40) from:0x020564f4 kind:load to:0x02188220 module:overlays(37,40) from:0x020564f8 kind:load to:0x02188240 module:overlays(37,40) from:0x020564fc kind:load to:0x0211dda8 module:overlay(9) +from:0x02056500 kind:load to:0x0216b614 module:overlay(18) +from:0x02056504 kind:load to:0x0216b5f4 module:overlay(18) from:0x02056508 kind:load to:0x021540d0 module:overlay(14) from:0x0205650c kind:load to:0x021871cc module:overlay(15) from:0x02056510 kind:load to:0x0218718c module:overlays(15,40) @@ -7125,6 +7127,7 @@ from:0x0205657c kind:load to:0x02056444 module:main from:0x02056580 kind:load to:0x0211dee8 module:overlay(9) from:0x02056584 kind:load to:0x0211df48 module:overlay(9) from:0x02056588 kind:load to:0x0211df68 module:overlay(9) +from:0x0205658c kind:load to:0x0216b634 module:overlay(18) from:0x02056590 kind:load to:0x0205648c module:main from:0x02056594 kind:load to:0x0211dca8 module:overlay(9) from:0x02056598 kind:load to:0x0211e8c0 module:overlays(9,10)