I’ve migrated this to the bug reports section of the forum.
I’ll also add an issue to the GitHub.
I’d look into it myself but I don’t know where the loader is kept.
I’ll have a dig later if I get time, but I’m currently busy working on something else Pokitto related.
If neither me or @jonne get time to have a look, maybe @FManga or @Hanski will have a free moment.
Oh right, I forgot it’s stored in the LOA.DER file.
I’ve already made the issue so we can close it or leave it as it is.
If @jonne’s going to be adding the loader then it’s probably best to leave it until we know which is going to happen first - the bug getting fixed or the loader being added to the repo.
I’ve added it on behalf of @Haunebu123.
I also added a note about uploading the loader to GitHub,
and I’ve also forked the list into a ‘completed’ list so the todo list can actually shrink as stuff gets done.
I’ve started work on this. I have brought the loader to the new codebase but it is too big to fit in the memory area allocated. I’m trying to figure out what has increased the binary size
LTO, link time optimization, is something I have never used before. This time I was desperate.
What it does is that it re-analyzes unused code and data sections again when the compilation is finished and the linking is ongoing.
So no, we have not used this option before.
EDIT: in this case, LTO helped clear out float math operations that were actually not used. Compiler optimization -Os only looks at individual compilation units. LTO looks across all compilation units. The difference in this case was a whopping 1320 bytes.
To enable dead code removal, all the C/C++ source code files must be compiled using the command line option -ffunction-sections. Furthermore, the linker must be launched with the linker command line option --gc-sections.
To enable dead data removal, all the C/C++ source code files must be compiled using the command line option -fdata-sections. Furthermore, the linker must be launched with the linker command line option --gc-sections.
No. (edit: silly me, I mean yes it will work) The Link Time Optimization messes the vector table. @FManga : could you try the LTO option in Build options / Linker / All settings and see what you make of it ?
But, @Haunebu123, I optimized the living daylights out of the code without the LTO and I managed to shave 3000 bytes. So it is running. But it is slow, and now I am trying to find out why