Commit Graph

7 Commits

Author SHA1 Message Date
Philippe Symons
9268cbd42e Reduce binary size by eliminating libstdc++
This commit removes all references to things in the libstdc++ library to remove a decent chunk of bloat.

This means every std::to_string() call, std::string and std::vector. (as well as iostream related stuff).

I replaced those with my own versions ptgb::to_string() and ptgb::vector. Especially the latter is not exactly the same,
but close enough.

I also replaced operator new and delete with my own implementation to avoid pulling in everything related to exceptions
from libstdc++

Another problem was the fact that libtonc uses siscanf, which pulls in everything related to the scanf family of functions
and locale support. The worst part of that was that it included a 13KB "categories" symbol from libc_a-categories.o,
which was pulled in because of the locale support integrated into newlibc's siscanf() function. To fix that, I created a
custom, extremely restricted implementation of siscanf. libtonc only used this function to parse at most 2 integers from a
string anyway.
2025-04-09 20:04:08 +02:00
Remnants of Forgotten Disney
8bb76ca58c Double checking formatting 2023-11-29 08:28:55 -06:00
Starport75
19f346ba42 Back to TONC 2023-06-09 18:31:19 -05:00
Starport75
973b24f538 Changing from TONC to LIBGBA 2023-06-06 21:38:14 -05:00
Starport75
a451767d5d Getting closer to data link 2023-05-29 21:03:29 -05:00
Starport75
14806654c9 Continuing work on SPI 2023-05-28 21:23:50 -05:00
Starport75
7db3eea80c Beginning Link Cable Work 2023-05-04 19:07:33 -05:00