Files
sdk/runtime/vm
Vyacheslav Egorov b089d4f004 Work around a kernel bug on Android.
Kernel does not clear If-Then execution state bits when entering ARM signal handler which violates requirements imposed by ARM architecture reference. Some CPUs look at these bits even while in ARM mode which causes them
to skip some instructions in the prologue of the signal handler.

To work around the issue we insert enough NOPs in the prologue to ensure that no actual instructions are skipped and then branch to the actual signal handler.

For the kernel patch that fixes the issue see: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6ecf830e5029598732e04067e325d946097519cb

This causes sporadic crashes with SIGILL on some testing devices (e.g. Nexus 7).

R=fschneider@google.com
BUG=

Review URL: https://codereview.chromium.org/1940883002 .
2016-05-02 19:12:48 +02:00
..
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2015-03-16 19:52:06 +00:00
2016-04-19 19:06:53 +02:00
2016-04-19 19:06:53 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-02-22 08:53:11 -08:00
2016-02-22 08:53:11 -08:00
2016-03-31 13:50:11 -07:00
2016-04-29 10:34:03 -07:00
2016-04-18 15:48:02 -07:00
2016-05-02 09:02:22 -07:00
2015-12-21 15:33:02 -08:00
2016-01-22 13:07:48 -08:00
2016-04-29 09:36:58 -07:00
2016-04-29 09:36:58 -07:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-02-09 11:07:15 -08:00
2016-04-29 09:36:58 -07:00
2016-03-31 13:33:14 -07:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-19 15:04:28 -07:00
2016-02-23 12:54:33 -08:00
2015-04-15 22:18:07 +00:00
2016-03-21 09:41:47 -07:00
2016-03-21 09:41:47 -07:00
2016-02-03 21:10:30 -08:00
2016-02-03 21:10:30 -08:00
2016-02-03 21:10:30 -08:00
2016-02-03 21:10:30 -08:00
2016-04-29 15:57:23 -07:00
2016-04-20 14:38:49 -07:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-03-21 09:41:47 -07:00
2016-04-29 15:57:23 -07:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-03-17 12:57:36 -07:00
2015-08-17 13:29:17 -07:00
2015-10-07 06:54:56 -07:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-20 14:38:49 -07:00
2016-03-02 10:20:55 -08:00
2016-04-04 07:12:57 -07:00
2016-04-04 07:12:57 -07:00
2016-02-22 09:45:34 -08:00
2016-02-19 11:07:44 -08:00
2015-06-18 10:24:28 -07:00
2016-04-25 13:58:15 -07:00
2016-03-21 17:21:05 -07:00
2016-03-21 17:21:05 -07:00
2016-02-17 10:03:44 -08:00
2016-02-02 10:15:44 -08:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-05-02 09:02:22 -07:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-03-17 12:57:36 -07:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-19 19:06:53 +02:00
2015-09-15 12:49:52 -07:00
2015-09-15 12:49:52 -07:00
2016-03-21 09:41:47 -07:00
2016-04-18 23:02:01 +02:00
2016-04-18 23:02:01 +02:00
2016-04-19 10:41:45 -07:00
2015-09-30 12:47:23 -07:00
2016-02-02 10:15:44 -08:00
2016-02-02 10:15:44 -08:00
2015-09-15 12:49:52 -07:00
2016-02-03 21:10:30 -08:00
2016-02-03 21:10:30 -08:00
2016-02-03 21:10:30 -08:00