Re: Build gcc 4.1.0 so i can target both x86 and AMD64

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

 



Richard Homolka writes:
 > Thanks andrew
 > 
 > 
 > >From: Andrew Haley <aph@xxxxxxxxxx>
 > >To: "Richard Homolka" <rhomolka@xxxxxxxxxxx>
 > >CC: gcc-help@xxxxxxxxxxx
 > >Richard Homolka writes:
 > >  > Hello, i just built gcc 4.1.0 from sources.  I'd like to be able to 
 > >target
 > >  > both 32 bit and 64 bit apps.  I try to add the -m64 flag to a compile 
 > >though
 > >  > and i get:
 > >  > hello.c:1: sorry, unimplemented: 64-bit mode not compiled in
 > >  >
 > >  > what did i do wrong in the build?  i didn't see anything about 
 > >targetting
 > >  > multiple configs.
 > >  > My configure command is:
 > >  > ../gcc-4.*/configure \
 > >  >         --prefix=/tp/tools/gcc/4.1.0 \
 > >  >         --enable-shared \
 > >  >         --enable-threads \
 > >  >         --enable-tls \
 > >  >         --with-arch=pentium3 \
 > >
 > >What's this for?  Take it out.
 > wanted to have default arch flags for our builds.  is this affecting the gcc 
 > build, or just it's defualt flags?

It doesn't make sense.  Pentium 3 is 32-bit.

 > >  >         --with-tune=pentium4 \
 > >  >         --enable-__cxa_atexit \
 > >  >         --enable-languages=c,c++,fortran \
 > >  >         --disable-nls \
 > >  >         --with-gmp=$GMPDIR \
 > >  >         --with-mpfr=$MPFRDIR
 > >  >
 > >  > any tips? thank you
 > >
 > >What does `uname -a' say?
 > taserv@lx-chtasglab4$: uname -a
 > Linux lx-chtasglab4.wfg.com 2.4.21-32.0.1.ELhugemem #1 SMP Tue May 17 
 > 17:43:22 EDT 2005 i686 i686 i386 GNU/Linux

You seem to be running a 32-bit operating system.  As a consequence of
that, you only have 32-bit libraries and 32-bit headers.  This means
gcc can't generate 64-bit programs becasue it's got no way of linking
them.

I suggest you install a 64-bit OS.  Then you can use 32-bit and 64-bit
libraries.

 > >What did the first 20 or so lines of the
 > >configure output look like?
 > creating cache ./config.cache
 > checking host system type... i686-pc-linux-gnu
 > checking target system type... i686-pc-linux-gnu
 > checking build system type... i686-pc-linux-gnu

This is 32-bit only.

Now, it is possible to build a 32-bit to 64-bit cross compiler.  To do
that, if you really want to do it, you'll need to get a set of 64-bit
libraries and headers from somwhere and build a x86_64 cross-compiler.
I don't encourage you to do this.

Andrew.

[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