-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
ghdl: add 'ghdl-llvm' (for mingw32) and/or 'ghdl-gcc' (for mingw32|mingw64) #5757
Conversation
It's the question for @Alexpux but IIRC packages that build only for one arch weren't easily accepted in the past. |
Oh, that's unfortunate. GHDL is one of a kind (the only open source simulator and synthesizer for VHDL 2008) and it is the de facto standard simulator for CI. The FTR, we currently provide MSYS packages based on similar PKGBUILD files to those in this PR. See https://github.com/ghdl/ghdl/releases/tag/nightly. However, it'd be handy to have them upstreamed, since the combination of GHDL + GtkWave (already provided by MSYS2) is the most lightweight development environment for VHDL and it is FOSS. |
GCC was upgraded since then, maybe it no longer crashes? |
I will try immediately. However, even if LLVM works on both archs (which I hope it does sooner or later) I would still like to know if an exception could be made for backend |
@mati865, it is still failing with the same error: https://dev.azure.com/msys2/mingw/_build/results?buildId=5480&view=logs&j=faa49efd-b80d-59ec-f116-4ddab3c93356&t=e8ed0256-efd3-5cc6-f8ac-cad94af7904f&l=519. It seems to be related to |
You could try building with Clang by setting |
I tried with clang and clang++. It is complaining about
|
Seems like it doesn't support being built with Clang? |
Maybe #6586 is precisely about the GCC bug here? |
He replied:
|
Would a split package be okay if it used mcode for mingw32 and llvm for mingw64? Tim S. |
@stahta01, my proposal is precisely to contribute two packages (mingw-w64-ghdl-mcode for MINGW32 only and mingw-w64-ghdl-llvm for MINGW64 only). Those are known to work, because they are tested in GHDL's CI workflows (e.g. https://github.com/ghdl/ghdl/actions/runs/164507689), and nightly builds are available through Action ghdl/setup-ghdl-ci. However, the CI jobs here fail because they attempt to build both packages for both environments. |
See #6686 PR for split package please comment on it and take over package management. Tim S. |
Oh, I know see what you meant. I understood just the opposite. Thanks! Ideally, I don't like that approach. However, since having separate packages is not an option for now, I will take care of it. I saw that you are using a tagged release, and that's why the LLVM 10 patch is required. Since both GHDL and MSYS2 are rolling projects, I will use a commit hash instead. Thanks again! |
This reverts commit b1006c4.
Should this stay open? Just wondering.. |
@lazka, I'd like to keep it as a draft, if you are ok with that. Currently, 2/6 builds (backends) are available in upstreamed packages. This is for tracking the other 4 variants (LLVM on MINGW32, mcode on MINGW64 and GCC on both of them). This might seem stalled because the work in progress is available in ghdl/ghdl#1547. I keep the content of the first comment in this PR updated according to the findings there. |
OK, no problem. 👍 |
GHDL was added in #6688 🎉 🎉 🎉
However, the current package is an split package that builds GHDL with mcode for MINGW32 and with LLVM for MINGW64. This PR is for tracking other builds: LLVM on MINGW32 and GCC on either MINGW32 or MING64.
GHDL supports three different backends: mcode (built-in, for x86 32/64 bit only), LLVM and GCC.
Segmentation fault
at runtime(mcode is not supported on win64 yet)
see below
Hence, I have tested these locally with:
LLVM for mingw32 produces the following error during build: