From feaf56f2b7d8cadcf218dfba2b6661863287b1d1 Mon Sep 17 00:00:00 2001 From: red031000 Date: Sat, 19 Sep 2020 15:10:27 +0100 Subject: decompile ptmf.o --- src/libstdc++/ptmf.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/libstdc++/ptmf.c (limited to 'src') diff --git a/src/libstdc++/ptmf.c b/src/libstdc++/ptmf.c new file mode 100644 index 0000000..34d3d3e --- /dev/null +++ b/src/libstdc++/ptmf.c @@ -0,0 +1,17 @@ +#include "CPlusLib.h" + +asm void __ptmf_scall(...) +{ + nofralloc + lwz r0, 0(r12) + lwz r11, 4(r12) + lwz r12, 8(r12) + add r3, r3, r0 + cmpwi r11, 0 + blt lbl_801C6FF8 + lwzx r12, r3, r12 + lwzx r12, r12, r11 +lbl_801C6FF8: + mtctr r12 + bctr +} -- cgit v1.2.3 From 56e262495ba73a71c5f550a7af173a7306b9aa99 Mon Sep 17 00:00:00 2001 From: red031000 Date: Sat, 19 Sep 2020 15:11:52 +0100 Subject: add pragma internal on --- src/libstdc++/ptmf.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/libstdc++/ptmf.c b/src/libstdc++/ptmf.c index 34d3d3e..297039c 100644 --- a/src/libstdc++/ptmf.c +++ b/src/libstdc++/ptmf.c @@ -1,5 +1,7 @@ #include "CPlusLib.h" +#pragma internal on + asm void __ptmf_scall(...) { nofralloc -- cgit v1.2.3 From 8a01e14089b25a56b14a2cdb85e91893a2478fb6 Mon Sep 17 00:00:00 2001 From: red031000 Date: Sat, 19 Sep 2020 15:25:33 +0100 Subject: fix warnings --- src/SDK/OS/OSAlloc.c | 1 - src/darray.c | 7 ++++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/SDK/OS/OSAlloc.c b/src/SDK/OS/OSAlloc.c index f0ff04d..7ec2000 100644 --- a/src/SDK/OS/OSAlloc.c +++ b/src/SDK/OS/OSAlloc.c @@ -129,7 +129,6 @@ void* OSAllocFromHeap(OSHeapHandle heap, u32 size) void OSFreeToHeap(OSHeapHandle heap, void* ptr) { - OSHeapInfo *heapInfo; HeapDesc *hd; Cell *cell; diff --git a/src/darray.c b/src/darray.c index 0c0d194..b179f37 100644 --- a/src/darray.c +++ b/src/darray.c @@ -5,6 +5,9 @@ #pragma auto_inline on +extern void *memcpy(void *, const void *, u32); +extern void *memmove(void *, const void *, u32); + static inline void ArrayInsert(DArray *d, void *elem, s32 n) { if (d->size == d->capacity) { @@ -98,8 +101,6 @@ _savegpr_23(); _restgpr_23(); _savegpr_24(); _restgpr_24(); -memcpy(); -memmove(); asm void ArrayInsertSorted(DArray *d, void *elem, CompareFunction compar) { nofralloc @@ -246,7 +247,7 @@ void ArrayReplaceAt(DArray *d, void *elem, s32 n) void ArraySort(DArray *d, CompareFunction compar) { - qsort(d->buf, d->size, d->elemSz, compar); + qsort(d->buf, (u32)d->size, d->elemSz, compar); } #ifdef NONMATCHING -- cgit v1.2.3