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