what executable format is using in your own os?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
mcheung63
Member
Member
Posts: 175
Joined: Thu Jun 22, 2006 8:33 am
Location: Hong Kong
Contact:

what executable format is using in your own os?

Post by mcheung63 »

what executable format is using in your own os? ELF? exe? coff? aout?
User avatar
piranha
Member
Member
Posts: 1391
Joined: Thu Dec 21, 2006 7:42 pm
Location: Unknown. Momentum is pretty certain, however.
Contact:

Post 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)
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
pcmattman
Member
Member
Posts: 2566
Joined: Sun Jan 14, 2007 9:15 pm
Libera.chat IRC: miselin
Location: Sydney, Australia (I come from a land down under!)
Contact:

Post by pcmattman »

ELF, because it integrates nicely with my paging code :D.
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Post 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! :)
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Post 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
User avatar
AndrewAPrice
Member
Member
Posts: 2309
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Post by AndrewAPrice »

ELF.. It's so simple to use, just scan the program headers and copy into memory!
My OS is Perception.
Lprogster
Member
Member
Posts: 174
Joined: Tue Nov 14, 2006 11:59 am

Post by Lprogster »

Am I the only one using plain binary? I would like to include ELF support in the future.
User avatar
jerryleecooper
Member
Member
Posts: 233
Joined: Mon Aug 06, 2007 6:32 pm
Location: Canada

Post 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.
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Post 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
User avatar
inflater
Member
Member
Posts: 1309
Joined: Thu Sep 28, 2006 10:32 am
Location: Slovakia
Contact:

Post by inflater »

Plain binary (wow I'm the second one :D) 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
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English :P)
Lprogster
Member
Member
Posts: 174
Joined: Tue Nov 14, 2006 11:59 am

Post by Lprogster »

What docs should I read [for ELF]? Could you post some links?
Last edited by Lprogster on Thu Aug 23, 2007 10:42 am, edited 2 times in total.
User avatar
inflater
Member
Member
Posts: 1309
Joined: Thu Sep 28, 2006 10:32 am
Location: Slovakia
Contact:

Post by inflater »

For MZ EXE ? :lol: 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)
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English :P)
User avatar
bluecode
Member
Member
Posts: 202
Joined: Wed Nov 17, 2004 12:00 am
Location: Germany
Contact:

Post by bluecode »

elf32
elf64 (x86-64 ABI) (In addition to the above)
PE/Coff
Lprogster
Member
Member
Posts: 174
Joined: Tue Nov 14, 2006 11:59 am

Post by Lprogster »

Sorry... I was in a hurry 8)! I meant the ELF docs - thanks for the links.
User avatar
Dex
Member
Member
Posts: 1444
Joined: Fri Jan 27, 2006 12:00 am
Contact:

Post 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.
Post Reply