From: Andris Pavenis To: djgpp-workers AT delorie DOT com, sandmann AT clio DOT rice DOT edu (Charles Sandmann) Subject: Re: DXE3 in DJGPP CVS breaks cross-compiling Date: Thu, 8 May 2003 20:47:03 +0300 User-Agent: KMail/1.5.1 References: <10305081225 DOT AA16559 AT clio DOT rice DOT edu> In-Reply-To: <10305081225.AA16559@clio.rice.edu> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200305082047.04105.pavenis@latnet.lv> Reply-To: djgpp-workers AT delorie DOT com On Thursday 08 May 2003 15:25, Charles Sandmann wrote: > > Including DXE3 in DJGPP CVS rather seriously breaks cross-building from > > Linux: > > I am not surprised. I expected this might happen, but we didn't have > anyone to test it. Good feedback below, thanks. > > > 1) makefile in src/dxe3 uses host strip for target related object files. > > Though about checking following in, but it is only the first problem. > > > > - strip --strip-unneeded $< > > + $(CROSS_STRIP) --strip-unneeded $< > > Do we have CROSS_STRIP defined? How does that work? see djgpp/src/makefile.def > > 2) The next line in makefile uses bin2h, so it should be added > > to host tools. bin2h.c doesn't build without following patch: > > > > +#ifndef O_BINARY > > +#define O_BINARY 0 > > +#endif > > + > > Go ahead and commit this - I don't see why we wouldn't want to do this. done > I'll see what's needed to get bin2h in hostbin. > > > 3) After I put bin2c on path, got linker error messages: > > > > gcc -g -O2 -I ../../include -DDXE_LD=\"i586-pc-msdosdjgpp-ld\" dxe3gen.c > > -o ../../hostbin/dxegen.exe In file included from dxe3gen.c:23: > > /disk2/cvs/djgpp/build/djgpp/src/dxe/dxe3gen.c:240: undefined reference > > to `__dj_stderr' /tmp/ccLEBaD8.o(.text+0x754): In function `run_ld': > > (snip) > I'm not sure all copies reference the right LD here either. > There are certainly lots of things which seem to need to be cleaned up. > > > So dxe3gen uses DJGPP specific features. So it should be fixed (unless we > > agree to drop cross-compiling support). > > I think they should be fixed where possible. The new dxe3gen doesn't > support big endian platforms - so cross compiling on those platforms > would not work anymore. So perhaps it should not be built at all on big endian platforms. Andris