diff options
-rw-r--r-- | gas/ChangeLog | 3 | ||||
-rw-r--r-- | gas/config/obj-coff.c | 27 |
2 files changed, 30 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 1c2f3c0..e29fd1f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,8 @@ Thu Feb 20 13:56:00 1997 Ian Lance Taylor <ian@cygnus.com> + * config/obj-coff.c (obj_coff_ln [both versions]): Call + new_logical_line. + * config/tc-arm.c (fix_new_arm): Use make_expr_symbol to handle a complex expression. diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index 7a2b6de..93ac0ad 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -410,6 +410,9 @@ obj_coff_ln (appline) add_lineno (frag_now, frag_now_fix (), l); } + if (appline) + new_logical_line ((char *) NULL, l - 1); + #ifndef NO_LISTING { extern int listing; @@ -473,6 +476,9 @@ obj_coff_def (what) symbol_name_length = strlen (symbol_name); symbol_name_copy = xmalloc (symbol_name_length + 1); strcpy (symbol_name_copy, symbol_name); +#ifdef tc_canonicalize_symbol_name + symbol_name_copy = tc_canonicalize_symbol_name (symbol_name_copy); +#endif /* Initialize the new symbol */ def_symbol_in_progress = symbol_make (symbol_name_copy); @@ -785,6 +791,10 @@ obj_coff_tag (ignore) symbol_name = input_line_pointer; name_end = get_symbol_end (); +#ifdef tc_canonicalize_symbol_name + symbol_name = tc_canonicalize_symbol_name (symbol_name); +#endif + /* Assume that the symbol referred to by .tag is always defined. This was a bad assumption. I've added find_or_make. xoxorich. */ SA_SET_SYM_TAGNDX (def_symbol_in_progress, @@ -838,6 +848,9 @@ obj_coff_val (ignore) char *symbol_name = input_line_pointer; char name_end = get_symbol_end (); +#ifdef tc_canonicalize_symbol_name + symbol_name = tc_canonicalize_symbol_name (symbol_name); +#endif if (!strcmp (symbol_name, ".")) { def_symbol_in_progress->sy_frag = frag_now; @@ -2028,6 +2041,10 @@ obj_coff_ln (appline) l = get_absolute_expression (); c_line_new (0, frag_now_fix (), l, frag_now); + + if (appline) + new_logical_line ((char *) NULL, l - 1); + #ifndef NO_LISTING { extern int listing; @@ -2089,6 +2106,9 @@ obj_coff_def (what) symbol_name_length = strlen (symbol_name); symbol_name_copy = xmalloc (symbol_name_length + 1); strcpy (symbol_name_copy, symbol_name); +#ifdef tc_canonicalize_symbol_name + symbol_name_copy = tc_canonicalize_symbol_name (symbol_name_copy); +#endif /* Initialize the new symbol */ #ifdef STRIP_UNDERSCORE @@ -2427,6 +2447,9 @@ obj_coff_tag (ignore) S_SET_NUMBER_AUXILIARY (def_symbol_in_progress, 1); symbol_name = input_line_pointer; name_end = get_symbol_end (); +#ifdef tc_canonicalize_symbol_name + symbol_name = tc_canonicalize_symbol_name (symbol_name); +#endif /* Assume that the symbol referred to by .tag is always defined. This was a bad assumption. I've added find_or_make. xoxorich. */ @@ -2481,6 +2504,10 @@ obj_coff_val (ignore) char *symbol_name = input_line_pointer; char name_end = get_symbol_end (); +#ifdef tc_canonicalize_symbol_name + symbol_name = tc_canonicalize_symbol_name (symbol_name); +#endif + if (!strcmp (symbol_name, ".")) { def_symbol_in_progress->sy_frag = frag_now; |