public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [COMMITTED] bpf: remove -mkernel option and BPF_KERNEL_VERSION_CODE
@ 2023-07-24  9:57 Jose E. Marchesi
  0 siblings, 0 replies; only message in thread
From: Jose E. Marchesi @ 2023-07-24  9:57 UTC (permalink / raw)
  To: gcc-patches

Having the ability of specifying a target kernel version when building
a BPF program is one of these things that sound pretty good in theory,
but simply don't work in practice: kernels in practice contain
backports, etc.  Also, the addition of CO-RE to BPF has made this
uneccessary.

This patch removes the -mkernel command line option and also the
associated BPF_KERNEL_VERSION_CODE pre-processor constant.

Tested in bpf-unknown-none.

gcc/ChangeLog

	* config/bpf/bpf-opts.h (enum bpf_kernel_version): Remove enum.
	* config/bpf/bpf.opt (mkernel): Remove option.
	* config/bpf/bpf.cc (bpf_target_macros): Do not define
	BPF_KERNEL_VERSION_CODE.
---
 gcc/config/bpf/bpf-opts.h | 33 ---------------
 gcc/config/bpf/bpf.cc     | 40 ------------------
 gcc/config/bpf/bpf.opt    | 87 ---------------------------------------
 3 files changed, 160 deletions(-)

diff --git a/gcc/config/bpf/bpf-opts.h b/gcc/config/bpf/bpf-opts.h
index e0be591b479..5c9441ccb28 100644
--- a/gcc/config/bpf/bpf-opts.h
+++ b/gcc/config/bpf/bpf-opts.h
@@ -20,39 +20,6 @@
 #ifndef BPF_OPTS_H
 #define BPF_OPTS_H
 
