delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2008/07/07/19:40:49

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Recipient: dj AT delorie DOT com
X-Recipient: djgpp AT delorie DOT com
Message-ID: <BAY139-W45413141F49024B6BBB218E6940@phx.gbl>
X-Originating-IP: [131.107.0.103]
From: Jay <jayk123 AT hotmail DOT com>
To: DJ Delorie <dj AT delorie DOT com>
CC: <djgpp AT delorie DOT com>
Subject: RE: libstdc++ writev/2.04/patches upstream?
Date: Mon, 7 Jul 2008 23:40:10 +0000
Importance: Low
In-Reply-To: <200807072141.m67Lf1A6003751@envy.delorie.com>
References: <200807070405 DOT m67451dZ010910 AT delorie DOT com>
<BAY139-W19808358F507B7930E7F6EE6940 AT phx DOT gbl>
<200807071920 DOT m67JKA4v032518 AT envy DOT delorie DOT com>
<BAY139-W3281EFF9FE7174C4D5C2FEE6940 AT phx DOT gbl>
<200807072141 DOT m67Lf1A6003751 AT envy DOT delorie DOT com>
MIME-Version: 1.0
X-OriginalArrivalTime: 07 Jul 2008 23:40:10.0539 (UTC) FILETIME=[CB9027B0:01C8E08A]
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

--_4d39ff54-2f58-4559-84ee-9c160fb2115e_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


> Yup=2C and you have to build just the compiler portions of gcc=2C then> b=
uild djlsr=2C then go back and build the library portions of gcc. The> djcr=
x package helps you bootstrap a sys-root.
Right=2C I'm using djcrx.
=20
For now I'm cheating=2C I let gcc build "all" and I haven't build the runti=
me yet.
Even so=2C as long as you bootstrap from djcrx (or a full native environmen=
t)=2C you should be able to get away with building all. Unless=2C like=2C w=
ell=2C for djgpp=2C nothing=2C but for systems with dynamic linking=2C libg=
cc.so would need libc=2C so then what you said=2C or do the integrated cygn=
us tree thingy (which I should really construct anyway=2C gcc+binutils+gmp+=
mpfr).
=20
Oh=2C or=2C right=2C depending on how the runtime changes.
Like when you go and add something like writev=2C you have to build that=2C=
 then go back and build libstdc++ to use it.
=20
It's all very circular=2C I like to say. :)
=20
 > It's not=2C but automated testing for *any* cross is nearly impossible  =
> without some manual intervention. That's why we have special cases=20
=20
I (naively?) disagree. You can do lots of compile and link tests=2C but not=
 any run tests.
Do you count setting up a sys-root ahead of time "manual intervention"? If =
so=2C ok.
=20
I realize that in bringing up a truly new platform=2C things are more diffi=
cult.
 You have to build the sys-root=2C somehow. The .h files you write yourself=
=2C ok. The .libs you can't make because you don't yet have a compiler. The=
 compiler (at least libstdc++) you can't configure without the .libs. Deadl=
ock.
=20
But once things are in place=2C you can cheat and reuse the previous build =
outputs=2C hoping they are not too divergent from current.
=20
You have to "cheat" in any case=2C like starting with a compiler and linker=
 from somewhere.
"Manual intervention" is also initial machine setup.
 - Jay> Date: Mon=2C 7 Jul 2008 17:41:01 -0400> From: dj AT delorie DOT com> To: j=
ayk123 AT hotmail DOT com> CC: djgpp AT delorie DOT com> Subject: Re: libstdc++ writev/2.=
04/patches upstream?> > > > Why is it any more difficult than any other cro=
ssed situation (of various s=3D> > orts)?> > It's not=2C but automated test=
ing for *any* cross is nearly impossible> without some manual intervention.=
 That's why we have special cases> for newlib=2C cygwin=2C vxworks=2C and d=
jgpp - those are common cases that> we can't otherwise autodetect enough ab=
out.> > > 2) cross binutils before cross gcc> > Yup=2C and you have to buil=
d just the compiler portions of gcc=2C then> build djlsr=2C then go back an=
d build the library portions of gcc. The> djcrx package helps you bootstrap=
 a sys-root.=

