Accept and ignore the R_BPF_64_NODLYD32 relocation.
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 1b9d13a..2b12eb3 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+2023-10-30 Nick Clifton <nickc@redhat.com>
+
+ * bpf-reloc.def (R_BPF_64_NODLD32): Add entry.
+
2023-10-16 Nick Clifton <nickc@redhat.com>
PR 28910
diff --git a/bfd/bpf-reloc.def b/bfd/bpf-reloc.def
index 31f761d..7e74978 100644
--- a/bfd/bpf-reloc.def
+++ b/bfd/bpf-reloc.def
@@ -87,3 +87,20 @@
0xffff, /* src_mask */
0xffff, /* dst_mask */
true) /* pcrel_offset */
+
+ /* R_BPF_64_NODYLD32 is not used by GNU tools - but it is generated by LLVM.
+ We provide an entry here so that tools like strip can safely handle BPF
+ binaries generated by other tools. */
+ BPF_HOWTO (R_BPF_64_NODYLD32, /* type */
+ 0, /* rightshift */
+ 0, /* size */
+ 0, /* bitsize */
+ false, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bpf_elf_generic_reloc, /* special_function */
+ "R_BPF_64_NODYLD32", /* name */
+ false, /* partial_inplace */
+ 0, /* src_mask */
+ 0, /* dst_mask */
+ false) /* pcrel_offset */
diff --git a/include/ChangeLog b/include/ChangeLog
index 90ee736..e0f0cb3 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2023-10-30 Nick Clifton <nickc@redhat.com>
+
+ * elf/bpf.h (R_BPF_64_NODYLD32): Add a note that this reloc is
+ generated by other tools, eg LLVM.
+
2023-09-28 Frederic Cambus <fred@statdns.com>
* elf/common.h (PT_OPENBSD_NOBTCFI): Define.
diff --git a/include/elf/bpf.h b/include/elf/bpf.h
index e4d4162..1ad074f 100644
--- a/include/elf/bpf.h
+++ b/include/elf/bpf.h
@@ -30,8 +30,8 @@
RELOC_NUMBER (R_BPF_64_64, 1)
RELOC_NUMBER (R_BPF_64_ABS64, 2)
RELOC_NUMBER (R_BPF_64_ABS32, 3)
-/* R_BPF_64_NODYLD32 is not used by GNU tools.
- * It is kept in this file to remind that the value is already taken. */
+/* R_BPF_64_NODYLD32 is not used by GNU tools - but it is generated by LLVM.
+ It is kept in this file to remind that the value is already taken. */
RELOC_NUMBER (R_BPF_64_NODYLD32, 4)
RELOC_NUMBER (R_BPF_64_32, 10)
RELOC_NUMBER (R_BPF_GNU_64_16, 256)