aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-05-24 23:52:22 +0000
committerAlan Modra <amodra@gmail.com>2001-05-24 23:52:22 +0000
commitb58c9faf2fef1746403a4e4734654dd8a57fad82 (patch)
tree2c32076027bd44c906cf18fe6f4cefc97d3495cd /gas
parentc89c853400145e6678373bff4a5a3340983415f5 (diff)
downloadgdb-b58c9faf2fef1746403a4e4734654dd8a57fad82.zip
gdb-b58c9faf2fef1746403a4e4734654dd8a57fad82.tar.gz
gdb-b58c9faf2fef1746403a4e4734654dd8a57fad82.tar.bz2
From 2.11 branch 2001-03-30 Richard Henderson <rth@redhat.com>
* config/tc-i386.c (md_convert_frag): Don't die on local symbols that have been finalized.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-i386.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f9a03e2..6f5b600 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,9 @@
2001-05-25 Alan Modra <amodra@one.net.au>
+ From 2.11 branch 2001-03-30 Richard Henderson <rth@redhat.com>
+ * config/tc-i386.c (md_convert_frag): Don't die on local symbols
+ that have been finalized.
+
* symbols.c (resolve_symbol_value): Clear sy_resolving before
taking exit_dont_set_value.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index a710532..2a13bd9 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -4049,7 +4049,12 @@ md_convert_frag (abfd, sec, fragP)
target_address = S_GET_VALUE (fragP->fr_symbol) + fragP->fr_offset;
#ifdef BFD_ASSEMBLER
/* Not needed otherwise? */
- target_address += symbol_get_frag (fragP->fr_symbol)->fr_address;
+ {
+ /* Local symbols which have already been resolved have a NULL frag. */
+ fragS *sym_frag = symbol_get_frag (fragP->fr_symbol);
+ if (sym_frag)
+ target_address += sym_frag->fr_address;
+ }
#endif
/* Address opcode resides at in file space. */