diff options
author | red031000 <rubenru09@aol.com> | 2020-09-18 15:37:58 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-09-18 15:37:58 +0100 |
commit | dce9d7dd3363fb3c788e9eef5d71a35e0356a02b (patch) | |
tree | 8750f4ac0ca87a7ea81ad8588f7c98724bc9ef05 | |
parent | 51078da1c3812d2016767666b7eacba314144b8d (diff) |
split __va_arg
-rw-r--r-- | asm/libstdc++/__va_arg.s | 62 | ||||
-rw-r--r-- | asm/text_10_2.s | 2 | ||||
-rw-r--r-- | asm/text_5_2.s | 59 | ||||
-rw-r--r-- | asm/text_6.s | 50 | ||||
-rw-r--r-- | asm/text_9.s | 14 | ||||
-rw-r--r-- | obj_files.mk | 1 |
6 files changed, 96 insertions, 92 deletions
diff --git a/asm/libstdc++/__va_arg.s b/asm/libstdc++/__va_arg.s new file mode 100644 index 0000000..9fa03cd --- /dev/null +++ b/asm/libstdc++/__va_arg.s @@ -0,0 +1,62 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global __va_arg +__va_arg: +/* 801C6B80 001C27E0 88 E3 00 00 */ lbz r7, 0(r3) +/* 801C6B84 001C27E4 2C 04 00 03 */ cmpwi r4, 3 +/* 801C6B88 001C27E8 7C 66 1B 78 */ mr r6, r3 +/* 801C6B8C 001C27EC 38 00 00 08 */ li r0, 8 +/* 801C6B90 001C27F0 7C E7 07 74 */ extsb r7, r7 +/* 801C6B94 001C27F4 39 00 00 04 */ li r8, 4 +/* 801C6B98 001C27F8 39 20 00 01 */ li r9, 1 +/* 801C6B9C 001C27FC 38 A0 00 00 */ li r5, 0 +/* 801C6BA0 001C2800 39 40 00 00 */ li r10, 0 +/* 801C6BA4 001C2804 39 60 00 04 */ li r11, 4 +/* 801C6BA8 001C2808 40 82 00 1C */ bne lbl_801C6BC4 +/* 801C6BAC 001C280C 88 E3 00 01 */ lbz r7, 1(r3) +/* 801C6BB0 001C2810 38 C3 00 01 */ addi r6, r3, 1 +/* 801C6BB4 001C2814 39 00 00 08 */ li r8, 8 +/* 801C6BB8 001C2818 39 40 00 20 */ li r10, 0x20 +/* 801C6BBC 001C281C 7C E7 07 74 */ extsb r7, r7 +/* 801C6BC0 001C2820 39 60 00 08 */ li r11, 8 +lbl_801C6BC4: +/* 801C6BC4 001C2824 2C 04 00 02 */ cmpwi r4, 2 +/* 801C6BC8 001C2828 40 82 00 1C */ bne lbl_801C6BE4 +/* 801C6BCC 001C282C 54 E0 07 FF */ clrlwi. r0, r7, 0x1f +/* 801C6BD0 001C2830 39 00 00 08 */ li r8, 8 +/* 801C6BD4 001C2834 38 00 00 07 */ li r0, 7 +/* 801C6BD8 001C2838 41 82 00 08 */ beq lbl_801C6BE0 +/* 801C6BDC 001C283C 38 A0 00 01 */ li r5, 1 +lbl_801C6BE0: +/* 801C6BE0 001C2840 39 20 00 02 */ li r9, 2 +lbl_801C6BE4: +/* 801C6BE4 001C2844 7C 07 00 00 */ cmpw r7, r0 +/* 801C6BE8 001C2848 40 80 00 24 */ bge lbl_801C6C0C +/* 801C6BEC 001C284C 7C E7 2A 14 */ add r7, r7, r5 +/* 801C6BF0 001C2850 80 63 00 08 */ lwz r3, 8(r3) +/* 801C6BF4 001C2854 7C A7 59 D6 */ mullw r5, r7, r11 +/* 801C6BF8 001C2858 7C 07 4A 14 */ add r0, r7, r9 +/* 801C6BFC 001C285C 7C 63 52 14 */ add r3, r3, r10 +/* 801C6C00 001C2860 98 06 00 00 */ stb r0, 0(r6) +/* 801C6C04 001C2864 7C A5 1A 14 */ add r5, r5, r3 +/* 801C6C08 001C2868 48 00 00 2C */ b lbl_801C6C34 +lbl_801C6C0C: +/* 801C6C0C 001C286C 38 A0 00 08 */ li r5, 8 +/* 801C6C10 001C2870 38 08 FF FF */ addi r0, r8, -1 +/* 801C6C14 001C2874 98 A6 00 00 */ stb r5, 0(r6) +/* 801C6C18 001C2878 7C 06 00 F8 */ nor r6, r0, r0 +/* 801C6C1C 001C287C 80 03 00 04 */ lwz r0, 4(r3) +/* 801C6C20 001C2880 7C A8 02 14 */ add r5, r8, r0 +/* 801C6C24 001C2884 38 05 FF FF */ addi r0, r5, -1 +/* 801C6C28 001C2888 7C C5 00 38 */ and r5, r6, r0 +/* 801C6C2C 001C288C 7C 05 42 14 */ add r0, r5, r8 +/* 801C6C30 001C2890 90 03 00 04 */ stw r0, 4(r3) +lbl_801C6C34: +/* 801C6C34 001C2894 2C 04 00 00 */ cmpwi r4, 0 +/* 801C6C38 001C2898 40 82 00 08 */ bne lbl_801C6C40 +/* 801C6C3C 001C289C 80 A5 00 00 */ lwz r5, 0(r5) +lbl_801C6C40: +/* 801C6C40 001C28A0 7C A3 2B 78 */ mr r3, r5 +/* 801C6C44 001C28A4 4E 80 00 20 */ blr diff --git a/asm/text_10_2.s b/asm/text_10_2.s index f6ed39e..c335b34 100644 --- a/asm/text_10_2.s +++ b/asm/text_10_2.s @@ -54304,7 +54304,7 @@ lbl_8036BEC4: lbl_8036BEE8:
/* 8036BEE8 00367B48 38 61 00 74 */ addi r3, r1, 0x74
/* 8036BEEC 00367B4C 38 80 00 01 */ li r4, 1
-/* 8036BEF0 00367B50 4B E5 AC 91 */ bl func_801C6B80
+/* 8036BEF0 00367B50 4B E5 AC 91 */ bl __va_arg
/* 8036BEF4 00367B54 80 03 00 00 */ lwz r0, 0(r3)
/* 8036BEF8 00367B58 3B 9C 00 01 */ addi r28, r28, 1
/* 8036BEFC 00367B5C B0 1D 00 00 */ sth r0, 0(r29)
diff --git a/asm/text_5_2.s b/asm/text_5_2.s index 95ee009..bcd9cc9 100644 --- a/asm/text_5_2.s +++ b/asm/text_5_2.s @@ -2,65 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global func_801C6B80 -func_801C6B80: -/* 801C6B80 001C27E0 88 E3 00 00 */ lbz r7, 0(r3) -/* 801C6B84 001C27E4 2C 04 00 03 */ cmpwi r4, 3 -/* 801C6B88 001C27E8 7C 66 1B 78 */ mr r6, r3 -/* 801C6B8C 001C27EC 38 00 00 08 */ li r0, 8 -/* 801C6B90 001C27F0 7C E7 07 74 */ extsb r7, r7 -/* 801C6B94 001C27F4 39 00 00 04 */ li r8, 4 -/* 801C6B98 001C27F8 39 20 00 01 */ li r9, 1 -/* 801C6B9C 001C27FC 38 A0 00 00 */ li r5, 0 -/* 801C6BA0 001C2800 39 40 00 00 */ li r10, 0 -/* 801C6BA4 001C2804 39 60 00 04 */ li r11, 4 -/* 801C6BA8 001C2808 40 82 00 1C */ bne lbl_801C6BC4 -/* 801C6BAC 001C280C 88 E3 00 01 */ lbz r7, 1(r3) -/* 801C6BB0 001C2810 38 C3 00 01 */ addi r6, r3, 1 -/* 801C6BB4 001C2814 39 00 00 08 */ li r8, 8 -/* 801C6BB8 001C2818 39 40 00 20 */ li r10, 0x20 -/* 801C6BBC 001C281C 7C E7 07 74 */ extsb r7, r7 -/* 801C6BC0 001C2820 39 60 00 08 */ li r11, 8 -lbl_801C6BC4: -/* 801C6BC4 001C2824 2C 04 00 02 */ cmpwi r4, 2 -/* 801C6BC8 001C2828 40 82 00 1C */ bne lbl_801C6BE4 -/* 801C6BCC 001C282C 54 E0 07 FF */ clrlwi. r0, r7, 0x1f -/* 801C6BD0 001C2830 39 00 00 08 */ li r8, 8 -/* 801C6BD4 001C2834 38 00 00 07 */ li r0, 7 -/* 801C6BD8 001C2838 41 82 00 08 */ beq lbl_801C6BE0 -/* 801C6BDC 001C283C 38 A0 00 01 */ li r5, 1 -lbl_801C6BE0: -/* 801C6BE0 001C2840 39 20 00 02 */ li r9, 2 -lbl_801C6BE4: -/* 801C6BE4 001C2844 7C 07 00 00 */ cmpw r7, r0 -/* 801C6BE8 001C2848 40 80 00 24 */ bge lbl_801C6C0C -/* 801C6BEC 001C284C 7C E7 2A 14 */ add r7, r7, r5 -/* 801C6BF0 001C2850 80 63 00 08 */ lwz r3, 8(r3) -/* 801C6BF4 001C2854 7C A7 59 D6 */ mullw r5, r7, r11 -/* 801C6BF8 001C2858 7C 07 4A 14 */ add r0, r7, r9 -/* 801C6BFC 001C285C 7C 63 52 14 */ add r3, r3, r10 -/* 801C6C00 001C2860 98 06 00 00 */ stb r0, 0(r6) -/* 801C6C04 001C2864 7C A5 1A 14 */ add r5, r5, r3 -/* 801C6C08 001C2868 48 00 00 2C */ b lbl_801C6C34 -lbl_801C6C0C: -/* 801C6C0C 001C286C 38 A0 00 08 */ li r5, 8 -/* 801C6C10 001C2870 38 08 FF FF */ addi r0, r8, -1 -/* 801C6C14 001C2874 98 A6 00 00 */ stb r5, 0(r6) -/* 801C6C18 001C2878 7C 06 00 F8 */ nor r6, r0, r0 -/* 801C6C1C 001C287C 80 03 00 04 */ lwz r0, 4(r3) -/* 801C6C20 001C2880 7C A8 02 14 */ add r5, r8, r0 -/* 801C6C24 001C2884 38 05 FF FF */ addi r0, r5, -1 -/* 801C6C28 001C2888 7C C5 00 38 */ and r5, r6, r0 -/* 801C6C2C 001C288C 7C 05 42 14 */ add r0, r5, r8 -/* 801C6C30 001C2890 90 03 00 04 */ stw r0, 4(r3) -lbl_801C6C34: -/* 801C6C34 001C2894 2C 04 00 00 */ cmpwi r4, 0 -/* 801C6C38 001C2898 40 82 00 08 */ bne lbl_801C6C40 -/* 801C6C3C 001C289C 80 A5 00 00 */ lwz r5, 0(r5) -lbl_801C6C40: -/* 801C6C40 001C28A0 7C A3 2B 78 */ mr r3, r5 -/* 801C6C44 001C28A4 4E 80 00 20 */ blr - .global func_801C6C48 func_801C6C48: #__register_global_object #note: this func requires __destroy_global_chain to be defined to be defined as __register_global_object diff --git a/asm/text_6.s b/asm/text_6.s index 41b17c6..1cc2e0b 100644 --- a/asm/text_6.s +++ b/asm/text_6.s @@ -84,7 +84,7 @@ lbl_801CA8C0: /* 801CA8C4 001C6524 40 82 00 3C */ bne lbl_801CA900 /* 801CA8C8 001C6528 7F A3 EB 78 */ mr r3, r29 /* 801CA8CC 001C652C 38 80 00 01 */ li r4, 1 -/* 801CA8D0 001C6530 4B FF C2 B1 */ bl func_801C6B80 +/* 801CA8D0 001C6530 4B FF C2 B1 */ bl __va_arg /* 801CA8D4 001C6534 80 03 00 00 */ lwz r0, 0(r3) /* 801CA8D8 001C6538 2C 00 00 00 */ cmpwi r0, 0 /* 801CA8DC 001C653C 90 01 00 10 */ stw r0, 0x10(r1) @@ -157,7 +157,7 @@ lbl_801CA9A4: /* 801CA9C0 001C6620 40 82 00 34 */ bne lbl_801CA9F4 /* 801CA9C4 001C6624 7F A3 EB 78 */ mr r3, r29 /* 801CA9C8 001C6628 38 80 00 01 */ li r4, 1 -/* 801CA9CC 001C662C 4B FF C1 B5 */ bl func_801C6B80 +/* 801CA9CC 001C662C 4B FF C1 B5 */ bl __va_arg /* 801CA9D0 001C6630 80 03 00 00 */ lwz r0, 0(r3) /* 801CA9D4 001C6634 2C 00 00 00 */ cmpwi r0, 0 /* 801CA9D8 001C6638 90 01 00 14 */ stw r0, 0x14(r1) @@ -1869,7 +1869,7 @@ lbl_801CC0E8: /* 801CC0F0 001C7D50 40 82 00 18 */ bne lbl_801CC108 /* 801CC0F4 001C7D54 7E 63 9B 78 */ mr r3, r19 /* 801CC0F8 001C7D58 38 80 00 01 */ li r4, 1 -/* 801CC0FC 001C7D5C 4B FF AA 85 */ bl func_801C6B80 +/* 801CC0FC 001C7D5C 4B FF AA 85 */ bl __va_arg /* 801CC100 001C7D60 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC104 001C7D64 48 00 00 8C */ b lbl_801CC190 lbl_801CC108: @@ -1877,7 +1877,7 @@ lbl_801CC108: /* 801CC10C 001C7D6C 40 82 00 1C */ bne lbl_801CC128 /* 801CC110 001C7D70 7E 63 9B 78 */ mr r3, r19 /* 801CC114 001C7D74 38 80 00 02 */ li r4, 2 -/* 801CC118 001C7D78 4B FF AA 69 */ bl func_801C6B80 +/* 801CC118 001C7D78 4B FF AA 69 */ bl __va_arg /* 801CC11C 001C7D7C 82 A3 00 00 */ lwz r21, 0(r3) /* 801CC120 001C7D80 82 83 00 04 */ lwz r20, 4(r3) /* 801CC124 001C7D84 48 00 00 6C */ b lbl_801CC190 @@ -1886,7 +1886,7 @@ lbl_801CC128: /* 801CC12C 001C7D8C 40 82 00 1C */ bne lbl_801CC148 /* 801CC130 001C7D90 7E 63 9B 78 */ mr r3, r19 /* 801CC134 001C7D94 38 80 00 02 */ li r4, 2 -/* 801CC138 001C7D98 4B FF AA 49 */ bl func_801C6B80 +/* 801CC138 001C7D98 4B FF AA 49 */ bl __va_arg /* 801CC13C 001C7D9C 82 A3 00 00 */ lwz r21, 0(r3) /* 801CC140 001C7DA0 82 83 00 04 */ lwz r20, 4(r3) /* 801CC144 001C7DA4 48 00 00 4C */ b lbl_801CC190 @@ -1895,7 +1895,7 @@ lbl_801CC148: /* 801CC14C 001C7DAC 40 82 00 18 */ bne lbl_801CC164 /* 801CC150 001C7DB0 7E 63 9B 78 */ mr r3, r19 /* 801CC154 001C7DB4 38 80 00 01 */ li r4, 1 -/* 801CC158 001C7DB8 4B FF AA 29 */ bl func_801C6B80 +/* 801CC158 001C7DB8 4B FF AA 29 */ bl __va_arg /* 801CC15C 001C7DBC 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC160 001C7DC0 48 00 00 30 */ b lbl_801CC190 lbl_801CC164: @@ -1903,13 +1903,13 @@ lbl_801CC164: /* 801CC168 001C7DC8 40 82 00 18 */ bne lbl_801CC180 /* 801CC16C 001C7DCC 7E 63 9B 78 */ mr r3, r19 /* 801CC170 001C7DD0 38 80 00 01 */ li r4, 1 -/* 801CC174 001C7DD4 4B FF AA 0D */ bl func_801C6B80 +/* 801CC174 001C7DD4 4B FF AA 0D */ bl __va_arg /* 801CC178 001C7DD8 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC17C 001C7DDC 48 00 00 14 */ b lbl_801CC190 lbl_801CC180: /* 801CC180 001C7DE0 7E 63 9B 78 */ mr r3, r19 /* 801CC184 001C7DE4 38 80 00 01 */ li r4, 1 -/* 801CC188 001C7DE8 4B FF A9 F9 */ bl func_801C6B80 +/* 801CC188 001C7DE8 4B FF A9 F9 */ bl __va_arg /* 801CC18C 001C7DEC 82 C3 00 00 */ lwz r22, 0(r3) lbl_801CC190: /* 801CC190 001C7DF0 88 01 00 74 */ lbz r0, 0x74(r1) @@ -1968,7 +1968,7 @@ lbl_801CC244: /* 801CC24C 001C7EAC 40 82 00 18 */ bne lbl_801CC264 /* 801CC250 001C7EB0 7E 63 9B 78 */ mr r3, r19 /* 801CC254 001C7EB4 38 80 00 01 */ li r4, 1 -/* 801CC258 001C7EB8 4B FF A9 29 */ bl func_801C6B80 +/* 801CC258 001C7EB8 4B FF A9 29 */ bl __va_arg /* 801CC25C 001C7EBC 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC260 001C7EC0 48 00 00 8C */ b lbl_801CC2EC lbl_801CC264: @@ -1976,7 +1976,7 @@ lbl_801CC264: /* 801CC268 001C7EC8 40 82 00 1C */ bne lbl_801CC284 /* 801CC26C 001C7ECC 7E 63 9B 78 */ mr r3, r19 /* 801CC270 001C7ED0 38 80 00 02 */ li r4, 2 -/* 801CC274 001C7ED4 4B FF A9 0D */ bl func_801C6B80 +/* 801CC274 001C7ED4 4B FF A9 0D */ bl __va_arg /* 801CC278 001C7ED8 82 A3 00 00 */ lwz r21, 0(r3) /* 801CC27C 001C7EDC 82 83 00 04 */ lwz r20, 4(r3) /* 801CC280 001C7EE0 48 00 00 6C */ b lbl_801CC2EC @@ -1985,7 +1985,7 @@ lbl_801CC284: /* 801CC288 001C7EE8 40 82 00 1C */ bne lbl_801CC2A4 /* 801CC28C 001C7EEC 7E 63 9B 78 */ mr r3, r19 /* 801CC290 001C7EF0 38 80 00 02 */ li r4, 2 -/* 801CC294 001C7EF4 4B FF A8 ED */ bl func_801C6B80 +/* 801CC294 001C7EF4 4B FF A8 ED */ bl __va_arg /* 801CC298 001C7EF8 82 A3 00 00 */ lwz r21, 0(r3) /* 801CC29C 001C7EFC 82 83 00 04 */ lwz r20, 4(r3) /* 801CC2A0 001C7F00 48 00 00 4C */ b lbl_801CC2EC @@ -1994,7 +1994,7 @@ lbl_801CC2A4: /* 801CC2A8 001C7F08 40 82 00 18 */ bne lbl_801CC2C0 /* 801CC2AC 001C7F0C 7E 63 9B 78 */ mr r3, r19 /* 801CC2B0 001C7F10 38 80 00 01 */ li r4, 1 -/* 801CC2B4 001C7F14 4B FF A8 CD */ bl func_801C6B80 +/* 801CC2B4 001C7F14 4B FF A8 CD */ bl __va_arg /* 801CC2B8 001C7F18 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC2BC 001C7F1C 48 00 00 30 */ b lbl_801CC2EC lbl_801CC2C0: @@ -2002,13 +2002,13 @@ lbl_801CC2C0: /* 801CC2C4 001C7F24 40 82 00 18 */ bne lbl_801CC2DC /* 801CC2C8 001C7F28 7E 63 9B 78 */ mr r3, r19 /* 801CC2CC 001C7F2C 38 80 00 01 */ li r4, 1 -/* 801CC2D0 001C7F30 4B FF A8 B1 */ bl func_801C6B80 +/* 801CC2D0 001C7F30 4B FF A8 B1 */ bl __va_arg /* 801CC2D4 001C7F34 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC2D8 001C7F38 48 00 00 14 */ b lbl_801CC2EC lbl_801CC2DC: /* 801CC2DC 001C7F3C 7E 63 9B 78 */ mr r3, r19 /* 801CC2E0 001C7F40 38 80 00 01 */ li r4, 1 -/* 801CC2E4 001C7F44 4B FF A8 9D */ bl func_801C6B80 +/* 801CC2E4 001C7F44 4B FF A8 9D */ bl __va_arg /* 801CC2E8 001C7F48 82 C3 00 00 */ lwz r22, 0(r3) lbl_801CC2EC: /* 801CC2EC 001C7F4C 88 01 00 74 */ lbz r0, 0x74(r1) @@ -2067,13 +2067,13 @@ lbl_801CC3A0: /* 801CC3A8 001C8008 40 82 00 18 */ bne lbl_801CC3C0 /* 801CC3AC 001C800C 7E 63 9B 78 */ mr r3, r19 /* 801CC3B0 001C8010 38 80 00 03 */ li r4, 3 -/* 801CC3B4 001C8014 4B FF A7 CD */ bl func_801C6B80 +/* 801CC3B4 001C8014 4B FF A7 CD */ bl __va_arg /* 801CC3B8 001C8018 C8 23 00 00 */ lfd f1, 0(r3) /* 801CC3BC 001C801C 48 00 00 14 */ b lbl_801CC3D0 lbl_801CC3C0: /* 801CC3C0 001C8020 7E 63 9B 78 */ mr r3, r19 /* 801CC3C4 001C8024 38 80 00 03 */ li r4, 3 -/* 801CC3C8 001C8028 4B FF A7 B9 */ bl func_801C6B80 +/* 801CC3C8 001C8028 4B FF A7 B9 */ bl __va_arg /* 801CC3CC 001C802C C8 23 00 00 */ lfd f1, 0(r3) lbl_801CC3D0: /* 801CC3D0 001C8030 80 E1 00 70 */ lwz r7, 0x70(r1) @@ -2098,13 +2098,13 @@ lbl_801CC410: /* 801CC418 001C8078 40 82 00 18 */ bne lbl_801CC430 /* 801CC41C 001C807C 7E 63 9B 78 */ mr r3, r19 /* 801CC420 001C8080 38 80 00 03 */ li r4, 3 -/* 801CC424 001C8084 4B FF A7 5D */ bl func_801C6B80 +/* 801CC424 001C8084 4B FF A7 5D */ bl __va_arg /* 801CC428 001C8088 C8 23 00 00 */ lfd f1, 0(r3) /* 801CC42C 001C808C 48 00 00 14 */ b lbl_801CC440 lbl_801CC430: /* 801CC430 001C8090 7E 63 9B 78 */ mr r3, r19 /* 801CC434 001C8094 38 80 00 03 */ li r4, 3 -/* 801CC438 001C8098 4B FF A7 49 */ bl func_801C6B80 +/* 801CC438 001C8098 4B FF A7 49 */ bl __va_arg /* 801CC43C 001C809C C8 23 00 00 */ lfd f1, 0(r3) lbl_801CC440: /* 801CC440 001C80A0 80 E1 00 70 */ lwz r7, 0x70(r1) @@ -2129,7 +2129,7 @@ lbl_801CC480: /* 801CC488 001C80E8 40 82 00 3C */ bne lbl_801CC4C4 /* 801CC48C 001C80EC 7E 63 9B 78 */ mr r3, r19 /* 801CC490 001C80F0 38 80 00 01 */ li r4, 1 -/* 801CC494 001C80F4 4B FF A6 ED */ bl func_801C6B80 +/* 801CC494 001C80F4 4B FF A6 ED */ bl __va_arg /* 801CC498 001C80F8 80 83 00 00 */ lwz r4, 0(r3) /* 801CC49C 001C80FC 2C 04 00 00 */ cmpwi r4, 0 /* 801CC4A0 001C8100 40 82 00 08 */ bne lbl_801CC4A8 @@ -2145,7 +2145,7 @@ lbl_801CC4A8: lbl_801CC4C4: /* 801CC4C4 001C8124 7E 63 9B 78 */ mr r3, r19 /* 801CC4C8 001C8128 38 80 00 01 */ li r4, 1 -/* 801CC4CC 001C812C 4B FF A6 B5 */ bl func_801C6B80 +/* 801CC4CC 001C812C 4B FF A6 B5 */ bl __va_arg /* 801CC4D0 001C8130 83 43 00 00 */ lwz r26, 0(r3) lbl_801CC4D4: /* 801CC4D4 001C8134 2C 1A 00 00 */ cmpwi r26, 0 @@ -2186,7 +2186,7 @@ lbl_801CC544: lbl_801CC554: /* 801CC554 001C81B4 7E 63 9B 78 */ mr r3, r19 /* 801CC558 001C81B8 38 80 00 01 */ li r4, 1 -/* 801CC55C 001C81BC 4B FF A6 25 */ bl func_801C6B80 +/* 801CC55C 001C81BC 4B FF A6 25 */ bl __va_arg /* 801CC560 001C81C0 88 01 00 74 */ lbz r0, 0x74(r1) /* 801CC564 001C81C4 80 83 00 00 */ lwz r4, 0(r3) /* 801CC568 001C81C8 28 00 00 08 */ cmplwi r0, 8 @@ -2218,7 +2218,7 @@ lbl_801CC5CC: /* 801CC5CC 001C822C 7E 63 9B 78 */ mr r3, r19 /* 801CC5D0 001C8230 3B 41 00 80 */ addi r26, r1, 0x80 /* 801CC5D4 001C8234 38 80 00 01 */ li r4, 1 -/* 801CC5D8 001C8238 4B FF A5 A9 */ bl func_801C6B80 +/* 801CC5D8 001C8238 4B FF A5 A9 */ bl __va_arg /* 801CC5DC 001C823C 80 03 00 00 */ lwz r0, 0(r3) /* 801CC5E0 001C8240 3B 60 00 01 */ li r27, 1 /* 801CC5E4 001C8244 98 01 00 80 */ stb r0, 0x80(r1) @@ -3408,7 +3408,7 @@ lbl_801CD608: /* 801CD62C 001C928C 41 82 00 18 */ beq lbl_801CD644 /* 801CD630 001C9290 80 61 00 08 */ lwz r3, 8(r1) /* 801CD634 001C9294 38 80 00 01 */ li r4, 1 -/* 801CD638 001C9298 4B FF 95 49 */ bl func_801C6B80 +/* 801CD638 001C9298 4B FF 95 49 */ bl __va_arg /* 801CD63C 001C929C 82 C3 00 00 */ lwz r22, 0(r3) /* 801CD640 001C92A0 48 00 00 08 */ b lbl_801CD648 lbl_801CD644: @@ -3794,7 +3794,7 @@ lbl_801CDB60: /* 801CDB70 001C97D0 80 61 00 08 */ lwz r3, 8(r1) /* 801CDB74 001C97D4 3B E0 00 01 */ li r31, 1 /* 801CDB78 001C97D8 38 80 00 01 */ li r4, 1 -/* 801CDB7C 001C97DC 4B FF 90 05 */ bl func_801C6B80 +/* 801CDB7C 001C97DC 4B FF 90 05 */ bl __va_arg /* 801CDB80 001C97E0 83 C3 00 00 */ lwz r30, 0(r3) lbl_801CDB84: /* 801CDB84 001C97E4 38 00 00 00 */ li r0, 0 @@ -4013,7 +4013,7 @@ lbl_801CDE50: /* 801CDE60 001C9AC0 80 61 00 08 */ lwz r3, 8(r1) /* 801CDE64 001C9AC4 3B E0 00 01 */ li r31, 1 /* 801CDE68 001C9AC8 38 80 00 01 */ li r4, 1 -/* 801CDE6C 001C9ACC 4B FF 8D 15 */ bl func_801C6B80 +/* 801CDE6C 001C9ACC 4B FF 8D 15 */ bl __va_arg /* 801CDE70 001C9AD0 80 63 00 00 */ lwz r3, 0(r3) /* 801CDE74 001C9AD4 3B C3 FF FF */ addi r30, r3, -1 lbl_801CDE78: diff --git a/asm/text_9.s b/asm/text_9.s index 4f35987..5e97932 100644 --- a/asm/text_9.s +++ b/asm/text_9.s @@ -41420,7 +41420,7 @@ lbl_802F6914: /* 802F694C 002F25AC 91 81 00 6C */ stw r12, 0x6c(r1) /* 802F6950 002F25B0 91 61 00 70 */ stw r11, 0x70(r1) /* 802F6954 002F25B4 90 01 00 74 */ stw r0, 0x74(r1) -/* 802F6958 002F25B8 4B ED 02 29 */ bl func_801C6B80 +/* 802F6958 002F25B8 4B ED 02 29 */ bl __va_arg /* 802F695C 002F25BC 83 E3 00 00 */ lwz r31, 0(r3) /* 802F6960 002F25C0 38 81 00 68 */ addi r4, r1, 0x68 /* 802F6964 002F25C4 38 60 00 00 */ li r3, 0 @@ -54210,7 +54210,7 @@ lbl_80301748: /* 80301764 002FD3C4 40 82 00 20 */ bne lbl_80301784 /* 80301768 002FD3C8 7E C3 B3 78 */ mr r3, r22 /* 8030176C 002FD3CC 38 80 00 01 */ li r4, 1 -/* 80301770 002FD3D0 4B EC 54 11 */ bl func_801C6B80 +/* 80301770 002FD3D0 4B EC 54 11 */ bl __va_arg /* 80301774 002FD3D4 88 15 00 00 */ lbz r0, 0(r21) /* 80301778 002FD3D8 3A B5 00 01 */ addi r21, r21, 1 /* 8030177C 002FD3DC 83 63 00 00 */ lwz r27, 0(r3) @@ -54266,7 +54266,7 @@ lbl_803017D0: /* 80301830 002FD490 48 00 02 3C */ b lbl_80301A6C /* 80301834 002FD494 7E C3 B3 78 */ mr r3, r22 /* 80301838 002FD498 38 80 00 01 */ li r4, 1 -/* 8030183C 002FD49C 4B EC 53 45 */ bl func_801C6B80 +/* 8030183C 002FD49C 4B EC 53 45 */ bl __va_arg /* 80301840 002FD4A0 80 03 00 00 */ lwz r0, 0(r3) /* 80301844 002FD4A4 7E 83 A3 78 */ mr r3, r20 /* 80301848 002FD4A8 7E 85 A3 78 */ mr r5, r20 @@ -54288,7 +54288,7 @@ lbl_80301864: /* 80301880 002FD4E0 48 00 01 EC */ b lbl_80301A6C /* 80301884 002FD4E4 7E C3 B3 78 */ mr r3, r22 /* 80301888 002FD4E8 38 80 00 01 */ li r4, 1 -/* 8030188C 002FD4EC 4B EC 52 F5 */ bl func_801C6B80 +/* 8030188C 002FD4EC 4B EC 52 F5 */ bl __va_arg /* 80301890 002FD4F0 80 63 00 00 */ lwz r3, 0(r3) /* 80301894 002FD4F4 2C 03 00 00 */ cmpwi r3, 0 /* 80301898 002FD4F8 41 82 00 70 */ beq lbl_80301908 @@ -54438,7 +54438,7 @@ lbl_80301A6C: /* 80301A78 002FD6D8 40 82 00 18 */ bne lbl_80301A90 /* 80301A7C 002FD6DC 7E C3 B3 78 */ mr r3, r22 /* 80301A80 002FD6E0 38 80 00 01 */ li r4, 1 -/* 80301A84 002FD6E4 4B EC 50 FD */ bl func_801C6B80 +/* 80301A84 002FD6E4 4B EC 50 FD */ bl __va_arg /* 80301A88 002FD6E8 80 83 00 00 */ lwz r4, 0(r3) /* 80301A8C 002FD6EC 48 00 00 30 */ b lbl_80301ABC lbl_80301A90: @@ -54446,13 +54446,13 @@ lbl_80301A90: /* 80301A94 002FD6F4 41 82 00 18 */ beq lbl_80301AAC /* 80301A98 002FD6F8 7E C3 B3 78 */ mr r3, r22 /* 80301A9C 002FD6FC 38 80 00 01 */ li r4, 1 -/* 80301AA0 002FD700 4B EC 50 E1 */ bl func_801C6B80 +/* 80301AA0 002FD700 4B EC 50 E1 */ bl __va_arg /* 80301AA4 002FD704 80 83 00 00 */ lwz r4, 0(r3) /* 80301AA8 002FD708 48 00 00 14 */ b lbl_80301ABC lbl_80301AAC: /* 80301AAC 002FD70C 7E C3 B3 78 */ mr r3, r22 /* 80301AB0 002FD710 38 80 00 01 */ li r4, 1 -/* 80301AB4 002FD714 4B EC 50 CD */ bl func_801C6B80 +/* 80301AB4 002FD714 4B EC 50 CD */ bl __va_arg /* 80301AB8 002FD718 80 83 00 00 */ lwz r4, 0(r3) lbl_80301ABC: /* 80301ABC 002FD71C 7E 83 A3 78 */ mr r3, r20 diff --git a/obj_files.mk b/obj_files.mk index c2bb6fe..cf378a5 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -13,6 +13,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/text_4.o \ $(BUILD_DIR)/asm/text_5.o \ $(BUILD_DIR)/asm/libstdc++/__mem.o \ + $(BUILD_DIR)/asm/libstdc++/__va_arg.o \ $(BUILD_DIR)/asm/text_5_2.o \ $(BUILD_DIR)/asm/text_6.o \ $(BUILD_DIR)/asm/MetroTRK/mem_TRK.o \ |