* gcc-cross-initial.inc DEPENDS on libc-initial, but why conditionally on TARGET_ARCH?
@ 2008-03-09 18:49 Leon Woestenberg
2008-03-10 16:48 ` Koen Kooi
0 siblings, 1 reply; 6+ messages in thread
From: Leon Woestenberg @ 2008-03-09 18:49 UTC (permalink / raw)
To: openembedded-devel
Hello,
OE toolchain question: any reason why the list below includes arm*,
mips* but nothing else?
gcc-cross-initial.inc:
DEPENDS = "virtual/${TARGET_PREFIX}binutils"
DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH',
d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
PACKAGES = ""
(I'm tracking down a parallel make issue, this seems to cause/trigger
it as I build for powerpc).
Thanks,
--
Leon
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: gcc-cross-initial.inc DEPENDS on libc-initial, but why conditionally on TARGET_ARCH? 2008-03-09 18:49 gcc-cross-initial.inc DEPENDS on libc-initial, but why conditionally on TARGET_ARCH? Leon Woestenberg @ 2008-03-10 16:48 ` Koen Kooi 2008-03-10 17:56 ` Leon Woestenberg 0 siblings, 1 reply; 6+ messages in thread From: Koen Kooi @ 2008-03-10 16:48 UTC (permalink / raw) To: openembedded-devel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Leon Woestenberg schreef: | Hello, | | OE toolchain question: any reason why the list below includes arm*, | mips* but nothing else? | | gcc-cross-initial.inc: | | DEPENDS = "virtual/${TARGET_PREFIX}binutils" | DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', | d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}" | PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial" | PACKAGES = "" | | (I'm tracking down a parallel make issue, this seems to cause/trigger | it as I build for powerpc). I think that's because we only supported nptl for arm and mips when the earth was still young and glibc even nastier than today. I asked this before and never got a conclusive answer :( regards, Koen -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Darwin) iD8DBQFH1WZWMkyGM64RGpERAiclAKC86eWW8nzBnK7qXIsSnpRbdifdZQCeL2fV LJmhpyxT15Hm854ErQYmJtg= =9ahN -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: gcc-cross-initial.inc DEPENDS on libc-initial, but why conditionally on TARGET_ARCH? 2008-03-10 16:48 ` Koen Kooi @ 2008-03-10 17:56 ` Leon Woestenberg 2008-03-10 22:27 ` Richard Purdie 0 siblings, 1 reply; 6+ messages in thread From: Leon Woestenberg @ 2008-03-10 17:56 UTC (permalink / raw) To: openembedded-devel Koen, On Mon, Mar 10, 2008 at 5:48 PM, Koen Kooi <koen@dominion.kabel.utwente.nl> wrote: > | OE toolchain question: any reason why the list below includes arm*, > | mips* but nothing else? > | > | gcc-cross-initial.inc: > | > "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', > | d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}" > > I think that's because we only supported nptl for arm and mips when the > earth was still young and glibc even nastier than today. I asked this > before and never got a conclusive answer :( > I suspected this to be NPTL related, and I vaguely remember you explaining the initial-intermediate dependencies. RP answered on #oe that my logic was inverse: gcc-cross-initial *does* depend on libc-initial *only* when arm/mips is the target, not for other architectures. Indeed, when building powerpc/glibc no libc-initial is involved. However, when I switch to ulibc, there is a libc-initial involved, but it is not depended on, and a parallel build fails. Argh, if only I understood the whole complete picture, I could fix it, Thanks for the answers, Regards, -- Leon ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: gcc-cross-initial.inc DEPENDS on libc-initial, but why conditionally on TARGET_ARCH? 2008-03-10 17:56 ` Leon Woestenberg @ 2008-03-10 22:27 ` Richard Purdie 2008-03-10 23:01 ` Leon Woestenberg 0 siblings, 1 reply; 6+ messages in thread From: Richard Purdie @ 2008-03-10 22:27 UTC (permalink / raw) To: openembedded-devel On Mon, 2008-03-10 at 18:56 +0100, Leon Woestenberg wrote: > On Mon, Mar 10, 2008 at 5:48 PM, Koen Kooi > <koen@dominion.kabel.utwente.nl> wrote: > > | OE toolchain question: any reason why the list below includes arm*, > > | mips* but nothing else? > > | > > | gcc-cross-initial.inc: > > | > > "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', > > | d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}" > > > > I think that's because we only supported nptl for arm and mips when the > > earth was still young and glibc even nastier than today. I asked this > > before and never got a conclusive answer :( > > > I suspected this to be NPTL related, and I vaguely remember you > explaining the initial-intermediate dependencies. > > RP answered on #oe that my logic was inverse: gcc-cross-initial *does* > depend on libc-initial *only* when arm/mips is the target, not for > other architectures. > > Indeed, when building powerpc/glibc no libc-initial is involved. > However, when I switch to ulibc, there is a libc-initial involved, but > it is not depended on, and a parallel build fails. > > Argh, if only I understood the whole complete picture, I could fix it, I tried asking Phil who is/was one of our glibc gurus and he said "those two architectures are more classically 'embedded'" than, say, i386 or powerpc and they might well have more self-hosting runtimes." but he wasn't sure what the exact reason was. I've become fuzzy about how the different toolchain bits fit together so I mapped out the chains below. I've missed out references to TARGET_PREFIX since they just confuse things: gcc-initial depends on virtual/libc-initial for arch != (arm|mips). glibc-initial provides this and it looks like it just stages headers which presumably gcc-initial needs to build. gcc-initial is the compiler used to build the libc used by gcc-cross which is called virtual/libc-for-gcc. virtual/libc-for-gcc is provided either by glibc or by glibc-intermediate depending on whether we're using NPTL. In the case NPTL isn't used, glibc depends on gcc-initial and provides virtual/libc-for-gcc so we have: For arm/mips: linux-libc-headers <- gcc-initial <- glibc <- gcc-cross For everything else: linux-libc-headers <- glibc-initial <- gcc-initial <- glibc <- gcc-cross When NPTL is used for arm/mips: linux-libc-headers <- gcc-initial <- glibc-intermediate <- gcc-cross <- glibc For everything else: linux-libc-headers <- glibc-initial <- gcc-initial <- glibc-intermediate <- gcc-cross <- glibc So its all a bit complex... What was the problem you were seeing with glibc-initial? Cheers, Richard ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: gcc-cross-initial.inc DEPENDS on libc-initial, but why conditionally on TARGET_ARCH? 2008-03-10 22:27 ` Richard Purdie @ 2008-03-10 23:01 ` Leon Woestenberg 2008-03-11 1:46 ` Koen Kooi 0 siblings, 1 reply; 6+ messages in thread From: Leon Woestenberg @ 2008-03-10 23:01 UTC (permalink / raw) To: openembedded-devel Hello Richard, On Mon, Mar 10, 2008 at 11:27 PM, Richard Purdie <rpurdie@rpsys.net> wrote: > On Mon, 2008-03-10 at 18:56 +0100, Leon Woestenberg wrote: > > On Mon, Mar 10, 2008 at 5:48 PM, Koen Kooi > > <koen@dominion.kabel.utwente.nl> wrote: > > Indeed, when building powerpc/glibc no libc-initial is involved. > > However, when I switch to ulibc, there is a libc-initial involved, but > > it is not depended on, and a parallel build fails. > > > > Argh, if only I understood the whole complete picture, I could fix it, > > I tried asking Phil who is/was one of our glibc gurus and he said "those > two architectures are more classically 'embedded'" than, say, i386 or > powerpc and they might well have more self-hosting runtimes." but he > wasn't sure what the exact reason was. > > I've become fuzzy about how the different toolchain bits fit together so > I mapped out the chains below. I've missed out references to > > <excellent summary> > > So its all a bit complex... > > What was the problem you were seeing with glibc-initial? > LOL, now to add further variables, it was with uclibc :-) Apparently, uclibc for powerpc does need libc-initial (provided by uclibc-initial?) as well. I have to rebuild from scratch to see what exactly went wrong and to capture the error. I will do so later. Regards, -- Leon ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: gcc-cross-initial.inc DEPENDS on libc-initial, but why conditionally on TARGET_ARCH? 2008-03-10 23:01 ` Leon Woestenberg @ 2008-03-11 1:46 ` Koen Kooi 0 siblings, 0 replies; 6+ messages in thread From: Koen Kooi @ 2008-03-11 1:46 UTC (permalink / raw) To: openembedded-devel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Leon Woestenberg schreef: | Hello Richard, | | On Mon, Mar 10, 2008 at 11:27 PM, Richard Purdie <rpurdie@rpsys.net> wrote: |> On Mon, 2008-03-10 at 18:56 +0100, Leon Woestenberg wrote: |> > On Mon, Mar 10, 2008 at 5:48 PM, Koen Kooi |> > <koen@dominion.kabel.utwente.nl> wrote: |> > Indeed, when building powerpc/glibc no libc-initial is involved. |> > However, when I switch to ulibc, there is a libc-initial involved, but |> > it is not depended on, and a parallel build fails. |> > |> > Argh, if only I understood the whole complete picture, I could fix it, |> |> I tried asking Phil who is/was one of our glibc gurus and he said "those |> two architectures are more classically 'embedded'" than, say, i386 or |> powerpc and they might well have more self-hosting runtimes." but he |> wasn't sure what the exact reason was. |> |> I've become fuzzy about how the different toolchain bits fit together so |> I mapped out the chains below. I've missed out references to |> |> <excellent summary> |> |> So its all a bit complex... |> |> What was the problem you were seeing with glibc-initial? |> | LOL, now to add further variables, it was with uclibc :-) | | Apparently, uclibc for powerpc does need libc-initial (provided by | uclibc-initial?) as well. There's a comment about that in one of the angstrom files about (possible) needing a uclibc-initial as well. Since uclibc is rather 'dumb' and doesn't do nptl i hasn't been a problem yet, but 0.9.30 is scheduled to have nptl support for arm, ppc and sh, so we probably need to revamp uclibc support... regards, Koen -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Darwin) iD8DBQFH1eR3MkyGM64RGpERAp2gAJ9QmhzayJvzzxYJceAyCbPzj18fDwCfR4VA sN1QuQ4KCbkpFYKlyll54WQ= =evJc -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-03-11 1:48 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-03-09 18:49 gcc-cross-initial.inc DEPENDS on libc-initial, but why conditionally on TARGET_ARCH? Leon Woestenberg 2008-03-10 16:48 ` Koen Kooi 2008-03-10 17:56 ` Leon Woestenberg 2008-03-10 22:27 ` Richard Purdie 2008-03-10 23:01 ` Leon Woestenberg 2008-03-11 1:46 ` Koen Kooi
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.