From: "Toke Høiland-Jørgensen" <toke@redhat.com>
To: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
Yonghong Song <yhs@fb.com>,
John Fastabend <john.fastabend@gmail.com>,
KP Singh <kpsingh@kernel.org>,
Stanislav Fomichev <sdf@google.com>, bpf <bpf@vger.kernel.org>
Subject: Re: [PATCH bpf-next v2] libbpf: ignore .eh_frame sections when parsing elf files
Date: Tue, 31 Aug 2021 12:28:19 +0200 [thread overview]
Message-ID: <87lf4hvrgc.fsf@toke.dk> (raw)
In-Reply-To: <CAEf4BzZ7dcYrGRgOczk-mLC_VcRW3rucj3TRgkRqLgKXFHgtog@mail.gmail.com>
Andrii Nakryiko <andrii.nakryiko@gmail.com> writes:
> On Thu, Aug 26, 2021 at 5:10 AM Toke Høiland-Jørgensen <toke@redhat.com> wrote:
>>
>> When .eh_frame and .rel.eh_frame sections are present in BPF object files,
>> libbpf produces errors like this when loading the file:
>>
>> libbpf: elf: skipping unrecognized data section(32) .eh_frame
>> libbpf: elf: skipping relo section(33) .rel.eh_frame for section(32) .eh_frame
>>
>> It is possible to get rid of the .eh_frame section by adding
>> -fno-asynchronous-unwind-tables to the compilation, but we have seen
>> multiple examples of these sections appearing in BPF files in the wild,
>> most recently in samples/bpf, fixed by:
>> 5a0ae9872d5c ("bpf, samples: Add -fno-asynchronous-unwind-tables to BPF Clang invocation")
>>
>> While the errors are technically harmless, they look odd and confuse users.
>
> These warnings point out invalid set of compiler flags used for
> compiling BPF object files, though. Which is a good thing and should
> incentivize anyone getting those warnings to check and fix how they do
> BPF compilation. Those .eh_frame sections shouldn't be present in BPF
> object files at all, and that's what libbpf is trying to say.
Apart from triggering that warning, what effect does this have, though?
The programs seem to work just fine (as evidenced by the fact that
samples/bpf has been built this way for years, for instance)...
Also, how is a user supposed to go from that cryptic error message to
figuring out that it has something to do with compiler flags?
> I don't know exactly in which situations that .eh_frame section is
> added, but looking at our selftests (and now samples/bpf as well),
> where we use -target bpf, we don't need
> -fno-asynchronous-unwind-tables at all.
This seems to at least be compiler-dependent. We ran into this with
bpftool as well (for the internal BPF programs it loads whenever it
runs), which already had '-target bpf' in the Makefile. We're carrying
an internal RHEL patch adding -fno-asynchronous-unwind-tables to the
bpftool build to fix this...
> So instead of hiding the problem, let's use this as an opportunity to
> fix those user's compilation flags instead.
This really doesn't seem like something that's helping anyone, it's just
annoying and confusing users...
-Toke
next prev parent reply other threads:[~2021-08-31 10:28 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-26 12:09 [PATCH bpf-next v2] libbpf: ignore .eh_frame sections when parsing elf files Toke Høiland-Jørgensen
2021-08-30 21:49 ` Andrii Nakryiko
2021-08-31 10:28 ` Toke Høiland-Jørgensen [this message]
2021-08-31 23:11 ` Andrii Nakryiko
2021-09-02 2:48 ` Yonghong Song
2021-09-02 17:08 ` Toke Høiland-Jørgensen
2021-09-02 19:32 ` Alexei Starovoitov
2021-09-02 21:54 ` Yonghong Song
2021-09-02 22:08 ` Toke Høiland-Jørgensen
2021-09-07 19:15 ` Yonghong Song
2021-09-07 19:36 ` Toke Høiland-Jørgensen
2021-09-07 22:24 ` Yonghong Song
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87lf4hvrgc.fsf@toke.dk \
--to=toke@redhat.com \
--cc=andrii.nakryiko@gmail.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=john.fastabend@gmail.com \
--cc=kafai@fb.com \
--cc=kpsingh@kernel.org \
--cc=sdf@google.com \
--cc=songliubraving@fb.com \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox