diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-04-13 18:40:52 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-04-13 18:47:17 -0400 |
commit | 71f099cb7db821c51d8f39dfac622c61e54d794c (patch) | |
tree | a74b0afe84c99f4d594b0d704474a99548664a51 /src/unistd/fdatasync.c | |
parent | 0f66fcec2584706116df70cf1db7f2f8815f4444 (diff) | |
download | musl-71f099cb7db821c51d8f39dfac622c61e54d794c.tar.gz musl-71f099cb7db821c51d8f39dfac622c61e54d794c.tar.xz musl-71f099cb7db821c51d8f39dfac622c61e54d794c.zip |
move thread pointer setup to beginning of dynamic linker stage 3
this allows the dynamic linker itself to run with a valid thread pointer, which is a prerequisite for stack protector on archs where the ssp canary is stored in TLS. it will also allow us to remove some remaining runtime checks for whether the thread pointer is valid. as long as the application and its libraries do not require additional size or alignment, this early thread pointer will be kept and reused at runtime. otherwise, a new static TLS block is allocated after library loading has finished and the thread pointer is switched over.
Diffstat (limited to 'src/unistd/fdatasync.c')
0 files changed, 0 insertions, 0 deletions