[GCC-XML] Re: [Bug 1812] Changed - a 64bit mode compiler ist built on x86_64 / 32bit mode

Andreas Degert ad at papyrus-gmbh.de
Mon May 2 05:50:58 EDT 2005


phpbt at public.kitware.com writes:

> ----- Posted by brad.king at kitware.com at 7:54 PM on 05-01-2005 -----
> GCC's build system (duplicated in GCC-XML's CMake listfile code)
> distinguishes between host and target platform.  The configuration with
> which GCC is built determines the host platform.  Runtime options to the
> compiler determine the target platform.
>
> Try running "man gcc" on the machine and look for the section titled
> "Intel 386 and AMD x86-64 Options".  There should be options like
> -mcpu= and -march=.  GCC changes the sizes/alignments of its types
> based on the target architecture.  I suspect these options can be
> passed to gccxml to achieve the same result.  Since the machine is
> 64-bit I bet GCC is choosing 64-bit by default even though it was
> built as a 32-bit executable.

Yes, that's right. My understanding was that gcc would be built with
the 32 bit target as default when its built on x86_64 running in 32
bit mode (and if that is true the build system for gccxml should do
the same).

To say it another way: I can build gccxml on i686 and run it in 32 bit
mode on an amd64 (and it will have 32 bit as default target), but it
seems I can't build such an executable on an amd64 in 32 bit mode
(gccxml will have 64 bit as default target then). So perhaps what's
missing is a way to set the default target in the build process (maybe
there is such a way and I don't know enough about cmake).

I'll try to find out how the standard build process of gcc handles
this.

ciao
Andreas



More information about the gccxml mailing list