-
Notifications
You must be signed in to change notification settings - Fork 66
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
seL4test fails to compile with a x86_64-unknown-none-elf
compiler
#127
Comments
Upstream issue: seL4/sel4test#127
x86_64-unknown-none-elf
compilerx86_64-unknown-none-elf
compiler
No, but then the test is semantically altered, because the compiler only sees
I'm currently tinkering with that. An issues I found is, that the build scripts invokes Just in case, yes I do have the |
So, in Nix I can use the |
Upstream issue: seL4/sel4test#127
I don't think any of us can be bothered writing a special check to the CMake scripts to check specifically for this issue, but feel free to send a patch. It seems reasonable to expect people to add toolchain specific flags to their build environment when they use an unsupported toolchain, so closing this issue for now. To be clear, I agree that |
Upstream issue: seL4/sel4test#127
Alternatively, you could rewrite the expression to |
Where would I read more about this? I kept wondering what toolchains are officially blessed, and I heared chatter (maybe from @Ivan-Velickovic ?) that the |
Not sure, I guess it was based on: https://docs.sel4.systems/projects/buildsystem/host-dependencies.html I remember trying to use aarch64-unknown-none-elf-gcc and it didn't work for some reason. Non-Microkit based systems follow the SYSV ABI for ELF files, maybe that's where the |
To elaborate, I would consider what's tested by CI as "officially supported". Anything deviating from that may not work for whatever stupid reason, which can be fixed if people send patches of course. |
For historical reasons, the
x86-*-elf
compiler target treats a single forward slash (/
) as beginning of comment. Now, the following test uses a single forward slash/
(albeit in a pre-processor macro, this still triggers):sel4test/apps/sel4test-tests/src/arch/x86/tests/alignment_asm.S
Line 7 in fe4839e
The simple hotfix is to use a
x86_64-unknown-linux-*
compiler, which does not exert this behavior (as communicated back '05 on the gnu mailing lists). An alternative is to pass the flag--divide
passed tox86_64-unknown-none-elf-as
, to disable this behavior and treat a/
int he middle of a pre-processor line as a true division.Now, for most practical reason using a
x86_64-unknown-linux-gnu
targeted gcc likely is fine. But, conceptually this is unclean, one really does not need the Linux headers etc. to compile seL4, and on all other target architectures (except for the armv7 eabi stuff) the-elf
works fine (as it should be).The text was updated successfully, but these errors were encountered: