To give you an idea, here's a chip used by at least one of the products developed by the author:
https://www.st.com/en/microcontrollers-microprocessors/stm32...
16KB of ram. You're not going to see any linking on this because you're probably running everything in a single address space anyways.
> Part of libc such as pthread is very hard, and so does the dynamic linker.
What does this mean? I'm having trouble parsing this as English much less making sense of the argument :)
> It's a pretty hard task to tackle libc (not just string functions, obviously), maybe for the same reason there're only a few libc implementations (support full dynamic linking).
Why does libc ship with string functions in the first place? What is special about strings that they are included in libc while other data structures (to my knowledge) are not? Presumably you don't need strings to implement malloc or other parts of libc?
Thread-Local Storage:
It's a pretty hard task to tackle libc (not just string functions, obviously), maybe for the same reason there're only a few libc implementations (support full dynamic linking).