Patchwork [v3] tune-ppc: Update to pass glibc configure option to get cpu specific support

login
register
mail settings
Submitter Kumar Gala
Date Aug. 11, 2011, 6:17 a.m.
Message ID <1313043452-28242-1-git-send-email-galak@kernel.crashing.org>
Download mbox | patch
Permalink /patch/9593/
State New, archived
Headers show

Comments

Kumar Gala - Aug. 11, 2011, 6:17 a.m.
We need --with-cpu based to glibc to get proper support on 603e & e500mc
to pickup proper math libs to deal with sqrt.  These core do not
implement the fsqrt[s] instructions that the normal PPC math libs
utilize.

This causes use to not set AVAILTUNES specifically to the sub-arch only
as we arent generically compatiable.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
v3:
- utilize TUNE_FEATURES for how we set GLIBC_EXTRA_OECONF

 meta/conf/machine/include/tune-ppc603e.inc   |    5 ++++-
 meta/conf/machine/include/tune-ppce500mc.inc |    5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)
Saul Wold - Aug. 11, 2011, 9:51 p.m.
On 08/10/2011 11:17 PM, Kumar Gala wrote:
> We need --with-cpu based to glibc to get proper support on 603e&  e500mc
> to pickup proper math libs to deal with sqrt.  These core do not
> implement the fsqrt[s] instructions that the normal PPC math libs
> utilize.
>
> This causes use to not set AVAILTUNES specifically to the sub-arch only
> as we arent generically compatiable.
>
> Signed-off-by: Kumar Gala<galak@kernel.crashing.org>
> ---
> v3:
> - utilize TUNE_FEATURES for how we set GLIBC_EXTRA_OECONF
>
>   meta/conf/machine/include/tune-ppc603e.inc   |    5 ++++-
>   meta/conf/machine/include/tune-ppce500mc.inc |    5 ++++-
>   2 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
> index 9abb694..44a708a 100644
> --- a/meta/conf/machine/include/tune-ppc603e.inc
> +++ b/meta/conf/machine/include/tune-ppc603e.inc
> @@ -6,6 +6,9 @@ TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations"
>   TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-mcpu=603e", "", d)}"
>   TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', 'ppc603e', '${PPCPKGARCH}', d)}"
>
> -AVAILTUNES += "ppc603e"
> +AVAILTUNES = "ppc603e"
>   TUNE_FEATURES_tune-ppc603e = "m32 ppc603e"
>   PACKAGE_EXTRA_ARCHS_tune-ppc603e = "powerpc ppc603e"
> +
> +# glibc configure options to get 603e specific library (for sqrt)
> +GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-with-cpu=603e", "", d)}"
> diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc
> index b5031f4..9849603 100644
> --- a/meta/conf/machine/include/tune-ppce500mc.inc
> +++ b/meta/conf/machine/include/tune-ppce500mc.inc
> @@ -6,6 +6,9 @@ TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations"
>   TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-mcpu=e500mc", "", d)}"
>   TUNE_PKGARCH = "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "ppce500mc", "${PPCPKGARCH}", d)}"
>
> -AVAILTUNES += "ppce500mc"
> +AVAILTUNES = "ppce500mc"
>   TUNE_FEATURES_tune-ppce500mc = "m32 ppce500mc"
>   PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "powerpc ppce500mc"
> +
> +# glibc configure options to get e500mc specific library (for sqrt)
> +GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-with-cpu=e500mc", "", d)}"

Kumar,

This patch is not applying directly it seems that you might have some 
difference in the TUNE_FEATURES and PACKAGE_EXTRA_ARCHS_ that is 
throwing things off, have you rebased against master?

Sau!
Kumar Gala - Aug. 12, 2011, 4:49 a.m.
On Aug 11, 2011, at 4:51 PM, Saul Wold wrote:

> On 08/10/2011 11:17 PM, Kumar Gala wrote:
>> We need --with-cpu based to glibc to get proper support on 603e&  e500mc
>> to pickup proper math libs to deal with sqrt.  These core do not
>> implement the fsqrt[s] instructions that the normal PPC math libs
>> utilize.
>> 
>> This causes use to not set AVAILTUNES specifically to the sub-arch only
>> as we arent generically compatiable.
>> 
>> Signed-off-by: Kumar Gala<galak@kernel.crashing.org>
>> ---
>> v3:
>> - utilize TUNE_FEATURES for how we set GLIBC_EXTRA_OECONF
>> 
>>  meta/conf/machine/include/tune-ppc603e.inc   |    5 ++++-
>>  meta/conf/machine/include/tune-ppce500mc.inc |    5 ++++-
>>  2 files changed, 8 insertions(+), 2 deletions(-)
>> 
>> diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
>> index 9abb694..44a708a 100644
>> --- a/meta/conf/machine/include/tune-ppc603e.inc
>> +++ b/meta/conf/machine/include/tune-ppc603e.inc
>> @@ -6,6 +6,9 @@ TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations"
>>  TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-mcpu=603e", "", d)}"
>>  TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', 'ppc603e', '${PPCPKGARCH}', d)}"
>> 
>> -AVAILTUNES += "ppc603e"
>> +AVAILTUNES = "ppc603e"
>>  TUNE_FEATURES_tune-ppc603e = "m32 ppc603e"
>>  PACKAGE_EXTRA_ARCHS_tune-ppc603e = "powerpc ppc603e"
>> +
>> +# glibc configure options to get 603e specific library (for sqrt)
>> +GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-with-cpu=603e", "", d)}"
>> diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc
>> index b5031f4..9849603 100644
>> --- a/meta/conf/machine/include/tune-ppce500mc.inc
>> +++ b/meta/conf/machine/include/tune-ppce500mc.inc
>> @@ -6,6 +6,9 @@ TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations"
>>  TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-mcpu=e500mc", "", d)}"
>>  TUNE_PKGARCH = "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "ppce500mc", "${PPCPKGARCH}", d)}"
>> 
>> -AVAILTUNES += "ppce500mc"
>> +AVAILTUNES = "ppce500mc"
>>  TUNE_FEATURES_tune-ppce500mc = "m32 ppce500mc"
>>  PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "powerpc ppce500mc"
>> +
>> +# glibc configure options to get e500mc specific library (for sqrt)
>> +GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-with-cpu=e500mc", "", d)}"
> 
> Kumar,
> 
> This patch is not applying directly it seems that you might have some difference in the TUNE_FEATURES and PACKAGE_EXTRA_ARCHS_ that is throwing things off, have you rebased against master?
> 
> Sau!
> 

I'll post a clean version.

- k

Patch

diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
index 9abb694..44a708a 100644
--- a/meta/conf/machine/include/tune-ppc603e.inc
+++ b/meta/conf/machine/include/tune-ppc603e.inc
@@ -6,6 +6,9 @@  TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations"
 TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-mcpu=603e", "", d)}"
 TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', 'ppc603e', '${PPCPKGARCH}', d)}"
 
-AVAILTUNES += "ppc603e"
+AVAILTUNES = "ppc603e"
 TUNE_FEATURES_tune-ppc603e = "m32 ppc603e"
 PACKAGE_EXTRA_ARCHS_tune-ppc603e = "powerpc ppc603e"
+
+# glibc configure options to get 603e specific library (for sqrt)
+GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-with-cpu=603e", "", d)}"
diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc
index b5031f4..9849603 100644
--- a/meta/conf/machine/include/tune-ppce500mc.inc
+++ b/meta/conf/machine/include/tune-ppce500mc.inc
@@ -6,6 +6,9 @@  TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations"
 TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-mcpu=e500mc", "", d)}"
 TUNE_PKGARCH = "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "ppce500mc", "${PPCPKGARCH}", d)}"
 
-AVAILTUNES += "ppce500mc"
+AVAILTUNES = "ppce500mc"
 TUNE_FEATURES_tune-ppce500mc = "m32 ppce500mc"
 PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "powerpc ppce500mc"
+
+# glibc configure options to get e500mc specific library (for sqrt)
+GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-with-cpu=e500mc", "", d)}"