summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-09-18 15:37:58 +0100
committerred031000 <rubenru09@aol.com>2020-09-18 15:37:58 +0100
commitdce9d7dd3363fb3c788e9eef5d71a35e0356a02b (patch)
tree8750f4ac0ca87a7ea81ad8588f7c98724bc9ef05
parent51078da1c3812d2016767666b7eacba314144b8d (diff)
split __va_arg
-rw-r--r--asm/libstdc++/__va_arg.s62
-rw-r--r--asm/text_10_2.s2
-rw-r--r--asm/text_5_2.s59
-rw-r--r--asm/text_6.s50
-rw-r--r--asm/text_9.s14
-rw-r--r--obj_files.mk1
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 \