&& strip_symbols != strip_unneeded);
&& strip_symbols != strip_unneeded && ! convert_debugging);
filter_symbols (abfd, osyms, isyms, symcount)     bfd *abfd;     asymbol **osyms, **isyms;     long symcount;{  register asymbol **from = isyms, **to = osyms;  long src_count = 0, dst_count = 0;  for (; src_count < symcount; src_count++)    {      asymbol *sym = from[src_count];      flagword flags = sym->flags;      int keep;      if ((flags & BSF_KEEP) != 0)		/* Used in relocation.  */	keep = 1;      else if ((flags & BSF_GLOBAL) != 0	/* Global symbol.  */	       || bfd_is_und_section (bfd_get_section (sym))	       || bfd_is_com_section (bfd_get_section (sym)))	keep = strip_symbols != strip_unneeded;      else if ((flags & BSF_DEBUGGING) != 0)	/* Debugging symbol.  */	keep = (strip_symbols != strip_debug		&& strip_symbols != strip_unneeded);      else			/* Local symbol.  */	keep = (strip_symbols != strip_unneeded		&& (discard_locals != locals_all		    && (discard_locals != locals_start_L			|| ! bfd_is_local_label (abfd, sym))));      if (keep && is_strip_symbol (bfd_asymbol_name (sym)))	keep = 0;      if (keep && is_strip_section (abfd, bfd_get_section (sym)))	keep = 0;      if (keep)	to[dst_count++] = sym;    }  return dst_count;}