-
Notifications
You must be signed in to change notification settings - Fork 20
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
Version 2.0.0 test failures on x86_32, arm32 and s390x #110
Comments
I'm not sure how relevant support for x32 and mainframes is, I'd suggest to just disable those specific tests for legacy or exotic architectures. |
The Lines 2525 to 2533 in 51180df
There's no explanation why that check is needed and especially why the memory alignment has anything to do with our ability to analyze them. |
The s390x wchar errors are related to multi-character character literals. The only relevant change since 1.8.2 that I could find is when that function was converted from |
We just treat them as |
Maybe, but I don't understand where in the code an overflow would be desirable. Might also be that it his some issues that were there before? One would need to verify whether gcc can even compile the input files on this architecture before they go through CIL. |
If you want I can look into these, but it would have to be in early September. But ofc also feel free to do it yourself if you find the time to do it before me 😄 |
Sure, s390x is exotic, but x86_32 isn't at all. It's the most basic 32-bit support and most of those failures are simply in programs that |
Version 1.8.2 at least got through the CI without these failures coming up, so they used to work.
Given the number of issues here and how some aren't easily reproducible, I'll just add all three architectures to goblint-cil's incompatible architectures list in opam. We already have PowerPC there. If we manage to fix any, then later versions can lift this restriction. |
True, we should at some point do goblint/analyzer#54. Currently, we just assume everything is 64 bits. Kind of impressive we never saw any unsoundness because of this... |
It looks like the majority of tasks in NoOverflows are LP64. A smaller proportion from bitvector, recursive and loop-zilu use ILP32, but they're either too hard or too easy, never trivially checking the bound used. sv-benchmarks would benefit from such simple task, but we'd shoot ourselves in the foot with that right now. |
Submitting goblint-cil 2.0.0 to opam-repository revealed (even after some basic fixes) that we fail some of our tests on these architectures.
x86_32
testrun/math1
testrun/nan-global
testrun/packed
testrunc99/c99-complex
testrunc99/c99-float-pragma
testrunc99/c99-tgmath
testrunc99/c99-tgmath2
testrungcc/builtin_object_size
testrungcc/enum3
testrungcc/enum3g
arm32
testrungcc/enum3
testrungcc/enum3g
s390x
testrun/wchar3
testrun/wchar4
The text was updated successfully, but these errors were encountered: