This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix mingw32 bootstrap regression.
- From: 'Bob Rossi' <bob_rossi at cox dot net>
- To: Danny Smith <dannysmith at clear dot net dot nz>
- Cc: 'Carlos O'Donell' <carlos at codesourcery dot com>, gcc-patches at gcc dot gnu dot org, 'Mark Mitchell' <mark at codesourcery dot com>
- Date: Sat, 23 Dec 2006 15:29:01 -0500
- Subject: Re: [PATCH] Fix mingw32 bootstrap regression.
- References: <20061223172320.GH3022@cox.net> <000001c726cb$e0e0e480$dd6d65da@anykey>
On Sun, Dec 24, 2006 at 08:52:27AM +1300, Danny Smith wrote:
>
> > > O, I also got the silly Make error, where I need to change
> > > ORIGINAL_LD_FOR_TARGET =
> > >
> > C:/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../mingw32/bin/ld.exe
> > > to
> > > ORIGINAL_LD_FOR_TARGET =
> > > /mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../mingw32/bin/ld.exe
> > > Do you do this each time?
> > >
>
> I never need to do it. configure gives me:
> ORIGINAL_AS_FOR_TARGET = /mingw/i686-pc-mingw32dw2/bin/as
> ORIGINAL_LD_FOR_TARGET = /mingw/i686-pc-mingw32dw2/bin/ld
>
> which get put into local as and ld shell scripts.
OK, I figured this out. When I saw your mount table I copied the
mount C:/mingw /mingw
This got me past that error when I do a make bootstrap. Now I have,
ORIGINAL_AS_FOR_TARGET = /mingw/mingw32/bin/as
ORIGINAL_LD_FOR_TARGET = /mingw/mingw32/bin/ld
ORIGINAL_NM_FOR_TARGET = /mingw/mingw32/bin/nm
similar to yours.
> This error:
> > > -o libgcc/./_chkstk.o
> > > xgcc.exe: CreateProcess: No such file or directory
>
> is probably because ORIGINAL_AS_FOR_TARGET is incorrect in your
> configuration.
Unfortunatly it's not. Although I must be getting closer.
> What sh.exe are you using?
$ PATH=/mingw/bin:$PATH which sh
/usr/bin/sh
$ PATH=/mingw/bin:$PATH df /usr/bin
Filesystem 1K-blocks Used Available Use% Mounted on
C:\cygwin\bin 40957684 38423000 2534684 94% /usr/bin
So, I'm using cygwin's sh, I'm pretty sure that's what you wanted.
How is your build dir rooted (is it binmode)?
That's a good question. I hadn't thought of that.
$ df $PWD
Filesystem 1K-blocks Used Available Use% Mounted on
C:\cygwin 40957684 38423000 2534684 94% /
$ mount
C:\cygwin on / type system (binmode)
If I do
export PATH=/mingw/bin:$PATH
../gcc/configure \
--with-gmp=c:/msys/1.0/home/bobbybrasko/gcc/gmp/gmp \
--with-mpfr=c:/msys/1.0/home/bobbybrasko/gcc/mpfr/prefixdir \
--with-gcc --enable-libgomp --host=mingw32 \
--build=mingw32 --target=mingw32 --with-arch=i486 \
--with-tune=i686 --disable-werror --prefix=/mingw \
--with-local-prefix=/mingw --enable-threads --disable-nls \
--enable-languages=c,c++,objc,fortran --disable-win32-registry \
--disable-sjlj-exceptions --enable-libstdcxx-debug \
--enable-cxx-flags='-fno-function-sections -fno-data-sections' \
-enable-shared --enable-version-specific-runtime-libs 2>&1 | tee
configure-out.txt
make CXXFLAGS="-mthreads -O2" bootstrap 2>&1 | tee make-out.txt
I now get to the same error message without the Makefile problem.
if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi
/home/bobbybrasko/gcc/svn/build3/./gcc/xgcc
-B/home/bobbybrasko/gcc/svn/build3/./gcc/
-L/home/bobbybrasko/gcc/svn/build3/mingw32/winsup/mingw
-L/home/bobbybrasko/gcc/svn/build3/mingw32/winsup/w32api/lib
-isystem /home/bobbybrasko/gcc/svn/gcc/winsup/mingw/include
-isystem /home/bobbybrasko/gcc/svn/gcc/winsup/w32api/include
-B/mingw/mingw32/bin/ -B/mingw/mingw32/lib/
-isystem /mingw/mingw32/include
-isystem /mingw/mingw32/sys-include -O2
-I../../gcc/gcc/../winsup/w32api/include -O2 -g -O2 -DIN_GCC
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc/gcc
-I../../gcc/gcc/. -I../../gcc/gcc/../include
-I../../gcc/gcc/../libcpp/include
-Ic:/msys/1.0/home/bobbybrasko/gcc/gmp/gmp/include
-Ic:/msys/1.0/home/bobbybrasko/gcc/mpfr/prefixdir/include
-I../../gcc/gcc/../libdecnumber -I../libdecnumber -DL_chkstk
-xassembler-with-cpp -c ../../gcc/gcc/config/i386/cygwin.asm
-o libgcc/./_chkstk.o
xgcc.exe: CreateProcess: No such file or directory
make[4]: *** [libgcc/./_chkstk.o] Error 1
make[4]: Leaving directory `/home/bobbybrasko/gcc/svn/build3/gcc'
make[3]: *** [libgcc.a] Error 2
make[3]: Leaving directory `/home/bobbybrasko/gcc/svn/build3/gcc'
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory `/home/bobbybrasko/gcc/svn/build3'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/bobbybrasko/gcc/svn/build3'
make: *** [bootstrap] Error 2
Are you doing anything with a sysroot? or did you setup the i686
directory special somehow? What about the --enable-shared? I was under
the impression that didn't work with mingw.
Thanks,
Bob Rossi