Fix seg-faults when fetching the frags of local symbols.

* config/tc-score7.c: (s7_b32_relax_to_b16): Use symbol_get_frag() to access a symbol's frag.
	* config/tc-score.c (s3_relax_branch_inst16): Likewise.
	(s3_relax_cmpbranch_inst32): Likewise.
This commit is contained in:
Chen Gang 2014-06-13 16:07:21 +01:00 committed by Nick Clifton
parent 2132b4072f
commit f26c187e29
3 changed files with 10 additions and 6 deletions

View File

@ -2,6 +2,10 @@
* config/tc-score7.c: Replace sprintf with strcpy where
appropriate.
(s7_b32_relax_to_b16): Use symbol_get_frag() to access a symbol's
frag.
* config/tc-score.c (s3_relax_branch_inst16): Likewise.
(s3_relax_cmpbranch_inst32): Likewise.
2014-06-07 Alan Modra <amodra@gmail.com>

View File

@ -6854,8 +6854,8 @@ s3_relax_branch_inst16 (fragS * fragp)
frag_addr = 0;
else
{
if (s->bsym != 0)
symbol_address = (addressT) s->sy_frag->fr_address;
if (s->bsym != NULL)
symbol_address = (addressT) symbol_get_frag (s)->fr_address;
}
inst_value = s3_md_chars_to_number (fragp->fr_literal, s3_INSN16_SIZE);
@ -6901,8 +6901,8 @@ s3_relax_cmpbranch_inst32 (fragS * fragp)
frag_addr = 0;
else
{
if (s->bsym != 0)
symbol_address = (addressT) s->sy_frag->fr_address;
if (s->bsym != NULL)
symbol_address = (addressT) symbol_get_frag (s)->fr_address;
}
inst_value = s3_md_chars_to_number (fragp->fr_literal, s3_INSN_SIZE);

View File

@ -5263,8 +5263,8 @@ s7_b32_relax_to_b16 (fragS * fragp)
frag_addr = 0;
else
{
if (s->bsym != 0)
symbol_address = (addressT) s->sy_frag->fr_address;
if (s->bsym != NULL)
symbol_address = (addressT) symbol_get_frag (s)->fr_address;
}
value = s7_md_chars_to_number (fragp->fr_literal, s7_INSN_SIZE);