3 ms·
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
by unwind 11mo ago
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. :)
- marginalia_nu 11mo agoIn that case, I think 'git' is probably the name we should have been looking to replace...
- matheusmoreira 11mo agoIt's hard when compilers force you to use "main". 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.
- OCTAGRAM 11mo agoAda compiler does not force to use main
- 1718627440 11mo agoThat's just the default. Nobody stops you from specifying `gcc -Wl,--entry,foo`.
- matheusmoreira 11mo agoStandard C stops you. The C standard library is hardcoded to call the main function. Providing one's own ELF entry point also breaks libc initialization unless the exact same startfiles are used. Freestanding C gets rid of the libc so that's not a problem.
- 1718627440 11mo agoMaybe you could also do some runtime linking trickery when dynamically linking libc?
- matheusmoreira 11mo agoThe libc could easily add support for such a thing but I doubt they'd care enough to. They'd probably see it as adding complexity for zero gain. 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 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113694 I don't know how to implement it and nobody else cared enough to.