This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: ELF with cygwin? (add-on)


Klaus Reinhardt <K.Rdt@TU-Berlin.DE> writes:
> ----------------- mailto:K.Rdt@TU-Berlin.DE start -------------------
> Hi!
> 
> I found some interesting information in bfd.info; it seems for me,
> that an 'ELF-port' is in work.
> 
> Can one say, that cygwin is based on bfd?
> 
> By the way, what does this acronym bfd means? bfd.info don't explain
> this clearly enough.

Let's clear up some confusion here.

BFD stands for Binary File Descriptor and it's is a library that abstracts 
the lower level details of the file formats used by various platforms. It 
has support for a.out, ELF, COFF, PE-COFF, etc etc etc. You'll have to
look into BFD source code to understand most of the things that are yet to
be documented.

BFD already has excellent support for ELF, but that has nothing to do with
Windows32 boxes, where the native file format is PE-COFF (See MS web site
for docs on the Portable Executable file format). If you are willing to
write an ELF loader, then you can run the most trivial binaries, but there
are many many more other details to worry about (such as system API, user
libraries etc).

If you really want to learn about writing loaders etc, this is definitely
not the right forum. Both DJGPP (http://www.delorie.com/djgpp/) and WINE
(http://www.winehq.com/) have their own (quasi-) program loaders, so you
might want to look at those first.

Cygwin uses the native Windows32 PE format. It *DOES NOT* support ELF and 
I highly doubt if it ever will.

Just recompile your code under win32 using GNU compilers and be done with 
it. If you want to use ELF, use an OS that uses ELF (Linux, Solaris, BeOS,
one of the *BSD* camps, etc use ELF under x86).

Regards,
Mumit

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]