andrew 897e2fb505 Allow the unwind functions int libgcc_s to interact correctly with libthr.
_Unwind_ForcedUnwind in libgcc_s takes as one of it's parameters a stop
function to tell it when to stop unwinding. One of the stop function's
parameters is a _Unwind_Exception_Class. On most architectures this is an
int64_t, however on ARM EABI the gcc developers have made this a char array
with 8 items. While both of these take the same space they are passed into
the stop function differently, an int64_t is passed in in registers r2 and
r3, while the char[8] is passed in as a pointer to the first item in
register r2.

Because libthr expects the value to be an int64_t we would get incorrect
results when it passes a function that take an int64_t but libgcc passes in
a pointer to a char array including crashing.

The fix is to update libgcc_s to make it pass an int64_t to the stop
function and to libstdc++ as it expects _Unwind_Exception_Class to be an
array.
2013-02-04 09:28:36 +00:00
..
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-08-14 02:45:23 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2005-06-03 03:28:44 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2004-07-28 03:11:36 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00
2007-05-19 01:19:51 +00:00