Re: Trouble with building multilib GCC (MinGW)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2012/3/15 Ian Lance Taylor <iant@xxxxxxxxxx>:
> niXman <i.nixman@xxxxxxxxx> writes:
>
>> 2012/3/14 Ian Lance Taylor <iant@xxxxxxxxxx>:
>>> When I look at the fourth line of the pastebin link you posted earlier
>>> (http://pastebin.com/KiGHVgVQ) I see an invocation of xgcc.  I can not
>>> see the path used to search for the crt file in that line.  The -B and
>>> -L options passed to xgcc are not the final search path.  The final
>>> search path is computed by the gcc driver by applying multilib
>>> transformations to the -B and -L options.  In order to see the actual
>>> search path, you will need to run that exact command with the -v option.
>>
>> I just now noticed that xgcc is used.
>> According to the instructions [1], core-cross-compiler (make all-gcc)
>> must be built first, and with its help multilib-crt and gcc (make all)
>> is built. How is it possible to determine that xgcc runs/uses
>> <sysroot>/bin/i686-w64-mingw32-gcc.exe?
>
> I very much doubt that it does.  However, you can see the exact set of
> commands that the xgcc driver runs by using the -v option.
>
>> After building and
>> installation (make all-gcc & make install-gcc) core-cross-compiler, I
>> set <sysroot>/bin in PATH.
>>
>>
>>> Thanks.  That all looks fine but I now realize that I need something
>>> else.  The output of:
>>>
>>> gcc --print-multi-os-directory
>> $ i686-w64-mingw32-gcc --print-multi-os-directory
>> ../lib
>>
>>
>>> gcc --print-multi-os-directory -m32
>> $ i686-w64-mingw32-gcc --print-multi-os-directory -m32
>> ../lib
>>
>>
>>> gcc --print-multi-os-directory -m64
>> $ i686-w64-mingw32-gcc --print-multi-os-directory -m64
>> ../lib64
>
> Thanks, but thinking about it I guess what I really need to know is the
> output of those commands using
>
> /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc -B/home/niXman/mingw-build/gcc-4.6.3/./gcc/
>
> as that is the compiler that is running.

$ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc
-B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-directory
.

$ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc
-B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-directory
-m32
.

$ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc
-B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-directory
-m64
64

$ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc
-B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-os-directory
../lib

$ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc
-B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-os-directory
-m32
../lib

$ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc
-B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-os-directory
-m64
../lib64


>
> The question you are asking is basically why that xgcc command did not
> find the 64-bit crt file.  As a first step, I'm trying to verify that it
> is configured to look in the expected directory.  That is, that it is
> configured such that -m64 causes it to append ../lib64 to the -B and -L
> paths that are passed to it.
>
> Can you confirm that the 64-bit crt file is in one of those directory,
> e.g., /home/niXman/mb-0.8/../mingw-x32/i686-w64-mingw32/lib/../lib64 ?

Yes. In  /home/niXman/mb-0.8/../mingw-x32/i686-w64-mingw32/lib64


>
> Ian



-- 
Regards,
  niXman



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux