-
Notifications
You must be signed in to change notification settings - Fork 2.9k
CI: Use Fedora 43 for Linux jobs #11758
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
GCC 15 enforces stricter type checking for function pointers. When passing SPDM transport layer callbacks to libspdm_register_transport_layer_func, the function pointer types are incompatible due to differences in boolean parameter types. The EDK2 uses BOOLEAN (UINT8) while libspdm uses C99 bool (_Bool). Although these types have the same size and representation, GCC 15 treats them as incompatible. Add explicit casts to libspdm_transport_encode_message_func and libspdm_transport_decode_message_func at the call site to resolve the type mismatch. This is safe as the types have identical binary representation and the functions are only called through these pointers by libspdm. Signed-off-by: Oliver Steffen <[email protected]> (cherry picked from commit aca8f99)
GCC 15 enforces stricter type checking for function pointers. When passing EFI_PERIODIC_CALLBACK and EFI_EXCEPTION_CALLBACK to ManageIdtEntryTable, explicit casts to CALLBACK_FUNC are required to avoid incompatible pointer type errors. Add explicit casts at the call sites in RegisterPeriodicCallback and RegisterExceptionCallback functions. Signed-off-by: Oliver Steffen <[email protected]> (cherry picked from commit ff28da4)
bdf4533 to
55a0c40
Compare
The termio.h of glibc has been deprecated for decades and was finally removed in glibc 2.42. EmulatorPkg still pulls it in for no reason (the "new" termios.h is being included already). Remove the include of termio.h. Signed-off-by: Oliver Steffen <[email protected]>
55a0c40 to
b12ed47
Compare
os-d
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved for EmulatorPkg.
|
Can you please update the devcontainer file to use the Fedora 43 image? https://github.com/tianocore/edk2/blob/master/.devcontainer/devcontainer.json Also, is .github/workflows/BuildPlatform.yml intentionally being kept on the Fedora 40 image? |
The Fedora 41, which is currently in use for the azurepipelines CI, will be EOL soon. With the fixes for the C23 standard we can use GCC 15 and switch over to the latest Fedora image to run the Linux based CI jobs. Signed-off-by: Oliver Steffen <[email protected]>
Fedora 40, which is currently in use for the GitHub workflows, is EOL. With the fixes for the C23 standard we can use GCC 15 and switch over to the latest Fedora image. Signed-off-by: Oliver Steffen <[email protected]>
Fedora 40, which is currently in use as the devcontainer image, is EOL. With the fixes for the C23 standard we can use GCC 15 and switch over to the latest Fedora image. Signed-off-by: Oliver Steffen <[email protected]>
b12ed47 to
e2ba50f
Compare
|
Missed those. Switched them all to Fedora 43 now. |
Description
Use the new Fedora 43 image in the CI to run Linux based jobs.
This PR includes the fixes for C23/gcc 15 from #11720, which should be merged first.