• R
    separate __tls_get_addr implementation from dynamic linker/init_tls · 5ba238e1
    Rich Felker 提交于
    such separation serves multiple purposes:
    
    - by having the common path for __tls_get_addr alone in its own
      function with a tail call to the slow case, code generation is
      greatly improved.
    
    - by having __tls_get_addr in it own file, it can be replaced on a
      per-arch basis as needed, for optimization or ABI-specific purposes.
    
    - by removing __tls_get_addr from __init_tls.c, a few bytes of code
      are shaved off of static binaries (which are unlikely to use this
      function unless the linker messed up).
    5ba238e1
__init_tls.c 2.5 KB