aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog3
-rw-r--r--gas/config/obj-coff.c27
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;