populate_sdk: We need to ensure that the SDK sysroot reflects PACKAGE_ARCH
If we don't do this, the SDK target sysroot is named generically even when it contains package architecture specific optimisations.
---
meta/classes/populate_sdk.bbclass +1 -1
@@ -5,7 +5,7 @@ SDK_DIR = "${WORKDIR}/sdk" SDK_OUTPUT = "${SDK_DIR}/image" SDK_DEPLOY = "${TMPDIR}/deploy/sdk" -SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}" +SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${MULTIMACH_TARGET_SYS}" TOOLCHAIN_HOST_TASK ?= "task-sdk-host-nativesdk task-cross-canadian-${TRANSLATED_TARGET_ARCH}" TOOLCHAIN_TARGET_TASK ?= "task-core-standalone-sdk-target task-core-standalone-sdk-target-dbg"
Richard Purdie wrote on 2011-08-10:
meta/classes/populate_sdk.bbclass SDK_DIR = "${WORKDIR}/sdk" · line 8
Quoted 13 lines
If we don't do this, the SDK target sysroot is named generically even when it contains package architecture specific optimisations.
Signed-off-by Richard Purdie <[email protected]> ---(quoted diff) +0
-0b/meta/classes/populate_sdk.bbclass index 0f3591b..8c19e83 100644 --- a/meta/classes/populate_sdk.bbclass +++ b/meta/classes/populate_sdk.bbclass @@ -5,7 +5,7 @@
SDK_DIR= "${WORKDIR}/sdk"
SDK_OUTPUT= "${SDK_DIR}/image"
SDK_DEPLOY= "${TMPDIR}/deploy/sdk"meta/classes/populate_sdk.bbclass +1
-1-SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}" +SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${MULTIMACH_TARGET_SYS}"
In gcc-configure-sdk.inc, it is set "--with-sysroot=${SDKPATH}/sysroots/${TARGET_SYS}". Is there any inconsistency?
Best Regards,
Lianhao
Quoted 4 lines
TOOLCHAIN_HOST_TASK?= "task-sdk-host-nativesdk task-cross-canadian-${TRANSLATED_TARGET_ARCH}"TOOLCHAIN_TARGET_TASK?= "task-core-standalone-sdk-target
task-core-standalone-sdk-target-dbg"
Quoted 16 lines · Richard Purdie
If we don't do this, the SDK target sysroot is named generically even when it contains package architecture specific optimisations.
Signed-off-by Richard Purdie <[email protected]>---
meta/classes/populate_sdk.bbclass +0
-0@@ -5,7 +5,7 @@ SDK_DIR = "${WORKDIR}/sdk"
SDK_OUTPUT= "${SDK_DIR}/image"SDK_DEPLOY= "${TMPDIR}/deploy/sdk"meta/classes/populate_sdk.bbclass +1
-1-SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}" +SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${MULTIMACH_TARGET_SYS}"
Quoted 3 lines
TOOLCHAIN_HOST_TASK?= "task-sdk-host-nativesdk task-cross-canadian-${TRANSLATED_TARGET_ARCH}"TOOLCHAIN_TARGET_TASK?= "task-core-standalone-sdk-target task-core-standalone-sdk-target-dbg"
Ack.
- k
Quoted 4 lines · Lianhao
Richard Purdie wrote on 2011-08-10:
Quoted 3 lines
If we don't do this, the SDK target sysroot is named generically even when it contains package architecture specific optimisations.
Quoted 13 lines
meta/classes/populate_sdk.bbclass SDK_DIR = "${WORKDIR}/sdk" · line 8
Quoted 10 lines
Signed-off-by Richard Purdie <[email protected]> ---(quoted diff) +0
-0b/meta/classes/populate_sdk.bbclass index 0f3591b..8c19e83 100644 --- a/meta/classes/populate_sdk.bbclass +++ b/meta/classes/populate_sdk.bbclass @@ -5,7 +5,7 @@
SDK_DIR= "${WORKDIR}/sdk"SDK_OUTPUT= "${SDK_DIR}/image"SDK_DEPLOY= "${TMPDIR}/deploy/sdk"meta/classes/populate_sdk.bbclass +1
-1-SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}" +SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${MULTIMACH_TARGET_SYS}"In gcc-configure-sdk.inc, it is set "--with-sysroot=${SDKPATH}/sysroots/${TARGET_SYS}". Is there any inconsistency?
Binutils might also need updating.
- k
Quoted 20 lines · Kumar Gala
Quoted 4 lines · Lianhao
Richard Purdie wrote on 2011-08-10:
Quoted 3 lines
If we don't do this, the SDK target sysroot is named generically even when it contains package architecture specific optimisations.
Quoted 13 lines
meta/classes/populate_sdk.bbclass SDK_DIR = "${WORKDIR}/sdk" · line 8
Quoted 10 lines
Signed-off-by Richard Purdie <[email protected]> ---(quoted diff) +0
-0b/meta/classes/populate_sdk.bbclass index 0f3591b..8c19e83 100644 --- a/meta/classes/populate_sdk.bbclass +++ b/meta/classes/populate_sdk.bbclass @@ -5,7 +5,7 @@
SDK_DIR= "${WORKDIR}/sdk"SDK_OUTPUT= "${SDK_DIR}/image"SDK_DEPLOY= "${TMPDIR}/deploy/sdk"meta/classes/populate_sdk.bbclass +1
-1-SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}" +SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${MULTIMACH_TARGET_SYS}"In gcc-configure-sdk.inc, it is set "--with-sysroot=${SDKPATH}/sysroots/${TARGET_SYS}". Is there any inconsistency?
Quoted 1 line
Binutils might also need updating.
This is an interesting question. We certainly compile in a default path for the sysroot but we in general always override it from the environment anyway.
As long as the package architectures for the sdk components are correct we should be able to update the defaults. I've not yet checked that though.
Cheers,
Richard
Quoted 23 lines · Richard Purdie
Quoted 20 lines · Kumar Gala
Quoted 4 lines · Lianhao
Richard Purdie wrote on 2011-08-10:
Quoted 3 lines
If we don't do this, the SDK target sysroot is named generically even when it contains package architecture specific optimisations.
Quoted 13 lines
meta/classes/populate_sdk.bbclass SDK_DIR = "${WORKDIR}/sdk" · line 8
Quoted 10 lines
Signed-off-by Richard Purdie <[email protected]> ---(quoted diff) +0
-0b/meta/classes/populate_sdk.bbclass index 0f3591b..8c19e83 100644 --- a/meta/classes/populate_sdk.bbclass +++ b/meta/classes/populate_sdk.bbclass @@ -5,7 +5,7 @@
SDK_DIR= "${WORKDIR}/sdk"SDK_OUTPUT= "${SDK_DIR}/image"SDK_DEPLOY= "${TMPDIR}/deploy/sdk"meta/classes/populate_sdk.bbclass +1
-1-SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}" +SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${MULTIMACH_TARGET_SYS}"In gcc-configure-sdk.inc, it is set "--with-sysroot=${SDKPATH}/sysroots/${TARGET_SYS}". Is there any inconsistency?
Quoted 1 line
Binutils might also need updating.
Quoted 7 lines
This is an interesting question. We certainly compile in a default path for the sysroot but we in general always override it from the environment anyway.
As long as the package architectures for the sdk components are correct we should be able to update the defaults. I've not yet checked that though.
This is something which gets built into gcc-cross-canadian-${TARGET_ARCH} (i.e i586/armpowerpc). Since we use the target libs (inc libgcc) and everything in that package is multiple platform enabled, I think the current behaviour is correct. It might point an an invalid default sysroot but its up to the package architecture specific environment files to correct that. This means the one toolchain can be shared over multiple package architectures.
I'm open to other views of that but I think what we have there is correct and should work with the above change.
Cheers,
Richard
Quoted 40 lines · Richard Purdie
Quoted 23 lines · Richard Purdie
Quoted 20 lines · Kumar Gala
Quoted 4 lines · Lianhao
Richard Purdie wrote on 2011-08-10:
Quoted 3 lines
If we don't do this, the SDK target sysroot is named generically even when it contains package architecture specific optimisations.
Quoted 13 lines
meta/classes/populate_sdk.bbclass SDK_DIR = "${WORKDIR}/sdk" · line 8
Quoted 10 lines
Signed-off-by Richard Purdie<[email protected]> ---(quoted diff) +0
-0b/meta/classes/populate_sdk.bbclass index 0f3591b..8c19e83 100644 --- a/meta/classes/populate_sdk.bbclass +++ b/meta/classes/populate_sdk.bbclass @@ -5,7 +5,7 @@
SDK_DIR= "${WORKDIR}/sdk"SDK_OUTPUT= "${SDK_DIR}/image"SDK_DEPLOY= "${TMPDIR}/deploy/sdk"meta/classes/populate_sdk.bbclass +1
-1-SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}" +SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${MULTIMACH_TARGET_SYS}"In gcc-configure-sdk.inc, it is set "--with-sysroot=${SDKPATH}/sysroots/${TARGET_SYS}". Is there any inconsistency?
Quoted 1 line
Binutils might also need updating.
Quoted 7 lines
This is an interesting question. We certainly compile in a default path for the sysroot but we in general always override it from the environment anyway.
As long as the package architectures for the sdk components are correct we should be able to update the defaults. I've not yet checked that though.
This is something which gets built into gcc-cross-canadian-${TARGET_ARCH} (i.e i586/armpowerpc). Since we use the target libs (inc libgcc) and everything in that package is multiple platform enabled, I think the current behaviour is correct. It might point an an invalid default sysroot but its up to the package architecture specific environment files to correct that. This means the one toolchain can be shared over multiple package architectures.
Quoted 2 lines
I'm open to other views of that but I think what we have there is correct and should work with the above change.
On a related thought to these changes - how does this play if
you use multiple SDKs for different, but somewhat related, architectures? I'd like to create a simple SDK (just toolchain mostly) using 'meta-toolchain' for both armv5te and armv7a and install them simultaneously on the same host. My previous attempts at this fell flat as there were a number of files marked as "arm" (i.e. not armv5te or arvm7a) that were common between the two SDK packages, but they didn't seem to be identical.
With these changes, will it be possible to support such sets of multiple toolchains? (No, ADT is not the answer - I just want the toolchains)
Thanks
(sorry if this seems I hijacked your thread - my question is related to what you are discussing here)
Signature · 4 lines
------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------
Quoted 7 lines · Gary Thomas
On a related thought to these changes - how does this play if
you use multiple SDKs for different, but somewhat related, architectures? I'd like to create a simple SDK (just toolchain mostly) using 'meta-toolchain' for both armv5te and armv7a and install them simultaneously on the same host. My previous attempts at this fell flat as there were a number of files marked as "arm" (i.e. not armv5te or arvm7a) that were common between the two SDK packages, but they didn't seem to be identical.
This is supposed to work but wouldn't due to the issue and the patch I've proposed. Whether that is the only issue I don't know.
Can you remember which files we're talking about here?
Quoted 2 lines
With these changes, will it be possible to support such sets of multiple toolchains? (No, ADT is not the answer - I just want the toolchains)
ADT uses meta-toolchain-* so its all related.
Cheers,
Richard
Quoted 11 lines · Richard Purdie
Quoted 7 lines · Gary Thomas
On a related thought to these changes - how does this play if
you use multiple SDKs for different, but somewhat related, architectures? I'd like to create a simple SDK (just toolchain mostly) using 'meta-toolchain' for both armv5te and armv7a and install them simultaneously on the same host. My previous attempts at this fell flat as there were a number of files marked as "arm" (i.e. not armv5te or arvm7a) that were common between the two SDK packages, but they didn't seem to be identical.This is supposed to work but wouldn't due to the issue and the patch I've proposed. Whether that is the only issue I don't know.
I'll be glad to test this once you've worked it out.
Quoted 2 lines
Can you remember which files we're talking about here?
Not right off - there were just a ton of directories with only arm in the path that seemed to be architecture dependent. I think it's all related to TARGET_SYS vs MULTIMACH_TARGET_SYS and how/where they are used.
Quoted 5 lines
Quoted 3 lines
With these changes, will it be possible to support such sets of multiple toolchains? (No, ADT is not the answer - I just want the toolchains)
ADT uses meta-toolchain-* so its all related.
Fair enough, I just don't want to have to use ADT just to install a toolchain.
Thanks
Signature · 4 lines
------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------
Quoted 23 lines · Gary Thomas
Quoted 11 lines · Richard Purdie
Quoted 7 lines · Gary Thomas
On a related thought to these changes - how does this play if
you use multiple SDKs for different, but somewhat related, architectures? I'd like to create a simple SDK (just toolchain mostly) using 'meta-toolchain' for both armv5te and armv7a and install them simultaneously on the same host. My previous attempts at this fell flat as there were a number of files marked as "arm" (i.e. not armv5te or arvm7a) that were common between the two SDK packages, but they didn't seem to be identical.This is supposed to work but wouldn't due to the issue and the patch I've proposed. Whether that is the only issue I don't know.
I'll be glad to test this once you've worked it out.
Quoted 2 lines
Can you remember which files we're talking about here?
Not right off - there were just a ton of directories with only arm in the path that seemed to be architecture dependent. I think it's all related to
TARGET_SYSvsMULTIMACH_TARGET_SYSand how/where they are used.Quoted 1 line
Quoted 6 lines
Quoted 4 lines
Quoted 2 lines
With these changes, will it be possible to support such sets of multiple toolchains? (No, ADT is not the answer - I just want the toolchains)
ADT uses meta-toolchain-* so its all related.
Fair enough, I just don't want to have to use ADT just to install a toolchain.
And this is also something we're wanting to work to allow different PPC toolchain variants to live together
- k
Quoted 10 lines · Gary Thomas
Quoted 9 lines · Richard Purdie
Quoted 7 lines · Gary Thomas
On a related thought to these changes - how does this play if
you use multiple SDKs for different, but somewhat related, architectures? I'd like to create a simple SDK (just toolchain mostly) using 'meta-toolchain' for both armv5te and armv7a and install them simultaneously on the same host. My previous attempts at this fell flat as there were a number of files marked as "arm" (i.e. not armv5te or arvm7a) that were common between the two SDK packages, but they didn't seem to be identical.
Quoted 5 lines
Quoted 2 lines
This is supposed to work but wouldn't due to the issue and the patch I've proposed. Whether that is the only issue I don't know.
I'll be glad to test this once you've worked it out.
Any progress on this yet? The discussion seems to have died down...
Signature · 4 lines
------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------
Richard Purdie
AppliedQuoted 11 lines · Gary Thomas
Quoted 10 lines · Gary Thomas
Quoted 9 lines · Richard Purdie
Quoted 7 lines · Gary Thomas
On a related thought to these changes - how does this play if
you use multiple SDKs for different, but somewhat related, architectures? I'd like to create a simple SDK (just toolchain mostly) using 'meta-toolchain' for both armv5te and armv7a and install them simultaneously on the same host. My previous attempts at this fell flat as there were a number of files marked as "arm" (i.e. not armv5te or arvm7a) that were common between the two SDK packages, but they didn't seem to be identical.
Quoted 6 lines
Quoted 4 lines
Quoted 2 lines
This is supposed to work but wouldn't due to the issue and the patch I've proposed. Whether that is the only issue I don't know.
I'll be glad to test this once you've worked it out.
Any progress on this yet? The discussion seems to have died down...
I merged the patch in question so I'm open to feedback on whether this works better now...
Cheers,
Richard