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-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
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

This directory contains machine-specific files for the GNU C compiler.
It has a subdirectory for each basic CPU type.
The only files in this directory itself
are some .h files that pertain to particular operating systems
and are used for more than one CPU type.