From: "Edmund Horner" To: "Eli Zaretskii" Cc: Subject: RE: DXEs and other OSes Date: Wed, 26 Jul 2000 01:40:57 +1200 Message-ID: <000001bff63d$f661b660$fc9260cb@morgoth> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 Importance: Normal In-Reply-To: X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk A quick test in Linux resulted in a program that will correctly load and execute the DXE test file compiled by DJGPP. Of course this was an extremely simple case... Surely, though, the DXE mechanism involves nothing more than loading a piece of machine code into memory and CALLing it. Doesn't this mean that as long as the instruction set doesn't change(*), a DXE will be binary portable? (* I actually expect the function calling mechanism, etc., would have to remain the same, too.) DXE modules have a hard time using any DOS or DPMI functions, they tend to rely on the calling program for that... Anyway, I thank you for your reasoning. Edmund. > > Considering a compiled DXE is virtually no more than pure machine code, > > would a DXE compiled with DJGPP run fine with a program under Linux > > (assuming the DXE mechanism was ported to linux, of course). > > Probably not. > > > That is, is the only difference between DJGPP and gcc for Linux the > > libraries? > > No, that's not the only difference. DJGPP uses a different object code > format (COFF as opposed to ELF). In addition, a DXE may, depending on > what's in it, call DOS or DPMI functions which, of course, won't work on > Linux.