Skip to content
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

update ci.yml to test Nim 2.2; also test gcc-14 #158

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

narimiran
Copy link

No description provided.

@metagn
Copy link

metagn commented Sep 21, 2024

The Windows failure happens in test_io after Nim commit nim-lang/Nim@8f5ae28. The issue seems to be with clang's stack protection, the new generated code breaks it in some way that causes __chkstk_ms to be called repeatedly. Changing the compiler options to as little as --passC:"-O1" makes it work, but none of the switches I tried that disabled the stack protection worked. -d:release and even --debugger:gdb also makes it work but --linedir:on which --debugger:gdb enables doesn't.

@tersec
Copy link
Contributor

tersec commented Sep 26, 2024

The Windows failure happens in test_io after Nim commit nim-lang/Nim@8f5ae28. The issue seems to be with clang's stack protection, the new generated code breaks it in some way that causes __chkstk_ms to be called repeatedly. Changing the compiler options to as little as --passC:"-O1" makes it work, but none of the switches I tried that disabled the stack protection worked. -d:release and even --debugger:gdb also makes it work but --linedir:on which --debugger:gdb enables doesn't.

To the extent this is a clang issue, what we've done before on these is check if newer versions of clang have fixed it -- if so, can note that and also see if there's some workaround in the meantime. But especially on Windows, clang isn't a native compiler tied to the OS, so it's ok to just require newer clang versions.

#- os: windows
#cpu: i386
branch: [version-1-6, version-2-0, devel]
branch: [version-2-0, version-2-2, devel]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as with the other low-level libraries, this should test 1.6 as well (in particular, it should test what the nimble file specifies as compatible)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants