summaryrefslogtreecommitdiffstats
path: root/gcc45-ehdebug.diff
diff options
context:
space:
mode:
Diffstat (limited to 'gcc45-ehdebug.diff')
-rw-r--r--gcc45-ehdebug.diff157
1 files changed, 0 insertions, 157 deletions
diff --git a/gcc45-ehdebug.diff b/gcc45-ehdebug.diff
deleted file mode 100644
index 1534aa9..0000000
--- a/gcc45-ehdebug.diff
+++ /dev/null
@@ -1,157 +0,0 @@
-diff -pruN origsrc/gcc-4.5.0/gcc/unwind-dw2-fde.c src/gcc-4.5.0/gcc/unwind-dw2-fde.c
---- origsrc/gcc-4.5.0/gcc/unwind-dw2-fde.c 2009-09-20 12:03:33.000000000 +0100
-+++ src/gcc-4.5.0/gcc/unwind-dw2-fde.c 2010-04-19 04:28:35.406250000 +0100
-@@ -37,6 +37,8 @@ see the files COPYING3 and COPYING.RUNTI
- #include "gthr.h"
- #endif
-
-+#define __debug_unwind_enabled (0)
-+
- /* The unseen_objects list contains objects that have been registered
- but not yet categorized in any way. The seen_objects list has had
- its pc_begin and count fields initialized at minimum, and is sorted
-@@ -840,6 +842,8 @@ binary_search_unencoded_fdes (struct obj
- struct fde_vector *vec = ob->u.sort;
- size_t lo, hi;
-
-+ if (__debug_unwind_enabled) printf ("search fdes ob %p: vec %p count %d\n", ob, vec, vec->count);
-+
- for (lo = 0, hi = vec->count; lo < hi; )
- {
- size_t i = (lo + hi) / 2;
-@@ -849,6 +853,8 @@ binary_search_unencoded_fdes (struct obj
- memcpy (&pc_begin, (const void * const *) f->pc_begin, sizeof (void *));
- memcpy (&pc_range, (const uaddr *) f->pc_begin + 1, sizeof (uaddr));
-
-+if (__debug_unwind_enabled) printf ("fde#%d (%p): pc_begin %p pc_range %p\n", i, f, pc_begin, (void *)pc_range);
-+
- if (pc < pc_begin)
- hi = i;
- else if (pc >= pc_begin + pc_range)
-@@ -856,7 +862,7 @@ binary_search_unencoded_fdes (struct obj
- else
- return f;
- }
--
-+if (__debug_unwind_enabled) printf ("**not found\n");
- return NULL;
- }
-
-@@ -977,6 +983,8 @@ _Unwind_Find_FDE (void *pc, struct dwarf
- /* Linear search through the classified objects, to find the one
- containing the pc. Note that pc_begin is sorted descending, and
- we expect objects to be non-overlapping. */
-+ if (__debug_unwind_enabled) printf ("Search seen obs for pc %p: Bases t %p, d %p, func %p\n",
-+ pc, bases->tbase, bases->dbase, bases->func);
- for (ob = seen_objects; ob; ob = ob->next)
- if (pc >= ob->pc_begin)
- {
-@@ -987,6 +995,8 @@ _Unwind_Find_FDE (void *pc, struct dwarf
- }
-
- /* Classify and search the objects we've not yet processed. */
-+ if (__debug_unwind_enabled) printf ("Search unseen obs for pc %p: Bases t %p, d %p, func %p\n",
-+ pc, bases->tbase, bases->dbase, bases->func);
- while ((ob = unseen_objects))
- {
- struct object **p;
-@@ -1022,6 +1032,15 @@ _Unwind_Find_FDE (void *pc, struct dwarf
- read_encoded_value_with_base (encoding, base_from_object (encoding, ob),
- f->pc_begin, &func);
- bases->func = (void *) func;
-+
-+ if (__debug_unwind_enabled) printf ("Found fde %p: Bases t %p, d %p, func %p\n",
-+ f, bases->tbase, bases->dbase, bases->func);
-+
-+ }
-+ else
-+ {
-+ if (__debug_unwind_enabled) printf ("No fde %p: Bases t %p, d %p, func %p\n",
-+ f, bases->tbase, bases->dbase, bases->func);
- }
-
- return f;
-diff -pruN origsrc/gcc-4.5.0/gcc/unwind-dw2.c src/gcc-4.5.0/gcc/unwind-dw2.c
---- origsrc/gcc-4.5.0/gcc/unwind-dw2.c 2010-01-20 08:13:50.000000000 +0000
-+++ src/gcc-4.5.0/gcc/unwind-dw2.c 2010-04-19 04:28:35.421875000 +0100
-@@ -79,6 +79,7 @@ struct _Unwind_Context
-
- /* Byte size of every register managed by these routines. */
- static unsigned char dwarf_reg_size_table[DWARF_FRAME_REGISTERS+1];
-+#define __debug_unwind_enabled (0)
-
-
- /* Read unaligned data from the instruction buffer. */
-@@ -370,7 +371,7 @@ extract_cie_info (const struct dwarf_cie
- fs->retaddr_column = (_Unwind_Word)utmp;
- }
- fs->lsda_encoding = DW_EH_PE_omit;
--
-+if (__debug_unwind_enabled) printf ("extract cie: augmentation '%c'\n", *aug);
- /* If the augmentation starts with 'z', then a uleb128 immediately
- follows containing the length of the augmentation field following
- the size. */
-@@ -386,6 +387,7 @@ extract_cie_info (const struct dwarf_cie
- /* Iterate over recognized augmentation subsequences. */
- while (*aug != '\0')
- {
-+if (__debug_unwind_enabled) printf ("handle augmentation '%c'\n", *aug);
- /* "L" indicates a byte showing how the LSDA pointer is encoded. */
- if (aug[0] == 'L')
- {
-@@ -423,6 +425,7 @@ extract_cie_info (const struct dwarf_cie
- return ret;
- }
-
-+if (__debug_unwind_enabled) printf ("extract cie: augmentation done\n");
- return ret ? ret : p;
- }
-
-@@ -1568,9 +1571,25 @@ uw_identify_context (struct _Unwind_Cont
- return _Unwind_GetCFA (context) + _Unwind_IsSignalFrame (context);
- }
-
-+static _Unwind_Reason_Code
-+debug_unwind_trace (struct _Unwind_Context *ctx, void *arg)
-+{
-+ fflush (NULL);
-+ printf ("_Unwind_Context %p\n", ctx);
-+ printf (" cfa %p ra %p lsda %p\n", ctx->cfa, ctx->ra, ctx->lsda);
-+ printf (" bases: t %p d %p func %p\n", ctx->bases.tbase, ctx->bases.dbase, ctx->bases.func);
-+ printf ("\n");
-+ fflush (NULL);
-+ return _URC_NO_REASON;
-+}
-
- #include "unwind.inc"
-
-+void debug_dump_stack_trace (void *arg)
-+{
-+ _Unwind_Backtrace (debug_unwind_trace, arg);
-+}
-+
- #if defined (USE_GAS_SYMVER) && defined (SHARED) && defined (USE_LIBUNWIND_EXCEPTIONS)
- alias (_Unwind_Backtrace);
- alias (_Unwind_DeleteException);
-diff -pruN origsrc/gcc-4.5.0/gcc/unwind.inc src/gcc-4.5.0/gcc/unwind.inc
---- origsrc/gcc-4.5.0/gcc/unwind.inc 2009-04-09 16:00:19.000000000 +0100
-+++ src/gcc-4.5.0/gcc/unwind.inc 2010-04-19 04:28:35.421875000 +0100
-@@ -96,8 +96,9 @@ _Unwind_RaiseException(struct _Unwind_Ex
-
- /* Set up fs to describe the FDE for the caller of cur_context. The
- first time through the loop, that means __cxa_throw. */
-+if (__debug_unwind_enabled) printf ("Ctx: ra %p\n", cur_context.ra);
- code = uw_frame_state_for (&cur_context, &fs);
--
-+if (__debug_unwind_enabled) printf ("... code %d, perso %p\n", code, fs.personality);
- if (code == _URC_END_OF_STACK)
- /* Hit end of stack with no handler found. */
- return _URC_END_OF_STACK;
-@@ -112,6 +113,7 @@ _Unwind_RaiseException(struct _Unwind_Ex
- {
- code = (*fs.personality) (1, _UA_SEARCH_PHASE, exc->exception_class,
- exc, &cur_context);
-+if (__debug_unwind_enabled) printf ("perso returns code %d\n", code);
- if (code == _URC_HANDLER_FOUND)
- break;
- else if (code != _URC_CONTINUE_UNWIND)