[llvm-dev] ASan port for Myriad RTEMS

Walter Lee via llvm-dev llvm-dev at lists.llvm.org
Fri May 4 18:29:41 PDT 2018


Hi Kostya.  Thanks for the quick feedback.  I will work on addressing your
comments.

In regard to initialization checks, I can eliminate most of them by
initializing the shadow memory very early, but I still need to do something
in two places, __asan_handle_no_return and GetFakeStackFast.  Would it be
ok to have guards for those two places only?

Walter
On Fri, May 4, 2018 at 6:10 PM Kostya Serebryany <kcc at google.com> wrote:

> Hi Walter,

> I've done a first quick scan.
> Overall looks reasonable, but I'd like to try reducing the number of
newly introduced platform-specific ifs.

> Vitaly, please also take a look (once my initial comments are addressed).

> One outstanding issue is your problem with initialization vs checking,
which requires you to insert so many ifs.
> Is there any chance you can avoid this?
> If you control the OS, surely you can do at least minimal initialization
of the shadow at a proper moment...

> --kcc

> On Fri, May 4, 2018 at 2:00 PM Walter Lee via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

>> I have ported ASan in LLVM to Myriad RTEMS, and I would like to
>> upstream the port.  Below is the design doc.  Feedback welcome.


https://docs.google.com/document/d/1oxmk0xUojybDaQDAuTEVpHVMi5xQX74cJPyMJbaSaRM

>> The port is expected to work with modified versions of RTEMS and
>> newlib.  I have a git repo with changes to those projects, that I can
>> make available if there is interest.

>> Here is the patch series:
>> https://reviews.llvm.org/D46451 [asan] Add instrumentation support for
>> Myriad
>> https://reviews.llvm.org/D46452 [sanitizer] Don't add --export-dynamic
for
>> Myriad
>> https://reviews.llvm.org/D46453 [sanitizer] Add definitions for Myriad
>> RTEMS platform
>> https://reviews.llvm.org/D46454 [sanitizer] Trivial portion of the port
to
>> Myriad RTEMS
>> https://reviews.llvm.org/D46456 [asan] Add support for Myriad RTEMS
memory
>> map
>> https://reviews.llvm.org/D46457 [asan] Add a magic shadow value for shadw
>> gap
>> https://reviews.llvm.org/D46459 [asan] On RTEMS, checks for asan_inited
>> before entering ASan run-time
>> https://reviews.llvm.org/D46461 [asan] Set flags appropriately for RTEMS
>> https://reviews.llvm.org/D46462 [sanitizer] Allow Fuchsia symbolizer to
be
>> reused by Myriad RTEMS
>> https://reviews.llvm.org/D46463 [sanitizer] On RTEMS, avoid recursion
when
>> reporting Mmap failure
>> https://reviews.llvm.org/D46465 [asan] Port asan_malloc_linux.cc to RTEMS
>> https://reviews.llvm.org/D46466 [asan] Add AsanThread::Restart() to
support
>> thread restart
>> https://reviews.llvm.org/D46467 [asan] Add argument to allow fake stack
to
>> be initialized during thread init
>> https://reviews.llvm.org/D46468 [asan] Add target-specific files for
Myriad
>> RTEMS port
>> https://reviews.llvm.org/D46469 [sanitizer] Port fast stack unwinder to
>> sparcv8

>> Thanks,

>> Walter
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list