You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #1936 added support to the bpf2c code generator for atomic instructions.
The conformance test suite can run and pass for the atomic instructions, but .github/workflows/cicd.yml and .github/workflows/cicd-release-validation.yml
exclude the atomic tests via --exclude_regex lock*. That regex excludes anything with
"loc" followed by 0 or more 'k' characters. It thus skips all tests with lock in the filename (which is the atomic tests), but also call_local.data (which is not yet supported by bpf2c).
As a result, trying to run the atomic conformance tests in CI/CD currently results in
C:\Users\RUNNER~1\AppData\Local\Temp\4543451591205265025.cpp(36): error C3861: '_InterlockedExchangeAdd64': identifier not found
OS information
No response
Steps taken to reproduce bug
Created a PR that removes the exclusion of lock*
Expected behavior
CI/CD should run the atomic conformance tests and they should pass.
Actual outcome
Error
Additional details
The verifier doesn't yet support atomics, but vbpf/ebpf-verifier#558 is waiting to be merged and adds support. bpf2c.exe will then support atomics.
The conformance tests do not use bpf2c.exe or the verifier though.
The text was updated successfully, but these errors were encountered:
Describe the bug
PR #1936 added support to the bpf2c code generator for atomic instructions.
The conformance test suite can run and pass for the atomic instructions, but
.github/workflows/cicd.yml
and.github/workflows/cicd-release-validation.yml
exclude the atomic tests via
--exclude_regex lock*
. That regex excludes anything with"loc" followed by 0 or more 'k' characters. It thus skips all tests with lock in the filename (which is the atomic tests), but also call_local.data (which is not yet supported by bpf2c).
Apparently this is because CI/CD tests seem to run with
NO_CRT
(not sure how that gets defined)and https://github.com/microsoft/ebpf-for-windows/blob/main/include/bpf2c.h had
As a result, trying to run the atomic conformance tests in CI/CD currently results in
OS information
No response
Steps taken to reproduce bug
Created a PR that removes the exclusion of
lock*
Expected behavior
CI/CD should run the atomic conformance tests and they should pass.
Actual outcome
Error
Additional details
The verifier doesn't yet support atomics, but vbpf/ebpf-verifier#558 is waiting to be merged and adds support. bpf2c.exe will then support atomics.
The conformance tests do not use bpf2c.exe or the verifier though.
The text was updated successfully, but these errors were encountered: