Commit 6bebc06d authored by Ian Rogers's avatar Ian Rogers Committed by Arnaldo Carvalho de Melo
Browse files

perf bpf: Remove pre libbpf 1.0 conditional logic



Tests are no longer applicable as libbpf 1.0 can be assumed.

Signed-off-by: default avatarIan Rogers <irogers@google.com>
Acked/Tested-by: default avatarJiri Olsa <jolsa@kernel.org>
Acked/Tested-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andres Freund <andres@anarazel.de>
Cc: Andrii Nakryiko <andrii@kernel.org>
Cc: Christy Lee <christylee@fb.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Quentin Monnet <quentin@isovalent.com>
Cc: Roberto Sassu <roberto.sassu@huawei.com>
Cc: bpf@vger.kernel.org
Link: https://lore.kernel.org/r/20230116010115.490713-2-irogers@google.com


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 76a97cf2
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -566,15 +566,6 @@ ifndef NO_LIBELF
      # detecting libbpf without LIBBPF_DYNAMIC, so make VF=1 shows libbpf detection status
      $(call feature_check,libbpf)

      # Feature test requires libbpf 1.0 so we can assume the following:
      CFLAGS += -DHAVE_LIBBPF_BTF__LOAD_FROM_KERNEL_BY_ID
      CFLAGS += -DHAVE_LIBBPF_BPF_PROG_LOAD
      CFLAGS += -DHAVE_LIBBPF_BPF_OBJECT__NEXT_PROGRAM
      CFLAGS += -DHAVE_LIBBPF_BPF_OBJECT__NEXT_MAP
      CFLAGS += -DHAVE_LIBBPF_BPF_PROGRAM__SET_INSNS
      CFLAGS += -DHAVE_LIBBPF_BTF__RAW_DATA
      CFLAGS += -DHAVE_LIBBPF_BPF_MAP_CREATE

      ifdef LIBBPF_DYNAMIC
        ifeq ($(feature-libbpf), 1)
          EXTLIBS += -lbpf
+0 −66
Original line number Diff line number Diff line
@@ -22,72 +22,6 @@
#include "record.h"
#include "util/synthetic-events.h"

#ifndef HAVE_LIBBPF_BTF__LOAD_FROM_KERNEL_BY_ID
struct btf *btf__load_from_kernel_by_id(__u32 id)
{
       struct btf *btf;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
       int err = btf__get_from_id(id, &btf);
#pragma GCC diagnostic pop

       return err ? ERR_PTR(err) : btf;
}
#endif

#ifndef HAVE_LIBBPF_BPF_PROG_LOAD
LIBBPF_API int bpf_load_program(enum bpf_prog_type type,
				const struct bpf_insn *insns, size_t insns_cnt,
				const char *license, __u32 kern_version,
				char *log_buf, size_t log_buf_sz);

int bpf_prog_load(enum bpf_prog_type prog_type,
		  const char *prog_name __maybe_unused,
		  const char *license,
		  const struct bpf_insn *insns, size_t insn_cnt,
		  const struct bpf_prog_load_opts *opts)
{
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
	return bpf_load_program(prog_type, insns, insn_cnt, license,
				opts->kern_version, opts->log_buf, opts->log_size);
#pragma GCC diagnostic pop
}
#endif

#ifndef HAVE_LIBBPF_BPF_OBJECT__NEXT_PROGRAM
struct bpf_program *
bpf_object__next_program(const struct bpf_object *obj, struct bpf_program *prev)
{
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
	return bpf_program__next(prev, obj);
#pragma GCC diagnostic pop
}
#endif

#ifndef HAVE_LIBBPF_BPF_OBJECT__NEXT_MAP
struct bpf_map *
bpf_object__next_map(const struct bpf_object *obj, const struct bpf_map *prev)
{
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
	return bpf_map__next(prev, obj);
#pragma GCC diagnostic pop
}
#endif

#ifndef HAVE_LIBBPF_BTF__RAW_DATA
const void *
btf__raw_data(const struct btf *btf_ro, __u32 *size)
{
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
	return btf__get_raw_data(btf_ro, size);
#pragma GCC diagnostic pop
}
#endif

static int snprintf_hex(char *buf, size_t size, unsigned char *data, size_t len)
{
	int ret = 0;
+0 −18
Original line number Diff line number Diff line
@@ -32,24 +32,6 @@

#include <internal/xyarray.h>

#ifndef HAVE_LIBBPF_BPF_PROGRAM__SET_INSNS
int bpf_program__set_insns(struct bpf_program *prog __maybe_unused,
			   struct bpf_insn *new_insns __maybe_unused, size_t new_insn_cnt __maybe_unused)
{
	pr_err("%s: not support, update libbpf\n", __func__);
	return -ENOTSUP;
}

int libbpf_register_prog_handler(const char *sec __maybe_unused,
                                 enum bpf_prog_type prog_type __maybe_unused,
                                 enum bpf_attach_type exp_attach_type __maybe_unused,
                                 const struct libbpf_prog_handler_opts *opts __maybe_unused)
{
	pr_err("%s: not support, update libbpf\n", __func__);
	return -ENOTSUP;
}
#endif

/* temporarily disable libbpf deprecation warnings */
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"

+0 −18
Original line number Diff line number Diff line
@@ -312,24 +312,6 @@ static bool bperf_attr_map_compatible(int attr_map_fd)
		(map_info.value_size == sizeof(struct perf_event_attr_map_entry));
}

#ifndef HAVE_LIBBPF_BPF_MAP_CREATE
LIBBPF_API int bpf_create_map(enum bpf_map_type map_type, int key_size,
                              int value_size, int max_entries, __u32 map_flags);
int
bpf_map_create(enum bpf_map_type map_type,
	       const char *map_name __maybe_unused,
	       __u32 key_size,
	       __u32 value_size,
	       __u32 max_entries,
	       const struct bpf_map_create_opts *opts __maybe_unused)
{
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
	return bpf_create_map(map_type, key_size, value_size, max_entries, 0);
#pragma GCC diagnostic pop
}
#endif

static int bperf_lock_attr_map(struct target *target)
{
	char path[PATH_MAX];