Jose E. Marchesi writes: > Hi Cuper. > >> Hi everyone, >> >> This patch is in context of Nick Cliftons request in thread: >> https://sourceware.org/pipermail/binutils/2023-October/130194.html >> due to bug reported in: >> https://bugzilla.redhat.com/show_bug.cgi?id=2245296 >> >> For the time being the linker is not used in BPF infrastructure. >> Considering that and without a proper way to validate the code, the >> following patch is what I think is missing in order to add linker >> support for the particular relocation. >> >> Looking forward to your review. >> >> Best regards, >> Cupertino >> >> This patch adds linker support to patch R_BPF_64_NODYLD32 relocations. >> The implementation was based on comments and code in LLVM, as the GNU >> toolchain does not uses this relocation type. >> --- >> bfd/elf64-bpf.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/bfd/elf64-bpf.c b/bfd/elf64-bpf.c >> index aefad7da5ac..5820dd3d7d4 100644 >> --- a/bfd/elf64-bpf.c >> +++ b/bfd/elf64-bpf.c >> @@ -276,6 +276,7 @@ bpf_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, >> } >> case R_BPF_64_ABS64: >> case R_BPF_64_ABS32: >> + case R_BPF_64_NODYLD32: > > I would add here a comment explaining that R_BPF_64_NODYLD32 shall be > handled/resolved like R_BPF_64_ABS32 and that it differs from ABS32 only > in that the LLVM execution engine is not supposed to resolve it. > > Given that, the patch is OK. > Thanks! > >> { >> addend = bfd_get (howto->bitsize, input_bfd, where); >> relocation += addend;