--_4d39ff54-2f58-4559-84ee-9c160fb2115e_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style>
.hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt=3B
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class=3D'hmmessage'>
&gt=3B Yup=2C and you have to build just the compiler portions of gcc=2C th=
en<BR>&gt=3B build djlsr=2C then go back and build the library portions of =
gcc. The<BR>&gt=3B djcrx package helps you bootstrap a sys-root.<BR><BR>
Right=2C I'm using djcrx.<BR>
&nbsp=3B<BR>
For now I'm cheating=2C I let gcc build "all" and I haven't build the runti=
me yet.<BR>
Even so=2C as long as you bootstrap from djcrx (or a full native environmen=
t)=2C you&nbsp=3Bshould be able to get away with building all.&nbsp=3BUnles=
s=2C like=2C well=2C for djgpp=2C nothing=2C but for systems with dynamic l=
inking=2C libgcc.so would need libc=2C so then what you said=2C or do the i=
ntegrated cygnus tree thingy (which I should really construct anyway=2C gcc=
+binutils+gmp+mpfr).<BR>
&nbsp=3B<BR>
Oh=2C or=2C right=2C depending on how the runtime changes.<BR>
Like when you go and add something like writev=2C you have to build that=2C=
 then go back and build libstdc++ to use it.<BR>
&nbsp=3B<BR>
It's all very circular=2C I like to say. :)<BR>
&nbsp=3B<BR>
&nbsp=3B&gt=3B It's not=2C but automated testing for *any* cross is nearly =
impossible <BR>&nbsp=3B&gt=3B without some manual intervention. That's why =
we have special cases <BR>
&nbsp=3B<BR>
I (naively?) disagree. You can do lots of compile and link tests=2C but not=
 any run tests.<BR>
Do you count setting up a sys-root ahead of time "manual intervention"? If =
so=2C ok.<BR>
&nbsp=3B<BR>
I realize that in bringing up a truly new platform=2C things are more diffi=
cult.<BR>
&nbsp=3BYou have to build the sys-root=2C somehow. The .h files you write y=
ourself=2C ok. The .libs you can't make because you don't yet have a compil=
er. The compiler (at least libstdc++) you can't configure without the .libs=
. Deadlock.<BR>
&nbsp=3B<BR>
But once things are in place=2C you can cheat and reuse the previous build =
outputs=2C hoping they are not too divergent from current.<BR>
&nbsp=3B<BR>
You have to "cheat" in any case=2C like starting with a compiler and linker=
 from somewhere.<BR>
"Manual intervention" is also initial machine setup.<BR><BR>
&nbsp=3B- Jay<BR><BR><BR>&gt=3B Date: Mon=2C 7 Jul 2008 17:41:01 -0400<BR>&=
gt=3B From: dj AT delorie DOT com<BR>&gt=3B To: jayk123 AT hotmail DOT com<BR>&gt=3B CC: =
djgpp AT delorie DOT com<BR>&gt=3B Subject: Re: libstdc++ writev/2.04/patches upst=
ream?<BR>&gt=3B <BR>&gt=3B <BR>&gt=3B &gt=3B Why is it any more difficult t=
han any other crossed situation (of various s=3D<BR>&gt=3B &gt=3B orts)?<BR=
>&gt=3B <BR>&gt=3B It's not=2C but automated testing for *any* cross is nea=
rly impossible<BR>&gt=3B without some manual intervention. That's why we ha=
ve special cases<BR>&gt=3B for newlib=2C cygwin=2C vxworks=2C and djgpp - t=
hose are common cases that<BR>&gt=3B we can't otherwise autodetect enough a=
bout.<BR>&gt=3B <BR>&gt=3B &gt=3B 2) cross binutils before cross gcc<BR>&gt=
=3B <BR>&gt=3B Yup=2C and you have to build just the compiler portions of g=
cc=2C then<BR>&gt=3B build djlsr=2C then go back and build the library port=
ions of gcc. The<BR>&gt=3B djcrx package helps you bootstrap a sys-root.<BR=
><BR></body>
</html>=

--_4d39ff54-2f58-4559-84ee-9c160fb2115e_--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019