diff options
author | Nick Clifton <nickc@redhat.com> | 2023-10-30 12:17:53 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2023-10-30 12:18:45 +0000 |
commit | a4a51292bb5739e23dc1e16866139e00a2578c06 (patch) | |
tree | abe7121fda687a943dfe5b5e7392cac0e9de7adb | |
parent | c9b0a82151ffb2ca91d61a21161b6bf4fdbc5095 (diff) | |
download | fsf-binutils-gdb-a4a51292bb5739e23dc1e16866139e00a2578c06.zip fsf-binutils-gdb-a4a51292bb5739e23dc1e16866139e00a2578c06.tar.gz fsf-binutils-gdb-a4a51292bb5739e23dc1e16866139e00a2578c06.tar.bz2 |
Accept and ignore the R_BPF_64_NODLYD32 relocation.
-rw-r--r-- | bfd/ChangeLog | 4 | ||||
-rw-r--r-- | bfd/bpf-reloc.def | 17 | ||||
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/elf/bpf.h | 4 |
4 files changed, 28 insertions, 2 deletions
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 @@ 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) RELOC_NUMBER (R_BPF_GNU_64_16, 256) |