From 8ec6253e764d01a09b2290314de0f5285109f920 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 25 Jan 2001 20:26:17 +0000 Subject: [PATCH] Do not abort if tcbit is still set. Issue an error message instead. Fix compile time warnings --- gas/ChangeLog | 7 +++++++ gas/config/tc-m68k.c | 17 +++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 9cd3ed0..c3a423d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2001-01-25 Nick Clifton + + * config/tc-m68k.c (tc_gen_reloc): Do not abort if tcbit is + still set. Issue an error message instead. + (md_estimate_size_before_relax): Delete unused variable + 'buffer_address'. Fixup parentheses around if statement. + 2001-01-23 Kazu Hirata * as.c: Fix formatting. diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c index efd015f..7b1926c 100644 --- a/gas/config/tc-m68k.c +++ b/gas/config/tc-m68k.c @@ -874,8 +874,18 @@ tc_gen_reloc (section, fixp) arelent *reloc; bfd_reloc_code_real_type code; + /* If the tcbit is set, then this was a fixup of a negative value + that was never resolved. We do not have a reloc to handle this, + so just return. We assume that other code will have detected this + situation and produced a helpful error message, so we just tell the + user that the reloc cannot be produced. */ if (fixp->fx_tcbit) - abort (); + { + if (fixp->fx_addsy) + as_bad (_("Unable to produce reloc against symbol '%s'"), + S_GET_NAME (fixp->fx_addsy)); + return NULL; + } if (fixp->fx_r_type != BFD_RELOC_NONE) { @@ -4564,7 +4574,6 @@ md_estimate_size_before_relax (fragP, segment) segT segment; { int old_fix; - register char *buffer_address = fragP->fr_fix + fragP->fr_literal; old_fix = fragP->fr_fix; @@ -4652,8 +4661,8 @@ md_estimate_size_before_relax (fragP, segment) case TAB (DBCCLBR, SZ_UNDEF): case TAB (DBCCABSJ, SZ_UNDEF): { - if (S_GET_SEGMENT (fragP->fr_symbol) == segment - && relaxable_symbol (fragP->fr_symbol) + if ((S_GET_SEGMENT (fragP->fr_symbol) == segment + && relaxable_symbol (fragP->fr_symbol)) || flag_short_refs) { fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), SHORT); -- 2.7.4