- /* This reloc does nothing. */
- HOWTO (R_BPF_NONE, /* type */
- 0, /* rightshift */
- 3, /* size (0 = byte, 1 = short, 2 = long) */
- 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. */
- HOWTO (R_BPF_INSN_64, /* type */
- 0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
- 64, /* bitsize */
- false, /* pc_relative */
- 32, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_INSN_64", /* name */
- true, /* partial_inplace */
- MINUS_ONE, /* src_mask */
- MINUS_ONE, /* dst_mask */
- true), /* pcrel_offset */
-
- /* 32-immediate in many instructions. */
- HOWTO (R_BPF_INSN_32, /* type */
- 0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
- false, /* pc_relative */
- 32, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_INSN_32", /* name */
- true, /* partial_inplace */
- 0xffffffff, /* src_mask */
- 0xffffffff, /* dst_mask */
- true), /* pcrel_offset */
-
- /* 16-bit offsets in instructions. */
- HOWTO (R_BPF_INSN_16, /* type */
- 0, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
- 16, /* bitsize */
- false, /* pc_relative */
- 16, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_INSN_16", /* name */
- true, /* partial_inplace */
- 0x0000ffff, /* src_mask */
- 0x0000ffff, /* dst_mask */
- true), /* pcrel_offset */
-
- /* 16-bit PC-relative address in jump instructions. */
- HOWTO (R_BPF_INSN_DISP16, /* type */
- 0, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
- 16, /* bitsize */
- true, /* pc_relative */
- 16, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_INSN_DISP16", /* name */
- true, /* partial_inplace */
- 0xffff, /* src_mask */
- 0xffff, /* dst_mask */
- true), /* pcrel_offset */
-
- HOWTO (R_BPF_DATA_8_PCREL,
- 0, /* rightshift */
- 0, /* size (0 = byte, 1 = short, 2 = long) */
- 8, /* bitsize */
- true, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_8_PCREL", /* name */
- true, /* partial_inplace */
- 0xff, /* src_mask */
- 0xff, /* dst_mask */
- true), /* pcrel_offset */
-
- HOWTO (R_BPF_DATA_16_PCREL,
- 0, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
- 16, /* bitsize */
- true, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_16_PCREL", /* name */
- false, /* partial_inplace */
- 0xffff, /* src_mask */
- 0xffff, /* dst_mask */
- true), /* pcrel_offset */
-
- HOWTO (R_BPF_DATA_32_PCREL,
- 0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
- true, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_32_PCREL", /* name */
- false, /* partial_inplace */
- 0xffffffff, /* src_mask */
- 0xffffffff, /* dst_mask */
- true), /* pcrel_offset */
-
- HOWTO (R_BPF_DATA_8,
- 0, /* rightshift */
- 0, /* size (0 = byte, 1 = short, 2 = long) */
- 8, /* bitsize */
- false, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_unsigned, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_DATA_8", /* name */
- true, /* partial_inplace */
- 0xff, /* src_mask */
- 0xff, /* dst_mask */
- false), /* pcrel_offset */
-
- HOWTO (R_BPF_DATA_16,
- 0, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
- 16, /* bitsize */
- false, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_unsigned, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_DATA_16", /* name */
- false, /* partial_inplace */
- 0xffff, /* src_mask */
- 0xffff, /* dst_mask */
- false), /* pcrel_offset */
-
- /* 32-bit PC-relative address in call instructions. */
- HOWTO (R_BPF_INSN_DISP32, /* type */
- 0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
- true, /* pc_relative */
- 32, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_INSN_DISP32", /* name */
- true, /* partial_inplace */
- 0xffffffff, /* src_mask */
- 0xffffffff, /* dst_mask */
- true), /* pcrel_offset */
-
- /* 32-bit data. */
- HOWTO (R_BPF_DATA_32, /* type */
- 0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
- false, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_DATA_32", /* name */
- false, /* partial_inplace */
- 0xffffffff, /* src_mask */
- 0xffffffff, /* dst_mask */
- true), /* pcrel_offset */
-
- /* 64-bit data. */
- HOWTO (R_BPF_DATA_64, /* type */
- 0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
- 64, /* bitsize */
- false, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_DATA_64", /* name */
- false, /* partial_inplace */
- 0, /* src_mask */
- MINUS_ONE, /* dst_mask */
- true), /* pcrel_offset */
-
- HOWTO (R_BPF_DATA_64_PCREL,
- 0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
- 64, /* bitsize */
- true, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- bpf_elf_generic_reloc, /* special_function */
- "R_BPF_64_PCREL", /* name */
- false, /* partial_inplace */
- MINUS_ONE, /* src_mask */
- MINUS_ONE, /* dst_mask */
- true), /* pcrel_offset */