This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Error building x86 toolchain


Davide, Mirko, All,

On Monday 02 July 2012 18:32:40 Davide Perlatti wrote:
> Ok, sorry... I want to build the same toolchain i686 on 2 different
> pc: 32 and 64 bit. I don't know if the parameters Emit assembly for
> CPU and Tune for CPU must be the same on both machine.

These options are for the _target_ machine (the machine the toolchain
generates code for), not the _host_ machine (the machine on which the
toolchain runs).

So, whether you are on a 32-bit or a 64-bit host does not impact these
settings.

The settings Mirko suggested (or higher values) are the correct settings
because NPTL requires at least a i486 CPU, and the default CPU for x86
is i386 which lacks the required instrcutions to properly implement NPTL.

> The obtained x-tool on 32 bit machine are ok, now i want to build the
> same toolchain on a 64 bit machine. Always and only 32 bit toolchain.

If you want the "same" toolchain to run on both machines, there re two
options:

1- build a static toolchain on the 32-bit machine, and copy that toolchain
   to the 64-bit machine.
   This way, you ensure that it is the exact same toolchain that runs on
   both machines, and thus that you'll get the exact same behaviour.
   In this case, do not forget to install the -devel packages of your distro
   (eg libc6-dev, libncurses5-dev and so on (on Debian, adapt to your own
   distro package names).

2- build the toolchain on any of the two machines, and copy the .config file
   to the other machine and re-build the toolchain there.
   This way, you get a toolchain that is somewhat /optimised/ for each host,
   and will generate code for the same target.
   Except for highly convoluted issues, the toolchains should produce
   identical ouput (although there are cases where the bitness of the host
   _may_ have some impacts on the generated binaries, where the sections
   and objects could be linked in different orders; I saw that only once on
   a specific 64-bit host which would make the linker behave differently
   than on a 32-bit host). But you should almost safe going this way.

If identicity is a very high requirement of yours, then go for the static
toolchain. Otherwise, choose (toss a dime as a last resort to choose! ;-) )

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]