so that libc/libthr do not preempt libsys symbols, esp. errno-related
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
To confirm I understand this:
- Linking libsys.so without -Bsymbolic means the linker deems the various symbols preemptible
- If libc.so is earlier in the link map then libsys's unfiltered symbols will be preempted by libc.so's at run time
Comment Actions
It also means that symbols looked up not _from the filter_ are preempted. This is the cause of the problem
Comment Actions
This change breaks legacy programs that declare extern int errno; instead of including errno.h. Maybe we want to find a different solution.