This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more infromation.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Problem cross-building native compiler for i586-pc-msdosdjgpp


I tried to build native compiler for DOS (i586-pc-msdosdjgpp) using
cross-compiling under Linux (i586-pc-linux-gnu) and found following
problem:

when I earlier built cross-compiler (gcc-2.95.2) from i586-pc-linux-gnu
to i586-pc-msdosdjgpp I'm not getting some functions (like _eprintf)
in libgcc.a as defining CROSS_COMPILE forces definition of inhibit_libc
that leaves some parts of libgcc.a out. As result I'm getting unresolved
references (_eprintf) when trying to build g77 with cross-compiler as
later uses assert macro (one from gcc sources, not DJGPP one).

Perhaps one will have the same problem with canadian-crosses also
(if one tries to build FORTRAN cross-compiler using cross-compiling, but
I'm not sure g77 is only affected part)

I see some possible workarounds:
  
   - providing possibility to avoid definition of inhibit_libc in
     libgcc2.c when CROSS_COMPILE is defined (currently one needs
     to figure out the problem and modify libgcc2.c)

   - avoiding to use assert from assert.h currently included with gcc
     sources or providing _eprintf() somewhere else in sources (as 
     it can be ommited from libgcc.a)

If some workaround for this problem is applied, all builds Ok (as far as
I have tested)

Andris



------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]