-
Notifications
You must be signed in to change notification settings - Fork 950
Bump GitHub Actions runners to Ubuntu 22.04 #1619
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
Conversation
d66b75c
to
c0f71cb
Compare
Use -iquote instead. This prevents our include paths from messing up the system headers depended upon by libstdc++. (The specific problem was syscall.h in fesvr/, which was interfering with libstdc++'s dependence on the system's syscall.h for SYS_futex.) Subproject headers can now be included in the following ways: #include "foo.h" // for a header local to this subproject #include <bar/baz.h>" // for a header in another subproject But no longer: #include <baz.h> // for a header in any subproject As a special case, libfdt needs itself to be added to the -I path, because their coding style is to use angle brackets for local headers.
Suppresses a warning on newer compilers for -std=c++20.
BTW @jerryz123 if you have a cleaner fix to the makefiles in mind, I'm all ears... the handling of libfdt is a little hacky, but at least the blast radius is small. |
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.
I think the final clean solution is to eventually stop relying on the in-tree libfdt, assuming that the packaged libfdt doesn't have bugs (#1536 ).
But this is fine for now... its better than the alternative of editing all the fdt sources.
I think it is expected for the tests to fail. I believe the CI distro is set from the CI config at the HEAD of this branch, so the non-working commits will still get tested (and fail) under 22.04.
Agreed re: libfdt. I swapped the commit order so the critical fix comes first, so hopefully it'll pass this time. |
When compiling hammer have thrown error like in this issue: riscv-software-src/riscv-isa-sim#1618. Fixed via removing fesvr directory from includes in meson.build. Related PR in Spike repo: riscv-software-src/riscv-isa-sim#1619.
The problem was our use of
-I
to add subprojects' headers to the include path. Oursyscall.h
was interfering with libstdc++'s dependence on the system's version of the same header (which is why we were gettingSYS_futex
-not-defined errors).Resolves #1618