I'm a beginner in OS development. I just started few days ago and I'm in the firsts steps described in Bare Bones Kernel on osdev wiki.
Right now, I'm trying to link crtbegin.o and crtend.o, with the respective crti.o and crtn.o in my Kernel, but in linking time, with ld, the follow error is just aborting the process:
Code: Select all
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/32/crtbegin.o: direct GOT relocation R_386_GOT32X against `_ITM_deregisterTMCloneTable' without base register can not be used when making a shared object
/usr/bin/ld: final link failed: nonrepresentable section on output
collect2: error: ld returned 1 exit status
I will attach my Makefile so you can see my GCC, ld and GNAS options. If another file is needed, just tell me.
EDIT:
GCC 8.2.1
GNU ld 2.31.1
GNAS 2.31.1
I'm using qemu-system-i386 with -kernel option to boot my system
Linux x86_64 4.19.2 in ArchLinux