Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Please help me because i am stuck in this for days.
Last edited by heat on Thu Apr 23, 2015 7:43 am, edited 1 time in total.
If some of you people keep insisting on having backwards compatibitity with the stone age, we'll have stone tools forever.
My Hobby OS: https://github.com/heatd/Onyx
I have already followed the tutorial. My problem is in building successfully binutils. Also, shouldn't the OS specific toochain be to also build the OS?
If some of you people keep insisting on having backwards compatibitity with the stone age, we'll have stone tools forever.
My Hobby OS: https://github.com/heatd/Onyx
Judging from your previous posts, I do not believe that you are yet at the stage where you need to produce a C compiler that targets your OS, which is what you arle unsuccessfully trying to do. And, from your reply, I don't think that you even bothered to read the link I provided.
A few words of clarification, because this was apparently mixed up in the previous posts:
You normally start with a bare metal toolchain, which has a bare metal target such as i686-elf or x86_64-elf. This is used to compile your OS kernel, and you can use it to compile drivers and a basic C library as well.
Once you have a C library, either written yourself or ported, you can switch to an OS specific toolchain. This toolchain will be used to compile programs that run on your OS, i.e., it is targeted to your OS, so it will have a target of the form i686-youros or x86_64-youros. Once you have this, you can also use it to compile your OS kernel and libraries by explicitly telling it to not include any C libraries and stuff. Note that also this toolchain does not run on your OS, but targets your OS.
A toolchain that actually runs on your OS would require porting it to the OS, so you would have to compile binutils / gcc using the OS specific toolchain mentioned above.
So if you wish to compile an OS specific toolchain, you should be at step 2 right now. Otherwise, you should compile a bare metal toolchain.
So, basically you said i need to develop my kernel and implement standard C library (input,memory allocation,..) before I try to make an OS specific toolchain ?
Also, thanks for all the help orientating me to the right direction,I'm new in this OSDeving stuff.
And can you please help me to solve this error ? I want to know what caused the error and how to solve it, so I don't need to ask again.
If some of you people keep insisting on having backwards compatibitity with the stone age, we'll have stone tools forever.
My Hobby OS: https://github.com/heatd/Onyx