* 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.