Fix segfault in relocate_erratum_stub on aarch64.
The fix for PR21868 (an internal error when --fix-cortex-a53-843419 is applied) has a small mistake in it. When the stub_owner section needs an erratum fix an incorrect address for the stubs for the section is given to relocate_erratum_stub. If we are lucky we will get a segfault; if we aren't, an incorrect patch or data corruption is possible. The error is visible in PR21868, but the side-effects aren't fatal. gold/ PR gold/22233 * aarch64.cc (AArch64_relobj::fix_errata_and_relocate_erratum_stubs): Fix calculation of stub address.
This commit is contained in:
parent
4a7e523498
commit
036aae7930
|
@ -1,3 +1,9 @@
|
|||
2017-11-30 Peter Smith <peter.smith@linaro.org>
|
||||
|
||||
PR gold/22233
|
||||
* aarch64.cc (AArch64_relobj::fix_errata_and_relocate_erratum_stubs):
|
||||
Fix calculation of stub address.
|
||||
|
||||
2017-11-29 Stefan Stroe <stroestefan@gmail.com>
|
||||
|
||||
* po/Make-in (datadir): Define as @datadir@.
|
||||
|
|
|
@ -2041,7 +2041,7 @@ AArch64_relobj<size, big_endian>::fix_errata_and_relocate_erratum_stubs(
|
|||
// executed.
|
||||
stub_table->relocate_erratum_stub(
|
||||
stub,
|
||||
pview.view + view_offset + (stub_table->address() - pview.address));
|
||||
pview.view + (stub_table->address() - pview.address));
|
||||
|
||||
// Next erratum stub.
|
||||
++p;
|
||||
|
|
Loading…
Reference in New Issue