aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/MCObjectFileInfo.cpp
diff options
context:
space:
mode:
authorYonghong Song <yhs@fb.com>2021-03-04 12:58:22 -0800
committerYonghong Song <yhs@fb.com>2021-03-04 16:27:23 -0800
commit9c0274cdeae904089806be6faee72b9126d2cf5b (patch)
tree2a8614608c0f1ddee33083fa74548cad767d9bc5 /llvm/lib/MC/MCObjectFileInfo.cpp
parentcedc53254a5d2e04e79cc0e7bf5a8c71fafa295e (diff)
downloadllvm-9c0274cdeae904089806be6faee72b9126d2cf5b.zip
llvm-9c0274cdeae904089806be6faee72b9126d2cf5b.tar.gz
llvm-9c0274cdeae904089806be6faee72b9126d2cf5b.tar.bz2
BPF: permit type modifiers for __builtin_btf_type_id() relocation
Lorenz Bauer from Cloudflare tried to use "const struct <name>" as the type for __builtin_btf_type_id(*(const struct <name>)0, 1) relocation and hit a llvm BPF fatal error. https://lore.kernel.org/bpf/a3782f71-3f6b-1e75-17a9-1827822c2030@fb.com/ ... fatal error: error in backend: Empty type name for BTF_TYPE_ID_REMOTE reloc Currently, we require the debuginfo type itself must have a name. In this case, the debuginfo type is "const" which points to "struct <name>". The "const" type does not have a name, hence the above fatal error will be triggered. Let us permit "const" and "volatile" type modifiers. We skip modifiers in some other cases as well like structure member type tracing. This can aviod the above fatal error. Differential Revision: https://reviews.llvm.org/D97986
Diffstat (limited to 'llvm/lib/MC/MCObjectFileInfo.cpp')
0 files changed, 0 insertions, 0 deletions