title: How to speed up set_tls and mprotect on ARM application start?
body: <p>I'm using an ARM (TI814x) on NAND (UbiFS). When starting an QtGui application it takes about 1 second until set_tls (thread local storage?) and mprotect is done (while loading all shared libraries takes 1.3 seconds).</p>
  
  <p>Why does it take so long and is there a way (e.g. configuration) to speed this up?</p>
  
  <p>E.g. when compiling an application without QtGui module it's much faster... but that's not an option.</p>
  
  <pre><code>[   1.375] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40052000
  [   1.391] set_tls(0x400524c0, 0x40052ba8, 0x400ad058, 0x400524c0, 0x400ad058) = 0
  [   1.860] mprotect(0x4105b000, 8192, PROT_READ)   = 0
  [   1.875] mprotect(0x400cb000, 4096, PROT_READ)   = 0
  [   1.875] mprotect(0x4006d000, 4096, PROT_READ)   = 0
  [   1.875] mprotect(0x4018c000, 4096, PROT_READ)   = 0
  [   1.922] mprotect(0x40f26000, 4096, PROT_READ)   = 0
  [   1.954] mprotect(0x40e7a000, 16384, PROT_READ)  = 0
  [   2.204] mprotect(0x400ac000, 4096, PROT_READ)   = 0
  [   2.219] munmap(0x400e4000, 4969)                = 0
  [   2.219] set_tid_address(0x40052068)             = 212
  [   2.219] set_robust_list(0x40052070, 12)         = 0
  [   2.235] futex(0xbebc1cc8, FUTEX_WAKE_PRIVATE, 1) = 0
  </code></pre>