diff options
author | Ian Lance Taylor <ian@airs.com> | 1999-07-14 14:02:33 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1999-07-14 14:02:33 +0000 |
commit | 14ad458a39b44fffd593ced9a6311e56e0326c5d (patch) | |
tree | 03ccd4fe8a31f2cf2d63e98aa362f95e0379db87 /gas/write.c | |
parent | 1e52e2ee34b91eba0f70d584fd37f10350fcea50 (diff) | |
download | gdb-14ad458a39b44fffd593ced9a6311e56e0326c5d.zip gdb-14ad458a39b44fffd593ced9a6311e56e0326c5d.tar.gz gdb-14ad458a39b44fffd593ced9a6311e56e0326c5d.tar.bz2 |
* write.c (cvt_frag_to_fill): Use frag file and line in rs_org
error message.
(relax_segment): Likewise. After giving a rs_org error, convert
the frag to rs_align to avoid cascading errors.
Diffstat (limited to 'gas/write.c')
-rw-r--r-- | gas/write.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/gas/write.c b/gas/write.c index ed74709..0c28ac7 100644 --- a/gas/write.c +++ b/gas/write.c @@ -498,8 +498,9 @@ cvt_frag_to_fill (headersP, sec, fragP) - fragP->fr_fix) / fragP->fr_var; if (fragP->fr_offset < 0) { - as_bad (_("attempt to .org/.space backwards? (%ld)"), - (long) fragP->fr_offset); + as_bad_where (fragP->fr_file, fragP->fr_line, + _("attempt to .org/.space backwards? (%ld)"), + (long) fragP->fr_offset); } fragP->fr_type = rs_fill; break; @@ -2302,8 +2303,16 @@ relax_segment (segment_frag_root, segment) /* Growth may be negative, but variable part of frag cannot have fewer than 0 chars. That is, we can't .org backwards. */ - as_bad (_("attempt to .org backwards ignored")); - growth = 0; + as_bad_where (fragP->fr_file, fragP->fr_line, + _("attempt to .org backwards ignored")); + + /* We've issued an error message. Change the + frag to avoid cascading errors. */ + fragP->fr_type = rs_align; + fragP->fr_subtype = 0; + fragP->fr_offset = 0; + fragP->fr_fix = after - address; + growth = stretch; } growth -= stretch; /* This is an absolute growth factor */ |