OSDN Git Service

Make use of sigchainlib for signal chaining for implicit checks
authorDave Allison <dallison@google.com>
Wed, 14 May 2014 22:41:25 +0000 (15:41 -0700)
committerDave Allison <dallison@google.com>
Thu, 29 May 2014 15:22:38 +0000 (08:22 -0700)
commitf4b80bcc7190fe75023b983d56a795b440a0c515
treef2858dab6a756444755b79e36467d6c9e15060f1
parentc774bd435e95e537ca578486f687651fabe97008
Make use of sigchainlib for signal chaining for implicit checks

This adds a preload library that overrides sigaction and sigprocmask
to implement signal chaining.  Signal chaining allows us to chain
any signal so that the ART runtime receives it before any signal
handler registered in native code by an application.  If the
ART signal handler doesn't want it, it will pass it on to the
user's handler.

ART uses signals for null pointer checks, stack overflow checks and
suspend points.

Also adds an OAT test to test this in isolation.

Change-Id: I9545f9f7343774c091410eb810504d9855fd399f
12 files changed:
Android.mk
build/Android.libarttest.mk
runtime/Android.mk
runtime/fault_handler.cc
runtime/runtime.cc
runtime/thread.h
sigchainlib/Android.mk [new file with mode: 0644]
sigchainlib/sigchain.cc [new file with mode: 0644]
sigchainlib/sigchain.h [new file with mode: 0644]
test/Android.mk
test/SignalTest/SignalTest.java [new file with mode: 0644]
test/SignalTest/signaltest.cc [new file with mode: 0644]