summaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorMichael Eager <eager@eagercon.com>2012-10-31 15:27:35 +0000
committerMichael Eager <eager@eagercon.com>2012-10-31 15:27:35 +0000
commit9f0cfcdd4c342cc2a97bb4591c5542507f073435 (patch)
treec843ce73b6227f4db319ed8f868e41d313a2829d /gas/config
parentc7d345740f2244e15e04030938b7e4f79e2902af (diff)
downloadbinutils-redhat-9f0cfcdd4c342cc2a97bb4591c5542507f073435.tar.gz
2012-10-31 David Holsgrove <david.holsgrove@xilinx.com>
* config/tc-microblaze.c: Check for weak symbols before emitting relocation. 2012-10-31 David Holsgrove <david.holsgrove@xilinx.com> * gas/microblaze: New. * gas/microblaze/reloc_sym.exp: Add test case. * gas/microblaze/reloc_strongsym.s: Likewise. * gas/microblaze/reloc_weaksym.s: Likewise. * gas/microblaze/reloc_sym.d: Likewise.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-microblaze.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
index 3ab854fef7..86ac90bc27 100644
--- a/gas/config/tc-microblaze.c
+++ b/gas/config/tc-microblaze.c
@@ -2065,7 +2065,8 @@ md_estimate_size_before_relax (fragS * fragP,
as_bad (_("Absolute PC-relative value in relaxation code. Assembler error....."));
abort ();
}
- else if ((S_GET_SEGMENT (fragP->fr_symbol) == segment_type))
+ else if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type &&
+ !S_IS_WEAK (fragP->fr_symbol))
{
fragP->fr_subtype = DEFINED_PC_OFFSET;
/* Don't know now whether we need an imm instruction. */