7 Commits

Author SHA1 Message Date
Ian Lepore
1f6f6cd7e2 Fix EABI unwind function declarations to match the function definitions.
The mismatch was noticed by clang, when using it to compile the in-tree
gcc and libstdc++.
2014-07-22 20:32:24 +00:00
Dimitry Andric
914922decc Make libsupc++'s __cxa_call_terminate() prototype consistent with the
definition.

Submitted by:	dt71@gmx.com
MFC after:	3 days
2013-06-29 20:17:14 +00:00
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
Alexander Kabaev
f8a1b7d9d8 GCC 4.2.0 release C++ standard library and runtime support code. 2007-05-19 01:25:07 +00:00
Alexander Kabaev
ffeaf689a2 Gcc 3.4.2 20040728 C++ support bits. 2004-07-28 03:12:05 +00:00
Alexander Kabaev
1b86b14eac Gcc 3.3.1-pre 2003-07-11 C++ support bits. 2003-07-11 03:42:04 +00:00
David E. O'Brien
00db7afddd Gcc 3.1.0 pre-release's C++ support bits from the FSF anoncvs repo
on 9-May-2002 15:57:15 EDT.
2002-05-28 16:16:03 +00:00