building x86_64 using lsflivecd-86_64

Mike McCarty Mike.McCarty at sbcglobal.net
Tue Nov 17 11:51:42 PST 2009


Lapohos Tibor wrote:

[...]

> Bruce wrote:
>> Yes, you are wrong.  The reason for the cross compile is to completely isolate the current host from the new system.
>  
> OK, but is that not what we do in the LFS 6.4 or 6.5 as well? I am not trying to argue, just to better understand. In both LFS and CLFS we build such that we gradually detach ourselves completly from the host, right? Then what does the 64 bit compilation have to do with the detachment process once the target and the host acrhitectures are the same?

Yes, it is. What's actually done with the "normal" 6.4 build is not a
cross compile, it's a bootstrap. One needs an actual cross compiler
only when the target architecture is different from the host
architecture.

Bootstrapping used to be more difficult. We used to have to write a
simple assembler, in assembler, then hand translate to machine language.
Then, using the hand created assembler, assemble the original, and then
enhance it to do some macros and what not, and add a linker written in
asembly. Then a simple compiler for a <pick favorite high level
language> subset would be done in assembler, and the assembler+linker
used to build that. Then one would write a compiler for the high level
language in the higher level language subset, and use the subset
compiler in assembly to compile that. THEN one could enhance the
high level language compiler written in itself.

It's a lot easier, now. Partly that's because we can take a compiler
for, say, C, written in C, and redo only the back end. There are
easily retargetable assemblers in C, so we retarget one of those to
the new architecture, and redo the back end of the C compiler for
this retargeted assembler. All this gets done on another computer.
This tool set running on one machine but building for another is
called the cross tool set.

> Put this way, it makes sense to me. What I would like to obtain is a
> 64 bit machine that has 32 bit libraries as well, so that I do not
> limit the system to 64 bit applications. 64 bits I need for those of
> my own. And, for this purpose, what Aleksandar wrote, that is,

What you want is DPMI for Linux? A sort of LPMI? :-)

[...]

> While on this note, I do ot quite understand why one would not re-compile GRUB as well:

It's not part of the Linux system at all. It has nothing to do with
Linux. It's just needed to do the original boot load.

Mike
-- 
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
Oppose globalization and One World Governments like the UN.
This message made from 100% recycled bits.
You have found the bank of Larn.
I speak only for myself, and I am unanimous in that!



More information about the lfs-support mailing list