All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.