aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gold/ChangeLog4
-rw-r--r--gold/mips.cc3
2 files changed, 7 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 6d315c5..cf8289b 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,9 @@
2016-06-20 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
+ * mips.cc (Mips_relocate_functions::relpc16): Add unaligned check.
+
+2016-06-20 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
+
* mips.cc (relocation_needs_la25_stub): Add support for relocs:
R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
(hi16_reloc): Add support for R_MIPS_PCHI16 relocation.
diff --git a/gold/mips.cc b/gold/mips.cc
index cea0a81..e2b7855 100644
--- a/gold/mips.cc
+++ b/gold/mips.cc
@@ -4690,6 +4690,9 @@ class Mips_relocate_functions : public Relocate_functions<size, big_endian>
else
elfcpp::Swap<32, big_endian>::writeval(wv, val);
+ if (psymval->value(object, addend) & 3)
+ return This::STATUS_PCREL_UNALIGNED;
+
return check_overflow<18>(x);
}