Deleted Added
full compact
unwind-ia64.c (78844) unwind-ia64.c (89857)
1/* unwind-ia64.c -- utility routines to dump IA-64 unwind info for readelf.
2 Copyright 2000, 2001 Free Software Foundation, Inc.
3 Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
4
5This file is part of GNU Binutils.
6
7This program is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by

--- 19 unchanged lines hidden (view full) ---

28 Only do this if we belive that the compiler can support a 64 bit
29 data type. For now we only rely on GCC being able to do this. */
30#define BFD64
31#endif
32#include "bfd.h"
33
34static bfd_vma unw_rlen = 0;
35
1/* unwind-ia64.c -- utility routines to dump IA-64 unwind info for readelf.
2 Copyright 2000, 2001 Free Software Foundation, Inc.
3 Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
4
5This file is part of GNU Binutils.
6
7This program is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by

--- 19 unchanged lines hidden (view full) ---

28 Only do this if we belive that the compiler can support a 64 bit
29 data type. For now we only rely on GCC being able to do this. */
30#define BFD64
31#endif
32#include "bfd.h"
33
34static bfd_vma unw_rlen = 0;
35
36static void unw_print_brmask PARAMS ((char *, unsigned int));
37static void unw_print_grmask PARAMS ((char *, unsigned int));
38static void unw_print_frmask PARAMS ((char *, unsigned int));
39static void unw_print_abreg PARAMS ((char *, unsigned int));
40static void unw_print_xyreg PARAMS ((char *, unsigned int, unsigned int));
41
36static void
37unw_print_brmask (cp, mask)
38 char * cp;
42static void
43unw_print_brmask (cp, mask)
44 char * cp;
39 unsigned char mask;
45 unsigned int mask;
40{
41 char *sep = "";
42 int i;
43
44 for (i = 0; mask && (i < 5); ++i)
45 {
46 if (mask & 1)
47 {
48 cp += sprintf (cp, "%sb%u", sep, i + 1);
49 sep = ",";
50 }
51 mask >>= 1;
52 }
53 *cp = '\0';
54}
55
56static void
57unw_print_grmask (cp, mask)
58 char * cp;
46{
47 char *sep = "";
48 int i;
49
50 for (i = 0; mask && (i < 5); ++i)
51 {
52 if (mask & 1)
53 {
54 cp += sprintf (cp, "%sb%u", sep, i + 1);
55 sep = ",";
56 }
57 mask >>= 1;
58 }
59 *cp = '\0';
60}
61
62static void
63unw_print_grmask (cp, mask)
64 char * cp;
59 unsigned char mask;
65 unsigned int mask;
60{
61 char *sep = "";
62 int i;
63
64 *cp = '\0';
65 for (i = 0; i < 4; ++i)
66 {
67 if (mask & 1)
68 {
69 cp += sprintf (cp, "%sr%u", sep, i + 4);
70 sep = ",";
71 }
72 mask >>= 1;
73 }
74}
75
76static void
77unw_print_frmask (cp, mask)
78 char * cp;
66{
67 char *sep = "";
68 int i;
69
70 *cp = '\0';
71 for (i = 0; i < 4; ++i)
72 {
73 if (mask & 1)
74 {
75 cp += sprintf (cp, "%sr%u", sep, i + 4);
76 sep = ",";
77 }
78 mask >>= 1;
79 }
80}
81
82static void
83unw_print_frmask (cp, mask)
84 char * cp;
79 unsigned long mask;
85 unsigned int mask;
80{
81 char *sep = "";
82 int i;
83
84 *cp = '\0';
85 for (i = 0; i < 20; ++i)
86 {
87 if (mask & 1)
88 {
89 cp += sprintf (cp, "%sf%u", sep, (i < 4) ? (i + 2) : (i + 12));
90 sep = ",";
91 }
92 mask >>= 1;
93 }
94}
95
96static void
97unw_print_abreg (cp, abreg)
98 char * cp;
86{
87 char *sep = "";
88 int i;
89
90 *cp = '\0';
91 for (i = 0; i < 20; ++i)
92 {
93 if (mask & 1)
94 {
95 cp += sprintf (cp, "%sf%u", sep, (i < 4) ? (i + 2) : (i + 12));
96 sep = ",";
97 }
98 mask >>= 1;
99 }
100}
101
102static void
103unw_print_abreg (cp, abreg)
104 char * cp;
99 unsigned char abreg;
105 unsigned int abreg;
100{
101 static const char *special_reg[16] =
102 {
103 "pr", "psp", "@priunat", "rp", "ar.bsp", "ar.bspstore", "ar.rnat",
104 "ar.unat", "ar.fpsr", "ar.pfs", "ar.lc",
105 "Unknown11", "Unknown12", "Unknown13", "Unknown14", "Unknown15"
106 };
107

--- 15 unchanged lines hidden (view full) ---

123 strcpy (cp, special_reg[abreg & 0xf]);
124 break;
125 }
126}
127
128static void
129unw_print_xyreg (cp, x, ytreg)
130 char * cp;
106{
107 static const char *special_reg[16] =
108 {
109 "pr", "psp", "@priunat", "rp", "ar.bsp", "ar.bspstore", "ar.rnat",
110 "ar.unat", "ar.fpsr", "ar.pfs", "ar.lc",
111 "Unknown11", "Unknown12", "Unknown13", "Unknown14", "Unknown15"
112 };
113

--- 15 unchanged lines hidden (view full) ---

129 strcpy (cp, special_reg[abreg & 0xf]);
130 break;
131 }
132}
133
134static void
135unw_print_xyreg (cp, x, ytreg)
136 char * cp;
131 unsigned char x;
132 unsigned char ytreg;
137 unsigned int x;
138 unsigned int ytreg;
133{
134 switch ((x << 1) | ((ytreg >> 7) & 1))
135 {
136 case 0: /* gr */
137 sprintf (cp, "r%u", (ytreg & 0x1f));
138 break;
139
140 case 1: /* fr */

--- 376 unchanged lines hidden (view full) ---

517 * UNW_DEC_SPILL_REG(fmt,t,abreg,x,ytreg,arg)
518 * UNW_DEC_SPILL_REG_P(fmt,qp,t,abreg,x,ytreg,arg)
519 * UNW_DEC_SPILL_SPREL(fmt,t,abreg,spoff,arg)
520 * UNW_DEC_SPILL_SPREL_P(fmt,qp,t,abreg,pspoff,arg)
521 */
522
523static unw_word unw_decode_uleb128 PARAMS ((const unsigned char **));
524static const unsigned char *unw_decode_x1 PARAMS ((const unsigned char *,
139{
140 switch ((x << 1) | ((ytreg >> 7) & 1))
141 {
142 case 0: /* gr */
143 sprintf (cp, "r%u", (ytreg & 0x1f));
144 break;
145
146 case 1: /* fr */

--- 376 unchanged lines hidden (view full) ---

523 * UNW_DEC_SPILL_REG(fmt,t,abreg,x,ytreg,arg)
524 * UNW_DEC_SPILL_REG_P(fmt,qp,t,abreg,x,ytreg,arg)
525 * UNW_DEC_SPILL_SPREL(fmt,t,abreg,spoff,arg)
526 * UNW_DEC_SPILL_SPREL_P(fmt,qp,t,abreg,pspoff,arg)
527 */
528
529static unw_word unw_decode_uleb128 PARAMS ((const unsigned char **));
530static const unsigned char *unw_decode_x1 PARAMS ((const unsigned char *,
525 unsigned char, void *));
531 unsigned int, void *));
526static const unsigned char *unw_decode_x2 PARAMS ((const unsigned char *,
532static const unsigned char *unw_decode_x2 PARAMS ((const unsigned char *,
527 unsigned char, void *));
533 unsigned int, void *));
528static const unsigned char *unw_decode_x3 PARAMS ((const unsigned char *,
534static const unsigned char *unw_decode_x3 PARAMS ((const unsigned char *,
529 unsigned char, void *));
535 unsigned int, void *));
530static const unsigned char *unw_decode_x4 PARAMS ((const unsigned char *,
536static const unsigned char *unw_decode_x4 PARAMS ((const unsigned char *,
531 unsigned char, void *));
537 unsigned int, void *));
532static const unsigned char *unw_decode_r1 PARAMS ((const unsigned char *,
538static const unsigned char *unw_decode_r1 PARAMS ((const unsigned char *,
533 unsigned char, void *));
539 unsigned int, void *));
534static const unsigned char *unw_decode_r2 PARAMS ((const unsigned char *,
540static const unsigned char *unw_decode_r2 PARAMS ((const unsigned char *,
535 unsigned char, void *));
541 unsigned int, void *));
536static const unsigned char *unw_decode_r3 PARAMS ((const unsigned char *,
542static const unsigned char *unw_decode_r3 PARAMS ((const unsigned char *,
537 unsigned char, void *));
543 unsigned int, void *));
538static const unsigned char *unw_decode_p1 PARAMS ((const unsigned char *,
544static const unsigned char *unw_decode_p1 PARAMS ((const unsigned char *,
539 unsigned char, void *));
545 unsigned int, void *));
540static const unsigned char *unw_decode_p2_p5 PARAMS ((const unsigned char *,
546static const unsigned char *unw_decode_p2_p5 PARAMS ((const unsigned char *,
541 unsigned char, void *));
547 unsigned int, void *));
542static const unsigned char *unw_decode_p6 PARAMS ((const unsigned char *,
548static const unsigned char *unw_decode_p6 PARAMS ((const unsigned char *,
543 unsigned char, void *));
549 unsigned int, void *));
544static const unsigned char *unw_decode_p7_p10 PARAMS ((const unsigned char *,
550static const unsigned char *unw_decode_p7_p10 PARAMS ((const unsigned char *,
545 unsigned char, void *));
551 unsigned int, void *));
546static const unsigned char *unw_decode_b1 PARAMS ((const unsigned char *,
552static const unsigned char *unw_decode_b1 PARAMS ((const unsigned char *,
547 unsigned char, void *));
553 unsigned int, void *));
548static const unsigned char *unw_decode_b2 PARAMS ((const unsigned char *,
554static const unsigned char *unw_decode_b2 PARAMS ((const unsigned char *,
549 unsigned char, void *));
555 unsigned int, void *));
550static const unsigned char *unw_decode_b3_x4 PARAMS ((const unsigned char *,
556static const unsigned char *unw_decode_b3_x4 PARAMS ((const unsigned char *,
551 unsigned char, void *));
557 unsigned int, void *));
552
553static unw_word
554unw_decode_uleb128 (dpp)
555 const unsigned char **dpp;
556{
557 unsigned shift = 0;
558 unw_word byte, result = 0;
559 const unsigned char *bp = *dpp;

--- 12 unchanged lines hidden (view full) ---

572 *dpp = bp;
573
574 return result;
575}
576
577static const unsigned char *
578unw_decode_x1 (dp, code, arg)
579 const unsigned char * dp;
558
559static unw_word
560unw_decode_uleb128 (dpp)
561 const unsigned char **dpp;
562{
563 unsigned shift = 0;
564 unw_word byte, result = 0;
565 const unsigned char *bp = *dpp;

--- 12 unchanged lines hidden (view full) ---

578 *dpp = bp;
579
580 return result;
581}
582
583static const unsigned char *
584unw_decode_x1 (dp, code, arg)
585 const unsigned char * dp;
580 unsigned char code;
586 unsigned int code ATTRIBUTE_UNUSED;
581 void * arg ATTRIBUTE_UNUSED;
582{
583 unsigned char byte1, abreg;
584 unw_word t, off;
585
586 byte1 = *dp++;
587 t = unw_decode_uleb128 (&dp);
588 off = unw_decode_uleb128 (&dp);
589 abreg = (byte1 & 0x7f);
590 if (byte1 & 0x80)
591 UNW_DEC_SPILL_SPREL ("X1", t, abreg, off, arg);
592 else
593 UNW_DEC_SPILL_PSPREL ("X1", t, abreg, off, arg);
594 return dp;
595}
596
597static const unsigned char *
598unw_decode_x2 (dp, code, arg)
599 const unsigned char * dp;
587 void * arg ATTRIBUTE_UNUSED;
588{
589 unsigned char byte1, abreg;
590 unw_word t, off;
591
592 byte1 = *dp++;
593 t = unw_decode_uleb128 (&dp);
594 off = unw_decode_uleb128 (&dp);
595 abreg = (byte1 & 0x7f);
596 if (byte1 & 0x80)
597 UNW_DEC_SPILL_SPREL ("X1", t, abreg, off, arg);
598 else
599 UNW_DEC_SPILL_PSPREL ("X1", t, abreg, off, arg);
600 return dp;
601}
602
603static const unsigned char *
604unw_decode_x2 (dp, code, arg)
605 const unsigned char * dp;
600 unsigned char code;
606 unsigned int code ATTRIBUTE_UNUSED;
601 void * arg ATTRIBUTE_UNUSED;
602{
603 unsigned char byte1, byte2, abreg, x, ytreg;
604 unw_word t;
605
606 byte1 = *dp++;
607 byte2 = *dp++;
608 t = unw_decode_uleb128 (&dp);

--- 5 unchanged lines hidden (view full) ---

614 else
615 UNW_DEC_SPILL_REG ("X2", t, abreg, x, ytreg, arg);
616 return dp;
617}
618
619static const unsigned char *
620unw_decode_x3 (dp, code, arg)
621 const unsigned char * dp;
607 void * arg ATTRIBUTE_UNUSED;
608{
609 unsigned char byte1, byte2, abreg, x, ytreg;
610 unw_word t;
611
612 byte1 = *dp++;
613 byte2 = *dp++;
614 t = unw_decode_uleb128 (&dp);

--- 5 unchanged lines hidden (view full) ---

620 else
621 UNW_DEC_SPILL_REG ("X2", t, abreg, x, ytreg, arg);
622 return dp;
623}
624
625static const unsigned char *
626unw_decode_x3 (dp, code, arg)
627 const unsigned char * dp;
622 unsigned char code;
628 unsigned int code ATTRIBUTE_UNUSED;
623 void * arg ATTRIBUTE_UNUSED;
624{
625 unsigned char byte1, byte2, abreg, qp;
626 unw_word t, off;
627
628 byte1 = *dp++;
629 byte2 = *dp++;
630 t = unw_decode_uleb128 (&dp);

--- 7 unchanged lines hidden (view full) ---

638 else
639 UNW_DEC_SPILL_PSPREL_P ("X3", qp, t, abreg, off, arg);
640 return dp;
641}
642
643static const unsigned char *
644unw_decode_x4 (dp, code, arg)
645 const unsigned char * dp;
629 void * arg ATTRIBUTE_UNUSED;
630{
631 unsigned char byte1, byte2, abreg, qp;
632 unw_word t, off;
633
634 byte1 = *dp++;
635 byte2 = *dp++;
636 t = unw_decode_uleb128 (&dp);

--- 7 unchanged lines hidden (view full) ---

644 else
645 UNW_DEC_SPILL_PSPREL_P ("X3", qp, t, abreg, off, arg);
646 return dp;
647}
648
649static const unsigned char *
650unw_decode_x4 (dp, code, arg)
651 const unsigned char * dp;
646 unsigned char code;
652 unsigned int code ATTRIBUTE_UNUSED;
647 void * arg ATTRIBUTE_UNUSED;
648{
649 unsigned char byte1, byte2, byte3, qp, abreg, x, ytreg;
650 unw_word t;
651
652 byte1 = *dp++;
653 byte2 = *dp++;
654 byte3 = *dp++;

--- 9 unchanged lines hidden (view full) ---

664 else
665 UNW_DEC_SPILL_REG_P ("X4", qp, t, abreg, x, ytreg, arg);
666 return dp;
667}
668
669static const unsigned char *
670unw_decode_r1 (dp, code, arg)
671 const unsigned char *dp;
653 void * arg ATTRIBUTE_UNUSED;
654{
655 unsigned char byte1, byte2, byte3, qp, abreg, x, ytreg;
656 unw_word t;
657
658 byte1 = *dp++;
659 byte2 = *dp++;
660 byte3 = *dp++;

--- 9 unchanged lines hidden (view full) ---

670 else
671 UNW_DEC_SPILL_REG_P ("X4", qp, t, abreg, x, ytreg, arg);
672 return dp;
673}
674
675static const unsigned char *
676unw_decode_r1 (dp, code, arg)
677 const unsigned char *dp;
672 unsigned char code;
678 unsigned int code;
673 void *arg;
674{
675 int body = (code & 0x20) != 0;
676 unw_word rlen;
677
678 rlen = (code & 0x1f);
679 UNW_DEC_PROLOGUE ("R1", body, rlen, arg);
680 return dp;
681}
682
683static const unsigned char *
684unw_decode_r2 (dp, code, arg)
685 const unsigned char *dp;
679 void *arg;
680{
681 int body = (code & 0x20) != 0;
682 unw_word rlen;
683
684 rlen = (code & 0x1f);
685 UNW_DEC_PROLOGUE ("R1", body, rlen, arg);
686 return dp;
687}
688
689static const unsigned char *
690unw_decode_r2 (dp, code, arg)
691 const unsigned char *dp;
686 unsigned char code;
692 unsigned int code;
687 void *arg;
688{
689 unsigned char byte1, mask, grsave;
690 unw_word rlen;
691
692 byte1 = *dp++;
693
694 mask = ((code & 0x7) << 1) | ((byte1 >> 7) & 1);
695 grsave = (byte1 & 0x7f);
696 rlen = unw_decode_uleb128 (& dp);
697 UNW_DEC_PROLOGUE_GR ("R2", rlen, mask, grsave, arg);
698 return dp;
699}
700
701static const unsigned char *
702unw_decode_r3 (dp, code, arg)
703 const unsigned char *dp;
693 void *arg;
694{
695 unsigned char byte1, mask, grsave;
696 unw_word rlen;
697
698 byte1 = *dp++;
699
700 mask = ((code & 0x7) << 1) | ((byte1 >> 7) & 1);
701 grsave = (byte1 & 0x7f);
702 rlen = unw_decode_uleb128 (& dp);
703 UNW_DEC_PROLOGUE_GR ("R2", rlen, mask, grsave, arg);
704 return dp;
705}
706
707static const unsigned char *
708unw_decode_r3 (dp, code, arg)
709 const unsigned char *dp;
704 unsigned char code;
710 unsigned int code;
705 void *arg;
706{
707 unw_word rlen;
708
709 rlen = unw_decode_uleb128 (& dp);
710 UNW_DEC_PROLOGUE ("R3", ((code & 0x3) == 1), rlen, arg);
711 return dp;
712}
713
714static const unsigned char *
715unw_decode_p1 (dp, code, arg)
716 const unsigned char * dp;
711 void *arg;
712{
713 unw_word rlen;
714
715 rlen = unw_decode_uleb128 (& dp);
716 UNW_DEC_PROLOGUE ("R3", ((code & 0x3) == 1), rlen, arg);
717 return dp;
718}
719
720static const unsigned char *
721unw_decode_p1 (dp, code, arg)
722 const unsigned char * dp;
717 unsigned char code;
723 unsigned int code;
718 void * arg ATTRIBUTE_UNUSED;
719{
720 unsigned char brmask = (code & 0x1f);
721
722 UNW_DEC_BR_MEM ("P1", brmask, arg);
723 return dp;
724}
725
726static const unsigned char *
727unw_decode_p2_p5 (dp, code, arg)
728 const unsigned char * dp;
724 void * arg ATTRIBUTE_UNUSED;
725{
726 unsigned char brmask = (code & 0x1f);
727
728 UNW_DEC_BR_MEM ("P1", brmask, arg);
729 return dp;
730}
731
732static const unsigned char *
733unw_decode_p2_p5 (dp, code, arg)
734 const unsigned char * dp;
729 unsigned char code;
735 unsigned int code;
730 void * arg ATTRIBUTE_UNUSED;
731{
732 if ((code & 0x10) == 0)
733 {
734 unsigned char byte1 = *dp++;
735
736 UNW_DEC_BR_GR ("P2", ((code & 0xf) << 1) | ((byte1 >> 7) & 1),
737 (byte1 & 0x7f), arg);

--- 64 unchanged lines hidden (view full) ---

802 UNW_DEC_BAD_CODE (code);
803
804 return dp;
805}
806
807static const unsigned char *
808unw_decode_p6 (dp, code, arg)
809 const unsigned char * dp;
736 void * arg ATTRIBUTE_UNUSED;
737{
738 if ((code & 0x10) == 0)
739 {
740 unsigned char byte1 = *dp++;
741
742 UNW_DEC_BR_GR ("P2", ((code & 0xf) << 1) | ((byte1 >> 7) & 1),
743 (byte1 & 0x7f), arg);

--- 64 unchanged lines hidden (view full) ---

808 UNW_DEC_BAD_CODE (code);
809
810 return dp;
811}
812
813static const unsigned char *
814unw_decode_p6 (dp, code, arg)
815 const unsigned char * dp;
810 unsigned char code;
816 unsigned int code;
811 void * arg ATTRIBUTE_UNUSED;
812{
813 int gregs = (code & 0x10) != 0;
814 unsigned char mask = (code & 0x0f);
815
816 if (gregs)
817 UNW_DEC_GR_MEM ("P6", mask, arg);
818 else
819 UNW_DEC_FR_MEM ("P6", mask, arg);
820 return dp;
821}
822
823static const unsigned char *
824unw_decode_p7_p10 (dp, code, arg)
825 const unsigned char *dp;
817 void * arg ATTRIBUTE_UNUSED;
818{
819 int gregs = (code & 0x10) != 0;
820 unsigned char mask = (code & 0x0f);
821
822 if (gregs)
823 UNW_DEC_GR_MEM ("P6", mask, arg);
824 else
825 UNW_DEC_FR_MEM ("P6", mask, arg);
826 return dp;
827}
828
829static const unsigned char *
830unw_decode_p7_p10 (dp, code, arg)
831 const unsigned char *dp;
826 unsigned char code;
832 unsigned int code;
827 void *arg;
828{
829 unsigned char r, byte1, byte2;
830 unw_word t, size;
831
832 if ((code & 0x10) == 0)
833 {
834 r = (code & 0xf);

--- 159 unchanged lines hidden (view full) ---

994 }
995 }
996 return dp;
997}
998
999static const unsigned char *
1000unw_decode_b1 (dp, code, arg)
1001 const unsigned char * dp;
833 void *arg;
834{
835 unsigned char r, byte1, byte2;
836 unw_word t, size;
837
838 if ((code & 0x10) == 0)
839 {
840 r = (code & 0xf);

--- 159 unchanged lines hidden (view full) ---

1000 }
1001 }
1002 return dp;
1003}
1004
1005static const unsigned char *
1006unw_decode_b1 (dp, code, arg)
1007 const unsigned char * dp;
1002 unsigned char code;
1008 unsigned int code;
1003 void * arg ATTRIBUTE_UNUSED;
1004{
1005 unw_word label = (code & 0x1f);
1006
1007 if ((code & 0x20) != 0)
1008 UNW_DEC_COPY_STATE ("B1", label, arg);
1009 else
1010 UNW_DEC_LABEL_STATE ("B1", label, arg);
1011 return dp;
1012}
1013
1014static const unsigned char *
1015unw_decode_b2 (dp, code, arg)
1016 const unsigned char * dp;
1009 void * arg ATTRIBUTE_UNUSED;
1010{
1011 unw_word label = (code & 0x1f);
1012
1013 if ((code & 0x20) != 0)
1014 UNW_DEC_COPY_STATE ("B1", label, arg);
1015 else
1016 UNW_DEC_LABEL_STATE ("B1", label, arg);
1017 return dp;
1018}
1019
1020static const unsigned char *
1021unw_decode_b2 (dp, code, arg)
1022 const unsigned char * dp;
1017 unsigned char code;
1023 unsigned int code;
1018 void * arg ATTRIBUTE_UNUSED;
1019{
1020 unw_word t;
1021
1022 t = unw_decode_uleb128 (& dp);
1023 UNW_DEC_EPILOGUE ("B2", t, (code & 0x1f), arg);
1024 return dp;
1025}
1026
1027static const unsigned char *
1028unw_decode_b3_x4 (dp, code, arg)
1029 const unsigned char *dp;
1024 void * arg ATTRIBUTE_UNUSED;
1025{
1026 unw_word t;
1027
1028 t = unw_decode_uleb128 (& dp);
1029 UNW_DEC_EPILOGUE ("B2", t, (code & 0x1f), arg);
1030 return dp;
1031}
1032
1033static const unsigned char *
1034unw_decode_b3_x4 (dp, code, arg)
1035 const unsigned char *dp;
1030 unsigned char code;
1036 unsigned int code;
1031 void *arg;
1032{
1033 unw_word t, ecount, label;
1034
1035 if ((code & 0x10) == 0)
1036 {
1037 t = unw_decode_uleb128 (&dp);
1038 ecount = unw_decode_uleb128 (&dp);

--- 70 unchanged lines hidden ---
1037 void *arg;
1038{
1039 unw_word t, ecount, label;
1040
1041 if ((code & 0x10) == 0)
1042 {
1043 t = unw_decode_uleb128 (&dp);
1044 ecount = unw_decode_uleb128 (&dp);

--- 70 unchanged lines hidden ---