diff options
author | Kazu Hirata <kazu@codesourcery.com> | 2000-08-10 19:00:08 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@codesourcery.com> | 2000-08-10 19:00:08 +0000 |
commit | 7c743825ea4a910e73672628fe2fc5aef60608d5 (patch) | |
tree | 400f900da5334f71065d9eb159d8e98d89e0dea7 | |
parent | f1d7622b957e12c8130c24fe4c46882f70b59b1c (diff) | |
download | gdb-7c743825ea4a910e73672628fe2fc5aef60608d5.zip gdb-7c743825ea4a910e73672628fe2fc5aef60608d5.tar.gz gdb-7c743825ea4a910e73672628fe2fc5aef60608d5.tar.bz2 |
2000-08-10 Kazu Hirata <kazu@hxi.com>
* symbols.c: Fix formatting.
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/symbols.c | 409 |
2 files changed, 192 insertions, 221 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index f30e28d..56e2575 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2000-08-10 Kazu Hirata <kazu@hxi.com> + + * symbols.c: Fix formatting. + 2000-08-09 Alan Modra <alan@linuxcare.com.au> From Rodney Brown <RodneyBrown@mynd.com> diff --git a/gas/symbols.c b/gas/symbols.c index 68c50bb..a9dac42 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -19,7 +19,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* #define DEBUG_SYMS / * to debug symbol list maintenance */ +/* #define DEBUG_SYMS / * to debug symbol list maintenance. */ #include <ctype.h> @@ -44,7 +44,7 @@ static struct hash_control *sy_hash; /* Table of local symbols. */ static struct hash_control *local_hash; -/* Below are commented in "symbols.h". */ +/* Below are commented in "symbols.h". */ symbolS *symbol_rootP; symbolS *symbol_lastP; symbolS abs_symbol; @@ -63,12 +63,10 @@ static long fb_label_instance PARAMS ((long)); static void print_binary PARAMS ((FILE *, const char *, expressionS *)); -/* symbol_new() - - Return a pointer to a new symbol. Die if we can't make a new +/* Return a pointer to a new symbol. Die if we can't make a new symbol. Fill in the symbol's values. Add symbol to end of symbol chain. - + This function should be called in the general case of creating a symbol. However, if the output file symbol table has already been set, and you are certain that this symbol won't be wanted in the @@ -83,9 +81,7 @@ symbol_new (name, segment, valu, frag) { symbolS *symbolP = symbol_create (name, segment, valu, frag); - /* - * Link to end of symbol chain. - */ + /* Link to end of symbol chain. */ #ifdef BFD_ASSEMBLER { extern int symbol_table_frozen; @@ -108,7 +104,7 @@ save_symbol_name (name) unsigned int name_length; char *ret; - name_length = strlen (name) + 1; /* +1 for \0 */ + name_length = strlen (name) + 1; /* +1 for \0. */ obstack_grow (¬es, name, name_length); ret = obstack_finish (¬es); @@ -135,10 +131,10 @@ save_symbol_name (name) symbolS * symbol_create (name, segment, valu, frag) - const char *name; /* It is copied, the caller can destroy/modify */ - segT segment; /* Segment identifier (SEG_<something>) */ - valueT valu; /* Symbol value */ - fragS *frag; /* Associated fragment */ + const char *name; /* It is copied, the caller can destroy/modify. */ + segT segment; /* Segment identifier (SEG_<something>). */ + valueT valu; /* Symbol value. */ + fragS *frag; /* Associated fragment. */ { char *preserved_copy_of_name; symbolS *symbolP; @@ -147,7 +143,7 @@ symbol_create (name, segment, valu, frag) symbolP = (symbolS *) obstack_alloc (¬es, sizeof (symbolS)); - /* symbol must be born in some fixed state. This seems as good as any. */ + /* symbol must be born in some fixed state. This seems as good as any. */ memset (symbolP, 0, sizeof (symbolS)); #ifdef BFD_ASSEMBLER @@ -272,22 +268,17 @@ local_symbol_convert (locsym) #endif /* ! BFD_ASSEMBLER */ +/* We have just seen "<name>:". + Creates a struct symbol unless it already exists. + + Gripes if we are redefining a symbol incompatibly (and ignores it). */ -/* - * colon() - * - * We have just seen "<name>:". - * Creates a struct symbol unless it already exists. - * - * Gripes if we are redefining a symbol incompatibly (and ignores it). - * - */ symbolS * -colon (sym_name) /* just seen "x:" - rattle symbols & frags */ - const char *sym_name; /* symbol name, as a cannonical string */ - /* We copy this string: OK to alter later. */ +colon (sym_name) /* Just seen "x:" - rattle symbols & frags. */ + const char *sym_name; /* Symbol name, as a cannonical string. */ + /* We copy this string: OK to alter later. */ { - register symbolS *symbolP; /* symbol we are working with */ + register symbolS *symbolP; /* Symbol we are working with. */ /* Sun local labels go out of scope whenever a non-local symbol is defined. */ @@ -327,9 +318,9 @@ colon (sym_name) /* just seen "x:" - rattle symbols & frags */ (offsetT) 0, NULL); - /* We want to store the pointer to where to insert the jump table in the - fr_opcode of the rs_broken_word frag. This requires a little - hackery. */ + /* We want to store the pointer to where to insert the jump + table in the fr_opcode of the rs_broken_word frag. This + requires a little hackery. */ while (frag_tmp && (frag_tmp->fr_type != rs_broken_word || frag_tmp->fr_opcode)) @@ -349,9 +340,7 @@ colon (sym_name) /* just seen "x:" - rattle symbols & frags */ if (RESOLVE_SYMBOL_REDEFINITION (symbolP)) return symbolP; #endif - /* - * Now check for undefined symbols - */ + /* Now check for undefined symbols. */ if (LOCAL_SYMBOL_CHECK (symbolP)) { #ifdef BFD_ASSEMBLER @@ -377,27 +366,27 @@ colon (sym_name) /* just seen "x:" - rattle symbols & frags */ { symbolP->sy_frag = frag_now; #ifdef OBJ_VMS - S_SET_OTHER(symbolP, const_flag); + S_SET_OTHER (symbolP, const_flag); #endif S_SET_VALUE (symbolP, (valueT) frag_now_fix ()); S_SET_SEGMENT (symbolP, now_seg); #ifdef N_UNDF know (N_UNDF == 0); -#endif /* if we have one, it better be zero. */ +#endif /* if we have one, it better be zero. */ } else { - /* - * There are still several cases to check: - * A .comm/.lcomm symbol being redefined as - * initialized data is OK - * A .comm/.lcomm symbol being redefined with - * a larger size is also OK - * - * This only used to be allowed on VMS gas, but Sun cc - * on the sparc also depends on it. - */ + /* There are still several cases to check: + + A .comm/.lcomm symbol being redefined as initialized + data is OK + + A .comm/.lcomm symbol being redefined with a larger + size is also OK + + This only used to be allowed on VMS gas, but Sun cc + on the sparc also depends on it. */ if (((!S_IS_DEBUG (symbolP) && (!S_IS_DEFINED (symbolP) || S_IS_COMMON (symbolP)) @@ -406,17 +395,14 @@ colon (sym_name) /* just seen "x:" - rattle symbols & frags */ && (now_seg == data_section || now_seg == S_GET_SEGMENT (symbolP))) { - /* - * Select which of the 2 cases this is - */ + /* Select which of the 2 cases this is. */ if (now_seg != data_section) { - /* - * New .comm for prev .comm symbol. - * If the new size is larger we just - * change its value. If the new size - * is smaller, we ignore this symbol - */ + /* New .comm for prev .comm symbol. + + If the new size is larger we just change its + value. If the new size is smaller, we ignore + this symbol. */ if (S_GET_VALUE (symbolP) < ((unsigned) frag_now_fix ())) { @@ -429,10 +415,10 @@ colon (sym_name) /* just seen "x:" - rattle symbols & frags */ data. */ symbolP->sy_frag = frag_now; #ifdef OBJ_VMS - S_SET_OTHER(symbolP, const_flag); + S_SET_OTHER (symbolP, const_flag); #endif S_SET_VALUE (symbolP, (valueT) frag_now_fix ()); - S_SET_SEGMENT (symbolP, now_seg); /* keep N_EXT bit */ + S_SET_SEGMENT (symbolP, now_seg); /* Keep N_EXT bit. */ } } else @@ -456,16 +442,16 @@ colon (sym_name) /* just seen "x:" - rattle symbols & frags */ od_buf, (long) S_GET_VALUE (symbolP)); } - } /* if the undefined symbol has no value */ + } /* if the undefined symbol has no value */ } else { - /* Don't blow up if the definition is the same */ + /* Don't blow up if the definition is the same. */ if (!(frag_now == symbolP->sy_frag && S_GET_VALUE (symbolP) == frag_now_fix () && S_GET_SEGMENT (symbolP) == now_seg)) as_fatal (_("Symbol %s already defined."), sym_name); - } /* if this symbol is not yet defined */ + } /* if this symbol is not yet defined */ } #ifdef BFD_ASSEMBLER @@ -485,7 +471,7 @@ colon (sym_name) /* just seen "x:" - rattle symbols & frags */ #endif /* OBJ_VMS */ symbol_table_insert (symbolP); - } /* if we have seen this symbol before */ + } /* if we have seen this symbol before */ if (mri_common_symbol != NULL) { @@ -511,15 +497,9 @@ colon (sym_name) /* just seen "x:" - rattle symbols & frags */ return symbolP; } +/* Die if we can't insert the symbol. */ -/* - * symbol_table_insert() - * - * Die if we can't insert the symbol. - * - */ - -void +void symbol_table_insert (symbolP) symbolS *symbolP; { @@ -542,15 +522,12 @@ symbol_table_insert (symbolP) { as_fatal (_("Inserting \"%s\" into symbol table failed: %s"), S_GET_NAME (symbolP), error_string); - } /* on error */ -} /* symbol_table_insert() */ + } /* on error */ +} -/* - * symbol_find_or_make() - * - * If a symbol name does not exist, create it as undefined, and insert - * it into the symbol table. Return a pointer to it. - */ +/* If a symbol name does not exist, create it as undefined, and insert + it into the symbol table. Return a pointer to it. */ + symbolS * symbol_find_or_make (name) const char *name; @@ -581,7 +558,7 @@ symbol_find_or_make (name) } /* if symbol wasn't found */ return (symbolP); -} /* symbol_find_or_make() */ +} symbolS * symbol_make (name) @@ -589,23 +566,19 @@ symbol_make (name) { symbolS *symbolP; - /* Let the machine description default it, e.g. for register names. */ + /* Let the machine description default it, e.g. for register names. */ symbolP = md_undefined_symbol ((char *) name); if (!symbolP) symbolP = symbol_new (name, undefined_section, (valueT) 0, &zero_address_frag); return (symbolP); -} /* symbol_make() */ +} -/* - * symbol_find() - * - * Implement symbol table lookup. - * In: A symbol's name as a string: '\0' can't be part of a symbol name. - * Out: NULL if the name was not in the symbol table, else the address - * of a struct symbol associated with that name. - */ +/* Implement symbol table lookup. + In: A symbol's name as a string: '\0' can't be part of a symbol name. + Out: NULL if the name was not in the symbol table, else the address + of a struct symbol associated with that name. */ symbolS * symbol_find (name) @@ -616,7 +589,7 @@ symbol_find (name) #else /* STRIP_UNDERSCORE */ return (symbol_find_base (name, 0)); #endif /* STRIP_UNDERSCORE */ -} /* symbol_find() */ +} symbolS * symbol_find_base (name, strip_underscore) @@ -668,16 +641,15 @@ symbol_find_base (name, strip_underscore) return ((symbolS *) hash_find (sy_hash, name)); } -/* - * Once upon a time, symbols were kept in a singly linked list. At - * least coff needs to be able to rearrange them from time to time, for - * which a doubly linked list is much more convenient. Loic did these - * as macros which seemed dangerous to me so they're now functions. - * xoxorich. - */ +/* Once upon a time, symbols were kept in a singly linked list. At + least coff needs to be able to rearrange them from time to time, for + which a doubly linked list is much more convenient. Loic did these + as macros which seemed dangerous to me so they're now functions. + xoxorich. */ + +/* Link symbol ADDME after symbol TARGET in the chain. */ -/* Link symbol ADDME after symbol TARGET in the chain. */ -void +void symbol_append (addme, target, rootPP, lastPP) symbolS *addme; symbolS *target; @@ -700,7 +672,7 @@ symbol_append (addme, target, rootPP, lastPP) *rootPP = addme; *lastPP = addme; return; - } /* if the list is empty */ + } /* if the list is empty */ if (target->sy_next != NULL) { @@ -712,7 +684,7 @@ symbol_append (addme, target, rootPP, lastPP) { know (*lastPP == target); *lastPP = addme; - } /* if we have a next */ + } /* if we have a next */ addme->sy_next = target->sy_next; target->sy_next = addme; @@ -724,8 +696,9 @@ symbol_append (addme, target, rootPP, lastPP) debug_verify_symchain (symbol_rootP, symbol_lastP); } -/* Set the chain pointers of SYMBOL to null. */ -void +/* Set the chain pointers of SYMBOL to null. */ + +void symbol_clear_list_pointers (symbolP) symbolS *symbolP; { @@ -738,8 +711,9 @@ symbol_clear_list_pointers (symbolP) } #ifdef SYMBOLS_NEED_BACKPOINTERS -/* Remove SYMBOLP from the list. */ -void +/* Remove SYMBOLP from the list. */ + +void symbol_remove (symbolP, rootPP, lastPP) symbolS *symbolP; symbolS **rootPP; @@ -751,28 +725,29 @@ symbol_remove (symbolP, rootPP, lastPP) if (symbolP == *rootPP) { *rootPP = symbolP->sy_next; - } /* if it was the root */ + } /* if it was the root */ if (symbolP == *lastPP) { *lastPP = symbolP->sy_previous; - } /* if it was the tail */ + } /* if it was the tail */ if (symbolP->sy_next != NULL) { symbolP->sy_next->sy_previous = symbolP->sy_previous; - } /* if not last */ + } /* if not last */ if (symbolP->sy_previous != NULL) { symbolP->sy_previous->sy_next = symbolP->sy_next; - } /* if not first */ + } /* if not first */ debug_verify_symchain (*rootPP, *lastPP); } -/* Link symbol ADDME before symbol TARGET in the chain. */ -void +/* Link symbol ADDME before symbol TARGET in the chain. */ + +void symbol_insert (addme, target, rootPP, lastPP) symbolS *addme; symbolS *target; @@ -792,7 +767,7 @@ symbol_insert (addme, target, rootPP, lastPP) { know (*rootPP == target); *rootPP = addme; - } /* if not first */ + } /* if not first */ addme->sy_previous = target->sy_previous; target->sy_previous = addme; @@ -803,7 +778,7 @@ symbol_insert (addme, target, rootPP, lastPP) #endif /* SYMBOLS_NEED_BACKPOINTERS */ -void +void verify_symbol_chain (rootP, lastP) symbolS *rootP; symbolS *lastP; @@ -891,7 +866,8 @@ resolve_symbol_value (symp, finalize) if (symp->sy_resolving) { if (finalize) - as_bad (_("Symbol definition loop encountered at %s"), S_GET_NAME (symp)); + as_bad (_("Symbol definition loop encountered at %s"), + S_GET_NAME (symp)); final_val = 0; resolved = 1; } @@ -1076,7 +1052,8 @@ resolve_symbol_value (symp, finalize) S_GET_NAME (symp->sy_value.X_op_symbol)); if (seg_left != undefined_section && seg_right != undefined_section) - as_bad_where (file, line, _("invalid section for operation")); + as_bad_where (file, line, + _("invalid section for operation")); } else { @@ -1144,7 +1121,7 @@ resolve_symbol_value (symp, finalize) final_seg = absolute_section; resolved = (symbol_resolved_p (add_symbol) && symbol_resolved_p (op_symbol)); - break; + break; case O_register: case O_big: @@ -1180,7 +1157,8 @@ exit_dont_set_value: symp->sy_resolved = 1; else if (S_GET_SEGMENT (symp) != expr_section) { - as_bad (_("can't resolve value for symbol \"%s\""), S_GET_NAME (symp)); + as_bad (_("can't resolve value for symbol \"%s\""), + S_GET_NAME (symp)); symp->sy_resolved = 1; } } @@ -1228,7 +1206,7 @@ static char *dollar_label_defines; static unsigned long dollar_label_count; static unsigned long dollar_label_max; -int +int dollar_label_defined (label) long label; { @@ -1240,9 +1218,9 @@ dollar_label_defined (label) if (*i == label) return dollar_label_defines[i - dollar_labels]; - /* if we get here, label isn't defined */ + /* If we get here, label isn't defined. */ return 0; -} /* dollar_label_defined() */ +} static long dollar_label_instance (label) @@ -1256,12 +1234,12 @@ dollar_label_instance (label) if (*i == label) return (dollar_label_instances[i - dollar_labels]); - /* If we get here, we haven't seen the label before, therefore its instance - count is zero. */ + /* If we get here, we haven't seen the label before. + Therefore its instance count is zero. */ return 0; } -void +void dollar_label_clear () { memset (dollar_label_defines, '\0', (unsigned int) dollar_label_count); @@ -1269,7 +1247,7 @@ dollar_label_clear () #define DOLLAR_LABEL_BUMP_BY 10 -void +void define_dollar_label (label) long label; { @@ -1283,7 +1261,7 @@ define_dollar_label (label) return; } - /* if we get to here, we don't have label listed yet. */ + /* If we get to here, we don't have label listed yet. */ if (dollar_labels == NULL) { @@ -1301,7 +1279,7 @@ define_dollar_label (label) dollar_label_instances = (long *) xrealloc ((char *) dollar_label_instances, dollar_label_max * sizeof (long)); dollar_label_defines = xrealloc (dollar_label_defines, dollar_label_max); - } /* if we needed to grow */ + } /* if we needed to grow */ dollar_labels[dollar_label_count] = label; dollar_label_instances[dollar_label_count] = 1; @@ -1309,31 +1287,28 @@ define_dollar_label (label) ++dollar_label_count; } -/* - * dollar_label_name() - * - * Caller must copy returned name: we re-use the area for the next name. - * - * The mth occurence of label n: is turned into the symbol "Ln^Am" - * where n is the label number and m is the instance number. "L" makes - * it a label discarded unless debugging and "^A"('\1') ensures no - * ordinary symbol SHOULD get the same name as a local label - * symbol. The first "4:" is "L4^A1" - the m numbers begin at 1. - * - * fb labels get the same treatment, except that ^B is used in place of ^A. - */ - -char * /* Return local label name. */ +/* Caller must copy returned name: we re-use the area for the next name. + + The mth occurence of label n: is turned into the symbol "Ln^Am" + where n is the label number and m is the instance number. "L" makes + it a label discarded unless debugging and "^A"('\1') ensures no + ordinary symbol SHOULD get the same name as a local label + symbol. The first "4:" is "L4^A1" - the m numbers begin at 1. + + fb labels get the same treatment, except that ^B is used in place + of ^A. */ + +char * /* Return local label name. */ dollar_label_name (n, augend) - register long n; /* we just saw "n$:" : n a number */ - register int augend; /* 0 for current instance, 1 for new instance */ + register long n; /* we just saw "n$:" : n a number. */ + register int augend; /* 0 for current instance, 1 for new instance. */ { long i; - /* Returned to caller, then copied. used for created names ("4f") */ + /* Returned to caller, then copied. Used for created names ("4f"). */ static char symbol_name_build[24]; register char *p; register char *q; - char symbol_name_temporary[20]; /* build up a number, BACKWARDS */ + char symbol_name_temporary[20]; /* Build up a number, BACKWARDS. */ know (n >= 0); know (augend == 0 || augend == 1); @@ -1343,8 +1318,8 @@ dollar_label_name (n, augend) #endif *p++ = 'L'; - /* Next code just does sprintf( {}, "%d", n); */ - /* label number */ + /* Next code just does sprintf( {}, "%d", n); */ + /* Label number. */ q = symbol_name_temporary; for (*q++ = 0, i = n; i; ++q) { @@ -1354,9 +1329,9 @@ dollar_label_name (n, augend) while ((*p = *--q) != '\0') ++p; - *p++ = 1; /* ^A */ + *p++ = 1; /* ^A */ - /* instance number */ + /* Instance number. */ q = symbol_name_temporary; for (*q++ = 0, i = dollar_label_instance (n) + augend; i; ++q) { @@ -1365,27 +1340,26 @@ dollar_label_name (n, augend) } while ((*p++ = *--q) != '\0');; - /* The label, as a '\0' ended string, starts at symbol_name_build. */ + /* The label, as a '\0' ended string, starts at symbol_name_build. */ return symbol_name_build; } -/* - * Sombody else's idea of local labels. They are made by "n:" where n - * is any decimal digit. Refer to them with - * "nb" for previous (backward) n: - * or "nf" for next (forward) n:. - * - * We do a little better and let n be any number, not just a single digit, but - * since the other guy's assembler only does ten, we treat the first ten - * specially. - * - * Like someone else's assembler, we have one set of local label counters for - * entire assembly, not one set per (sub)segment like in most assemblers. This - * implies that one can refer to a label in another segment, and indeed some - * crufty compilers have done just that. - * - * Since there could be a LOT of these things, treat them as a sparse array. - */ +/* Sombody else's idea of local labels. They are made by "n:" where n + is any decimal digit. Refer to them with + "nb" for previous (backward) n: + or "nf" for next (forward) n:. + + We do a little better and let n be any number, not just a single digit, but + since the other guy's assembler only does ten, we treat the first ten + specially. + + Like someone else's assembler, we have one set of local label counters for + entire assembly, not one set per (sub)segment like in most assemblers. This + implies that one can refer to a label in another segment, and indeed some + crufty compilers have done just that. + + Since there could be a LOT of these things, treat them as a sparse + array. */ #define FB_LABEL_SPECIAL (10) @@ -1395,17 +1369,18 @@ static long *fb_label_instances; static long fb_label_count; static long fb_label_max; -/* this must be more than FB_LABEL_SPECIAL */ +/* This must be more than FB_LABEL_SPECIAL. */ #define FB_LABEL_BUMP_BY (FB_LABEL_SPECIAL + 6) -static void +static void fb_label_init () { memset ((void *) fb_low_counter, '\0', sizeof (fb_low_counter)); -} /* fb_label_init() */ +} -/* add one to the instance number of this fb label */ -void +/* Add one to the instance number of this fb label. */ + +void fb_label_instance_inc (label) long label; { @@ -1426,11 +1401,11 @@ fb_label_instance_inc (label) { ++fb_label_instances[i - fb_labels]; return; - } /* if we find it */ - } /* for each existing label */ + } /* if we find it */ + } /* for each existing label */ } - /* if we get to here, we don't have label listed yet. */ + /* If we get to here, we don't have label listed yet. */ if (fb_labels == NULL) { @@ -1447,14 +1422,14 @@ fb_label_instance_inc (label) fb_label_max * sizeof (long)); fb_label_instances = (long *) xrealloc ((char *) fb_label_instances, fb_label_max * sizeof (long)); - } /* if we needed to grow */ + } /* if we needed to grow */ fb_labels[fb_label_count] = label; fb_label_instances[fb_label_count] = 1; ++fb_label_count; } -static long +static long fb_label_instance (label) long label; { @@ -1473,8 +1448,8 @@ fb_label_instance (label) if (*i == label) { return (fb_label_instances[i - fb_labels]); - } /* if we find it */ - } /* for each existing label */ + } /* if we find it */ + } /* for each existing label */ } /* We didn't find the label, so this must be a reference to the @@ -1482,38 +1457,36 @@ fb_label_instance (label) return 0; } -/* - * fb_label_name() - * - * Caller must copy returned name: we re-use the area for the next name. - * - * The mth occurence of label n: is turned into the symbol "Ln^Bm" - * where n is the label number and m is the instance number. "L" makes - * it a label discarded unless debugging and "^B"('\2') ensures no - * ordinary symbol SHOULD get the same name as a local label - * symbol. The first "4:" is "L4^B1" - the m numbers begin at 1. - * - * dollar labels get the same treatment, except that ^A is used in place of ^B. */ - -char * /* Return local label name. */ +/* Caller must copy returned name: we re-use the area for the next name. + + The mth occurence of label n: is turned into the symbol "Ln^Bm" + where n is the label number and m is the instance number. "L" makes + it a label discarded unless debugging and "^B"('\2') ensures no + ordinary symbol SHOULD get the same name as a local label + symbol. The first "4:" is "L4^B1" - the m numbers begin at 1. + + dollar labels get the same treatment, except that ^A is used in + place of ^B. */ + +char * /* Return local label name. */ fb_label_name (n, augend) - long n; /* we just saw "n:", "nf" or "nb" : n a number */ - long augend; /* 0 for nb, 1 for n:, nf */ + long n; /* We just saw "n:", "nf" or "nb" : n a number. */ + long augend; /* 0 for nb, 1 for n:, nf. */ { long i; - /* Returned to caller, then copied. used for created names ("4f") */ + /* Returned to caller, then copied. Used for created names ("4f"). */ static char symbol_name_build[24]; register char *p; register char *q; - char symbol_name_temporary[20]; /* build up a number, BACKWARDS */ + char symbol_name_temporary[20]; /* Build up a number, BACKWARDS. */ know (n >= 0); know (augend == 0 || augend == 1); p = symbol_name_build; *p++ = 'L'; - /* Next code just does sprintf( {}, "%d", n); */ - /* label number */ + /* Next code just does sprintf( {}, "%d", n); */ + /* Label number. */ q = symbol_name_temporary; for (*q++ = 0, i = n; i; ++q) { @@ -1523,9 +1496,9 @@ fb_label_name (n, augend) while ((*p = *--q) != '\0') ++p; - *p++ = 2; /* ^B */ + *p++ = 2; /* ^B */ - /* instance number */ + /* Instance number. */ q = symbol_name_temporary; for (*q++ = 0, i = fb_label_instance (n) + augend; i; ++q) { @@ -1534,15 +1507,13 @@ fb_label_name (n, augend) } while ((*p++ = *--q) != '\0');; - /* The label, as a '\0' ended string, starts at symbol_name_build. */ + /* The label, as a '\0' ended string, starts at symbol_name_build. */ return (symbol_name_build); -} /* fb_label_name() */ +} -/* - * decode name that may have been generated by foo_label_name() above. If - * the name wasn't generated by foo_label_name(), then return it unaltered. - * This is used for error messages. - */ +/* Decode name that may have been generated by foo_label_name() above. + If the name wasn't generated by foo_label_name(), then return it + unaltered. This is used for error messages. */ char * decode_local_label_name (s) @@ -1678,7 +1649,7 @@ S_IS_EXTERNAL (s) flags = s->bsym->flags; - /* sanity check */ + /* Sanity check. */ if ((flags & BSF_LOCAL) && (flags & BSF_GLOBAL)) abort (); @@ -1735,7 +1706,7 @@ S_IS_LOCAL (s) flags = s->bsym->flags; - /* sanity check */ + /* Sanity check. */ if ((flags & BSF_LOCAL) && (flags & BSF_GLOBAL)) abort (); @@ -1814,7 +1785,7 @@ S_SET_SEGMENT (s, seg) if (s->bsym->flags & BSF_SECTION_SYM) { if (s->bsym->section != seg) - abort(); + abort (); } else s->bsym->section = seg; @@ -1832,7 +1803,7 @@ S_SET_EXTERNAL (s) return; } s->bsym->flags |= BSF_GLOBAL; - s->bsym->flags &= ~(BSF_LOCAL|BSF_WEAK); + s->bsym->flags &= ~(BSF_LOCAL | BSF_WEAK); } void @@ -1847,7 +1818,7 @@ S_CLEAR_EXTERNAL (s) return; } s->bsym->flags |= BSF_LOCAL; - s->bsym->flags &= ~(BSF_GLOBAL|BSF_WEAK); + s->bsym->flags &= ~(BSF_GLOBAL | BSF_WEAK); } void @@ -1857,7 +1828,7 @@ S_SET_WEAK (s) if (LOCAL_SYMBOL_CHECK (s)) s = local_symbol_convert ((struct local_symbol *) s); s->bsym->flags |= BSF_WEAK; - s->bsym->flags &= ~(BSF_GLOBAL|BSF_LOCAL); + s->bsym->flags &= ~(BSF_GLOBAL | BSF_LOCAL); } void @@ -2125,7 +2096,7 @@ symbol_section_p (s) #ifdef BFD_ASSEMBLER return (s->bsym->flags & BSF_SECTION_SYM) != 0; #else - /* FIXME */ + /* FIXME. */ return 0; #endif } @@ -2237,7 +2208,7 @@ void symbol_begin () { symbol_lastP = NULL; - symbol_rootP = NULL; /* In case we have 0 symbols (!!) */ + symbol_rootP = NULL; /* In case we have 0 symbols (!!) */ sy_hash = hash_new (); #ifdef BFD_ASSEMBLER local_hash = hash_new (); @@ -2249,7 +2220,7 @@ symbol_begin () abs_symbol.bsym = bfd_abs_section.symbol; #endif #else - /* Can't initialise a union. Sigh. */ + /* Can't initialise a union. Sigh. */ S_SET_SEGMENT (&abs_symbol, absolute_section); #endif abs_symbol.sy_value.X_op = O_constant; @@ -2258,8 +2229,6 @@ symbol_begin () if (LOCAL_LABELS_FB) fb_label_init (); } - - int indent_level; @@ -2361,7 +2330,7 @@ print_symbol_value (sym) static void print_binary (file, name, exp) FILE *file; - const char * name; + const char *name; expressionS *exp; { indent_level++; @@ -2506,5 +2475,3 @@ symbol_print_statistics (file) local_symbol_count, local_symbol_conversion_count); #endif } - -/* end of symbols.c */ |