[all-commits] [llvm/llvm-project] 84c2c4: scudo: Introduce a new mechanism to let Scudo acce...

pcc via All-commits all-commits at lists.llvm.org
Thu Sep 10 19:16:06 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 84c2c4977dfe89112fd564a69c693d271663229c
      https://github.com/llvm/llvm-project/commit/84c2c4977dfe89112fd564a69c693d271663229c
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2020-09-10 (Thu, 10 Sep 2020)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/linux.h
    M compiler-rt/lib/scudo/standalone/tsd_shared.h

  Log Message:
  -----------
  scudo: Introduce a new mechanism to let Scudo access a platform-specific TLS slot

An upcoming change to Scudo will change how we use the TLS slot
in tsd_shared.h, which will be a little easier to deal with if
we can remove the code path that calls pthread_getspecific and
pthread_setspecific. The only known user of this code path is Fuchsia.

We can't eliminate this code path by making Fuchsia use ELF TLS
because although Fuchsia supports ELF TLS, it is not supported within
libc itself. To address this, Roland McGrath on the Fuchsia team has
proposed that Scudo will optionally call a platform-provided function
to access a TLS slot reserved for Scudo. Android also has a reserved
TLS slot, but the code that accesses the TLS slot lives in Scudo.

We can eliminate some complexity and duplicated code by having Android
use the same mechanism that was proposed for Fuchsia, which is what
this change does. A separate change to Android implements it.

Differential Revision: https://reviews.llvm.org/D87420




More information about the All-commits mailing list