* Fwd: cross compiling gcc for i686 target
[not found] <CAKhyrx_farUmLu5FVac5_1bepqhAdb_HHy2ngRucs2+V3xfd1g@mail.gmail.com>
@ 2013-03-01 17:39 ` vijay nag
2013-03-01 18:28 ` Ian Lance Taylor
0 siblings, 1 reply; 5+ messages in thread
From: vijay nag @ 2013-03-01 17:39 UTC (permalink / raw)
To: gcc-help
Hi,
Is it possible to do a cross compile of gcc-4.7.2 on AMD x86_64 to
produce i686 target ?
My build, host and target parameters are amd64-pc-linux-gnu,
amd64-pc-linux-gnu and i686-pc-linux-gnu. My native compiler again is
a 64 bit compiler emitting default 64 bit object code.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: cross compiling gcc for i686 target
2013-03-01 17:39 ` Fwd: cross compiling gcc for i686 target vijay nag
@ 2013-03-01 18:28 ` Ian Lance Taylor
2013-03-01 20:01 ` Tim Prince
2013-03-02 7:45 ` vijay nag
0 siblings, 2 replies; 5+ messages in thread
From: Ian Lance Taylor @ 2013-03-01 18:28 UTC (permalink / raw)
To: vijay nag; +Cc: gcc-help
On Fri, Mar 1, 2013 at 9:39 AM, vijay nag <vijunag@gmail.com> wrote:
>
> Is it possible to do a cross compile of gcc-4.7.2 on AMD x86_64 to
> produce i686 target ?
>
> My build, host and target parameters are amd64-pc-linux-gnu,
> amd64-pc-linux-gnu and i686-pc-linux-gnu. My native compiler again is
> a 64 bit compiler emitting default 64 bit object code.
Yes, it is possible.
It is also usually unnecessary. A typical x86_64 compiler
installation will produce 32-bit x86 code with the -m32 option.
Ian
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: cross compiling gcc for i686 target
2013-03-01 18:28 ` Ian Lance Taylor
@ 2013-03-01 20:01 ` Tim Prince
2013-03-02 7:45 ` vijay nag
1 sibling, 0 replies; 5+ messages in thread
From: Tim Prince @ 2013-03-01 20:01 UTC (permalink / raw)
To: gcc-help
On 03/01/2013 01:28 PM, Ian Lance Taylor wrote:
> On Fri, Mar 1, 2013 at 9:39 AM, vijay nag <vijunag@gmail.com> wrote:
>> Is it possible to do a cross compile of gcc-4.7.2 on AMD x86_64 to
>> produce i686 target ?
>>
>> My build, host and target parameters are amd64-pc-linux-gnu,
>> amd64-pc-linux-gnu and i686-pc-linux-gnu. My native compiler again is
>> a 64 bit compiler emitting default 64 bit object code.
> Yes, it is possible.
>
> It is also usually unnecessary. A typical x86_64 compiler
> installation will produce 32-bit x86 code with the -m32 option.
>
> Ian
That switches you over to a 32-bit compiler, taking advantage of the
support of 32-bit execution under this OS. In many current x86_64
installations, the 32-bit compiler is an additional option requiring the
primary gcc development system option.
--
Tim Prince
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: cross compiling gcc for i686 target
2013-03-01 18:28 ` Ian Lance Taylor
2013-03-01 20:01 ` Tim Prince
@ 2013-03-02 7:45 ` vijay nag
2013-03-04 15:14 ` vijay nag
1 sibling, 1 reply; 5+ messages in thread
From: vijay nag @ 2013-03-02 7:45 UTC (permalink / raw)
To: Ian Lance Taylor; +Cc: gcc-help
I tried to build with host,build = amd64-pc-linux-gnu and
target=i686-pc-linux-gnu. Binutils compile successfully for
i686-pc-linux-gnu target , but when native compiler tries to invoke
"i686-pc-linux-gn-as" which by default emits 32 bit code i see the
following errors.
gcc -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall
-Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-format-attribute -Wold-style-definition -Wc++-compat
-DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../../gcc/gcc
-I../../../gcc/gcc/build -I../../../gcc/gcc/../include
-I../../../gcc/gcc/../libcpp/include
-I/localdisk/vinag/tmp/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/objdir_201302221200_linux-x86/gcc_stage1/./gmp
-I/localdisk/vinag/tmp/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/gcc/gmp
-I/localdisk/vinag/tmp/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/objdir_201302221200_linux-x86/gcc_stage1/./mpfr
-I/localdiskvinag/tmp/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/gcc/mpfr
-I/localdisk/vinag/tmp/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/gcc/mpc/src
-I../../../gcc/gcc/../libdecnumber
-I../../../gcc/gcc/../libdecnumber/bid -I../libdecnumber \
-DBASEVER="\"4.7.2\"" -DDATESTAMP="\"\"" \
-DREVISION="\"\"" \
-DDEVPHASE="\"\"" -DPKGVERSION="\"(GCC) \"" \
-DBUGURL="\"<http://gcc.gnu.org/bugs.html>\"" -o
build/version.o ../../../gcc/gcc/version.c
/tmp/ccAlfevC.s: Assembler messages:
/tmp/ccAlfevC.s:37: Error: cannot represent relocation type BFD_RELOC_64
/tmp/ccAlfevC.s:38: Error: cannot represent relocation type BFD_RELOC_64
/tmp/ccAlfevC.s:66: Error: cannot represent relocation type BFD_RELOC_64
/tmp/ccAlfevC.s:84: Error: cannot represent relocation type BFD_RELOC_64
/tmp/ccAlfevC.s:102: Error: cannot represent relocation type BFD_RELOC_64
make[2]: *** [build/version.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/bin/sh ../../../gcc/gcc/../move-if-change tmp-optionlist optionlist
echo timestamp > s-options
make[2]: *** wait: No child processes. Stop.
make[1]: *** [all-gcc] Error 2
exporting CFLAGS='-m64' I could go past this point. It bails out in
the next stage of compilation when the target compiler is used with
-m64 option with the error "cc1plus: sorry, unimplemented: 64-bit mode
not compiled in"
On Fri, Mar 1, 2013 at 11:58 PM, Ian Lance Taylor <iant@google.com> wrote:
> On Fri, Mar 1, 2013 at 9:39 AM, vijay nag <vijunag@gmail.com> wrote:
>>
>> Is it possible to do a cross compile of gcc-4.7.2 on AMD x86_64 to
>> produce i686 target ?
>>
>> My build, host and target parameters are amd64-pc-linux-gnu,
>> amd64-pc-linux-gnu and i686-pc-linux-gnu. My native compiler again is
>> a 64 bit compiler emitting default 64 bit object code.
>
> Yes, it is possible.
>
> It is also usually unnecessary. A typical x86_64 compiler
> installation will produce 32-bit x86 code with the -m32 option.
>
> Ian
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: cross compiling gcc for i686 target
2013-03-02 7:45 ` vijay nag
@ 2013-03-04 15:14 ` vijay nag
0 siblings, 0 replies; 5+ messages in thread
From: vijay nag @ 2013-03-04 15:14 UTC (permalink / raw)
To: Ian Lance Taylor; +Cc: gcc-help
Will cross compile of gcc create xgcc by any chance ? xgcc is trying
to make references to the target specific libraries like libcrt, libc,
et al while compiling libstdc++-v3.
Tail of my config logs.
configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES”
configure:3885:
/auto/nobackup-bgl-mitg-dev13/vinag/tmpv/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/objdir_201302221200_linux-x86/gcc_stage1/./gcc/xgcc
-B/auto/nobackup-bgl-mitg-dev13/vinag/tmpv/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/objdir_201302221200_linux-x86/gcc_stage1/./gcc/
-B/ws/vinag-bgl/tools/bintools/linux-x86/gcc/201302221200/i686-pc-linux-gnu/bin/
-B/ws/vinag-bgl/tools/bintools/linux-x86/gcc/201302221200/i686-pc-linux-gnu/lib/
-isystem /ws/vinag-bgl/tools/bintools/linux-x86/gcc/201302221200/i686-pc-linux-gnu/include
-isystem /ws/vinag-bgl/tools/bintools/linux-x86/gcc/201302221200/i686-pc-linux-gnu/sys-include
-o conftest -m32 conftest.c >&5
/ws/vinag-bgl/tools/bintools/linux-x86/gcc/201302221200/i686-pc-linux-gnu/bin/ld:
cannot find crt1.o: No such file or directory
/ws/vinag-bgl/tools/bintools/linux-x86/gcc/201302221200/i686-pc-linux-gnu/bin/ld:
cannot find crti.o: No such file or directory
/ws/vinag-bgl/tools/bintools/linux-x86/gcc/201302221200/i686-pc-linux-gnu/bin/ld:
cannot find -lc
/ws/vinag-bgl/tools/bintools/linux-x86/gcc/201302221200/i686-pc-linux-gnu/bin/ld:
cannot find crtn.o: No such file or directory
Why is this error ?
On Sat, Mar 2, 2013 at 1:15 PM, vijay nag <vijunag@gmail.com> wrote:
> I tried to build with host,build = amd64-pc-linux-gnu and
> target=i686-pc-linux-gnu. Binutils compile successfully for
> i686-pc-linux-gnu target , but when native compiler tries to invoke
> "i686-pc-linux-gn-as" which by default emits 32 bit code i see the
> following errors.
>
> gcc -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall
> -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
> -Wmissing-format-attribute -Wold-style-definition -Wc++-compat
> -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../../gcc/gcc
> -I../../../gcc/gcc/build -I../../../gcc/gcc/../include
> -I../../../gcc/gcc/../libcpp/include
> -I/localdisk/vinag/tmp/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/objdir_201302221200_linux-x86/gcc_stage1/./gmp
> -I/localdisk/vinag/tmp/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/gcc/gmp
> -I/localdisk/vinag/tmp/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/objdir_201302221200_linux-x86/gcc_stage1/./mpfr
> -I/localdiskvinag/tmp/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/gcc/mpfr
> -I/localdisk/vinag/tmp/sbtools.tmp.201302221200/sbtools/systemsw/tools/src/gcc/mpc/src
> -I../../../gcc/gcc/../libdecnumber
> -I../../../gcc/gcc/../libdecnumber/bid -I../libdecnumber \
> -DBASEVER="\"4.7.2\"" -DDATESTAMP="\"\"" \
> -DREVISION="\"\"" \
> -DDEVPHASE="\"\"" -DPKGVERSION="\"(GCC) \"" \
> -DBUGURL="\"<http://gcc.gnu.org/bugs.html>\"" -o
> build/version.o ../../../gcc/gcc/version.c
> /tmp/ccAlfevC.s: Assembler messages:
> /tmp/ccAlfevC.s:37: Error: cannot represent relocation type BFD_RELOC_64
> /tmp/ccAlfevC.s:38: Error: cannot represent relocation type BFD_RELOC_64
> /tmp/ccAlfevC.s:66: Error: cannot represent relocation type BFD_RELOC_64
> /tmp/ccAlfevC.s:84: Error: cannot represent relocation type BFD_RELOC_64
> /tmp/ccAlfevC.s:102: Error: cannot represent relocation type BFD_RELOC_64
> make[2]: *** [build/version.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> /bin/sh ../../../gcc/gcc/../move-if-change tmp-optionlist optionlist
> echo timestamp > s-options
> make[2]: *** wait: No child processes. Stop.
> make[1]: *** [all-gcc] Error 2
>
> exporting CFLAGS='-m64' I could go past this point. It bails out in
> the next stage of compilation when the target compiler is used with
> -m64 option with the error "cc1plus: sorry, unimplemented: 64-bit mode
> not compiled in"
>
> On Fri, Mar 1, 2013 at 11:58 PM, Ian Lance Taylor <iant@google.com> wrote:
>> On Fri, Mar 1, 2013 at 9:39 AM, vijay nag <vijunag@gmail.com> wrote:
>>>
>>> Is it possible to do a cross compile of gcc-4.7.2 on AMD x86_64 to
>>> produce i686 target ?
>>>
>>> My build, host and target parameters are amd64-pc-linux-gnu,
>>> amd64-pc-linux-gnu and i686-pc-linux-gnu. My native compiler again is
>>> a 64 bit compiler emitting default 64 bit object code.
>>
>> Yes, it is possible.
>>
>> It is also usually unnecessary. A typical x86_64 compiler
>> installation will produce 32-bit x86 code with the -m32 option.
>>
>> Ian
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-03-04 15:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <CAKhyrx_farUmLu5FVac5_1bepqhAdb_HHy2ngRucs2+V3xfd1g@mail.gmail.com>
2013-03-01 17:39 ` Fwd: cross compiling gcc for i686 target vijay nag
2013-03-01 18:28 ` Ian Lance Taylor
2013-03-01 20:01 ` Tim Prince
2013-03-02 7:45 ` vijay nag
2013-03-04 15:14 ` vijay nag
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).