X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=AwjEdIOMC7iTQ3/poFdQOqZaw0EhB4Nya11SO1GWHXM1GlvxtsRIlzMftrdgX/9XCIOMql3BTVPOb788KZsLD7kvLDdzz2Z2V/6pFQpWaPHezREDxKxZm2A8GUG4fO3ZQJuZp4mt2LC6Rjl3SHCjFU+/hkI5yLTIKmWKovtl874= ; Message-ID: <20060511182531.89322.qmail@web42207.mail.yahoo.com> Date: Thu, 11 May 2006 11:25:31 -0700 (PDT) From: Daniel Borca Subject: DJGPP ELF To: djgpp-workers AT delorie DOT com MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Reply-To: djgpp-workers AT delorie DOT com This whole Linux compatibility is getting out of hand. It is premature, and I'm not sure it is entirely useful. Some points for switching to ELF were: 1. reduce the size of executables 2. get rid of that Fat DS stuff (that is, use True Flat) 3. circumvent the DXE3 limitation for variable access 4. ET_DYN (not necessarily ET_EXEC) compatibility with Linux 5. easy upgrade (although module versioning is NYI) 6. debugging of shared objects (NYI) 7. DXE3 unresolveds against libc must be added by hand (a nightmare for extensible applications like PythonD) 8. I forgot... :) Yes, number 7 was _that_ bad. Manually exporting certain symbols to satisfy DXE3 is tricky. Required symbols slightly change, in a way that's invisible to the user, depending on gcc version, DJGPP release etc. DXE3 was only a home-breed workaround for dynamic linking, and somehow I could still find software floating over the net using it (not for the sake of it, but because there was nothing better). I realize that using ELF all of a sudden is not so simple. Things like building/using Allegro may confuse the users; but, as a matter of fact it's not _that_ painful to kiss COFF bye-bye, considering that COFF was self-contained. It's not that switching to ELF makes old applications crash. Last, but not least, one of my goals was to have the possibility to link my uber application against libc.a (elf version), prepend an extender to it and have it run on a cold, dark environment without prior setup. Regards, Daniel Borca __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com