-
Notifications
You must be signed in to change notification settings - Fork 5
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
test18 failures with -fupc-pts=struct on OpenBSD X86 #66
Comments
Confirmed the issue on my VM too. I was not able to duplicate it on Linux 32 machine, and I thought this was good as I can compare the code. It turns out that code is completely different as Linux uses xmm registers in the generated code while FreeBSD does not. Error can be duplicated with -O0 and only one thread which is good for debugging. Error can be duplicated with this code:
I think the issue is related to an optimization where FreeBSD does not save/use the frame pointer. Instead, stack pointer is used for the register spill:
Looks like code generation bug, and we might be able to create a C test case for this. |
I did try to create a test case for this without any luck. |
Today I retested clang-upc on openbsd-i386 configured using
All failures produced the same message:
There was no difference between |
I have again tried the struct PTS representation on OpenBSD and this error is still present. |
I now have OpenBSD testers for clang-upc on both amd64 and i386, and have chosen to configure with
--with-upc-pts=struct
for more coverage.In conducting the initial "smoke test" run of the Intrepid suite I encountered failures of
test18
only on the i386 system. In a debug build I get the following failure:While a non-debug build gets a SEGV instead:
Outputs above show the static-threads builds of the test, but the dynamic threads cases fail in the same manner.
I went on to investigate other 32-bit platforms and found the majority to fail test18 with the struct PTS.
On an x86 build on FreeBSD I get a SEGV:
On an "-m32" build on Mac OS X I see a different failure mode:
On an x86 build NetBSD I don't see any error.
I don't presently have any 32-bit builds for Linux.
In all of the cases reported above as failing, I have verified that there is no error with the packed PTS representation.
The text was updated successfully, but these errors were encountered: