diff options
| author | Petar Jovanovic <petar.jovanovic@mips.com> | 2019-02-07 22:57:33 +0000 |
|---|---|---|
| committer | Petar Jovanovic <petar.jovanovic@mips.com> | 2019-02-07 22:57:33 +0000 |
| commit | 3cfcd75453da6ddcd11ea74dc7a57efc4f1c6cc0 (patch) | |
| tree | 73e0329aca12b786a5f3bbff48d47e24f1b9c77b /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | 862e7405e84badb1c1a3529d8132892a34b1c291 (diff) | |
[mips][micromips] Fix how values in .gcc_except_table are calculated
When a landing pad is calculated in a program that is compiled for micromips
with -fPIC flag, it will point to an even address.
Such an error will cause a segmentation fault, as the instructions in
micromips are aligned on odd addresses. This patch sets the last bit of the
offset where a landing pad is, to 1, which will effectively be an odd
address and point to the instruction exactly.
r344591 fixed this issue for -static compilation.
Patch by Aleksandar Beserminji.
Differential Revision: https://reviews.llvm.org/D57677
llvm-svn: 353480
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
