mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 03:47:02 -05:00
115 lines
2.9 KiB
Plaintext
115 lines
2.9 KiB
Plaintext
; Options for the eBPF compiler port.
|
|
|
|
; Copyright (C) 2019-2026 Free Software Foundation, Inc.
|
|
;
|
|
; This file is part of GCC.
|
|
;
|
|
; GCC is free software; you can redistribute it and/or modify it under
|
|
; the terms of the GNU General Public License as published by the Free
|
|
; Software Foundation; either version 3, or (at your option) any later
|
|
; version.
|
|
;
|
|
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
; for more details.
|
|
;
|
|
; You should have received a copy of the GNU General Public License
|
|
; along with GCC; see the file COPYING3. If not see
|
|
; <http://www.gnu.org/licenses/>.
|
|
|
|
HeaderInclude
|
|
config/bpf/bpf-opts.h
|
|
|
|
; Use xBPF extensions.
|
|
|
|
mxbpf
|
|
Target Mask(XBPF)
|
|
Generate xBPF.
|
|
|
|
; Selecting big endian or little endian targets.
|
|
|
|
mbig-endian
|
|
Target RejectNegative Mask(BIG_ENDIAN)
|
|
Generate big-endian eBPF.
|
|
|
|
mlittle-endian
|
|
Target RejectNegative InverseMask(BIG_ENDIAN)
|
|
Generate little-endian eBPF.
|
|
|
|
mframe-limit=
|
|
Target Joined RejectNegative UInteger IntegerRange(0, 32767) Var(bpf_frame_limit) Init(32767)
|
|
Set a hard limit for the size of each stack frame, in bytes.
|
|
|
|
mco-re
|
|
Target Mask(BPF_CORE)
|
|
Generate all necessary information for BPF Compile Once - Run Everywhere.
|
|
|
|
; Selecting BPF ISA features and versions
|
|
|
|
mjmpext
|
|
Target Var(bpf_has_jmpext) Init(-1)
|
|
Enable extra conditional-branch instructions j(s)lt and j(s)le.
|
|
|
|
malu32
|
|
Target Var(bpf_has_alu32) Init(-1)
|
|
Enable 32-bit ALU instructions.
|
|
|
|
mjmp32
|
|
Target Var(bpf_has_jmp32) Init(-1)
|
|
Enable 32-bit jump instructions.
|
|
|
|
mv3-atomics
|
|
Target Var(bpf_has_v3_atomics) Init(-1)
|
|
Enable general atomic operations introduced in v3 ISA.
|
|
|
|
mbswap
|
|
Target Var(bpf_has_bswap) Init(-1)
|
|
Enable byte swap instructions.
|
|
|
|
msdiv
|
|
Target Var(bpf_has_sdiv) Init(-1)
|
|
Enable signed division and modulus instructions.
|
|
|
|
msmov
|
|
Target Var(bpf_has_smov) Init(-1)
|
|
Enable signed move and memory load instructions.
|
|
|
|
mcpu=
|
|
Target RejectNegative Joined Var(bpf_isa) Enum(bpf_isa) Init(ISA_V4)
|
|
Select the eBPF ISA version to target in code generation.
|
|
|
|
Enum
|
|
Name(bpf_isa) Type(enum bpf_isa_version)
|
|
Valid ISA versions (for use with the -mcpu= option)
|
|
|
|
EnumValue
|
|
Enum(bpf_isa) String(v1) Value(ISA_V1)
|
|
|
|
EnumValue
|
|
Enum(bpf_isa) String(v2) Value(ISA_V2)
|
|
|
|
EnumValue
|
|
Enum(bpf_isa) String(v3) Value(ISA_V3)
|
|
|
|
EnumValue
|
|
Enum(bpf_isa) String(v4) Value(ISA_V4)
|
|
|
|
masm=
|
|
Target RejectNegative Joined Var(asm_dialect) Enum(asm_dialect) Init(ASM_PSEUDOC)
|
|
Use given assembler dialect.
|
|
|
|
Enum
|
|
Name(asm_dialect) Type(enum bpf_asm_dialect)
|
|
Known assembler dialects (for use with the -masm= option)
|
|
|
|
EnumValue
|
|
Enum(asm_dialect) String(normal) Value(ASM_NORMAL)
|
|
|
|
EnumValue
|
|
Enum(asm_dialect) String(pseudoc) Value(ASM_PSEUDOC)
|
|
|
|
minline-memops-threshold=
|
|
Target RejectNegative Joined UInteger Var(bpf_inline_memops_threshold) Init(1024)
|
|
-minline-memops-threshold=<number> Maximum size of memset/memmove/memcpy to inline, larger sizes will use a library call.
|