Page 1 of 2
what executable format is using in your own os?
Posted: Wed Aug 22, 2007 9:13 pm
by mcheung63
what executable format is using in your own os? ELF? exe? coff? aout?
Posted: Wed Aug 22, 2007 9:43 pm
by piranha
I think that you should add the question of "why are you using that executable?"
As for me, it's ELF. And I don't know why.
I may be asked why I don't know later, but for now I don't care much.
(I'm watching a movie)
Posted: Thu Aug 23, 2007 12:05 am
by pcmattman
ELF, because it integrates nicely with my paging code
.
Posted: Thu Aug 23, 2007 1:37 am
by JamesM
ELF, because I'm using linux and every tool works with it. And GRUB supports it fully, as opposed to the kludgy-at-best support it has for AOUT. Grub can also load your ELF symbol table for you
ooooh my kernel is backtrace heaven!
Posted: Thu Aug 23, 2007 2:26 am
by AJ
Also ELF, because I have an ELF cross compiler on cygwin.
When I used DJGPP, I used COFF and when I experimented with MinGW, I used PE, just because they were the standard output formats. My second-stage boot loader relocates ELF and will soon relocate COFF and PE too, so it won't really matter. I will never go back to flat binary again!
Cheers,
Adam
Posted: Thu Aug 23, 2007 5:31 am
by AndrewAPrice
ELF.. It's so simple to use, just scan the program headers and copy into memory!
Posted: Thu Aug 23, 2007 6:04 am
by Lprogster
Am I the only one using plain binary? I would like to include ELF support in the future.
Posted: Thu Aug 23, 2007 6:39 am
by jerryleecooper
Right now the executable file format I use is a plain C function. My kernel is just multithreading/multitasking. No working floppy driver yet. Im working on it. But when it will be done. I will probably use ELF and binary, begining on binary, and ELF after.
Posted: Thu Aug 23, 2007 6:54 am
by AJ
Lprogster wrote:Am I the only one using plain binary? I would like to include ELF support in the future.
I'm sure lots of people are using plain binary. I was converted after misjudging the bss size kept causing my kernel to crash. Don't be put off by the docs - ELF and COFF are only marginally more difficult to get working than flat binaries.
Cheers,
Adam
Posted: Thu Aug 23, 2007 8:12 am
by inflater
Plain binary (wow I'm the second one
) for applications, MZ EXE for the kernel, as for upcoming PortixOS 0.4. I'm planning to implement PE EXE, COFF and ELF in the future (versions 0.5 and up
)
MessiahAndrw wrote:ELF.. It's so simple to use, just scan the program headers and copy into memory!
MZ EXE is the same. You just read the exe relocation table, set DS, SS, ES and "future" values of CS and IP and you can load the kernel. This applies to real mode. In protected mode you can skip the whole relocation section. (Is that format relocatable then?)
Regards
inflater
Posted: Thu Aug 23, 2007 8:16 am
by Lprogster
What docs should I read [for ELF]? Could you post some links?
Posted: Thu Aug 23, 2007 8:22 am
by inflater
For MZ EXE ?
Thats just old. Or for binary? You do not need docs for binary format I think.
For ELF, COFF, ... etc, hmm, maybe the wikipedia does help (sorry for "RTFM-ish answer" but dunno, I do not implement these things now in my OS)
Posted: Thu Aug 23, 2007 10:39 am
by bluecode
Posted: Thu Aug 23, 2007 10:41 am
by Lprogster
Sorry... I was in a hurry
! I meant the ELF docs - thanks for the links.
Posted: Thu Aug 23, 2007 10:51 am
by Dex
I am using plain binary, coff, PE and for my kernel a MZ exe file.
The coff is for relocatable drivers.
Note: i can load PE, but i do not use them much.