Page 1 of 1
Payed Tutor to port Newlib to Bare Metal OS
Posted: Tue Mar 23, 2021 5:39 am
by n0O0n
Hi!
I am currently struggling with porting the Newlib to bare metal OS. I am following steps here on the wiki but got make errors on building the newlib. I am not even on the step of implementing the syscalls. The only task is to port it, nothing more. This job is paid for an amount of 100$. Any volunteers?
--UPD
The library is built(all functions are empty, do nothing). I am stuck on the actual port of it to OS. Still looking for the volunteers
Re: Payed Tutor to port Newlib to Bare Metal OS
Posted: Thu Mar 25, 2021 6:11 am
by ulmer1
I've as well been struggling with it in the past. However, recently retried and did it in less than a day! That's why I want to encourage you to do it yourself, it really yields a satisfactory experience when you're done.
Since you've not already made it to the system calls, why did you fail? Maybe building autotools?
Re: Payed Tutor to port Newlib to Bare Metal OS
Posted: Mon Apr 05, 2021 8:53 am
by n0O0n
ulmer1 wrote:I've as well been struggling with it in the past. However, recently retried and did it in less than a day! That's why I want to encourage you to do it yourself, it really yields a satisfactory experience when you're done.
Since you've not already made it to the system calls, why did you fail? Maybe building autotools?
Yeah, there was a silly mistake by me as I use WSL2, I have mistaken the PATH variables, so there were a lot of problems related to autotools. Even though the lib is built, it seems that I am linking it wrong, when including stdio from Newlib and using printf, the linked complains that printf is not defined. The 15 stubs in Newlib were implemented on a minimal level, as described on the RedHat website. But still, undefined reference to printf...
I link like this :
i686-elf-ld -T link.ld libc.a libg.a libm.a libnosys.a -o kernel kernel.o
Am I linking it wrong?
--UPD
Yes, I was doing it wrong, the libraries should go after the file, so correct will be :
i686-elf-ld -T link.ld -o kernel kernel.o libc.a libg.a libm.a libnosys.a