This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


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

Help building gcc with x86-64 support


Hello,
Sorry I am not subscribed to this list so if you have any help please write directly to me via email. Thanks very much.
---
I am trying to build gcc 3.3.3 from the source code under coLinux (debian). It should work the same as under real Linux.


I am trying to build it so that it can produce 64-bit code for OS development (or 32-bit code with the -m32 option).

I have a version of BOCHS (PC emulator) with 64-bit amd64 emulation, and I want to play around with developing a 64-bit operating system, especially to try out memory management ideas etc.

To do this I need a gcc cross-compiler from Linux i686 to Linux ELF x86_64.

I tried ./configure --target=x86_64-blah-blah and it all works until it tries to compile a C run-time library file, then it generates an assembler error.

The assembler error is on a .s file in a temporary directory, e.g. this is part of the compiler process itself.

The host is i686. The target is 64-bit ELF on x86-64.

The problem is, this C runtime library file has inline assembly code, and the code is 64-bit code. The assembler complains

Do you understand what is going on here?

It looks to me like I already need a 64-bit compiler in order to build a 64-bit compiler, because the C runtime library

Now truthfully, if you can tell me what to use in 'configure' -- e.g. what blah should be (e.g. --target=x86_64-linux-elf), to DISABLE building the C runtime library I will be greatful.

That is because for OS development I don't need a 64-bit C runtime library built in any case.

But truthfully, it SHOULD work -- what 'configure' target should I use in order to make the C runtime library code use the C version not the 64-bit assembly version?

Your help would be greatly appreciated. I want to design a 64-bit operating system for fun, I already have lots of ideas regarding memory management.

Willow


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