return(symbol_name_build);
} /* local_label_name() */
-/*
- * decode name that may have been generated by local_label_name() above. If
- * the name wasn't generated by local_label_name(), then return it unaltered.
- * This is used for error messages.
- */
-
-char *decode_local_label_name(s)
-char *s;
-{
- char *symbol_decode;
- int label_number;
-/* int label_version; */
- char *message_format = "\"%d\" (instance number %s of a local label)";
-
- if (s[0] != 'L'
- || s[2] != 1) {
- return(s);
- } /* not a local_label_name() generated name. */
-
- label_number = s[1] - '0';
-
- (void) sprintf(symbol_decode = obstack_alloc(¬es, strlen(s + 3) + strlen(message_format) + 10),
- message_format, label_number, s + 3);
-
- return(symbol_decode);
-} /* decode_local_label_name() */
void local_colon (n)
int n; /* just saw "n:" */
unsigned int name_length;
char *preserved_copy_of_name;
symbolS *symbolP;
- extern int memset();
name_length = strlen(name) + 1; /* +1 for \0 */
obstack_grow(¬es, name, name_length);
/* symbol must be born in some fixed state. This seems as good as any. */
memset(symbolP, 0, sizeof(symbolS));
-#if STRIP_UNDERSCORE
+#ifdef STRIP_UNDERSCORE
S_SET_NAME(symbolP, (*preserved_copy_of_name == '_'
? preserved_copy_of_name + 1
: preserved_copy_of_name));
int possible_bytes;
fragS *frag_tmp;
char *frag_opcode;
+
extern md_short_jump_size;
extern md_long_jump_size;
-
possible_bytes=md_short_jump_size + new_broken_words * md_long_jump_size;
+
frag_tmp=frag_now;
frag_opcode=frag_var(rs_broken_word,
possible_bytes,
* on the sparc also depends on it.
*/
/* char New_Type = SEGMENT_TO_SYMBOL_TYPE((int) now_seg); */
+#ifdef MANY_SEGMENTS
+#define SEG_BSS SEG_E2
+#define SEG_DATA SEG_E1
+#endif
if (((!S_IS_DEBUG(symbolP) && !S_IS_DEFINED(symbolP) && S_IS_EXTERNAL(symbolP))
|| (S_GET_SEGMENT(symbolP) == SEG_BSS))
symbolS *symbol_find(name)
char *name;
{
-#ifndef STRIP_UNDERSCORE
-#define STRIP_UNDERSCORE 0
+#ifdef STRIP_UNDERSCORE
+ return(symbol_find_base(name, 1));
+#else /* STRIP_UNDERSCORE */
+ return(symbol_find_base(name, ));
#endif /* STRIP_UNDERSCORE */
- return symbol_find_base(name, STRIP_UNDERSCORE);
-}
+} /* symbol_find() */
symbolS *symbol_find_base(name, strip_underscore)
char *name;
} /* verify_symbol_chain() */
+/*
+ * decode name that may have been generated by local_label_name() above. If
+ * the name wasn't generated by local_label_name(), then return it unaltered.
+ * This is used for error messages.
+ */
+
+char *decode_local_label_name(s)
+char *s;
+{
+ char *symbol_decode;
+ int label_number;
+ /* int label_version; */
+ char *message_format = "\"%d\" (instance number %s of a local label)";
+
+ if (s[0] != 'L'
+ || s[2] != 1) {
+ return(s);
+ } /* not a local_label_name() generated name. */
+
+ label_number = s[1] - '0';
+
+ (void) sprintf(symbol_decode = obstack_alloc(¬es, strlen(s + 3) + strlen(message_format) + 10),
+ message_format, label_number, s + 3);
+
+ return(symbol_decode);
+} /* decode_local_label_name() */
+
+
/*
* Local Variables:
* comment-column: 0