diff options
author | obrien <obrien@FreeBSD.org> | 2001-06-26 16:57:43 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2001-06-26 16:57:43 +0000 |
commit | bc13a0c5958e501561da1e6b4a3ca1fadda52059 (patch) | |
tree | 8f1caef823fb6443d77eaf8250cbaa506e3bdf46 /contrib/binutils/gas/config/tc-ppc.c | |
parent | 328e45595b12375b6d16a846069507d25086abdb (diff) | |
download | FreeBSD-src-bc13a0c5958e501561da1e6b4a3ca1fadda52059.zip FreeBSD-src-bc13a0c5958e501561da1e6b4a3ca1fadda52059.tar.gz |
Import of GNU Binutils version 2.11.2.
Diffstat (limited to 'contrib/binutils/gas/config/tc-ppc.c')
-rw-r--r-- | contrib/binutils/gas/config/tc-ppc.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/contrib/binutils/gas/config/tc-ppc.c b/contrib/binutils/gas/config/tc-ppc.c index 2b826cb..a893209 100644 --- a/contrib/binutils/gas/config/tc-ppc.c +++ b/contrib/binutils/gas/config/tc-ppc.c @@ -1,5 +1,5 @@ /* tc-ppc.c -- Assemble for the PowerPC or POWER (RS/6000) - Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000 + Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support. @@ -2845,9 +2845,29 @@ ppc_stabx (ignore) symbol_get_tc (sym)->output = 1; - if (S_GET_STORAGE_CLASS (sym) == C_STSYM) + if (S_GET_STORAGE_CLASS (sym) == C_STSYM) { + symbol_get_tc (sym)->within = ppc_current_block; + /* In this case : + + .bs name + .stabx "z",arrays_,133,0 + .es + + .comm arrays_,13768,3 + + resolve_symbol_value will copy the exp's "within" into sym's when the + offset is 0. Since this seems to be corner case problem, + only do the correction for storage class C_STSYM. A better solution + would be to have the tc field updated in ppc_symbol_new_hook. */ + + if (exp.X_op == O_symbol) + { + symbol_get_tc (exp.X_add_symbol)->within = ppc_current_block; + } + } + if (exp.X_op != O_symbol || ! S_IS_EXTERNAL (exp.X_add_symbol) || S_GET_SEGMENT (exp.X_add_symbol) != bss_section) |