along with GAS; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-#define DEBUG
+/* #define DEBUG_SYMS /* to debug symbol list maintenance */
#include <ctype.h>
obj_symbol_new_hook (symbolP);
-#ifdef DEBUG
+#ifdef DEBUG_SYMS
verify_symbol_chain(symbol_rootP, symbol_lastP);
-#endif /* DEBUG */
+#endif /* DEBUG_SYMS */
return symbolP;
}
#ifdef tc_frob_label
tc_frob_label (symbolP);
#endif
-
- return;
-} /* colon() */
+}
\f
/*
symbolP->sy_previous->sy_next = symbolP->sy_next;
} /* if not first */
-#ifdef DEBUG
+#ifdef DEBUG_SYMS
verify_symbol_chain (*rootPP, *lastPP);
-#endif /* DEBUG */
+#endif /* DEBUG_SYMS */
}
/* Set the chain pointers of SYMBOL to null. */
target->sy_previous = addme;
addme->sy_next = target;
-#ifdef DEBUG
+#ifdef DEBUG_SYMS
verify_symbol_chain (*rootPP, *lastPP);
-#endif /* DEBUG */
+#endif /* DEBUG_SYMS */
}
#endif /* SYMBOLS_NEED_BACKPOINTERS */
fb_labels[fb_label_count] = label;
fb_label_instances[fb_label_count] = 1;
++fb_label_count;
- return;
-} /* fb_label_instance_inc() */
+}
static long
fb_label_instance (label)
S_SET_EXTERNAL (s)
symbolS *s;
{
- s->bsym->flags |= BSF_EXPORT | BSF_GLOBAL;
- s->bsym->flags &= ~BSF_LOCAL;
+ s->bsym->flags |= BSF_GLOBAL;
+ s->bsym->flags &= ~(BSF_LOCAL|BSF_WEAK);
}
void
symbolS *s;
{
s->bsym->flags |= BSF_LOCAL;
- s->bsym->flags &= ~(BSF_EXPORT | BSF_GLOBAL);
+ s->bsym->flags &= ~(BSF_GLOBAL|BSF_WEAK);
+}
+
+void
+S_SET_WEAK (s)
+ symbolS *s;
+{
+ s->bsym->flags |= BSF_WEAK;
+ s->bsym->flags &= ~(BSF_GLOBAL|BSF_LOCAL);
}
void