This is the mail archive of the crossgcc@sources.redhat.com 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: cross compiler sparc-TO-i386-linux


Garboua Nahil Y Contr WRALC/LYSFE wrote:
> 
> I am working on a cross compiler host=sparc-sun-solaris2.8 and
> target=i686-pc-linux-gnu
> I got the latest binutils and built it succesfully with
> cnfigure --prefix=/gcc/host/sparc-sun-solaris2.8 --target=i386-pc-linux-gnu
> 
> I am trying to build core gcc before building the glibc so I ran the

 Why not just download or copy glibc for i386-pc-linux ?  It maybe is unknown
to you, but there are prebuilt Linux/x86 distributions for download or you can
buy them on CDs. And these all include prebuilt glibcs...

> configure --prefix=/gcc/host/sparc-sun-solaris2.8 --target=i386-pc-linux-gnu
> --with-headers=/gcc/host/sparc-sun-solaris2.8/i386-pc-linux-gnu/sys-include
> --with-ar= i386-pc-linux-gnu-ar --with-ld= i386-pc-linux-gnu-ld --with-as=
> i386-pc-linux-gnu-as
> so when I did  make SUBDIRS="libiberty texinfo gcc" it compiles i get
> i386-pc-linux-gnu-ld can't find crti.o which is NOT there.

 The 'crt*.o' etc. C-library stuff comes with the prebuilt glibc...

> binutils 2.12
> gcc   3.0.3

 I would be very sceptical to compiling glibc-2.2.5 with gcc-3.0.3... Please
see the glibc-FAQs. The egcs-1.1.2 (included into RedHat 6.x and 7.x) and
gcc-2.95.x (included into other Linux/x86 distributions) should be OK for
compiling glibc-2.2.x. But as told, getting a prebuilt glibc for the 'bootstrap'
phase is the normal method. And if you are not going to build egcs-1.1.2 or
gcc-2.95.3 as another Solaris2-x-Linux/x86 cross-compiler, building glibc with
the gcc-3.0.3 may be insane.

> newlib 1.10

 What really is your target ?  Newlib includes a port for some 'lightweight'
Linux/x86, but Linux/x86 targets like RedHat, SuSE, Mandrake,... use glibc and
the best 'compatability' will be got when using the glibc from the distribution
itself. RedHat 7.2 uses glibc-2.2.4, SuSE 7.3 uses what ?, Mandrake ?  I would
assume glibc-2.2.5 being incompatible with everything in use (unless upgraded),
the systems with their installed '/lib/libc.so.6's have only 'backwards
compatability' to older 'glibc-2.2.x's, glibc-2.1.x's and glibc-2.0.x's... Using
a newer C-library is always a risk...

> "the egg or the chicken first"

 The 'AMD x86_64-linux' target may be the only one for which prebuilt glibc's
aren't available... And your "everything must be possible to be built from scratch"
method being the only way. I would wish this wasn't the case, so if someone (at last)
succeeded to build a working glibc, it would be nice to put that available... Of
course no 'Hammer-PC's exist yet, so no distributions for 'Linux/x86_64' either, but
the situation shouldn't be this hard... Ok, the only problem seems to be that the
'*register_frame_info' stuff will not be built into glibc-2.2.5 and 'crtbegin.o'
needs it... Perhaps the new 'libgcc_eh.a' (in recent gcc-3.1 prereleases) has it, but
the glibc-2.2.5 sources don't know this or something...

 Anyway with the 32-bit Linux/x86 target, why anyone would struggle with these things
if not having the necessary know-how ?  And demand others to use their time to explain
the trivialities like "If you don't need something yet, don't try to build it..." (for
the 'libgcc_s.so*'-case, where 'creating the file' is the obvious solution - 'make'
only wants to see it to exist)
  
 So, please follow the "Installation / Cross-Compiler" instructions from your nice GCC-
manual, preinstall the target binutils (ok, you did this already), and the target C-
library binaries (glib-2.1.3 could provide the best compatability with RedHat 6.2 - 7.2
and others...). Then build your new GCC against the preinstalled target stuff and be
happy... You can consider to update glibc, but first you must 'downgrade' from the
gcc-3.0.3 to gcc-2.95.3 and use that when trying to build glibc-2.2.5... Please see
the file 'glibc-2.2.5/FAQ' in the sources... BTW, if one knows how GCC works, installing
several GCC-versions for the same target isn't a problem, I have egcs-1.1.2, gcc-2.95.3,
gcc-3.0.4 and gcc-3.1 (20020325 prerelease now) for the 'i486-linux-gnu' target with its
own glibc-2.1.3 and glibc-2.2.4, additionally with the 'native' egcs-1.1.2, gcc-2.95.3
and gcc-2.96-85 for the 'i386-redhat-linux' with its glibc-2.2.4 (replaced by the Ximian
Gnome-1.4 from the original glibc-2.2.2 in my RedHat 7.1). 

Cheers, Kai



------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


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