compiling egcs for rtems under cygwin32

Mike Davies mike_davies at noco.demon.co.uk
Tue Apr 21 19:41:16 UTC 1998


In message <19980420073655.25464.rocketmail at send1a.yahoomail.com>,
Geoffroy Montel <g_montel at yahoo.com> writes
>1. Rename c:\Cygnus\B19\H-i386-cygwin32\bin\sh.exe to
>c:\Cygnus\B19\H-i386-cygwin32\bin\old_sh.exe
>2. Copy c:\Cygnus\B19\H-i386-cygwin32\bin\bash.exe to
>c:\Cygnus\B19\H-i386-cygwin32\bin\sh.exe 
>3. Copy c:\Cygnus\B19\H-i386-cygwin32\bin\sh.exe to /bin/sh.exe
>
>There was a bug in B19 that prevent rtems to be built correctly and stg
>similar happened (egcs compiled successfully without this patch but who 
>knows?)

I tried this, but it still gives an error (although a different
one this time !)

Here's the result of "make cross" for the 2 cases :

____ with normal system ____

make[2]: Circular vasprintf.o <- config.h dependency dropped.
make[2]: Circular random.o <- config.h dependency dropped.
make[1]: Nothing to be done for `all'.
gcc -c -DCROSS_COMPILE -DIN_GCC    -g -O2  -DHAVE_CONFIG_H     -I. -
I../egcs-1.0
.2/gcc -I../egcs-1.0.2/gcc/config \
                  -DGCC_INCLUDE_DIR=\"/gcc-i386/lib/gcc-
lib/i386-rtems/egcs-2.90.27/incl
ude\" \
  -DGPLUSPLUS_INCLUDE_DIR=\"/gcc-i386/include/g++\" \
                  -DCROSS_INCLUDE_DIR=\"/gcc-i386/i386-rtems/sys-
include\" \
  -DTOOL_INCLUDE_DIR=\"/gcc-i386/i386-rtems/include\" \
  -DLOCAL_INCLUDE_DIR=\"/usr/local/include\" \
  -DSTD_PROTO_DIR=\"/gcc-i386/lib/gcc-lib/i386-rtems/egcs-2.90.27\" \
  -DUNPROTOIZE ../egcs-1.0.2/gcc/protoize.c
../egcs-1.0.2/gcc/protoize.c:79: sys/dir.h: No such file or directory
make[1]: *** [stamp-proto] Error 1
make: *** [all-gcc] Error 2
bash-2.01$ make cross
make[2]: Circular vasprintf.o <- config.h dependency dropped.
make[2]: Circular random.o <- config.h dependency dropped.
Building the C and C++ compiler
rm -f tmplibgcc2.a
for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3
_ashldi3
_ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf
_floatdisf
 _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi
_fixxfdi _fix
unsxfdi _floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf
__gcc_bcmp _varar
gs __dummy _eprintf _op_new _op_vnew _new_handler _op_delete _op_vdel
_bb _shtab
 _clear_cache _trampoline __main _exit _ctors _eh  _pure; \
do \
  echo ${name}; \
  /build/gcc/xgcc -B/build/gcc/ -O2  -DCROSS_COMPILE -DIN_GCC    -g -O2
-I./incl
ude   -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -
Dinhibit_libc  -I.
 -I../egcs-1.0.2/gcc -I../egcs-1.0.2/gcc/config -c -DL${name} \
          ../egcs-1.0.2/gcc/libgcc2.c -o ${name}.o; \
  if [ $? -eq 0 ] ; then true; else exit 1; fi; \
  i386-rtems-ar rc tmplibgcc2.a ${name}.o; \
  rm -f ${name}.o; \
done
_muldi3
i386-rtems-ar: permission denied
_divdi3
(c:\Cygnus\B19\H-i386-cygwin32\bin\as.exe 1068) Exception:
STATUS_ACCESS_VIOLATI
ON
(c:\Cygnus\B19\H-i386-cygwin32\bin\as.exe 1068) Dumping stack trace to
as.exe.co
re
xgcc: Internal compiler error: program as got fatal signal 0
make[1]: *** [libgcc2.a] Error 1
make: *** [cross] Error 2


_____ with changed shells _____

make[2]: Circular vasprintf.o <- config.h dependency dropped.
make[2]: Circular random.o <- config.h dependency dropped.
Building the C and C++ compiler
rm -f tmplibgcc2.a
for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3
_ashldi3
_ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf
_floatdisf
 _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi
_fixxfdi _fix
unsxfdi _floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf
__gcc_bcmp _varar
gs __dummy _eprintf _op_new _op_vnew _new_handler _op_delete _op_vdel
_bb _shtab
 _clear_cache _trampoline __main _exit _ctors _eh  _pure; \
do \
  echo ${name}; \
  /build/gcc/xgcc -B/build/gcc/ -O2  -DCROSS_COMPILE -DIN_GCC    -g -O2
-I./incl
ude   -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions -
Dinhibit_libc  -I.
 -I../egcs-1.0.2/gcc -I../egcs-1.0.2/gcc/config -c -DL${name} \
          ../egcs-1.0.2/gcc/libgcc2.c -o ${name}.o; \
  if [ $? -eq 0 ] ; then true; else exit 1; fi; \
  i386-rtems-ar rc tmplibgcc2.a ${name}.o; \
  rm -f ${name}.o; \
done
_muldi3
_divdi3
(c:\Cygnus\B19\H-i386-cygwin32\bin\as.exe 1099) Exception:
STATUS_ACCESS_VIOLATI
ON
(c:\Cygnus\B19\H-i386-cygwin32\bin\as.exe 1099) Dumping stack trace to
as.exe.co
re
xgcc: Internal compiler error: program as got fatal signal 0
make[1]: *** [libgcc2.a] Error 1
make: *** [cross] Error 2


>
>Is the path to i386-rtems- executables in the path ? (although it
>seems to) 

yes, it's in the path

>What are the privileges on that files (ls -l i386-rtems-*) ?
>

here's the result of an ls -l in /gcc-i386-rtems/bin
(I tried using the command "chmod 755 *.*" but it didn't
make any difference to the result of the "ls -l")

crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-
addr2line.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-ar.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-as.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-
c++filt.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-
gasp.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-ld.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-nm.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-
objcopy.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-
objdump.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-
ranlib.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-
size.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-
strings.exe
crw-r--r--   0 0        everyone   0,   0 Jan  1  1970 i386-rtems-
strip.exe


>Hope that's it...
>
>Geoffroy
>_________________________________________________________
>DO YOU YAHOO!?
>Get your free @yahoo.com address at http://mail.yahoo.com
>


Thanks a lot for your help,

Mike



More information about the users mailing list