-/* Supported versions of the Linux kernel.  */
-enum bpf_kernel_version
-{
-  /* Linux 4.x */
-  LINUX_V4_0,
-  LINUX_V4_1,
-  LINUX_V4_2,
-  LINUX_V4_3,
-  LINUX_V4_4,
-  LINUX_V4_5,
-  LINUX_V4_6,
-  LINUX_V4_7,
-  LINUX_V4_8,
-  LINUX_V4_9,
-  LINUX_V4_10,
-  LINUX_V4_11,
-  LINUX_V4_12,
-  LINUX_V4_13,
-  LINUX_V4_14,
-  LINUX_V4_15,
-  LINUX_V4_16,
-  LINUX_V4_17,
-  LINUX_V4_18,
-  LINUX_V4_19,
-  LINUX_V4_20,
-  /* Linux 5.x  */
-  LINUX_V5_0,
-  LINUX_V5_1,
-  LINUX_V5_2,
-  LINUX_LATEST = LINUX_V5_2,
-  LINUX_NATIVE,
-};
-
 enum bpf_isa_version
 {
   ISA_V1,
diff --git a/gcc/config/bpf/bpf.cc b/gcc/config/bpf/bpf.cc
index 6bc715429dc..18d3b5f14d6 100644
--- a/gcc/config/bpf/bpf.cc
+++ b/gcc/config/bpf/bpf.cc
@@ -308,46 +308,6 @@ bpf_target_macros (cpp_reader *pfile)
     builtin_define ("__BPF_BIG_ENDIAN__");
   else
     builtin_define ("__BPF_LITTLE_ENDIAN__");
-
-  /* Define BPF_KERNEL_VERSION_CODE */
-  {
-    const char *version_code;
-    char *kernel_version_code;
-
-    switch (bpf_kernel)
-      {
-      case LINUX_V4_0: version_code = "0x40000"; break;
-      case LINUX_V4_1: version_code = "0x40100"; break;
-      case LINUX_V4_2: version_code = "0x40200"; break;
-      case LINUX_V4_3: version_code = "0x40300"; break;
-      case LINUX_V4_4: version_code = "0x40400"; break;
-      case LINUX_V4_5: version_code = "0x40500"; break;
-      case LINUX_V4_6: version_code = "0x40600"; break;
-      case LINUX_V4_7: version_code = "0x40700"; break;
-      case LINUX_V4_8: version_code = "0x40800"; break;
-      case LINUX_V4_9: version_code = "0x40900"; break;
-      case LINUX_V4_10: version_code = "0x40a00"; break;
-      case LINUX_V4_11: version_code = "0x40b00"; break;
-      case LINUX_V4_12: version_code = "0x40c00"; break;
-      case LINUX_V4_13: version_code = "0x40d00"; break;
-      case LINUX_V4_14: version_code = "0x40e00"; break;
-      case LINUX_V4_15: version_code = "0x40f00"; break;
-      case LINUX_V4_16: version_code = "0x41000"; break;
-      case LINUX_V4_17: version_code = "0x42000"; break;
-      case LINUX_V4_18: version_code = "0x43000"; break;
-      case LINUX_V4_19: version_code = "0x44000"; break;
-      case LINUX_V4_20: version_code = "0x45000"; break;
-      case LINUX_V5_0: version_code = "0x50000"; break;
-      case LINUX_V5_1: version_code = "0x50100"; break;
-      case LINUX_V5_2: version_code = "0x50200"; break;
-      default:
-	gcc_unreachable ();
-      }
-
-    kernel_version_code = ACONCAT (("__BPF_KERNEL_VERSION_CODE__=",
-				    version_code, NULL));
-    builtin_define (kernel_version_code);
-  }
 }
 
 /* Return an RTX representing the place where a function returns or
diff --git a/gcc/config/bpf/bpf.opt b/gcc/config/bpf/bpf.opt
index 1e4dcc871d7..3bf9033279b 100644
--- a/gcc/config/bpf/bpf.opt
+++ b/gcc/config/bpf/bpf.opt
@@ -21,93 +21,6 @@
 HeaderInclude
 config/bpf/bpf-opts.h
 
-; Selecting the kind of kernel the eBPF will be running on.
-
-mkernel=
-Target RejectNegative Joined Var(bpf_kernel) Enum(bpf_kernel) Init(LINUX_LATEST)
-Generate eBPF for the given Linux kernel version.
-
-Enum
-Name(bpf_kernel) Type(enum bpf_kernel_version)
-
-EnumValue
-Enum(bpf_kernel) String(native) Value(LINUX_NATIVE) DriverOnly
-
-EnumValue
-Enum(bpf_kernel) String(latest) Value(LINUX_LATEST) DriverOnly
-
-EnumValue
-Enum(bpf_kernel) String(4.0) Value(LINUX_V4_0)
-
-EnumValue
-Enum(bpf_kernel) String(4.1) Value(LINUX_V4_1)
-
-EnumValue
-Enum(bpf_kernel) String(4.2) Value(LINUX_V4_2)
-
-EnumValue
-Enum(bpf_kernel) String(4.3) Value(LINUX_V4_3)
-
-EnumValue
-Enum(bpf_kernel) String(4.4) Value(LINUX_V4_4)
-
-EnumValue
-Enum(bpf_kernel) String(4.5) Value(LINUX_V4_5)
-
-EnumValue
-Enum(bpf_kernel) String(4.6) Value(LINUX_V4_6)
-
-EnumValue
-Enum(bpf_kernel) String(4.7) Value(LINUX_V4_7)
-
-EnumValue
-Enum(bpf_kernel) String(4.8) Value(LINUX_V4_8)
-
-EnumValue
-Enum(bpf_kernel) String(4.9) Value(LINUX_V4_9)
-
-EnumValue
-Enum(bpf_kernel) String(4.10) Value(LINUX_V4_10)
-
-EnumValue
-Enum(bpf_kernel) String(4.11) Value(LINUX_V4_11)
-
-EnumValue
-Enum(bpf_kernel) String(4.12) Value(LINUX_V4_12)
-
-EnumValue
-Enum(bpf_kernel) String(4.13) Value(LINUX_V4_13)
-
-EnumValue
-Enum(bpf_kernel) String(4.14) Value(LINUX_V4_14)
-
-EnumValue
-Enum(bpf_kernel) String(4.15) Value(LINUX_V4_15)
-
-EnumValue
-Enum(bpf_kernel) String(4.16) Value(LINUX_V4_16)
-
-EnumValue
-Enum(bpf_kernel) String(4.17) Value(LINUX_V4_17)
-
-EnumValue
-Enum(bpf_kernel) String(4.18) Value(LINUX_V4_18)
-
-EnumValue
-Enum(bpf_kernel) String(4.19) Value(LINUX_V4_19)
-
-EnumValue
-Enum(bpf_kernel) String(4.20) Value(LINUX_V4_20)
-
-EnumValue
-Enum(bpf_kernel) String(5.0) Value(LINUX_V5_0)
-
-EnumValue
-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
-- 
2.30.2


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-07-24  9:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-24  9:57 [COMMITTED] bpf: remove -mkernel option and BPF_KERNEL_VERSION_CODE Jose E. Marchesi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).