Patchwork [1/4] conf, recipes: Add new variable LINKER_HASH_STYLE

login
register
mail settings
Submitter Khem Raj
Date Sept. 27, 2011, 3:39 a.m.
Message ID <fd038ffaa07466c14dc983049a9a99989d33be9b.1317094542.git.raj.khem@gmail.com>
Download mbox | patch
Permalink /patch/12183/
State New, archived
Headers show

Comments

Khem Raj - Sept. 27, 2011, 3:39 a.m.
LINKER_HASH_STYLE in OE is set to either 'sysv' or 'gnu'
depending upon processor architecture e.g. mips does not support
gnu hash style so is uses sysv

besides 'sysv' and 'gnu' third option is to set it to 'both' we do
not do that by default but user can still set it

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/bitbake.conf                      |    3 ++-
 meta/conf/distro/include/tcmode-default.inc |    6 +++++-
 meta/recipes-core/uclibc/uclibc.inc         |    2 +-
 3 files changed, 8 insertions(+), 3 deletions(-)
Richard Purdie - Sept. 28, 2011, 1:40 p.m.
On Mon, 2011-09-26 at 20:39 -0700, Khem Raj wrote:
> LINKER_HASH_STYLE in OE is set to either 'sysv' or 'gnu'
> depending upon processor architecture e.g. mips does not support
> gnu hash style so is uses sysv
> 
> besides 'sysv' and 'gnu' third option is to set it to 'both' we do
> not do that by default but user can still set it
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/conf/bitbake.conf                      |    3 ++-
>  meta/conf/distro/include/tcmode-default.inc |    6 +++++-
>  meta/recipes-core/uclibc/uclibc.inc         |    2 +-
>  3 files changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 730439c..47e8547 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -476,7 +476,8 @@ BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \
>                      -Wl,-rpath-link,${STAGING_DIR_HOST}${base_libdir} \
>                      -Wl,-rpath,${base_libdir} -Wl,-O1"
>  
> -TARGET_LINK_HASH_STYLE ??= ""
> +LINKER_HASH_STYLE ??= "gnu"
> +TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('LINKER_HASH_STYLE', d, True) == 'gnu']}"
>  export LDFLAGS = "${TARGET_LDFLAGS}"
>  export TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE}"
>  #export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${libdir} \
> diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
> index 2857215..1ddfbce 100644
> --- a/meta/conf/distro/include/tcmode-default.inc
> +++ b/meta/conf/distro/include/tcmode-default.inc
> @@ -63,5 +63,9 @@ PREFERRED_VERSION_gzip-native ?= "1.4"
>  
>  # Setup suitable toolchain flags
>  require conf/distro/include/as-needed.inc
> -TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH', d, True) in ['mips', 'mipsel', 'mips64', 'mips64el']]}"
>  
> +# mips does not support GNU hash style therefore we hard assign them
> +LINKER_HASH_STYLE_mips = "sysv"
> +LINKER_HASH_STYLE_mipsel = "sysv"
> +LINKER_HASH_STYLE_mips64 = "sysv"
> +LINKER_HASH_STYLE_mips64el = "sysv"

Lets move these to bitbake.conf with the other entries since the other
part of this is now in the global config. It doesn't make sense to
require anyone replacing this file add these entries (and there is
currently no other setting that would make sense on mips).

> diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc
> index 222c34f..f104114 100644
> --- a/meta/recipes-core/uclibc/uclibc.inc
> +++ b/meta/recipes-core/uclibc/uclibc.inc
> @@ -201,5 +201,5 @@ do_configure() {
>  
>  do_install() {
>          oe_runmake PREFIX=${D} install
> -        oe_runmake PREFIX=${D} "SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE}" install_utils
> +	oe_runmake PREFIX=${D} "SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE}" install_utils
>  }

I don't think this was meant to be here...

With those two teaks I'll take this patch. 

For the gcc/glibc upgrade, I'd like a positive pass test result from the
autobuilder to verify the changes. I'll talk to Beth/Saul to see when we
can fit a test run in.

Cheers,

Richard
Khem Raj - Sept. 28, 2011, 3:15 p.m.
On Wed, Sep 28, 2011 at 6:40 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Mon, 2011-09-26 at 20:39 -0700, Khem Raj wrote:
>> LINKER_HASH_STYLE in OE is set to either 'sysv' or 'gnu'
>> depending upon processor architecture e.g. mips does not support
>> gnu hash style so is uses sysv
>>
>> besides 'sysv' and 'gnu' third option is to set it to 'both' we do
>> not do that by default but user can still set it
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>>  meta/conf/bitbake.conf                      |    3 ++-
>>  meta/conf/distro/include/tcmode-default.inc |    6 +++++-
>>  meta/recipes-core/uclibc/uclibc.inc         |    2 +-
>>  3 files changed, 8 insertions(+), 3 deletions(-)
>>
>> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
>> index 730439c..47e8547 100644
>> --- a/meta/conf/bitbake.conf
>> +++ b/meta/conf/bitbake.conf
>> @@ -476,7 +476,8 @@ BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \
>>                      -Wl,-rpath-link,${STAGING_DIR_HOST}${base_libdir} \
>>                      -Wl,-rpath,${base_libdir} -Wl,-O1"
>>
>> -TARGET_LINK_HASH_STYLE ??= ""
>> +LINKER_HASH_STYLE ??= "gnu"
>> +TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('LINKER_HASH_STYLE', d, True) == 'gnu']}"
>>  export LDFLAGS = "${TARGET_LDFLAGS}"
>>  export TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE}"
>>  #export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${libdir} \
>> diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
>> index 2857215..1ddfbce 100644
>> --- a/meta/conf/distro/include/tcmode-default.inc
>> +++ b/meta/conf/distro/include/tcmode-default.inc
>> @@ -63,5 +63,9 @@ PREFERRED_VERSION_gzip-native ?= "1.4"
>>
>>  # Setup suitable toolchain flags
>>  require conf/distro/include/as-needed.inc
>> -TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH', d, True) in ['mips', 'mipsel', 'mips64', 'mips64el']]}"
>>
>> +# mips does not support GNU hash style therefore we hard assign them
>> +LINKER_HASH_STYLE_mips = "sysv"
>> +LINKER_HASH_STYLE_mipsel = "sysv"
>> +LINKER_HASH_STYLE_mips64 = "sysv"
>> +LINKER_HASH_STYLE_mips64el = "sysv"
>
> Lets move these to bitbake.conf with the other entries since the other
> part of this is now in the global config. It doesn't make sense to
> require anyone replacing this file add these entries (and there is
> currently no other setting that would make sense on mips).

yes bitbake.conf is better place

>
>> diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc
>> index 222c34f..f104114 100644
>> --- a/meta/recipes-core/uclibc/uclibc.inc
>> +++ b/meta/recipes-core/uclibc/uclibc.inc
>> @@ -201,5 +201,5 @@ do_configure() {
>>
>>  do_install() {
>>          oe_runmake PREFIX=${D} install
>> -        oe_runmake PREFIX=${D} "SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE}" install_utils
>> +     oe_runmake PREFIX=${D} "SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE}" install_utils
>>  }
>
> I don't think this was meant to be here...
>


Indeed. remnant of a squash

> With those two teaks I'll take this patch.
>
> For the gcc/glibc upgrade, I'd like a positive pass test result from the
> autobuilder to verify the changes. I'll talk to Beth/Saul to see when we
> can fit a test run in.

OK

>
> Cheers,
>
> Richard
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>

Patch

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 730439c..47e8547 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -476,7 +476,8 @@  BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \
                     -Wl,-rpath-link,${STAGING_DIR_HOST}${base_libdir} \
                     -Wl,-rpath,${base_libdir} -Wl,-O1"
 
-TARGET_LINK_HASH_STYLE ??= ""
+LINKER_HASH_STYLE ??= "gnu"
+TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('LINKER_HASH_STYLE', d, True) == 'gnu']}"
 export LDFLAGS = "${TARGET_LDFLAGS}"
 export TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE}"
 #export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${libdir} \
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index 2857215..1ddfbce 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -63,5 +63,9 @@  PREFERRED_VERSION_gzip-native ?= "1.4"
 
 # Setup suitable toolchain flags
 require conf/distro/include/as-needed.inc
-TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH', d, True) in ['mips', 'mipsel', 'mips64', 'mips64el']]}"
 
+# mips does not support GNU hash style therefore we hard assign them
+LINKER_HASH_STYLE_mips = "sysv"
+LINKER_HASH_STYLE_mipsel = "sysv"
+LINKER_HASH_STYLE_mips64 = "sysv"
+LINKER_HASH_STYLE_mips64el = "sysv"
diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc
index 222c34f..f104114 100644
--- a/meta/recipes-core/uclibc/uclibc.inc
+++ b/meta/recipes-core/uclibc/uclibc.inc
@@ -201,5 +201,5 @@  do_configure() {
 
 do_install() {
         oe_runmake PREFIX=${D} install
-        oe_runmake PREFIX=${D} "SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE}" install_utils
+	oe_runmake PREFIX=${D} "SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE}" install_utils
 }