Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Unfortunately, there is no codegen path for this (for the moment).
This patch is related to the work I started in https://reviews.llvm.org/D139024, which forces the emission of CFI entries in the .eh_frame section for functions with the uwtable attribute.
The problem is that without this patch https://reviews.llvm.org/D139024 breaks the compilation of AMDGPU programs when the sanitizers are enabled (lld raises an error due to the problematic relocations).
With the work from https://reviews.llvm.org/D139024 , this case will be triggered for functions with the uwtable attribute.
llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp | ||
---|---|---|
73 | I'm not certain I understand why there are some fixup kinds which encode their PCRelative-ness (e.g. FK_PCRel_4) and some which don't (e.g. FK_Data_4), and yet there is also a separate channel where a fixup that is not intrinsically PCRelative can be tagged as FixupKindFlags::FKF_IsPCRel (here the value of IsPCRel). The representation seems to be decades old, so I will just take it on faith that it makes sense, and in light of it the change LGTM! |
I'm not certain I understand why there are some fixup kinds which encode their PCRelative-ness (e.g. FK_PCRel_4) and some which don't (e.g. FK_Data_4), and yet there is also a separate channel where a fixup that is not intrinsically PCRelative can be tagged as FixupKindFlags::FKF_IsPCRel (here the value of IsPCRel).
The representation seems to be decades old, so I will just take it on faith that it makes sense, and in light of it the change LGTM!