Как создать объектный ELF файл с кодом?
Я пишу свой ассемблер RISC-V для Linux на Си. Мне нужно создать объектный ELF файл со сгенерированными машинными инструкциями. Мне нужно знать структуру файла: какие секции нужно создать, в какие поместить код. Где можно узнать больше по этой теме?
Ответы (1 шт):
можете посмотреть в wiki по ельфу документацию,или исходники вот...
довольно хороший пример на си,кстати там же и найдете генерацию исполняемого Тут врядли дадут полный пример в одном сообщении,уж больно много кода Вкратце,нужно создать секции text,,debug,init,fini,symtab,bss,data,и другие связаные с tab. Неинициализированые данные надо в bss,исполняемый код в text,инициализированые данные в data,а symtab еще не разобрался,debug если надо отладочные символы,init содержит инициализацию runtime , fini содержит runtime finish некоторые секции отсутсвуют в object files например в обьектных файлах нету final metadata,relocation table. Узнать еще можно в ibm wiki Удачного создания компилятора!