diff options
author | Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> | 2016-06-20 12:06:56 -0700 |
---|---|---|
committer | Cary Coutant <ccoutant@gmail.com> | 2016-06-20 12:06:56 -0700 |
commit | beceef50438ccf2917744147a4fdadcc84db7d78 (patch) | |
tree | 3707597d789595e79199ae16c07196fbc088faf2 /gold | |
parent | f5b117594fd27b73be9c1b4bb10e171883783450 (diff) | |
download | binutils-beceef50438ccf2917744147a4fdadcc84db7d78.zip binutils-beceef50438ccf2917744147a4fdadcc84db7d78.tar.gz binutils-beceef50438ccf2917744147a4fdadcc84db7d78.tar.bz2 |
Add unaligned check for R_MIPS_PC16.
gold/
* mips.cc (Mips_relocate_functions::relpc16): Add unaligned check.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 4 | ||||
-rw-r--r-- | gold/mips.cc | 3 |
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); } |