free (symp->sy_obj); symp->sy_obj = 0;
elf_frob_symbol (symp, puntp)     symbolS *symp;     int *puntp;{#ifdef NEED_ECOFF_DEBUG  if (ECOFF_DEBUGGING)    ecoff_frob_symbol (symp);#endif  if (symp->sy_obj)    {      switch (symp->sy_obj->X_op)	{	case O_subtract:	  S_SET_SIZE (symp,		      (S_GET_VALUE (symp->sy_obj->X_add_symbol)		       + symp->sy_obj->X_add_number		       - S_GET_VALUE (symp->sy_obj->X_op_symbol)));	  break;	case O_constant:	  S_SET_SIZE (symp,		      (S_GET_VALUE (symp->sy_obj->X_add_symbol)		       + symp->sy_obj->X_add_number));	  break;	default:	  as_bad (".size expression too complicated to fix up");	  break;	}    }  free (symp->sy_obj);  symp->sy_obj = 0;  /* Double check weak symbols.  */  if (symp->bsym->flags & BSF_WEAK)    {      if (S_IS_COMMON (symp))	as_bad ("Symbol `%s' can not be both weak and common",		S_GET_NAME (symp));    }}