https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111736

--- Comment #27 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think it should.
E.g. for
int __seg_fs a;

void
foo (int __seg_fs *p)
{
  a = *p;
}
the instrumentation is
  _5 = __builtin_return_address (0);
  __builtin___tsan_func_entry (_5);
  __builtin___tsan_read4 (p_3(D));
  _1 = *p_3(D);
  __builtin___tsan_write4 (&a);
  a = _1;
  __builtin___tsan_func_exit (); [tail call]
but neither __tsan_read4 nor __tsan_write4 will know that the address they are
passed are not from the generic address space.

Reply via email to