delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2003/05/08/08:25:26

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
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

> 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.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019