gcc-patches@gcc.gnu.org
[Top] [All Lists]

dwarf2 unwinder patch

Subject: dwarf2 unwinder patch
From: Alan Modra
Date: Thu, 27 Jan 2005 17:47:09 +1030
I'm applying this as obvious.  Immediately below the place I'm patching,
we have
          {
            /* Binary operations.  */
            _Unwind_Word first, second;
            if ((stack_elt -= 2) < 0)
              abort ();
            second = stack[stack_elt];
            first = stack[stack_elt + 1];

            switch (op)
              {
and cases handling shl, shr, shra, and xor.  I wanted to use three of
them in the powerpc64 vdso signal trampoline eh_frame description.  Now
I guess I'll have to avoid these ops, otherwise we have a backwards
compatibility problem.

        * unwind-dw2.c (execute_stack_op): Add missing cases for
        DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.

Index: gcc/unwind-dw2.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/unwind-dw2.c,v
retrieving revision 1.50
diff -u -p -r1.50 unwind-dw2.c
--- gcc/unwind-dw2.c    10 Nov 2004 06:33:27 -0000      1.50
+++ gcc/unwind-dw2.c    27 Jan 2005 06:30:47 -0000
@@ -626,6 +626,10 @@ execute_stack_op (const unsigned char *o
        case DW_OP_mul:
        case DW_OP_or:
        case DW_OP_plus:
+       case DW_OP_shl:
+       case DW_OP_shr:
+       case DW_OP_shra:
+       case DW_OP_xor:
        case DW_OP_le:
        case DW_OP_ge:
        case DW_OP_eq:

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

<Prev in Thread] Current Thread [Next in Thread>
  • dwarf2 unwinder patch, Alan Modra <=