Reaction score: 770
You can compile kernel as well if you apply couple patches which I think are already in current. In my understanding the only thing in the base of the OpenBSD which can not be compiled is obviously Groff since PCC is C only compiler and Groff is C++.oliverh said:What production? Probably userland in OpenBSD.
The short answer is I do not know.estrabd said:GCC 4.2.1 supports OpenMP, as slow as the generated executable is. Would this be something that the replacement compiler should support since SMP is so important now more than ever?
Clang is a new frontend for C-like languages for LLVM. It's modern, BSD
licensed compiler that produces roughly the same code quality or better
as GCC. It's still in its development phase but quite mature. It includes
static analyzer as well.
And yes, it can compile FreeBSD kernel that actually boots and works. Not
as stable as GCC yet but the Clang team is working on that. The userland
needs some more work but a lot works already.
You can try yourself, the details are described here:
basically you just install devel/llvm-devel port, compile the kernel with -O1
and boot. Don't forget to try out the static analysis.
We'd like to encourage you to try this out and test stuff. We can't test
everything. In a case of problems (there sure will be) please contact me or
your clang@freebsd team
Roman Divacky, Pawel Worach and Brooks Davis
If we are not developing the compiler (PCC) but OpenBSD/NetBSD, which have a lot less resources than we do are ... what's the really good reason we are not pitching in?trasz@ said:... We are not developing the compiler. We don't want to... .
and that:As you may have read some days ago, work has started to make the FreeBSD base system compile better with clang, the BSD licensed C compiler from the LLVM project.
Here's the original: http://lists.freebsd.org/pipermail/freebsd-hackers/2009-February/027833.htmlAfter some talking on IRC, I think the best solution would be to rename all functions in libmp. Even though this may sound very awful at first, it seems the competition has done this as well:
On AIX as well. Do you have five million dollars for a solid IBM server? I didn't think so. Of course the most thing we are talking about were done or started 20 years ago on proprietary Unix. The problem is that in the mean time most of them went bankrupt and people are reinventing the wheel all the time on i386.Djn said:there are VMS clusters out there that have uptimes comparable to the age of the FreeBSD project, and plan 9 can share the oddest things over the network. I do hope it will work out; it would be a nice addition. But it's not taking anything to "the next level".
I agree that one needs to crawl before he walks. I would like to point out that OpenMP is a standard supported by all of the major HW snf compiler vendors (often one and the same), and GNU supports this.Oko said:The short answer is I do not know.
The longer one is that if I have to guess support for OpenMP is
very, very low priority. The most important thing from the point of view of OpenBSD/NetBSD community is for PCC to generate correct, efficient, and small machine serial code. It is also very important that PCC is very portable as well that it has clear separation of front and back ends which will enable creation of some very interesting new tools for debbuging and code analysis. One of high priorities of PCC is to create so
efficient machine code that it could be executed theoretically on
PDP-11 as well as on the newest SUN blade.
Generating parallel machine code would add another layer of complexity and insecurity. SMP support is only moderately important at least for OpenBSD and it will remain like that probably for the very long time. Multi core CPUs are still very buggy and in some sense even dangerous from the security point of view.
I hope that somebody with greater technical knowledge of the issues would comment on your interesting question.
What do you mean "entire tool chain" ? OpenBSD's own as(assembler) instead gas ? OpenBSD's own ld(link editor) instead GNU's version? Or just PCC instead gcc ?Oko said:OpenBSD will have entire tool chain based on its own code hopefully within next two years.