binutils-gdb/bfd/bpf-reloc.def
Cupertino Miranda 5e4c7a839d BPF relocations review / refactoring
- Removed not needed relocations.
- Renamed relocations to match llvm and linux kernel.

Relocation changes:
  R_BPF_INSN_64 	=> R_BPF_64_64
  R_BPF_INSN_DISP32 	=> R_BPF_64_32
  R_BPF_DATA_32 	=> R_BPF_64_ABS32
  R_BPF_DATA_64 	=> R_BPF_64_ABS64

ChangeLog:

  * bfd/bpf-reloc.def: Created file with BPF_HOWTO macro entries.
  * bfd/reloc.c: Removed non needed relocations.
  * bfd/bfd-in2.h: regenerated.
  * bfd/libbfd.h: regenerated.
  * bfd/elf64-bpf.c: Changed relocations.
  * include/elf/bpf.h: Adapted relocation values/names.
  * gas/config/tc-bpf.c: Changed relocation mapping.
2023-03-16 09:11:09 +00:00

75 lines
2.3 KiB
Modula-2

/* This reloc does nothing. */
BPF_HOWTO (R_BPF_NONE, /* 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_NONE", /* name */
false, /* partial_inplace */
0, /* src_mask */
0, /* dst_mask */
false) /* pcrel_offset */
/* 64-immediate in LDDW instruction. */
BPF_HOWTO (R_BPF_64_64, /* type */
0, /* rightshift */
8, /* size */
64, /* bitsize */
false, /* pc_relative */
32, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
bpf_elf_generic_reloc, /* special_function */
"R_BPF_64_64", /* name */
true, /* partial_inplace */
MINUS_ONE, /* src_mask */
MINUS_ONE, /* dst_mask */
true) /* pcrel_offset */
/* 32-bit data. */
BPF_HOWTO (R_BPF_64_ABS32, /* type */
0, /* rightshift */
4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
bpf_elf_generic_reloc, /* special_function */
"R_BPF_64_ABS32", /* name */
false, /* partial_inplace */
0xffffffff, /* src_mask */
0xffffffff, /* dst_mask */
true) /* pcrel_offset */
/* 64-bit data. */
BPF_HOWTO (R_BPF_64_ABS64, /* type */
0, /* rightshift */
8, /* size */
64, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
bpf_elf_generic_reloc, /* special_function */
"R_BPF_64_ABS64", /* name */
false, /* partial_inplace */
0, /* src_mask */
MINUS_ONE, /* dst_mask */
true) /* pcrel_offset */
/* 32-bit PC-relative address in call instructions. */
BPF_HOWTO (R_BPF_64_32, /* type */
0, /* rightshift */
4, /* size */
32, /* bitsize */
true, /* pc_relative */
32, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
bpf_elf_generic_reloc, /* special_function */
"R_BPF_64_32", /* name */
true, /* partial_inplace */
0xffffffff, /* src_mask */
0xffffffff, /* dst_mask */
true) /* pcrel_offset */