This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[patch] to binutils: clean up after unwind-ia64.c author


Hi there,

Can we please have the author of binutils/unwind-ia64.c sent to the reeducation
camps for carelessly and blatantly breaking the K&R C compliance of Binutils?
(I understand that there probably aren't any K&R C compilers for the IA64, but
this file and the readelf program it's part of are always built with Binutils,
even for people who couldn't care less about the IA64.)

The patch below cleans up the mess.

-- 
Michael Sokolov
Public Service Agent
International Engineering and Science Task Force

1351 VINE AVE APT 27		Phone: +1-714-738-5409
FULLERTON CA 92833-4291 USA	(home office)

E-mail: msokolov@ivan.Harhan.ORG (ARPA TCP/SMTP)

2001-02-10  Michael Sokolov  <msokolov@ivan.Harhan.ORG>

	* unwind-ia64.c: Don't use ANSI C preprocessor stringisation and string
	literal concatenation.

Index: unwind-ia64.c
===================================================================
RCS file: /cvs/src/src/binutils/unwind-ia64.c,v
retrieving revision 1.1
diff -p -r1.1 unwind-ia64.c
*** unwind-ia64.c	2001/02/07 19:41:02	1.1
--- unwind-ia64.c	2001/02/10 22:41:25
*************** unw_print_xyreg (cp, x, ytreg)
*** 160,167 ****
  
  typedef bfd_vma unw_word;
  
- #define STR(x)	#x
- 
  #define UNW_DEC_BAD_CODE(code)			\
      printf ("Unknown code 0x%02x\n", code)
  
--- 160,165 ----
*************** typedef bfd_vma unw_word;
*** 170,177 ****
      {										\
        unw_rlen = rlen;								\
        *(int *)arg = body;							\
!       printf ("    "STR(fmt)":%s(rlen=%lu)\n",					\
! 	      body ? "body" : "prologue", (unsigned long) rlen);		\
      }										\
    while (0)
  
--- 168,175 ----
      {										\
        unw_rlen = rlen;								\
        *(int *)arg = body;							\
!       printf ("    %s:%s(rlen=%lu)\n",						\
! 	      fmt, body ? "body" : "prologue", (unsigned long) rlen);		\
      }										\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 208,215 ****
  	  strcat (maskstr, "pr");						\
  	}									\
        sprintf (regname, "r%u", grsave);						\
!       printf ("    "STR(fmt)":prologue_gr(mask=[%s],grsave=%s,rlen=%lu)\n",	\
! 	      maskstr, regname, (unsigned long) rlen);				\
      }										\
    while (0)
  
--- 206,213 ----
  	  strcat (maskstr, "pr");						\
  	}									\
        sprintf (regname, "r%u", grsave);						\
!       printf ("    %s:prologue_gr(mask=[%s],grsave=%s,rlen=%lu)\n",		\
! 	      fmt, maskstr, regname, (unsigned long) rlen);			\
      }										\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 219,225 ****
        char frstr[200];						\
  								\
        unw_print_frmask (frstr, frmask);				\
!       printf ("\t"STR(fmt)":fr_mem(frmask=[%s])\n", frstr);	\
      }								\
    while (0)
  
--- 217,223 ----
        char frstr[200];						\
  								\
        unw_print_frmask (frstr, frmask);				\
!       printf ("\t%s:fr_mem(frmask=[%s])\n", fmt, frstr);	\
      }								\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 229,235 ****
        char grstr[200];						\
  								\
        unw_print_grmask (grstr, grmask);				\
!       printf ("\t"STR(fmt)":gr_mem(grmask=[%s])\n", grstr);	\
      }								\
    while (0)
  
--- 227,233 ----
        char grstr[200];						\
  								\
        unw_print_grmask (grstr, grmask);				\
!       printf ("\t%s:gr_mem(grmask=[%s])\n", fmt, grstr);	\
      }								\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 240,246 ****
  									     	\
        unw_print_grmask (grstr, grmask);					     	\
        unw_print_frmask (frstr, frmask);					     	\
!       printf ("\t"STR(fmt)":frgr_mem(grmask=[%s],frmask=[%s])\n", grstr, frstr);\
      }										\
    while (0)
  
--- 238,244 ----
  									     	\
        unw_print_grmask (grstr, grmask);					     	\
        unw_print_frmask (frstr, frmask);					     	\
!       printf ("\t%s:frgr_mem(grmask=[%s],frmask=[%s])\n", fmt, grstr, frstr);	\
      }										\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 250,256 ****
        char brstr[20];							\
  									\
        unw_print_brmask (brstr, brmask);					\
!       printf ("\t"STR(fmt)":br_mem(brmask=[%s])\n", brstr);		\
      }									\
    while (0)
  
--- 248,254 ----
        char brstr[20];							\
  									\
        unw_print_brmask (brstr, brmask);					\
!       printf ("\t%s:br_mem(brmask=[%s])\n", fmt, brstr);		\
      }									\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 260,285 ****
        char brstr[20];							\
  									\
        unw_print_brmask (brstr, brmask);					\
!       printf ("\t"STR(fmt)":br_gr(brmask=[%s],gr=r%u)\n", brstr, gr);	\
      }									\
    while (0)
  
  #define UNW_DEC_REG_GR(fmt, src, dst, arg)		\
!   printf ("\t"STR(fmt)":%s_gr(reg=r%u)\n", src, dst)
  
  #define UNW_DEC_RP_BR(fmt, dst, arg)		\
!   printf ("\t"STR(fmt)":rp_br(reg=b%u)\n", dst)
  
  #define UNW_DEC_REG_WHEN(fmt, reg, t, arg)				\
!   printf ("\t"STR(fmt)":%s_when(t=%lu)\n", reg, (unsigned long) t)
  
  #define UNW_DEC_REG_SPREL(fmt, reg, spoff, arg)		\
!   printf ("\t"STR(fmt)":%s_sprel(spoff=0x%lx)\n",	\
! 	  reg, 4*(unsigned long)spoff)
  
  #define UNW_DEC_REG_PSPREL(fmt, reg, pspoff, arg)		\
!   printf ("\t"STR(fmt)":%s_psprel(pspoff=0x10-0x%lx)\n",	\
! 	  reg, 4*(unsigned long)pspoff)
  
  #define UNW_DEC_GR_GR(fmt, grmask, gr, arg)				\
    do									\
--- 258,283 ----
        char brstr[20];							\
  									\
        unw_print_brmask (brstr, brmask);					\
!       printf ("\t%s:br_gr(brmask=[%s],gr=r%u)\n", fmt, brstr, gr);	\
      }									\
    while (0)
  
  #define UNW_DEC_REG_GR(fmt, src, dst, arg)		\
!   printf ("\t%s:%s_gr(reg=r%u)\n", fmt, src, dst)
  
  #define UNW_DEC_RP_BR(fmt, dst, arg)		\
!   printf ("\t%s:rp_br(reg=b%u)\n", fmt, dst)
  
  #define UNW_DEC_REG_WHEN(fmt, reg, t, arg)				\
!   printf ("\t%s:%s_when(t=%lu)\n", fmt, reg, (unsigned long) t)
  
  #define UNW_DEC_REG_SPREL(fmt, reg, spoff, arg)		\
!   printf ("\t%s:%s_sprel(spoff=0x%lx)\n",		\
! 	  fmt, reg, 4*(unsigned long)spoff)
  
  #define UNW_DEC_REG_PSPREL(fmt, reg, pspoff, arg)		\
!   printf ("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n",		\
! 	  fmt, reg, 4*(unsigned long)pspoff)
  
  #define UNW_DEC_GR_GR(fmt, grmask, gr, arg)				\
    do									\
*************** typedef bfd_vma unw_word;
*** 287,293 ****
        char grstr[20];							\
  									\
        unw_print_grmask (grstr, grmask);					\
!       printf ("\t"STR(fmt)":gr_gr(grmask=[%s],r%u)\n", grstr, gr);	\
      }									\
    while (0)
  
--- 285,291 ----
        char grstr[20];							\
  									\
        unw_print_grmask (grstr, grmask);					\
!       printf ("\t%s:gr_gr(grmask=[%s],r%u)\n", fmt, grstr, gr);		\
      }									\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 305,342 ****
  	abistr = abiname[abi];					\
        else							\
  	sprintf (buf, "0x%x", abi);				\
!       printf ("\t"STR(fmt)":unwabi(abi=%s,context=0x%02x)\n",	\
! 	      abistr, context);					\
      }								\
    while (0)
  
  #define UNW_DEC_PRIUNAT_GR(fmt, r, arg)		\
!   printf ("\t"STR(fmt)":priunat_gr(reg=r%u)\n", r)
  
  #define UNW_DEC_PRIUNAT_WHEN_GR(fmt, t, arg)				\
!   printf ("\t"STR(fmt)":priunat_when_gr(t=%lu)\n", (unsigned long) t)
  
  #define UNW_DEC_PRIUNAT_WHEN_MEM(fmt, t, arg)				\
!   printf ("\t"STR(fmt)":priunat_when_mem(t=%lu)\n", (unsigned long) t)
  
  #define UNW_DEC_PRIUNAT_PSPREL(fmt, pspoff, arg)		\
!   printf ("\t"STR(fmt)":priunat_psprel(pspoff=0x10-0x%lx)\n",	\
! 	  4*(unsigned long)pspoff)
  
  #define UNW_DEC_PRIUNAT_SPREL(fmt, spoff, arg)		\
!   printf ("\t"STR(fmt)":priunat_sprel(spoff=0x%lx)\n",	\
! 	  4*(unsigned long)spoff)
  
  #define UNW_DEC_MEM_STACK_F(fmt, t, size, arg)		\
!   printf ("\t"STR(fmt)":mem_stack_f(t=%lu,size=%lu)\n",	\
! 	  (unsigned long) t, 16*(unsigned long)size)
  
  #define UNW_DEC_MEM_STACK_V(fmt, t, arg)				\
!   printf ("\t"STR(fmt)":mem_stack_v(t=%lu)\n", (unsigned long) t)
  
  #define UNW_DEC_SPILL_BASE(fmt, pspoff, arg)			\
!   printf ("\t"STR(fmt)":spill_base(pspoff=0x10-0x%lx)\n",	\
! 	  4*(unsigned long)pspoff)
  
  #define UNW_DEC_SPILL_MASK(fmt, dp, arg)					\
    do										\
--- 303,340 ----
  	abistr = abiname[abi];					\
        else							\
  	sprintf (buf, "0x%x", abi);				\
!       printf ("\t%s:unwabi(abi=%s,context=0x%02x)\n",		\
! 	      fmt, abistr, context);				\
      }								\
    while (0)
  
  #define UNW_DEC_PRIUNAT_GR(fmt, r, arg)		\
!   printf ("\t%s:priunat_gr(reg=r%u)\n", fmt, r)
  
  #define UNW_DEC_PRIUNAT_WHEN_GR(fmt, t, arg)				\
!   printf ("\t%s:priunat_when_gr(t=%lu)\n", fmt, (unsigned long) t)
  
  #define UNW_DEC_PRIUNAT_WHEN_MEM(fmt, t, arg)				\
!   printf ("\t%s:priunat_when_mem(t=%lu)\n", fmt, (unsigned long) t)
  
  #define UNW_DEC_PRIUNAT_PSPREL(fmt, pspoff, arg)		\
!   printf ("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n",		\
! 	  fmt, 4*(unsigned long)pspoff)
  
  #define UNW_DEC_PRIUNAT_SPREL(fmt, spoff, arg)		\
!   printf ("\t%s:priunat_sprel(spoff=0x%lx)\n",		\
! 	  fmt, 4*(unsigned long)spoff)
  
  #define UNW_DEC_MEM_STACK_F(fmt, t, size, arg)		\
!   printf ("\t%s:mem_stack_f(t=%lu,size=%lu)\n",		\
! 	  fmt, (unsigned long) t, 16*(unsigned long)size)
  
  #define UNW_DEC_MEM_STACK_V(fmt, t, arg)				\
!   printf ("\t%s:mem_stack_v(t=%lu)\n", fmt, (unsigned long) t)
  
  #define UNW_DEC_SPILL_BASE(fmt, pspoff, arg)			\
!   printf ("\t%s:spill_base(pspoff=0x10-0x%lx)\n",		\
! 	  fmt, 4*(unsigned long)pspoff)
  
  #define UNW_DEC_SPILL_MASK(fmt, dp, arg)					\
    do										\
*************** typedef bfd_vma unw_word;
*** 346,352 ****
        unsigned char mask = 0;							\
        bfd_vma insn = 0;								\
  										\
!       printf ("\t"STR (fmt)":spill_mask(imask=[");				\
        for (insn = 0; insn < unw_rlen; ++insn)					\
  	{									\
  	  if ((insn % 4) == 0)							\
--- 344,350 ----
        unsigned char mask = 0;							\
        bfd_vma insn = 0;								\
  										\
!       printf ("\t%s:spill_mask(imask=[", fmt);					\
        for (insn = 0; insn < unw_rlen; ++insn)					\
  	{									\
  	  if ((insn % 4) == 0)							\
*************** typedef bfd_vma unw_word;
*** 366,373 ****
        char regname[10];								\
  										\
        unw_print_abreg (regname, abreg);						\
!       printf ("\t"STR(fmt)":spill_sprel(reg=%s,t=%lu,spoff=0x%lx)\n",		\
! 	      regname, (unsigned long) t, 4*(unsigned long)off);		\
      }										\
    while (0)
  
--- 364,371 ----
        char regname[10];								\
  										\
        unw_print_abreg (regname, abreg);						\
!       printf ("\t%s:spill_sprel(reg=%s,t=%lu,spoff=0x%lx)\n",			\
! 	      fmt, regname, (unsigned long) t, 4*(unsigned long)off);		\
      }										\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 377,384 ****
        char regname[10];							 	\
  									 	\
        unw_print_abreg (regname, abreg);					 	\
!       printf ("\t"STR(fmt)":spill_psprel(reg=%s,t=%lu,pspoff=0x10-0x%lx)\n", 	\
! 	      regname, (unsigned long) t, 4*(unsigned long)pspoff);		\
      }										\
    while (0)
  
--- 375,382 ----
        char regname[10];							 	\
  									 	\
        unw_print_abreg (regname, abreg);					 	\
!       printf ("\t%s:spill_psprel(reg=%s,t=%lu,pspoff=0x10-0x%lx)\n", 		\
! 	      fmt, regname, (unsigned long) t, 4*(unsigned long)pspoff);	\
      }										\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 388,395 ****
        char regname[10];						\
  								\
        unw_print_abreg (regname, abreg);				\
!       printf ("\t"STR(fmt)":restore(t=%lu,reg=%s)\n",		\
! 	      (unsigned long) t, regname);			\
      }								\
    while (0)
  
--- 386,393 ----
        char regname[10];						\
  								\
        unw_print_abreg (regname, abreg);				\
!       printf ("\t%s:restore(t=%lu,reg=%s)\n",			\
! 	      fmt, (unsigned long) t, regname);			\
      }								\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 400,407 ****
  								\
        unw_print_abreg (abregname, abreg);			\
        unw_print_xyreg (tregname, x, ytreg);			\
!       printf ("\t"STR(fmt)":spill_reg(t=%lu,reg=%s,treg=%s)\n",	\
! 	      (unsigned long) t, abregname, tregname);		\
      }								\
    while (0)
  
--- 398,405 ----
  								\
        unw_print_abreg (abregname, abreg);			\
        unw_print_xyreg (tregname, x, ytreg);			\
!       printf ("\t%s:spill_reg(t=%lu,reg=%s,treg=%s)\n",		\
! 	      fmt, (unsigned long) t, abregname, tregname);	\
      }								\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 411,418 ****
        char regname[20];							   	    \
  									   	    \
        unw_print_abreg (regname, abreg);					   	    \
!       printf ("\t"STR(fmt)":spill_sprel_p(qp=p%u,t=%lu,reg=%s,spoff=0x%lx)\n", 	    \
! 	      qp, (unsigned long) t, regname, 4 * (unsigned long)spoff);	    \
      }										    \
    while (0)
  
--- 409,416 ----
        char regname[20];							   	    \
  									   	    \
        unw_print_abreg (regname, abreg);					   	    \
!       printf ("\t%s:spill_sprel_p(qp=p%u,t=%lu,reg=%s,spoff=0x%lx)\n",		    \
! 	      fmt, qp, (unsigned long) t, regname, 4 * (unsigned long)spoff);	    \
      }										    \
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 422,430 ****
        char regname[20];							\
  									\
        unw_print_abreg (regname, abreg);					\
!       printf ("\t"STR (fmt)						\
! 	      ":spill_psprel_p(qp=p%u,t=%lu,reg=%s,pspoff=0x10-0x%lx)\n",\
! 	      qp, (unsigned long) t, regname, 4*(unsigned long)pspoff);	\
      }									\
    while (0)
  
--- 420,427 ----
        char regname[20];							\
  									\
        unw_print_abreg (regname, abreg);					\
!       printf ("\t%s:spill_psprel_p(qp=p%u,t=%lu,reg=%s,pspoff=0x10-0x%lx)\n",\
! 	      fmt, qp, (unsigned long) t, regname, 4*(unsigned long)pspoff);\
      }									\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 434,441 ****
        char regname[20];							\
  									\
        unw_print_abreg (regname, abreg);					\
!       printf ("\t"STR(fmt)":restore_p(qp=p%u,t=%lu,reg=%s)\n",		\
! 	      qp, (unsigned long) t, regname);				\
      }									\
    while (0)
  
--- 431,438 ----
        char regname[20];							\
  									\
        unw_print_abreg (regname, abreg);					\
!       printf ("\t%s:restore_p(qp=p%u,t=%lu,reg=%s)\n",			\
! 	      fmt, qp, (unsigned long) t, regname);			\
      }									\
    while (0)
  
*************** typedef bfd_vma unw_word;
*** 446,465 ****
  									\
        unw_print_abreg (regname, abreg);					\
        unw_print_xyreg (tregname, x, ytreg);				\
!       printf ("\t"STR(fmt)":spill_reg_p(qp=p%u,t=%lu,reg=%s,treg=%s)\n",\
! 	      qp, (unsigned long) t, regname, tregname);		\
      }									\
    while (0)
  
  #define UNW_DEC_LABEL_STATE(fmt, label, arg)				\
!   printf ("\t"STR(fmt)":label_state(label=%lu)\n", (unsigned long) label)
  
  #define UNW_DEC_COPY_STATE(fmt, label, arg)				\
!   printf ("\t"STR(fmt)":copy_state(label=%lu)\n", (unsigned long) label)
  
  #define UNW_DEC_EPILOGUE(fmt, t, ecount, arg)		\
!   printf ("\t"STR(fmt)":epilogue(t=%lu,ecount=%lu)\n",	\
! 	  (unsigned long) t, (unsigned long) ecount)
  
  /*
   * Generic IA-64 unwind info decoder.
--- 443,462 ----
  									\
        unw_print_abreg (regname, abreg);					\
        unw_print_xyreg (tregname, x, ytreg);				\
!       printf ("\t%s:spill_reg_p(qp=p%u,t=%lu,reg=%s,treg=%s)\n",	\
! 	      fmt, qp, (unsigned long) t, regname, tregname);		\
      }									\
    while (0)
  
  #define UNW_DEC_LABEL_STATE(fmt, label, arg)				\
!   printf ("\t%s:label_state(label=%lu)\n", fmt, (unsigned long) label)
  
  #define UNW_DEC_COPY_STATE(fmt, label, arg)				\
!   printf ("\t%s:copy_state(label=%lu)\n", fmt, (unsigned long) label)
  
  #define UNW_DEC_EPILOGUE(fmt, t, ecount, arg)		\
!   printf ("\t%s:epilogue(t=%lu,ecount=%lu)\n",		\
! 	  fmt, (unsigned long) t, (unsigned long) ecount)
  
  /*
   * Generic IA-64 unwind info decoder.
*************** unw_decode_x1 (dp, code, arg)
*** 591,599 ****
    off = unw_decode_uleb128 (&dp);
    abreg = (byte1 & 0x7f);
    if (byte1 & 0x80)
!     UNW_DEC_SPILL_SPREL (X1, t, abreg, off, arg);
    else
!     UNW_DEC_SPILL_PSPREL (X1, t, abreg, off, arg);
    return dp;
  }
  
--- 588,596 ----
    off = unw_decode_uleb128 (&dp);
    abreg = (byte1 & 0x7f);
    if (byte1 & 0x80)
!     UNW_DEC_SPILL_SPREL ("X1", t, abreg, off, arg);
    else
!     UNW_DEC_SPILL_PSPREL ("X1", t, abreg, off, arg);
    return dp;
  }
  
*************** unw_decode_x2 (dp, code, arg)
*** 613,621 ****
    ytreg = byte2;
    x = (byte1 >> 7) & 1;
    if ((byte1 & 0x80) == 0 && ytreg == 0)
!     UNW_DEC_RESTORE (X2, t, abreg, arg);
    else
!     UNW_DEC_SPILL_REG (X2, t, abreg, x, ytreg, arg);
    return dp;
  }
  
--- 610,618 ----
    ytreg = byte2;
    x = (byte1 >> 7) & 1;
    if ((byte1 & 0x80) == 0 && ytreg == 0)
!     UNW_DEC_RESTORE ("X2", t, abreg, arg);
    else
!     UNW_DEC_SPILL_REG ("X2", t, abreg, x, ytreg, arg);
    return dp;
  }
  
*************** unw_decode_x3 (dp, code, arg)
*** 637,645 ****
    abreg = (byte2 & 0x7f);
  
    if (byte1 & 0x80)
!     UNW_DEC_SPILL_SPREL_P (X3, qp, t, abreg, off, arg);
    else
!     UNW_DEC_SPILL_PSPREL_P (X3, qp, t, abreg, off, arg);
    return dp;
  }
  
--- 634,642 ----
    abreg = (byte2 & 0x7f);
  
    if (byte1 & 0x80)
!     UNW_DEC_SPILL_SPREL_P ("X3", qp, t, abreg, off, arg);
    else
!     UNW_DEC_SPILL_PSPREL_P ("X3", qp, t, abreg, off, arg);
    return dp;
  }
  
*************** unw_decode_x4 (dp, code, arg)
*** 663,671 ****
    ytreg = byte3;
  
    if ((byte2 & 0x80) == 0 && byte3 == 0)
!     UNW_DEC_RESTORE_P (X4, qp, t, abreg, arg);
    else
!     UNW_DEC_SPILL_REG_P (X4, qp, t, abreg, x, ytreg, arg);
    return dp;
  }
  
--- 660,668 ----
    ytreg = byte3;
  
    if ((byte2 & 0x80) == 0 && byte3 == 0)
!     UNW_DEC_RESTORE_P ("X4", qp, t, abreg, arg);
    else
!     UNW_DEC_SPILL_REG_P ("X4", qp, t, abreg, x, ytreg, arg);
    return dp;
  }
  
*************** unw_decode_r1 (dp, code, arg)
*** 679,685 ****
    unw_word rlen;
  
    rlen = (code & 0x1f);
!   UNW_DEC_PROLOGUE (R1, body, rlen, arg);
    return dp;
  }
  
--- 676,682 ----
    unw_word rlen;
  
    rlen = (code & 0x1f);
!   UNW_DEC_PROLOGUE ("R1", body, rlen, arg);
    return dp;
  }
  
*************** unw_decode_r2 (dp, code, arg)
*** 697,703 ****
    mask = ((code & 0x7) << 1) | ((byte1 >> 7) & 1);
    grsave = (byte1 & 0x7f);
    rlen = unw_decode_uleb128 (& dp);
!   UNW_DEC_PROLOGUE_GR (R2, rlen, mask, grsave, arg);
    return dp;
  }
  
--- 694,700 ----
    mask = ((code & 0x7) << 1) | ((byte1 >> 7) & 1);
    grsave = (byte1 & 0x7f);
    rlen = unw_decode_uleb128 (& dp);
!   UNW_DEC_PROLOGUE_GR ("R2", rlen, mask, grsave, arg);
    return dp;
  }
  
*************** unw_decode_r3 (dp, code, arg)
*** 710,716 ****
    unw_word rlen;
  
    rlen = unw_decode_uleb128 (& dp);
!   UNW_DEC_PROLOGUE (R3, ((code & 0x3) == 1), rlen, arg);
    return dp;
  }
  
--- 707,713 ----
    unw_word rlen;
  
    rlen = unw_decode_uleb128 (& dp);
!   UNW_DEC_PROLOGUE ("R3", ((code & 0x3) == 1), rlen, arg);
    return dp;
  }
  
*************** unw_decode_p1 (dp, code, arg)
*** 722,728 ****
  {
    unsigned char brmask = (code & 0x1f);
  
!   UNW_DEC_BR_MEM (P1, brmask, arg);
    return dp;
  }
  
--- 719,725 ----
  {
    unsigned char brmask = (code & 0x1f);
  
!   UNW_DEC_BR_MEM ("P1", brmask, arg);
    return dp;
  }
  
*************** unw_decode_p2_p5 (dp, code, arg)
*** 736,742 ****
      {
        unsigned char byte1 = *dp++;
  
!       UNW_DEC_BR_GR (P2, ((code & 0xf) << 1) | ((byte1 >> 7) & 1),
  		     (byte1 & 0x7f), arg);
      }
    else if ((code & 0x08) == 0)
--- 733,739 ----
      {
        unsigned char byte1 = *dp++;
  
!       UNW_DEC_BR_GR ("P2", ((code & 0xf) << 1) | ((byte1 >> 7) & 1),
  		     (byte1 & 0x7f), arg);
      }
    else if ((code & 0x08) == 0)
*************** unw_decode_p2_p5 (dp, code, arg)
*** 748,787 ****
        switch (r)
  	{
  	case 0:
! 	  UNW_DEC_REG_GR (P3, UNW_REG_PSP, dst, arg);
  	  break;
  	case 1:
! 	  UNW_DEC_REG_GR (P3, UNW_REG_RP, dst, arg);
  	  break;
  	case 2:
! 	  UNW_DEC_REG_GR (P3, UNW_REG_PFS, dst, arg);
  	  break;
  	case 3:
! 	  UNW_DEC_REG_GR (P3, UNW_REG_PR, dst, arg);
  	  break;
  	case 4:
! 	  UNW_DEC_REG_GR (P3, UNW_REG_UNAT, dst, arg);
  	  break;
  	case 5:
! 	  UNW_DEC_REG_GR (P3, UNW_REG_LC, dst, arg);
  	  break;
  	case 6:
! 	  UNW_DEC_RP_BR (P3, dst, arg);
  	  break;
  	case 7:
! 	  UNW_DEC_REG_GR (P3, UNW_REG_RNAT, dst, arg);
  	  break;
  	case 8:
! 	  UNW_DEC_REG_GR (P3, UNW_REG_BSP, dst, arg);
  	  break;
  	case 9:
! 	  UNW_DEC_REG_GR (P3, UNW_REG_BSPSTORE, dst, arg);
  	  break;
  	case 10:
! 	  UNW_DEC_REG_GR (P3, UNW_REG_FPSR, dst, arg);
  	  break;
  	case 11:
! 	  UNW_DEC_PRIUNAT_GR (P3, dst, arg);
  	  break;
  	default:
  	  UNW_DEC_BAD_CODE (r);
--- 745,784 ----
        switch (r)
  	{
  	case 0:
! 	  UNW_DEC_REG_GR ("P3", UNW_REG_PSP, dst, arg);
  	  break;
  	case 1:
! 	  UNW_DEC_REG_GR ("P3", UNW_REG_RP, dst, arg);
  	  break;
  	case 2:
! 	  UNW_DEC_REG_GR ("P3", UNW_REG_PFS, dst, arg);
  	  break;
  	case 3:
! 	  UNW_DEC_REG_GR ("P3", UNW_REG_PR, dst, arg);
  	  break;
  	case 4:
! 	  UNW_DEC_REG_GR ("P3", UNW_REG_UNAT, dst, arg);
  	  break;
  	case 5:
! 	  UNW_DEC_REG_GR ("P3", UNW_REG_LC, dst, arg);
  	  break;
  	case 6:
! 	  UNW_DEC_RP_BR ("P3", dst, arg);
  	  break;
  	case 7:
! 	  UNW_DEC_REG_GR ("P3", UNW_REG_RNAT, dst, arg);
  	  break;
  	case 8:
! 	  UNW_DEC_REG_GR ("P3", UNW_REG_BSP, dst, arg);
  	  break;
  	case 9:
! 	  UNW_DEC_REG_GR ("P3", UNW_REG_BSPSTORE, dst, arg);
  	  break;
  	case 10:
! 	  UNW_DEC_REG_GR ("P3", UNW_REG_FPSR, dst, arg);
  	  break;
  	case 11:
! 	  UNW_DEC_PRIUNAT_GR ("P3", dst, arg);
  	  break;
  	default:
  	  UNW_DEC_BAD_CODE (r);
*************** unw_decode_p2_p5 (dp, code, arg)
*** 789,795 ****
  	}
      }
    else if ((code & 0x7) == 0)
!     UNW_DEC_SPILL_MASK (P4, dp, arg);
    else if ((code & 0x7) == 1)
      {
        unw_word grmask, frmask, byte1, byte2, byte3;
--- 786,792 ----
  	}
      }
    else if ((code & 0x7) == 0)
!     UNW_DEC_SPILL_MASK ("P4", dp, arg);
    else if ((code & 0x7) == 1)
      {
        unw_word grmask, frmask, byte1, byte2, byte3;
*************** unw_decode_p2_p5 (dp, code, arg)
*** 799,805 ****
        byte3 = *dp++;
        grmask = ((byte1 >> 4) & 0xf);
        frmask = ((byte1 & 0xf) << 16) | (byte2 << 8) | byte3;
!       UNW_DEC_FRGR_MEM (P5, grmask, frmask, arg);
      }
    else
      UNW_DEC_BAD_CODE (code);
--- 796,802 ----
        byte3 = *dp++;
        grmask = ((byte1 >> 4) & 0xf);
        frmask = ((byte1 & 0xf) << 16) | (byte2 << 8) | byte3;
!       UNW_DEC_FRGR_MEM ("P5", grmask, frmask, arg);
      }
    else
      UNW_DEC_BAD_CODE (code);
*************** unw_decode_p6 (dp, code, arg)
*** 817,825 ****
    unsigned char mask = (code & 0x0f);
  
    if (gregs)
!     UNW_DEC_GR_MEM (P6, mask, arg);
    else
!     UNW_DEC_FR_MEM (P6, mask, arg);
    return dp;
  }
  
--- 814,822 ----
    unsigned char mask = (code & 0x0f);
  
    if (gregs)
!     UNW_DEC_GR_MEM ("P6", mask, arg);
    else
!     UNW_DEC_FR_MEM ("P6", mask, arg);
    return dp;
  }
  
*************** unw_decode_p7_p10 (dp, code, arg)
*** 840,892 ****
  	{
  	case 0:
  	  size = unw_decode_uleb128 (&dp);
! 	  UNW_DEC_MEM_STACK_F (P7, t, size, arg);
  	  break;
  
  	case 1:
! 	  UNW_DEC_MEM_STACK_V (P7, t, arg);
  	  break;
  	case 2:
! 	  UNW_DEC_SPILL_BASE (P7, t, arg);
  	  break;
  	case 3:
! 	  UNW_DEC_REG_SPREL (P7, UNW_REG_PSP, t, arg);
  	  break;
  	case 4:
! 	  UNW_DEC_REG_WHEN (P7, UNW_REG_RP, t, arg);
  	  break;
  	case 5:
! 	  UNW_DEC_REG_PSPREL (P7, UNW_REG_RP, t, arg);
  	  break;
  	case 6:
! 	  UNW_DEC_REG_WHEN (P7, UNW_REG_PFS, t, arg);
  	  break;
  	case 7:
! 	  UNW_DEC_REG_PSPREL (P7, UNW_REG_PFS, t, arg);
  	  break;
  	case 8:
! 	  UNW_DEC_REG_WHEN (P7, UNW_REG_PR, t, arg);
  	  break;
  	case 9:
! 	  UNW_DEC_REG_PSPREL (P7, UNW_REG_PR, t, arg);
  	  break;
  	case 10:
! 	  UNW_DEC_REG_WHEN (P7, UNW_REG_LC, t, arg);
  	  break;
  	case 11:
! 	  UNW_DEC_REG_PSPREL (P7, UNW_REG_LC, t, arg);
  	  break;
  	case 12:
! 	  UNW_DEC_REG_WHEN (P7, UNW_REG_UNAT, t, arg);
  	  break;
  	case 13:
! 	  UNW_DEC_REG_PSPREL (P7, UNW_REG_UNAT, t, arg);
  	  break;
  	case 14:
! 	  UNW_DEC_REG_WHEN (P7, UNW_REG_FPSR, t, arg);
  	  break;
  	case 15:
! 	  UNW_DEC_REG_PSPREL (P7, UNW_REG_FPSR, t, arg);
  	  break;
  	default:
  	  UNW_DEC_BAD_CODE (r);
--- 837,889 ----
  	{
  	case 0:
  	  size = unw_decode_uleb128 (&dp);
! 	  UNW_DEC_MEM_STACK_F ("P7", t, size, arg);
  	  break;
  
  	case 1:
! 	  UNW_DEC_MEM_STACK_V ("P7", t, arg);
  	  break;
  	case 2:
! 	  UNW_DEC_SPILL_BASE ("P7", t, arg);
  	  break;
  	case 3:
! 	  UNW_DEC_REG_SPREL ("P7", UNW_REG_PSP, t, arg);
  	  break;
  	case 4:
! 	  UNW_DEC_REG_WHEN ("P7", UNW_REG_RP, t, arg);
  	  break;
  	case 5:
! 	  UNW_DEC_REG_PSPREL ("P7", UNW_REG_RP, t, arg);
  	  break;
  	case 6:
! 	  UNW_DEC_REG_WHEN ("P7", UNW_REG_PFS, t, arg);
  	  break;
  	case 7:
! 	  UNW_DEC_REG_PSPREL ("P7", UNW_REG_PFS, t, arg);
  	  break;
  	case 8:
! 	  UNW_DEC_REG_WHEN ("P7", UNW_REG_PR, t, arg);
  	  break;
  	case 9:
! 	  UNW_DEC_REG_PSPREL ("P7", UNW_REG_PR, t, arg);
  	  break;
  	case 10:
! 	  UNW_DEC_REG_WHEN ("P7", UNW_REG_LC, t, arg);
  	  break;
  	case 11:
! 	  UNW_DEC_REG_PSPREL ("P7", UNW_REG_LC, t, arg);
  	  break;
  	case 12:
! 	  UNW_DEC_REG_WHEN ("P7", UNW_REG_UNAT, t, arg);
  	  break;
  	case 13:
! 	  UNW_DEC_REG_PSPREL ("P7", UNW_REG_UNAT, t, arg);
  	  break;
  	case 14:
! 	  UNW_DEC_REG_WHEN ("P7", UNW_REG_FPSR, t, arg);
  	  break;
  	case 15:
! 	  UNW_DEC_REG_PSPREL ("P7", UNW_REG_FPSR, t, arg);
  	  break;
  	default:
  	  UNW_DEC_BAD_CODE (r);
*************** unw_decode_p7_p10 (dp, code, arg)
*** 904,964 ****
  	    switch (r)
  	      {
  	      case 1:
! 		UNW_DEC_REG_SPREL (P8, UNW_REG_RP, t, arg);
  		break;
  	      case 2:
! 		UNW_DEC_REG_SPREL (P8, UNW_REG_PFS, t, arg);
  		break;
  	      case 3:
! 		UNW_DEC_REG_SPREL (P8, UNW_REG_PR, t, arg);
  		break;
  	      case 4:
! 		UNW_DEC_REG_SPREL (P8, UNW_REG_LC, t, arg);
  		break;
  	      case 5:
! 		UNW_DEC_REG_SPREL (P8, UNW_REG_UNAT, t, arg);
  		break;
  	      case 6:
! 		UNW_DEC_REG_SPREL (P8, UNW_REG_FPSR, t, arg);
  		break;
  	      case 7:
! 		UNW_DEC_REG_WHEN (P8, UNW_REG_BSP, t, arg);
  		break;
  	      case 8:
! 		UNW_DEC_REG_PSPREL (P8, UNW_REG_BSP, t, arg);
  		break;
  	      case 9:
! 		UNW_DEC_REG_SPREL (P8, UNW_REG_BSP, t, arg);
  		break;
  	      case 10:
! 		UNW_DEC_REG_WHEN (P8, UNW_REG_BSPSTORE, t, arg);
  		break;
  	      case 11:
! 		UNW_DEC_REG_PSPREL (P8, UNW_REG_BSPSTORE, t, arg);
  		break;
  	      case 12:
! 		UNW_DEC_REG_SPREL (P8, UNW_REG_BSPSTORE, t, arg);
  		break;
  	      case 13:
! 		UNW_DEC_REG_WHEN (P8, UNW_REG_RNAT, t, arg);
  		break;
  	      case 14:
! 		UNW_DEC_REG_PSPREL (P8, UNW_REG_RNAT, t, arg);
  		break;
  	      case 15:
! 		UNW_DEC_REG_SPREL (P8, UNW_REG_RNAT, t, arg);
  		break;
  	      case 16:
! 		UNW_DEC_PRIUNAT_WHEN_GR (P8, t, arg);
  		break;
  	      case 17:
! 		UNW_DEC_PRIUNAT_PSPREL (P8, t, arg);
  		break;
  	      case 18:
! 		UNW_DEC_PRIUNAT_SPREL (P8, t, arg);
  		break;
  	      case 19:
! 		UNW_DEC_PRIUNAT_WHEN_MEM (P8, t, arg);
  		break;
  	      default:
  		UNW_DEC_BAD_CODE (r);
--- 901,961 ----
  	    switch (r)
  	      {
  	      case 1:
! 		UNW_DEC_REG_SPREL ("P8", UNW_REG_RP, t, arg);
  		break;
  	      case 2:
! 		UNW_DEC_REG_SPREL ("P8", UNW_REG_PFS, t, arg);
  		break;
  	      case 3:
! 		UNW_DEC_REG_SPREL ("P8", UNW_REG_PR, t, arg);
  		break;
  	      case 4:
! 		UNW_DEC_REG_SPREL ("P8", UNW_REG_LC, t, arg);
  		break;
  	      case 5:
! 		UNW_DEC_REG_SPREL ("P8", UNW_REG_UNAT, t, arg);
  		break;
  	      case 6:
! 		UNW_DEC_REG_SPREL ("P8", UNW_REG_FPSR, t, arg);
  		break;
  	      case 7:
! 		UNW_DEC_REG_WHEN ("P8", UNW_REG_BSP, t, arg);
  		break;
  	      case 8:
! 		UNW_DEC_REG_PSPREL ("P8", UNW_REG_BSP, t, arg);
  		break;
  	      case 9:
! 		UNW_DEC_REG_SPREL ("P8", UNW_REG_BSP, t, arg);
  		break;
  	      case 10:
! 		UNW_DEC_REG_WHEN ("P8", UNW_REG_BSPSTORE, t, arg);
  		break;
  	      case 11:
! 		UNW_DEC_REG_PSPREL ("P8", UNW_REG_BSPSTORE, t, arg);
  		break;
  	      case 12:
! 		UNW_DEC_REG_SPREL ("P8", UNW_REG_BSPSTORE, t, arg);
  		break;
  	      case 13:
! 		UNW_DEC_REG_WHEN ("P8", UNW_REG_RNAT, t, arg);
  		break;
  	      case 14:
! 		UNW_DEC_REG_PSPREL ("P8", UNW_REG_RNAT, t, arg);
  		break;
  	      case 15:
! 		UNW_DEC_REG_SPREL ("P8", UNW_REG_RNAT, t, arg);
  		break;
  	      case 16:
! 		UNW_DEC_PRIUNAT_WHEN_GR ("P8", t, arg);
  		break;
  	      case 17:
! 		UNW_DEC_PRIUNAT_PSPREL ("P8", t, arg);
  		break;
  	      case 18:
! 		UNW_DEC_PRIUNAT_SPREL ("P8", t, arg);
  		break;
  	      case 19:
! 		UNW_DEC_PRIUNAT_WHEN_MEM ("P8", t, arg);
  		break;
  	      default:
  		UNW_DEC_BAD_CODE (r);
*************** unw_decode_p7_p10 (dp, code, arg)
*** 970,982 ****
  	case 0x1:
  	  byte1 = *dp++;
  	  byte2 = *dp++;
! 	  UNW_DEC_GR_GR (P9, (byte1 & 0xf), (byte2 & 0x7f), arg);
  	  break;
  
  	case 0xf:		/* p10 */
  	  byte1 = *dp++;
  	  byte2 = *dp++;
! 	  UNW_DEC_ABI (P10, byte1, byte2, arg);
  	  break;
  
  	case 0x9:
--- 967,979 ----
  	case 0x1:
  	  byte1 = *dp++;
  	  byte2 = *dp++;
! 	  UNW_DEC_GR_GR ("P9", (byte1 & 0xf), (byte2 & 0x7f), arg);
  	  break;
  
  	case 0xf:		/* p10 */
  	  byte1 = *dp++;
  	  byte2 = *dp++;
! 	  UNW_DEC_ABI ("P10", byte1, byte2, arg);
  	  break;
  
  	case 0x9:
*************** unw_decode_b1 (dp, code, arg)
*** 1008,1016 ****
    unw_word label = (code & 0x1f);
  
    if ((code & 0x20) != 0)
!     UNW_DEC_COPY_STATE (B1, label, arg);
    else
!     UNW_DEC_LABEL_STATE (B1, label, arg);
    return dp;
  }
  
--- 1005,1013 ----
    unw_word label = (code & 0x1f);
  
    if ((code & 0x20) != 0)
!     UNW_DEC_COPY_STATE ("B1", label, arg);
    else
!     UNW_DEC_LABEL_STATE ("B1", label, arg);
    return dp;
  }
  
*************** unw_decode_b2 (dp, code, arg)
*** 1023,1029 ****
    unw_word t;
  
    t = unw_decode_uleb128 (& dp);
