I work at a company that uses pthreads. I have some questions about what this option actually does during a compile. There are cases where even though a program uses pthreads, the option was omitted from the compile and build and the program builds successfully. So the questions involve what things will and will not work when the pthread option is used or omitted. This is a question I would like to answer across several architectures, specifically Alpha, Intel Linux, and Solaris. I have been shown a case where common variables (e.g. errno) that should be local to each thread end up being shared across all threads if the pthread option is omitted. What are the problems with always using the pthread option on all compiles and links regardless of whether a program uses pthreads or not?