From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) Message-Id: <10305081225.AA16559@clio.rice.edu> Subject: Re: DXE3 in DJGPP CVS breaks cross-compiling To: djgpp-workers AT delorie DOT com Date: Thu, 8 May 2003 07:25:29 -0500 (CDT) In-Reply-To: <200305081426.01388.pavenis@latnet.lv> from "Andris Pavenis" at May 08, 2003 02:26:01 PM X-Mailer: ELM [version 2.5 PL2] Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > 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? > 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. 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.