aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-microblaze.c
diff options
context:
space:
mode:
authorMichael Eager <eager@eagercon.com>2012-10-31 15:27:37 +0000
committerMichael Eager <eager@eagercon.com>2012-10-31 15:27:37 +0000
commit28ad2e2dc94bf73896eda64f0084c1395219673a (patch)
tree86d30aa1d882b4fb9b2fd1310001344e7d91660f /gas/config/tc-microblaze.c
parentc66fb220b1717fae73f32362c71194e244bf71a7 (diff)
downloadgdb-28ad2e2dc94bf73896eda64f0084c1395219673a.zip
gdb-28ad2e2dc94bf73896eda64f0084c1395219673a.tar.gz
gdb-28ad2e2dc94bf73896eda64f0084c1395219673a.tar.bz2
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/tc-microblaze.c')
-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 3ab854f..86ac90b 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. */