Tip: the next time you need to name a function, don't use "a stupid word that doesn't say much about anything". That's not how you're supposed to name stuff in programming. :)
int main(int argc, char **argv);
I once wrote a liblinux library for Linux software development with freestading C. One of the things I did was replace the "main" function with a "liblinux_start" function.Freestanding C gets rid of the libc so that's not a problem.
I submitted an issue to the GCC bugzilla about renaming certain symbols generated by compiler.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113694
I don't know how to implement it and nobody else cared enough to.