Hacker News new | ask | show | jobs
by weberc2 2445 days ago
What is TLS?

> 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?

2 comments

> What is TLS?

Thread-Local Storage:

https://en.wikipedia.org/wiki/Thread-local_storage

Strings ship with libc because pretty much every language ships with string manipulation routines. You need them to basically do anything that isn’t pure computation.
Granted, but pretty much every language also ships with routines for other data structures, and I would think that you need things like lists/slices more often than you need string routines.
libc includes string functions because C requires string manipulation functions. Other languages may or may not make use of C's string functions.
Yes, because they ship with their own string type.