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

See the CrossGCC FAQ 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: bad register name %rbp" when building toolchain


Laura,
All,

On Thursday 16 October 2008 03:13:20 Laura Hughes (lahughes) wrote:
[--Speaking about .config--]
> It should be attached to this email.

OK, got it. Next time, could you keep the mailing list copied, please?

Looking at your .config file, it seems it was hand-edited. There are
inconsistencies in there. Such as:

In "General toolchain options":
  # CT_SHARED_LIBS=y
This is not valid kconfig syntax.

In "Kernel":
  CT_KERNEL_VERSION="2.6.25"
  [--SNIP--]
  # CT_KERNEL_INSTALL_V_2_6_25 is not set
  [--SNIP--]
  CT_KERNEL_INSTALL_V_2_6_25_7=y
Obviously, there's something going wrong here, as well.

In "C-library":
  CT_LIBC_V_2_7=y
But it depends on "EXPERIMENTAL", which is not set:
  # CT_EXPERIMENTAL is not set

So you seem to have hand-edited the file. If you do so, at least run
"ct-ng oldconfig" to be sure nothing goes amiss...

Anyway, looking further...

First, you have CT_CC_NATIVE set to "gcc -m32". That's wrong per-se.
CT_CC_NATIVE is used to generate code for the _building_ machine, which
is an x86_64 in your case. You don't want to generate _build_ tools as
32-bit, do you? ;-) So you'd be better of leaving this to plain "gcc".

Second, glibc-2.7 has problems building on x86_64 for x86. I couldn't make
it build, how strong I massaged it. Stick with 2.6.1 in this situation. Sorry.

Third, NPTL is only supported for i486 and above (see recent thread). But if
you don't specify that, i386 (the lowest common denominator) will be used by
default. So either go with linuxthreads (wich will require downgrading to
2.5.1 at least), or, if your target is i486 or above, use that. Option can be
set with ARCH_ARCH, in "Target options"  --->  "Architecture level".

Fourth, you might benefit from setting "software floating point" if your
target lacks an FPU (standard i486 had none, while pentium and above have
one).

Also, what do you need the glibc ports add-on for? x86 is standard in glibc.

Finally, you could benefit by using at least the latest 1.2.4 release, or even
the SVN trunk (which has, amongst other goodies, support for gcc-4.3.x and a
bunch of fixes).

Hope that helps.

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


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