Da fällt mir ein: Hast Du Erfahrung mit den BinUtils?Dirty Oerti hat geschrieben:Ha, ich hab noch was vergessen:
objdump -D OBJEKTDATEI.o > disassembler.txt
Also wie man eine Objektdatei erzeugt oder ein ELF-File oder Dokumentation dazu?
Da fällt mir ein: Hast Du Erfahrung mit den BinUtils?Dirty Oerti hat geschrieben:Ha, ich hab noch was vergessen:
objdump -D OBJEKTDATEI.o > disassembler.txt
Wegen so nem zeug schaut man mal am besten bei Lowlevel, oder der OS Dev Wiki nach, da ist das ganz gut erklärt/referenziert;cc -S -o asm.txt main.c
Schaumal bitte. Ich habe jetzt zwei Interpreter in Entwicklung und bei Gelegenheit muss ich mir Gedanken über den nativen Codegenerator machen. Unter'm Amiga habe ich das bereits soweit hinbekommen, aber ich glaube, das ist derzeit nicht mehr ganz so aktuell.Dirty Oerti hat geschrieben:Ähm *noch* Nicht wirklich.
Das ganze wollte ich mir mal anschauen, schon im Bezug auf meinen Kernel.
Ich hab wegen ELF Files einiges an Links irgendwann irgendwo mal gespeichert.
Ich kann mal schaun, ob ich die wiederfinde.
Ich habe mir ein "Hello World"-kompiliert und den Hex-Dump ausgedruckt. Anschließend habe ich das Programm beschriftet und versucht nachzuvollziehen, was da passiert. Ich habe mir das Buch Linkers und Loaders gekauft und das damit auch soweit nachvollzogen bekommen. Aber ggfs. will ich natürlich die vorhandenen Libs gebrauchen. Dafür muss ich mir aber noch Tutorials raussuchen - oder halt selbst schreiben.Dirty Oerti hat geschrieben:Ansonsten ist das ja eigentlich ziemlich "simpel":
Man schreibt den ELF Header, der muss korrekt gefüllt werden. Dahinter kommen dann die einzelnen Sections.
Eben jeweils wieder mit Header, soweit ich weiß