Skip to content

Add experimental eBPF backend and runtime profiles - #23

Merged
kleeedolinux merged 1 commit into
poplanguage:masterfrom
OFC-KazzKyy:feat/experimental-ebpf-backend
Jul 14, 2026
Merged

Add experimental eBPF backend and runtime profiles#23
kleeedolinux merged 1 commit into
poplanguage:masterfrom
OFC-KazzKyy:feat/experimental-ebpf-backend

Conversation

@OFC-KazzKyy

@OFC-KazzKyy OFC-KazzKyy commented Jul 14, 2026

Copy link
Copy Markdown

Summary

This PR adds the first experimental Pop-to-eBPF path while keeping HIR/MIR backend-neutral and making runtime eligibility explicit.

  • Add bpfel-unknown-none / bpfeb-unknown-none targets and an LLVM BPF/XDP object-emission path.
  • Introduce explicit runtime profiles plus MIR-derived runtime-contract validation, so PLRI remains a contract layer rather than a mandatory runtime implementation.
  • Require --runtime-profile linux-ebpf for BPF builds and report missing runtime contracts separately from eBPF verifier/backend restrictions.
  • Update ADR 0070, backend architecture docs, diagnostics, CLI coverage, examples, and eBPF validation tests.
  • Rebase onto current upstream/master and resolve upstream architecture-contract collisions by renumbering the newly introduced native runtime ADRs to 0071/0072 and removing duplicate public catalog roots.
  • Add explicit Rust 1.96 clippy baselines/fixes for existing large compiler modules so the repository keeps a stable -D warnings gate.

Validation

  • cargo fmt --all -- --check
  • git diff --check upstream/master..HEAD
  • PATH=/usr/lib/llvm-22/bin:$PATH LLVM_SYS_221_PREFIX=/usr/lib/llvm-22 cargo check --workspace --all-targets
  • PATH=/usr/lib/llvm-22/bin:$PATH LLVM_SYS_221_PREFIX=/usr/lib/llvm-22 cargo clippy --workspace --all-targets -- -D warnings
  • PATH=/usr/lib/llvm-22/bin:$PATH LLVM_SYS_221_PREFIX=/usr/lib/llvm-22 cargo test -p pop-architecture-tests
  • PATH=/usr/lib/llvm-22/bin:$PATH LLVM_SYS_221_PREFIX=/usr/lib/llvm-22 cargo test --workspace --all-targets

Notes

The PR is intentionally kept as one commit: 59a2e49 Add experimental eBPF backend and runtime profiles.

@kleeedolinux
kleeedolinux self-requested a review July 14, 2026 10:13
@kleeedolinux

Copy link
Copy Markdown
Collaborator

profissionalismo gente

@kleeedolinux kleeedolinux added the enhancement New feature or request label Jul 14, 2026
@OFC-KazzKyy
OFC-KazzKyy force-pushed the feat/experimental-ebpf-backend branch from a841fd5 to bcf0435 Compare July 14, 2026 10:51
@OFC-KazzKyy
OFC-KazzKyy force-pushed the feat/experimental-ebpf-backend branch from bcf0435 to 59a2e49 Compare July 14, 2026 11:18
@OFC-KazzKyy OFC-KazzKyy changed the title bacon de frango Add experimental eBPF backend and runtime profiles Jul 14, 2026
@OFC-KazzKyy

Copy link
Copy Markdown
Author

Updated the PR to a single rebased commit with a professional title and description.

Changes in this revision:

  • rebased onto current upstream/master;
  • fixed the architecture-test blockers from duplicate ADR identities and duplicate public catalog roots;
  • kept the eBPF/runtime-profile work in one focused commit;
  • re-ran the local workflow-equivalent validation, including fmt, diff --check, check, clippy -D warnings, architecture tests, and full workspace tests.

The latest GitHub Actions run for commit 59a2e49 is waiting for maintainer approval before it can execute.

@kleeedolinux
kleeedolinux merged commit 8f9713e into poplanguage:master Jul 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants