39 lines
1.7 KiB
Diff
39 lines
1.7 KiB
Diff
|
diff -rup binutils.orig/bfd/bpf-reloc.def binutils-2.41/bfd/bpf-reloc.def
|
||
|
--- binutils.orig/bfd/bpf-reloc.def 2023-10-30 10:41:59.114273359 +0000
|
||
|
+++ binutils-2.41/bfd/bpf-reloc.def 2023-10-30 11:09:41.316109162 +0000
|
||
|
@@ -72,3 +72,20 @@
|
||
|
0xffffffff, /* src_mask */
|
||
|
0xffffffff, /* 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 -rup binutils.orig/include/elf/bpf.h binutils-2.41/include/elf/bpf.h
|
||
|
--- binutils.orig/include/elf/bpf.h 2023-10-30 10:41:59.332273599 +0000
|
||
|
+++ binutils-2.41/include/elf/bpf.h 2023-10-30 10:59:44.475368448 +0000
|
||
|
@@ -30,8 +30,8 @@ START_RELOC_NUMBERS (elf_bpf_reloc_type)
|
||
|
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)
|
||
|
END_RELOC_NUMBERS (R_BPF_max)
|