gcc x86 compiler on a x86_64 machine with specific gcc and binutils trees (newbie).

Yann E. MORIN yann.morin.1998@anciens.enib.fr
Fri Jul 17 16:34:00 GMT 2009


Kevin,
All,

On Thursday 16 July 2009 13:46:49 Kevin Wilson wrote:
> I want to prepare of gcc x86 compiler on a x86_64 machine.
> I want the compiler to be compatible with Feodra 11 kernels.So
> I downloaded the source rpms of the gcc and binutils of fedora 11,
> binutils-2.19.51.0.2-17.fc11.src.rpm  and gcc-4.4.0-4.src.rpm
> and installed them. I have two directories where the gcc and binutils
> source trees are located on the x86_64 machine: these are
> /usr/src/redhat/BUILD/gcc-x-x-x
> and
> /usr/src/redhat/BUILD/binutils-x-x-x

If you want to build the same toolchain as the one for your distribution
(here, FC-11), you'd also need the Linux kernel headers and C library
from that distribution.

> (Note that I cannot use the .bz2 files of gcc and binutils for
> building the cross compiler because I will miss thus the pathces.)

Note that crosstool-NG comes with its own set of patches for the toolchain
components. It can use the included patchset, but you can also point
crosstool-NG to use an alternate patchset, and use only that; see the
options:
  CUSTOM_PATCH
  CUSTOM_PATCH_ONLY
  CUSTOM_PATCH_DIR

> I had installed crosstools-ng from the repository according to instructions.
> Now, can I configure crosstools-ng on the x86_64 machine
> to build a gcc x86 compiler on a x86_64 machine?

The short answer is 'yes', I've done that more than once.

But with your requirements, the answer would be: maybe, maybe not...
Just grab the FC-11 Linux kernel sanitised headers, the patchset for binutils,
gcc and glibc, and set crosstool-NG to use that. Then you should be able to
build and use that toolchain, that will build executables that run on FC-11.

Or maybe not: FC-11 may pass some weird configure options to binutils/gcc/
glibc that crosstool-NG does not know about, and you would have to specify
those options in the configuration as well; look at the options:
  BINUTILS_EXTRA_CONFIG
  CC_CORE_EXTRA_CONFIG
  CC_EXTRA_CONFIG
  LIBC_GLIBC_EXTRA_CONFIG

All-in-all, crosstool-NG was not designed for such a task. Try, and if
you manage to do it, tell us how you managed. If it does not work, then
if I would suggest you look at the SRPMs for the components involved in
building the toolchain: the build procedure is described in there, and
you would "just" replicate it by hand...

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| --==< ^_^ >==-- `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
`------------------------------^-------^------------------^--------------------'


--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list