Skip to content

Ensure the ELF reader works for objects built without BTF #1810

Open
@ti-mo

Description

@ti-mo

Follow-up to #1807.

Loading BPF objects without BTF info has always been supported, and although there's little reason to disable compiling with BTF nowadays, we should have at least some tests that somewhat verify this doesn't regress. Some users may not need BTF or don't want their users to be able to inspect it. Either we decide to always require BTF (feels heavy-handed and unnecessary), or we ensure it keeps working.

Some suggestions:

  • Build loader.c without BTF on the latest toolchain. Most map defs are BTF, but there are still some legacy ones. Add a test that loads it and compares the CollectionSpec to a well-known definition like TestLoadCollectionSpec.
  • Separate .c file with a subset of loader.c to lower the footprint of the test.
  • Run some discovery in the code base to find code paths that require BTF and make sure proper errors are returned and there are no panics.

Metadata

Metadata

Labels

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions