mcgrathr added inline comments.
================
Comment at: compiler-rt/lib/hwasan/hwasan_linux.cpp:430
+void Thread::Init(uptr stack_buffer_start, uptr stack_buffer_size) {
+ CHECK_EQ(0, unique_id_); // try to catch bad stack reuse
----------------
vitalybuka wrote:
> leonardchan wrote:
> > leonardchan wrote:
> > > mcgrathr wrote:
> > > > Most of this code can actually be reused for Fuchsia (just not
> > > > necessarily in Thread::Init).
> > > > It's probably better to split it up for reuse rather than just moving
> > > > the whole thing to linux-specific.
> > > So maybe something like the current patch? Then on Fuchsia we could (1)
> > > have a custom implementation of `InitStackAndTls`, (2) wrap the call to
> > > `Thread::InitStackRingBuffer` in `Thread::Init` with a `#if
> > > SANITIZER_FUCHSIA` so it's not called before thread creation, then (2)
> > > call `Thread::InitStackRingBuffer` in the `__sanitizer_thread_start_hook`
> > > hook.
> > Sorry. Meant wrapping with a `#if !SANITIZER_FUCHSIA`.
> in other sanitizers only GetThreadStackAndTls is platform specific
>
> in other sanitizers only GetThreadStackAndTls is platform specific
That's not entirely accurate. AsanThread::SetThreadStackAndTls might be a
model here. But asan on Fuchsia also splits up the initialization into
pre-creation and on-created-thread portions (AsanThread::Init is called before
thread creation, and AsanThreadRegistry::StartThread is called on the created
thread).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D104248/new/
https://reviews.llvm.org/D104248
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits