case EM_MIPS_RS4_BE:
case EM_MIPS_RS3_LE:
get_segment_type (p_type)     unsigned long p_type;{  static char buff [32];  switch (p_type)    {    case PT_NULL:       return "NULL";    case PT_LOAD:       return "LOAD";    case PT_DYNAMIC:	return "DYNAMIC";    case PT_INTERP:     return "INTERP";    case PT_NOTE:       return "NOTE";    case PT_SHLIB:      return "SHLIB";    case PT_PHDR:       return "PHDR";    default:      if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))	{	  const char * result;	  switch (elf_header.e_machine)	    {	    case EM_MIPS:	    case EM_MIPS_RS4_BE:	      result = get_mips_segment_type (p_type);	      break;	    case EM_PARISC:	      result = get_parisc_segment_type (p_type);	      break;	    default:	      result = NULL;	      break;	    }	  if (result != NULL)	    return result;	  sprintf (buff, "LOPROC+%lx", p_type - PT_LOPROC);	}      else if ((p_type >= PT_LOOS) && (p_type <= PT_HIOS))	{	  const char * result;	  switch (elf_header.e_machine)	    {	    case EM_PARISC:	      result = get_parisc_segment_type (p_type);	      break;	    default:	      result = NULL;	      break;	    }	  if (result != NULL)	    return result;	  sprintf (buff, "LOOS+%lx", p_type - PT_LOOS);	}      else	sprintf (buff, _("<unknown>: %lx"), p_type);      return buff;    }}