IRIX's memcpy seems to allow overlapping pointers, while host's memcpy usually rely on both pointers parameters non overlapping (UB otherwise), to avoid this wrapper_memcpy was changed to not actually use memcpy and do a manual copy instead.
We want to believe this should fix the ghost-bug which has been affecting random people while building OoT.
Kinda unrelated changes:
Add an assert to ensure the string address is not NULL on wrapper_fputs
Hardcode another format string in wrapper_fprintf, this fixes -v on IDO 7.1
Implement x, X and u format specifiers in wrapper_fprintf
half-implement width specifiers in wrapper_fprintf
IRIX's memcpy seems to allow overlapping pointers, while host's memcpy usually rely on both pointers parameters non overlapping (UB otherwise), to avoid this
wrapper_memcpy
was changed to not actually usememcpy
and do a manual copy instead. We want to believe this should fix the ghost-bug which has been affecting random people while building OoT.Kinda unrelated changes:
assert
to ensure the string address is not NULL onwrapper_fputs
wrapper_fprintf
, this fixes-v
on IDO 7.1x
,X
andu
format specifiers inwrapper_fprintf
wrapper_fprintf