diff options
author | James Clarke <jrtc27@jrtc27.com> | 2020-01-21 02:49:42 +0000 |
---|---|---|
committer | Hans Wennborg <hans@chromium.org> | 2020-01-24 19:10:45 +0100 |
commit | a3db4e05e36e836077e6e551feb6841c7e8023a0 (patch) | |
tree | a577aeb4ae84ecf682237e2baed906ea2244406c /llvm/lib/CodeGen/TargetPassConfig.cpp | |
parent | 425d15aeb13e2f60867654dd1abab515447a71ec (diff) | |
download | bcm5719-llvm-a3db4e05e36e836077e6e551feb6841c7e8023a0.tar.gz bcm5719-llvm-a3db4e05e36e836077e6e551feb6841c7e8023a0.zip |
[lld][RISCV] Print error when encountering R_RISCV_ALIGN
Summary:
Unlike R_RISCV_RELAX, which is a linker hint, R_RISCV_ALIGN requires the
support of the linker even when ignoring all R_RISCV_RELAX relocations.
This is because the compiler emits as many NOPs as may be required for
the requested alignment, more than may be required pre-relaxation, to
allow for the target becoming more unaligned after relaxing earlier
sequences. This means that the target is often not initially aligned in
the object files, and so the R_RISCV_ALIGN relocations cannot just be
ignored. Since we do not support linker relaxation, we must turn these
into errors.
Reviewers: ruiu, MaskRay, espindola
Reviewed By: MaskRay
Subscribers: grimar, Jim, emaste, arichardson, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71820
(cherry picked from commit d1da63664f4e42191daf2e6a9fa682ca9f75ef5e)
Diffstat (limited to 'llvm/lib/CodeGen/TargetPassConfig.cpp')
0 files changed, 0 insertions, 0 deletions