!   UNW_DEC_EPILOGUE (B2, t, (code & 0x1f), arg);
    return dp;
  }
  
--- 1020,1026 ----
    unw_word t;
  
    t = unw_decode_uleb128 (& dp);
!   UNW_DEC_EPILOGUE ("B2", t, (code & 0x1f), arg);
    return dp;
  }
  
*************** unw_decode_b3_x4 (dp, code, arg)
*** 1039,1053 ****
      {
        t = unw_decode_uleb128 (&dp);
        ecount = unw_decode_uleb128 (&dp);
!       UNW_DEC_EPILOGUE (B3, t, ecount, arg);
      }
    else if ((code & 0x07) == 0)
      {
        label = unw_decode_uleb128 (&dp);
        if ((code & 0x08) != 0)
! 	UNW_DEC_COPY_STATE (B4, label, arg);
        else
! 	UNW_DEC_LABEL_STATE (B4, label, arg);
      }
    else
      switch (code & 0x7)
--- 1036,1050 ----
      {
        t = unw_decode_uleb128 (&dp);
        ecount = unw_decode_uleb128 (&dp);
!       UNW_DEC_EPILOGUE ("B3", t, ecount, arg);
      }
    else if ((code & 0x07) == 0)
      {
        label = unw_decode_uleb128 (&dp);
        if ((code & 0x08) != 0)
! 	UNW_DEC_COPY_STATE ("B4", label, arg);
        else
! 	UNW_DEC_LABEL_STATE ("B4", label, arg);
      }
    else
      switch (code & 0x7)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]