41
Softwareentwicklung / Re: GCC für OS compilieren
« am: 25. July 2015, 15:31 »
Es hat soweit alles geklappt und ich habe jetzt mal versucht eine kleine Anwendung zu kompilieren und zwar so:
Code: [Auswählen]
~/Dokumente/test/env/bin/x86_64-pc-youros-gcc -v -o main main.c
Und ich bekomme folgende Fehlermeldung:Code: [Auswählen]
/tmp/cci2MKYd.o: In function `thread':
main.c:(.text+0x5): relocation truncated to fit: R_X86_64_32 against `.rodata'
/tmp/cci2MKYd.o: In function `main':
main.c:(.text+0x30): relocation truncated to fit: R_X86_64_32 against `.rodata'
main.c:(.text+0x73): relocation truncated to fit: R_X86_64_32 against symbol `thread' defined in .text section in /tmp/cci2MKYd.o
main.c:(.text+0x7d): relocation truncated to fit: R_X86_64_32 against `.rodata'
main.c:(.text+0x82): relocation truncated to fit: R_X86_64_32 against `.rodata'
main.c:(.text+0x97): relocation truncated to fit: R_X86_64_32 against `.rodata'
/tmp/cci2MKYd.o: In function `parseFile':
main.c:(.text+0x11c): relocation truncated to fit: R_X86_64_32 against `.rodata'
main.c:(.text+0x18d): relocation truncated to fit: R_X86_64_32 against `.rodata'
main.c:(.text+0x1bc): relocation truncated to fit: R_X86_64_32 against `.rodata'
main.c:(.text+0x1cd): relocation truncated to fit: R_X86_64_32 against `.rodata'
collect2: error: ld returned 1 exit status
Ich verstehe aber nicht wieso die .text und die .rodata Sektionen soweit auseinander sein sollten. Bei Binutils habe ich einfach nur elf-x86-64.sh in mein Skript eingebunden und die TEXT_START_ADDRESS geändert. Muss ich da noch mehr ändern?