From 22d8de46c84d23a95943785fc974d55d68ab6330 Mon Sep 17 00:00:00 2001 From: Antonio Castelli Date: Sun, 30 May 2021 14:27:01 -0700 Subject: [PATCH] Added glabels with upper/lower parts used <= 15 instructions apart. --- asm/non_matchings/unknown_00BC20/func_800143A8.s | 4 ++-- asm/non_matchings/unknown_043920/func_8004447C.s | 8 ++++---- asm/non_matchings/unknown_066AA0/func_80068BF4.s | 4 ++-- asm/non_matchings/unknown_066AA0/func_80069484.s | 4 ++-- asm/non_matchings/unknown_072E50/func_80073C5C.s | 4 ++-- asm/non_matchings/unknown_080500/MenuAudioOptionsLoop.s | 4 ++-- asm/non_matchings/unknown_080500/MenuTrackSelectInit.s | 4 ++-- asm/non_matchings/unknown_080500/func_8009CA60.s | 4 ++-- asm/non_matchings/unknown_0B8920/func_800B9228.s | 4 ++-- asm/non_matchings/unknown_0B8920/func_800BA288.s | 4 ++-- asm/non_matchings/unknown_0B8920/func_800C4DA0.s | 4 ++-- data/unknown_072E50.rodata.s | 2 ++ tools/python/find_glabels.py | 8 ++++++-- undefined_syms.txt | 1 + 14 files changed, 33 insertions(+), 26 deletions(-) diff --git a/asm/non_matchings/unknown_00BC20/func_800143A8.s b/asm/non_matchings/unknown_00BC20/func_800143A8.s index b31fa321..78a5e316 100644 --- a/asm/non_matchings/unknown_00BC20/func_800143A8.s +++ b/asm/non_matchings/unknown_00BC20/func_800143A8.s @@ -287,7 +287,7 @@ glabel func_800143A8 /* 0153D4 800147D4 8FAE0074 */ lw $t6, 0x74($sp) .L800147D8: /* 0153D8 800147D8 8FBF003C */ lw $ra, 0x3c($sp) -/* 0153DC 800147DC 3C018012 */ lui $at, 0x8012 +/* 0153DC 800147DC 3C018012 */ lui $at, %hi(D_8011AE8C) # $at, 0x8012 /* 0153E0 800147E0 8FB00018 */ lw $s0, 0x18($sp) /* 0153E4 800147E4 8FB1001C */ lw $s1, 0x1c($sp) /* 0153E8 800147E8 8FB20020 */ lw $s2, 0x20($sp) @@ -300,5 +300,5 @@ glabel func_800143A8 /* 015404 80014804 27BD00B0 */ addiu $sp, $sp, 0xb0 /* 015408 80014808 01401025 */ move $v0, $t2 /* 01540C 8001480C 03E00008 */ jr $ra -/* 015410 80014810 AC2EAE8C */ sw $t6, -0x5174($at) +/* 015410 80014810 AC2EAE8C */ sw $t6, %lo(D_8011AE8C)($at) diff --git a/asm/non_matchings/unknown_043920/func_8004447C.s b/asm/non_matchings/unknown_043920/func_8004447C.s index 4b2fc4fd..5c5112fe 100644 --- a/asm/non_matchings/unknown_043920/func_8004447C.s +++ b/asm/non_matchings/unknown_043920/func_8004447C.s @@ -260,7 +260,7 @@ glabel func_8004447C /* 045440 80044840 00002825 */ move $a1, $zero .L80044844: /* 045444 80044844 11400006 */ beqz $t2, .L80044860 -/* 045448 80044848 3C0D8012 */ lui $t5, 0x8012 +/* 045448 80044848 3C0D8012 */ lui $t5, %hi(D_8011D58C) # $t5, 0x8012 /* 04544C 8004484C 240F0003 */ li $t7, 3 /* 045450 80044850 01E53023 */ subu $a2, $t7, $a1 /* 045454 80044854 0006CC00 */ sll $t9, $a2, 0x10 @@ -272,7 +272,7 @@ glabel func_8004447C /* 045468 80044868 01803025 */ move $a2, $t4 .L8004486C: /* 04546C 8004486C 01A66821 */ addu $t5, $t5, $a2 -/* 045470 80044870 81ADD58C */ lb $t5, -0x2a74($t5) +/* 045470 80044870 81ADD58C */ lb $t5, %lo(D_8011D58C)($t5) /* 045474 80044874 00000000 */ nop /* 045478 80044878 15A0002D */ bnez $t5, .L80044930 /* 04547C 8004487C 00000000 */ nop @@ -402,7 +402,7 @@ glabel func_8004447C /* 045658 80044A58 10000020 */ b .L80044ADC /* 04565C 80044A5C A61801C6 */ sh $t8, 0x1c6($s0) /* 045660 80044A60 820C0173 */ lb $t4, 0x173($s0) -/* 045664 80044A64 3C018012 */ lui $at, 0x8012 +/* 045664 80044A64 3C018012 */ lui $at, %hi(D_8011D58C) # $at, 0x8012 /* 045668 80044A68 11800005 */ beqz $t4, .L80044A80 /* 04566C 80044A6C 00000000 */ nop /* 045670 80044A70 860D01C6 */ lh $t5, 0x1c6($s0) @@ -414,7 +414,7 @@ glabel func_8004447C /* 045684 80044A84 A20501CD */ sb $a1, 0x1cd($s0) /* 045688 80044A88 002E0821 */ addu $at, $at, $t6 /* 04568C 80044A8C 10000013 */ b .L80044ADC -/* 045690 80044A90 A020D58C */ sb $zero, -0x2a74($at) +/* 045690 80044A90 A020D58C */ sb $zero, %lo(D_8011D58C)($at) /* 045694 80044A94 820F0002 */ lb $t7, 2($s0) /* 045698 80044A98 3C198012 */ lui $t9, %hi(D_8011D58C) # $t9, 0x8012 /* 04569C 80044A9C 032FC821 */ addu $t9, $t9, $t7 diff --git a/asm/non_matchings/unknown_066AA0/func_80068BF4.s b/asm/non_matchings/unknown_066AA0/func_80068BF4.s index e9d162ea..1d16b73f 100644 --- a/asm/non_matchings/unknown_066AA0/func_80068BF4.s +++ b/asm/non_matchings/unknown_066AA0/func_80068BF4.s @@ -72,7 +72,7 @@ glabel func_80068BF4 /* 06990C 80068D0C 25F80001 */ addiu $t8, $t7, 1 /* 069910 80068D10 AE980000 */ sw $t8, ($s4) /* 069914 80068D14 84F90000 */ lh $t9, ($a3) -/* 069918 80068D18 3C0E8012 */ lui $t6, 0x8012 +/* 069918 80068D18 3C0E8012 */ lui $t6, %hi(D_80120AC4) # $t6, 0x8012 /* 06991C 80068D1C 00194823 */ negu $t1, $t9 /* 069920 80068D20 A6490000 */ sh $t1, ($s2) /* 069924 80068D24 84EA0002 */ lh $t2, 2($a3) @@ -85,7 +85,7 @@ glabel func_80068BF4 /* 069940 80068D40 01AC6821 */ addu $t5, $t5, $t4 /* 069944 80068D44 000D6880 */ sll $t5, $t5, 2 /* 069948 80068D48 01CD7021 */ addu $t6, $t6, $t5 -/* 06994C 80068D4C 85CE0AC4 */ lh $t6, 0xac4($t6) +/* 06994C 80068D4C 85CE0AC4 */ lh $t6, %lo(D_80120AC4)($t6) /* 069950 80068D50 3C198012 */ lui $t9, %hi(D_80120D15) # $t9, 0x8012 /* 069954 80068D54 01CFC021 */ addu $t8, $t6, $t7 /* 069958 80068D58 A6580004 */ sh $t8, 4($s2) diff --git a/asm/non_matchings/unknown_066AA0/func_80069484.s b/asm/non_matchings/unknown_066AA0/func_80069484.s index c0147216..1cbe6152 100644 --- a/asm/non_matchings/unknown_066AA0/func_80069484.s +++ b/asm/non_matchings/unknown_066AA0/func_80069484.s @@ -173,7 +173,7 @@ glabel func_80069484 /* 06A324 80069724 C7B20044 */ lwc1 $f18, 0x44($sp) /* 06A328 80069728 25AE0001 */ addiu $t6, $t5, 1 /* 06A32C 8006972C 000E1080 */ sll $v0, $t6, 2 -/* 06A330 80069730 3C018012 */ lui $at, 0x8012 +/* 06A330 80069730 3C018012 */ lui $at, %hi(D_80120D28) # $at, 0x8012 /* 06A334 80069734 AC8E0000 */ sw $t6, ($a0) /* 06A338 80069738 00220821 */ addu $at, $at, $v0 /* 06A33C 8006973C 8FBF002C */ lw $ra, 0x2c($sp) @@ -185,7 +185,7 @@ glabel func_80069484 /* 06A354 80069754 C7A6004C */ lwc1 $f6, 0x4c($sp) /* 06A358 80069758 46009102 */ mul.s $f4, $f18, $f0 /* 06A35C 8006975C E7B00048 */ swc1 $f16, 0x48($sp) -/* 06A360 80069760 E4260D28 */ swc1 $f6, 0xd28($at) +/* 06A360 80069760 E4260D28 */ swc1 $f6, %lo(D_80120D28)($at) /* 06A364 80069764 C7A80048 */ lwc1 $f8, 0x48($sp) /* 06A368 80069768 3C018012 */ lui $at, %hi(D_80120D40) # $at, 0x8012 /* 06A36C 8006976C 00220821 */ addu $at, $at, $v0 diff --git a/asm/non_matchings/unknown_072E50/func_80073C5C.s b/asm/non_matchings/unknown_072E50/func_80073C5C.s index 7c88e3b1..d099c820 100644 --- a/asm/non_matchings/unknown_072E50/func_80073C5C.s +++ b/asm/non_matchings/unknown_072E50/func_80073C5C.s @@ -39,7 +39,7 @@ glabel func_80073C5C /* 0748EC 80073CEC 13000022 */ beqz $t8, .L80073D78 /* 0748F0 80073CF0 00000000 */ nop /* 0748F4 80073CF4 1736000B */ bne $t9, $s6, .L80073D24 -/* 0748F8 80073CF8 3C04800E */ lui $a0, 0x800e +/* 0748F8 80073CF8 3C04800E */ lui $a0, %hi(D_800E7660) # $a0, 0x800e /* 0748FC 80073CFC 0C033867 */ jal strlen /* 074900 80073D00 02E02025 */ move $a0, $s7 /* 074904 80073D04 8E040000 */ lw $a0, ($s0) @@ -52,7 +52,7 @@ glabel func_80073C5C /* 074920 80073D20 26100004 */ addiu $s0, $s0, 4 .L80073D24: /* 074924 80073D24 0C033867 */ jal strlen -/* 074928 80073D28 24847660 */ addiu $a0, $a0, 0x7660 +/* 074928 80073D28 24847660 */ addiu $a0, %lo(D_800E7660) # addiu $a0, $a0, 0x7660 /* 07492C 80073D2C 8E040000 */ lw $a0, ($s0) /* 074930 80073D30 3C05800E */ lui $a1, %hi(D_800E7650) # $a1, 0x800e /* 074934 80073D34 24A57650 */ addiu $a1, %lo(D_800E7650) # addiu $a1, $a1, 0x7650 diff --git a/asm/non_matchings/unknown_080500/MenuAudioOptionsLoop.s b/asm/non_matchings/unknown_080500/MenuAudioOptionsLoop.s index b1d6f608..b3a1c9a5 100644 --- a/asm/non_matchings/unknown_080500/MenuAudioOptionsLoop.s +++ b/asm/non_matchings/unknown_080500/MenuAudioOptionsLoop.s @@ -323,7 +323,7 @@ glabel MenuAudioOptionsLoop /* 085D04 80085104 85AD6C46 */ lh $t5, %lo(D_80126C46)($t5) /* 085D08 80085108 24010001 */ li $at, 1 /* 085D0C 8008510C 15A1000B */ bne $t5, $at, .L8008513C -/* 085D10 80085110 3C058012 */ lui $a1, 0x8012 +/* 085D10 80085110 3C058012 */ lui $a1, %hi(D_801269FC) # $a1, 0x8012 /* 085D14 80085114 3C058012 */ lui $a1, %hi(D_801269FC) # $a1, 0x8012 /* 085D18 80085118 24A569FC */ addiu $a1, %lo(D_801269FC) # addiu $a1, $a1, 0x69fc /* 085D1C 8008511C 8CAE0000 */ lw $t6, ($a1) @@ -335,7 +335,7 @@ glabel MenuAudioOptionsLoop /* 085D34 80085134 10000009 */ b .L8008515C /* 085D38 80085138 8FAF0030 */ lw $t7, 0x30($sp) .L8008513C: -/* 085D3C 8008513C 24A569FC */ addiu $a1, $a1, 0x69fc +/* 085D3C 8008513C 24A569FC */ addiu $a1, %lo(D_801269FC) # addiu $a1, $a1, 0x69fc /* 085D40 80085140 8CA40000 */ lw $a0, ($a1) /* 085D44 80085144 00000000 */ nop /* 085D48 80085148 10800004 */ beqz $a0, .L8008515C diff --git a/asm/non_matchings/unknown_080500/MenuTrackSelectInit.s b/asm/non_matchings/unknown_080500/MenuTrackSelectInit.s index 29c3d245..c8d8d8be 100644 --- a/asm/non_matchings/unknown_080500/MenuTrackSelectInit.s +++ b/asm/non_matchings/unknown_080500/MenuTrackSelectInit.s @@ -545,7 +545,7 @@ glabel MenuTrackSelectInit /* 08FBCC 8008EFCC 8D6B0410 */ lw $t3, %lo(D_800E0410)($t3) /* 08FBD0 8008EFD0 8FBF0044 */ lw $ra, 0x44($sp) /* 08FBD4 8008EFD4 AC2CF494 */ sw $t4, %lo(gIsInAdventureTwo)($at) -/* 08FBD8 8008EFD8 3C018012 */ lui $at, 0x8012 +/* 08FBD8 8008EFD8 3C018012 */ lui $at, %hi(D_80126548) # $at, 0x8012 /* 08FBDC 8008EFDC 8FB00020 */ lw $s0, 0x20($sp) /* 08FBE0 8008EFE0 8FB10024 */ lw $s1, 0x24($sp) /* 08FBE4 8008EFE4 8FB20028 */ lw $s2, 0x28($sp) @@ -557,5 +557,5 @@ glabel MenuTrackSelectInit /* 08FBFC 8008EFFC 8FBE0040 */ lw $fp, 0x40($sp) /* 08FC00 8008F000 27BD0080 */ addiu $sp, $sp, 0x80 /* 08FC04 8008F004 03E00008 */ jr $ra -/* 08FC08 8008F008 AC2B6548 */ sw $t3, 0x6548($at) +/* 08FC08 8008F008 AC2B6548 */ sw $t3, %lo(D_80126548)($at) diff --git a/asm/non_matchings/unknown_080500/func_8009CA60.s b/asm/non_matchings/unknown_080500/func_8009CA60.s index 567ea1e0..bbcc171d 100644 --- a/asm/non_matchings/unknown_080500/func_8009CA60.s +++ b/asm/non_matchings/unknown_080500/func_8009CA60.s @@ -32,7 +32,7 @@ glabel func_8009CA60 /* 09D6D8 8009CAD8 3C0F800E */ lui $t7, %hi(D_800DF468) # $t7, 0x800e /* 09D6DC 8009CADC A54C0000 */ sh $t4, ($t2) /* 09D6E0 8009CAE0 844D0002 */ lh $t5, 2($v0) -/* 09D6E4 8009CAE4 3C108012 */ lui $s0, 0x8012 +/* 09D6E4 8009CAE4 3C108012 */ lui $s0, %hi(D_801263A0) # $s0, 0x8012 /* 09D6E8 8009CAE8 A54D0002 */ sh $t5, 2($t2) /* 09D6EC 8009CAEC 844E0004 */ lh $t6, 4($v0) /* 09D6F0 8009CAF0 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 @@ -44,7 +44,7 @@ glabel func_8009CA60 /* 09D708 8009CB08 01403825 */ move $a3, $t2 /* 09D70C 8009CB0C E5460010 */ swc1 $f6, 0x10($t2) /* 09D710 8009CB10 C4480014 */ lwc1 $f8, 0x14($v0) -/* 09D714 8009CB14 260463A0 */ addiu $a0, $s0, 0x63a0 +/* 09D714 8009CB14 260463A0 */ addiu $a0, $s0, %lo(D_801263A0) /* 09D718 8009CB18 E5480014 */ swc1 $f8, 0x14($t2) /* 09D71C 8009CB1C C44A0008 */ lwc1 $f10, 8($v0) /* 09D720 8009CB20 3C0C800E */ lui $t4, %hi(D_800DF764) # $t4, 0x800e diff --git a/asm/non_matchings/unknown_0B8920/func_800B9228.s b/asm/non_matchings/unknown_0B8920/func_800B9228.s index e99ae33e..85a87d38 100644 --- a/asm/non_matchings/unknown_0B8920/func_800B9228.s +++ b/asm/non_matchings/unknown_0B8920/func_800B9228.s @@ -32,7 +32,7 @@ glabel func_800B9228 /* 0B9E98 800B9298 8DAD30D4 */ lw $t5, %lo(D_800E30D4)($t5) /* 0B9E9C 800B929C 3C05800E */ lui $a1, %hi(D_800E30DC) # $a1, 0x800e /* 0B9EA0 800B92A0 24A530DC */ addiu $a1, %lo(D_800E30DC) # addiu $a1, $a1, 0x30dc -/* 0B9EA4 800B92A4 3C018013 */ lui $at, 0x8013 +/* 0B9EA4 800B92A4 3C018013 */ lui $at, %hi(D_8012A1E8) # $at, 0x8013 /* 0B9EA8 800B92A8 00004812 */ mflo $t1 /* 0B9EAC 800B92AC 01095021 */ addu $t2, $t0, $t1 /* 0B9EB0 800B92B0 8D4B000C */ lw $t3, 0xc($t2) @@ -47,7 +47,7 @@ glabel func_800B9228 /* 0B9ED4 800B92D4 24030001 */ li $v1, 1 /* 0B9ED8 800B92D8 0004C040 */ sll $t8, $a0, 1 /* 0B9EDC 800B92DC 00380821 */ addu $at, $at, $t8 -/* 0B9EE0 800B92E0 A422A1E8 */ sh $v0, -0x5e18($at) +/* 0B9EE0 800B92E0 A422A1E8 */ sh $v0, %lo(D_8012A1E8)($at) /* 0B9EE4 800B92E4 24990001 */ addiu $t9, $a0, 1 /* 0B9EE8 800B92E8 ACB90000 */ sw $t9, ($a1) .L800B92EC: diff --git a/asm/non_matchings/unknown_0B8920/func_800BA288.s b/asm/non_matchings/unknown_0B8920/func_800BA288.s index 806adf42..72642229 100644 --- a/asm/non_matchings/unknown_0B8920/func_800BA288.s +++ b/asm/non_matchings/unknown_0B8920/func_800BA288.s @@ -128,7 +128,7 @@ glabel func_800BA288 /* 0BB058 800BA458 008F7021 */ addu $t6, $a0, $t7 /* 0BB05C 800BA45C 01C33821 */ addu $a3, $t6, $v1 /* 0BB060 800BA460 90F90014 */ lbu $t9, 0x14($a3) -/* 0BB064 800BA464 3C038013 */ lui $v1, 0x8013 +/* 0BB064 800BA464 3C038013 */ lui $v1, %hi(D_8012A0E0) # $v1, 0x8013 /* 0BB068 800BA468 03254021 */ addu $t0, $t9, $a1 /* 0BB06C 800BA46C 29010080 */ slti $at, $t0, 0x80 /* 0BB070 800BA470 10200006 */ beqz $at, .L800BA48C @@ -140,7 +140,7 @@ glabel func_800BA288 /* 0BB088 800BA488 24420001 */ addiu $v0, $v0, 1 .L800BA48C: /* 0BB08C 800BA48C A0F10014 */ sb $s1, 0x14($a3) -/* 0BB090 800BA490 8C63A0E0 */ lw $v1, -0x5f20($v1) +/* 0BB090 800BA490 8C63A0E0 */ lw $v1, %lo(D_8012A0E0)($v1) /* 0BB094 800BA494 00000000 */ nop .L800BA498: /* 0BB098 800BA498 24420001 */ addiu $v0, $v0, 1 diff --git a/asm/non_matchings/unknown_0B8920/func_800C4DA0.s b/asm/non_matchings/unknown_0B8920/func_800C4DA0.s index ad82dd9c..d657ba41 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C4DA0.s +++ b/asm/non_matchings/unknown_0B8920/func_800C4DA0.s @@ -1,6 +1,6 @@ glabel func_800C4DA0 /* 0C59A0 800C4DA0 14800003 */ bnez $a0, .L800C4DB0 -/* 0C59A4 800C4DA4 3C188013 */ lui $t8, 0x8013 +/* 0C59A4 800C4DA4 3C188013 */ lui $t8, %hi(D_8012A7E4) # $t8, 0x8013 /* 0C59A8 800C4DA8 03E00008 */ jr $ra /* 0C59AC 800C4DAC 00001025 */ move $v0, $zero @@ -13,7 +13,7 @@ glabel func_800C4DA0 /* 0C59C4 800C4DC4 91C6001D */ lbu $a2, 0x1d($t6) /* 0C59C8 800C4DC8 00000000 */ nop .L800C4DCC: -/* 0C59CC 800C4DCC 8F18A7E4 */ lw $t8, -0x581c($t8) +/* 0C59CC 800C4DCC 8F18A7E4 */ lw $t8, %lo(D_8012A7E4)($t8) /* 0C59D0 800C4DD0 90990000 */ lbu $t9, ($a0) /* 0C59D4 800C4DD4 00067A80 */ sll $t7, $a2, 0xa /* 0C59D8 800C4DD8 1320003D */ beqz $t9, .L800C4ED0 diff --git a/data/unknown_072E50.rodata.s b/data/unknown_072E50.rodata.s index 97f488c6..e4ac95b7 100644 --- a/data/unknown_072E50.rodata.s +++ b/data/unknown_072E50.rodata.s @@ -28,6 +28,8 @@ glabel D_800E7640 glabel D_800E7650 .aligned_text "DKRACING-TIMES" + +glabel D_800E7660 .aligned_text "DKRACING-TIMES" glabel D_800E7670 diff --git a/tools/python/find_glabels.py b/tools/python/find_glabels.py index 9a1eef0b..d4b4a608 100644 --- a/tools/python/find_glabels.py +++ b/tools/python/find_glabels.py @@ -2,13 +2,17 @@ import re from file_util import FileUtil +# Maximum number of lines between a glabel's upper/lower usage to look for. +MAX_LINE_DIFF = 10 + LINE_START_REGEX = r'\n(/\* ([0-9A-F]{6}) [0-9A-F]{8} [0-9A-F]{8} \*/\s+|\.L80[0-9A-F]{6}:)?' REG_REGEX = r'(\$(at|v[0-1]|a[0-3]|t[0-9]|s[0-7]|f[0-9]{1,2}|k[01]|gp|sp|fp|ra|zero))' GLABEL_UPPER_REGEX = '(' + LINE_START_REGEX + r'lui\s+' + REG_REGEX + r',\s+(0x80[0-9a-f]{2}))' GLABEL_LOWER_LS_REGEX = r'[sl][bhwd](u|c1)?\s+' + REG_REGEX + r',\s+(-?0x[0-9a-f]{3,4})\(\4\)' GLABEL_LOWER_ADDU_REGEX = r'addiu\s+' + REG_REGEX + r',\s+\4,\s+(-?0x[0-9a-f]{3,4})' GLABEL_LOWER_REGEX = LINE_START_REGEX + '(' + GLABEL_LOWER_LS_REGEX + '|' + GLABEL_LOWER_ADDU_REGEX + ')' -GLABEL_REGEX = GLABEL_UPPER_REGEX + '(' + LINE_START_REGEX + '[^\n]*){0,10}' + GLABEL_LOWER_REGEX +GLABEL_REGEX_STR = GLABEL_UPPER_REGEX + '(' + LINE_START_REGEX + '[^\n]*){0,' + str(MAX_LINE_DIFF) + '}' + GLABEL_LOWER_REGEX +GLABEL_REGEX = re.compile(GLABEL_REGEX_STR) UPPER_INSTR_REGEX_TMPL = r'(/\* %s[^\n#]*lui\s+)([^\n]*)' LOWER_INSTR_LS_REGEX_TMPL = r'(/\* %s[^\n#]*[ls][bhwd](u|c1)?\s+' + REG_REGEX + r',\s+)-?0x[0-9a-f]{3,4}([^\n]*)' @@ -22,7 +26,7 @@ def _find_glabels(asm): for file in FileUtil.get_filenames_from_directory_recursive('.', '.s'): #''' contents = FileUtil.get_text_from_file(file) - matches = re.findall(GLABEL_REGEX, contents) + matches = GLABEL_REGEX.findall(contents) for match in matches: reg = match[3] offsets = (match[2], match[10]) # ROM offsets of the lui and [sl][bhw] diff --git a/undefined_syms.txt b/undefined_syms.txt index db0b1b9c..1e792ac7 100755 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1561,6 +1561,7 @@ D_800E7584 = 0x800E7584; D_800E7630 = 0x800E7630; D_800E7640 = 0x800E7640; D_800E7650 = 0x800E7650; +D_800E7660 = 0x800E7660; D_800E7670 = 0x800E7670; D_800E7680 = 0x800E7680; D_800E7690 = 0x800E7690;