summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlib/buildit2
-rw-r--r--src/cxa_personality.cpp6
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/buildit b/lib/buildit
index 51b9a81..89f7dac 100755
--- a/lib/buildit
+++ b/lib/buildit
@@ -73,7 +73,7 @@ fi
set -x
for FILE in ../src/*.cpp; do
- $CXX -c -g -O3 $RC_CFLAGS $EXTRA_FLAGS -I../include $FILE
+ $CXX -c -g -Os $RC_CFLAGS $EXTRA_FLAGS -I../include $FILE
done
case $TRIPLE in
*-*-mingw*)
diff --git a/src/cxa_personality.cpp b/src/cxa_personality.cpp
index 4badbbd..ec033ab 100644
--- a/src/cxa_personality.cpp
+++ b/src/cxa_personality.cpp
@@ -774,11 +774,13 @@ _UA_CLEANUP_PHASE
Transfer control to landing pad. return _URC_INSTALL_CONTEXT
Else
-
+
+ This branch handles both normal C++ non-catching handlers (cleanups)
+ and forced unwinding.
Scan for anything that can not stop unwinding:
1. A cleanup.
-
+
If a cleanup is found
transfer control to it. return _URC_INSTALL_CONTEXT
Else a cleanup is not found: return _URC_CONTINUE_UNWIND