Page 1 of 1

porting LLVM

Posted: Sat Jun 18, 2016 6:56 am
by masterhipsterjedi
Hi,



I see that quite a few members here have had success porting gcc to there own operating systems.

I was wondering if anyone has been able to port LLVM and or Clang ? I have found this page (http://wiki.osdev.org/User:MessiahAndrw ... _Toolchain) on the wiki but obviously the section I would be interested in has not been written yet.

I have been working for the last few months on my own C compiler, the idea being that I would be able to use it to develop my kernel and userspace. However I have recently become a little bit more perceptive to the idea of using LLVM and or clang.

My thinking around the design of my OS is evolving and I think I would like to experiment a bit with language design - I have not decided yet exactly what the best course of action is.

I may decide to use my existing C front-end on top of LLVM or I am toying with the idea of designing a new language again using LLVM as a backend.

It would be very helpful to my though processes if someone could provide any information they have regarding porting LLVM to a new OS. Any information on porting clang would also be good.

Ultimately I want my os to be self hosting so If I choose LLVM I’ll have to port clang at some point so that I can build LLVM.

Thanks!

Re: porting LLVM

Posted: Sat Jun 18, 2016 10:10 am
by Combuster
I would imagine the result to be a tradeoff between cleaner code/design and longer histories of documentation for the llvm / gnu chains respectively. Probably the observed ease of porting would end up being a matter of personal opinion. If your hunch is to port LLVM, you might just as well stick with it.

But for now, you sound like you're not even close to going self-hosted. Both GCC and LLVM work in the end, so you should focus initially on getting those other choices sorted out.

Re: porting LLVM

Posted: Thu Oct 27, 2016 3:19 am
by alexfru
masterhipsterjedi wrote:Ultimately I want my os to be self hosting so If I choose LLVM I’ll have to port clang at some point so that I can build LLVM.
If you're not overly ambitious or if you want it done quicker, you can port something smaller and simpler. There's LCC. There's PCC. There's Bellard's TCC. There's my Smaller C.