Andrew Turner 93c7e89712 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
..
2012-12-07 12:39:58 +00:00
2013-02-01 22:55:27 +00:00
2012-09-14 21:17:53 +00:00
2013-01-11 17:34:30 +00:00
2012-09-22 17:47:37 +00:00
2013-01-31 08:55:21 +00:00
2012-12-03 19:00:23 +00:00
2012-11-29 13:35:44 +00:00
2012-10-22 18:56:31 +00:00
2013-01-03 07:25:30 +00:00
2012-02-22 03:36:15 +00:00
2012-12-22 21:32:12 +00:00