From 51e10276d6792f67f1d88d90f299e7ac1b1f1f24 Mon Sep 17 00:00:00 2001 From: "Jose E. Marchesi" Date: Tue, 19 May 2020 11:46:06 +0200 Subject: [PATCH] bpf: add support for the -mxbpf option This patch adds support for a new option -mxbpf. This tells GCC to generate code for an expanded version of BPF that relaxes some of the restrictions imposed by BPF. 2020-05-19 Jose E. Marchesi gcc/ * config/bpf/bpf.opt (mxbpf): New option. * doc/invoke.texi (Option Summary): Add -mxbpf. (eBPF Options): Document -mxbbpf. --- gcc/ChangeLog | 6 ++++++ gcc/config/bpf/bpf.opt | 6 ++++++ gcc/doc/invoke.texi | 6 +++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 418fec484ae..ef3bcee3911 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2020-05-19 Jose E. Marchesi + + * config/bpf/bpf.opt (mxbpf): New option. + * doc/invoke.texi (Option Summary): Add -mxbpf. + (eBPF Options): Document -mxbbpf. + 2020-05-19 Uroš Bizjak PR target/92658 diff --git a/gcc/config/bpf/bpf.opt b/gcc/config/bpf/bpf.opt index 78b93c55575..6aa858408f1 100644 --- a/gcc/config/bpf/bpf.opt +++ b/gcc/config/bpf/bpf.opt @@ -108,6 +108,12 @@ Enum(bpf_kernel) String(5.1) Value(LINUX_V5_1) EnumValue Enum(bpf_kernel) String(5.2) Value(LINUX_V5_2) +; Use xBPF extensions. + +mxbpf +Target Report Mask(XBPF) +Generate xBPF. + ; Selecting big endian or little endian targets. mbig-endian diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 850aeac033d..0c33deb830b 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -862,7 +862,7 @@ Objective-C and Objective-C++ Dialects}. @emph{eBPF Options} @gccoptlist{-mbig-endian -mlittle-endian -mkernel=@var{version} --mframe-limit=@var{bytes}} +-mframe-limit=@var{bytes} -mxbpf} @emph{FR30 Options} @gccoptlist{-msmall-model -mno-lsim} @@ -21013,6 +21013,10 @@ Generate code for a big-endian target. @item -mlittle-endian @opindex mlittle-endian Generate code for a little-endian target. This is the default. + +@item -mxbpf +Generate code for an expanded version of BPF, which relaxes some of +the restrictions imposed by the BPF architecture. @end table @node FR30 Options -- 2.30.2