reduce static linking overhead from TLS support by inlining mmap syscall
authorRich Felker <dalias@aerifal.cx>
Mon, 24 Mar 2014 03:19:30 +0000 (23:19 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 24 Mar 2014 03:19:30 +0000 (23:19 -0400)
commit98221c36119d2abfc55fe1d919705f625709fe3b
treee62fd785e11f0ead82d5b7a05f038d35109d2e8f
parent30c1205acd73c8481ca34f0a41de1d41884d07b5
reduce static linking overhead from TLS support by inlining mmap syscall

the external mmap function is heavy because it has to handle error
reporting that the kernel cannot do, and has to do some locking for
arcane race-condition-avoidance purposes. for allocating initial TLS,
we do not need any of that; the raw syscall suffices.

on i386, this change shaves off 13% of the size of .text for the empty
program.
src/env/__init_tls.c