diff options
author | Ian Lance Taylor <ian@airs.com> | 1998-05-29 19:59:55 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1998-05-29 19:59:55 +0000 |
commit | 4ea49053248cb81c7ffc8c1a186f9d0121bcb6b5 (patch) | |
tree | 8fe8497cabb59e1289d2dce3b4057faa41f311a8 /gas/write.c | |
parent | 05a43d26fe330ec493ec304238c72c7c3c64ebb1 (diff) | |
download | gdb-4ea49053248cb81c7ffc8c1a186f9d0121bcb6b5.zip gdb-4ea49053248cb81c7ffc8c1a186f9d0121bcb6b5.tar.gz gdb-4ea49053248cb81c7ffc8c1a186f9d0121bcb6b5.tar.bz2 |
Based on patch from Klaus Kaempf <kkaempf@progis.de>:
* struc-symbol.h (struct broken_word): Add seg and subseg fields.
* read.c (emit_expr): Initialize seg and subseg fields of a new
broken word.
* write.c (write_object_file): Switch to the appropriate segment
and subsegment when processing a broken word.
Diffstat (limited to 'gas/write.c')
-rw-r--r-- | gas/write.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gas/write.c b/gas/write.c index 80616d6..4bd8078 100644 --- a/gas/write.c +++ b/gas/write.c @@ -1522,6 +1522,7 @@ write_object_file () { expressionS exp; + subseg_change (lie->seg, lie->subseg); exp.X_op = O_subtract; exp.X_add_symbol = lie->add; exp.X_op_symbol = lie->sub; @@ -1566,6 +1567,7 @@ write_object_file () addressT from_addr, to_addr; int n, m; + subseg_change (lie->seg, lie->subseg); fragP = lie->dispfrag; /* Find out how many broken_words go here. */ @@ -2550,7 +2552,7 @@ fixup_segment (fixP, this_segment_type) char buf[50]; sprint_value (buf, fragP->fr_address + where); as_bad_where (fixP->fx_file, fixP->fx_line, - _("Subtraction of two symbols in different segments \"%s\" {%s segment} - \"%s\" {%s segment} at file address %s."), + _("Subtraction of two symbols in different sections \"%s\" {%s section} - \"%s\" {%s section} at file address %s."), S_GET_NAME (add_symbolP), segment_name (S_GET_SEGMENT (add_symbolP)), S_GET_NAME (sub_symbolP), |