Re: [PATCH bpf-next 00/15] libbpf: remove deprecated APIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> writes:

> On Sat, Jun 4, 2022 at 3:01 AM Toke Høiland-Jørgensen <toke@xxxxxxxxxx> wrote:
>>
>> Andrii Nakryiko <andrii@xxxxxxxxxx> writes:
>>
>> > This patch set removes all the deprecated APIs in preparation for 1.0 release.
>> > It also makes libbpf_set_strict_mode() a no-op (but keeps it to let per-1.0
>> > applications buildable and dynamically linkable against libbpf 1.0 if they
>> > were already libbpf-1.0 ready) and starts enforcing all the
>> > behaviors that were previously opt-in through libbpf_set_strict_mode().
>> >
>> > xsk.{c,h} parts that are now properly provided by libxdp ([0]) are still used
>> > by xdpxceiver.c in selftest/bpf, so I've moved xsk.{c,h} with barely any
>> > changes to under selftests/bpf.
>> >
>> > Other than that, apart from removing all the LIBBPF_DEPRECATED-marked APIs,
>> > there is a bunch of internal clean ups allowed by that. I've also "restored"
>> > libbpf.map inheritance chain while removing all the deprecated APIs. I think
>> > that's the right way to do this, as applications using libbpf as shared
>> > library but not relying on any deprecated APIs (i.e., "good citizens" that
>> > prepared for libbpf 1.0 release ahead of time to minimize disruption) should
>> > be able to link both against 0.x and 1.x versions. Either way, it doesn't seem
>> > to break anything and preserve a history on when each "surviving" API was
>> > added.
>> >
>> > NOTE. This shouldn't be yet landed until Jiri's changes ([1]) removing last
>> > deprecated API usage in perf lands. But I thought to post it now to get the
>> > ball rolling.
>>
>> Any chance you could push this to a branch of github as well? Makes it
>> easier to test libxdp against it :)
>>
>
> Sure, pushed to
> https://github.com/libbpf/libbpf/tree/libbpf-remove-deprecated-apis

Hi Andrii

Took this for a test run, and besides having to fix up the Makefile in
the github repository a bit (diff below), nothing broke
catastrophically. So yay!

It did flush out a BPF object file we used for testing that still had
the old long-style section name, but libbpf does output a helpful error
message for that even if it can get lost in the noise. So I guess that's
as friendly as we can make it :)

-Toke


diff --git a/src/Makefile b/src/Makefile
index 40f4f98b5681..99766f4c418c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -8,8 +8,8 @@ else
        msg = @printf '  %-8s %s%s\n' "$(1)" "$(2)" "$(if $(3), $(3))";
 endif
 
-LIBBPF_MAJOR_VERSION := 0
-LIBBPF_MINOR_VERSION := 8
+LIBBPF_MAJOR_VERSION := 1
+LIBBPF_MINOR_VERSION := 0
 LIBBPF_PATCH_VERSION := 0
 LIBBPF_VERSION := $(LIBBPF_MAJOR_VERSION).$(LIBBPF_MINOR_VERSION).$(LIBBPF_PATCH_VERSION)
 LIBBPF_MAJMIN_VERSION := $(LIBBPF_MAJOR_VERSION).$(LIBBPF_MINOR_VERSION).0
@@ -50,7 +50,7 @@ OBJDIR ?= .
 SHARED_OBJDIR := $(OBJDIR)/sharedobjs
 STATIC_OBJDIR := $(OBJDIR)/staticobjs
 OBJS := bpf.o btf.o libbpf.o libbpf_errno.o netlink.o \
-       nlattr.o str_error.o libbpf_probes.o bpf_prog_linfo.o xsk.o \
+       nlattr.o str_error.o libbpf_probes.o bpf_prog_linfo.o  \
        btf_dump.o hashmap.o ringbuf.o strset.o linker.o gen_loader.o \
        relo_core.o usdt.o
 SHARED_OBJS := $(addprefix $(SHARED_OBJDIR)/,$(OBJS))
@@ -64,7 +64,7 @@ ifndef BUILD_STATIC_ONLY
        VERSION_SCRIPT := libbpf.map
 endif
 
-HEADERS := bpf.h libbpf.h btf.h libbpf_common.h libbpf_legacy.h xsk.h \
+HEADERS := bpf.h libbpf.h btf.h libbpf_common.h libbpf_legacy.h  \
           bpf_helpers.h bpf_helper_defs.h bpf_tracing.h \
           bpf_endian.h bpf_core_read.h skel_internal.h libbpf_version.h \
           usdt.bpf.h




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux