summaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-01-15 22:53:58 +0000
committerNick Clifton <nickc@redhat.com>2001-01-15 22:53:58 +0000
commitd4887adcdb8be0554c721037266edc4ad3f982cf (patch)
treebeb4c306ac0647fcf409ba5b2c6a4e981fef13d8 /gas
parent0b8c7076b5eb5e6c88e9ea007bcaf5a2f24d8185 (diff)
downloadbinutils-gdb-d4887adcdb8be0554c721037266edc4ad3f982cf.tar.gz
Delete output file upon fatal errors.
Treat multiple defintions of the same symbol as ordinary errors, not fatal ones
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog9
-rw-r--r--gas/messages.c4
-rw-r--r--gas/symbols.c8
3 files changed, 17 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index bed841e14f7..1116016710b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,12 @@
+2001-01-15 Nick Clifton <nickc@redhat.com>
+
+ * symbols.c (colon): Change 'already defined symbol' from a
+ fatal error to an ordinary error. There is no reason why this
+ error should be fatal.
+
+ * message.c (as_fatal): Delete output file, if one has been
+ created.
+
2001-01-14 Alan Modra <alan@linuxcare.com.au>
* config/tc-hppa.h (TARGET_FORMAT): Add hppa-linux variants.
diff --git a/gas/messages.c b/gas/messages.c
index 7af8de69f56..1abfb3ac3b6 100644
--- a/gas/messages.c
+++ b/gas/messages.c
@@ -414,6 +414,10 @@ as_fatal (const char *format, ...)
vfprintf (stderr, format, args);
(void) putc ('\n', stderr);
va_end (args);
+ /* Delete the output file, if it exists. This will prevent make from
+ thinking that a file was created and hence does not need rebuilding. */
+ if (out_file_name != NULL)
+ unlink (out_file_name);
xexit (EXIT_FAILURE);
}
#else
diff --git a/gas/symbols.c b/gas/symbols.c
index a338df079a2..a9bd222ea41 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -439,7 +439,7 @@ colon (sym_name) /* Just seen "x:" - rattle symbols & frags. */
S_GET_OTHER (symbolP),
S_GET_DESC (symbolP));
#endif
- as_fatal (_("Symbol \"%s\" is already defined as \"%s\"/%s%ld."),
+ as_bad (_("Symbol \"%s\" is already defined as \"%s\"/%s%ld."),
sym_name,
segment_name (S_GET_SEGMENT (symbolP)),
od_buf,
@@ -453,8 +453,8 @@ colon (sym_name) /* Just seen "x:" - rattle symbols & frags. */
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 */
+ as_bad (_("Symbol %s already defined."), sym_name);
+ }
}
#ifdef BFD_ASSEMBLER
@@ -474,7 +474,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 (mri_common_symbol != NULL)
{