[OE-core] [PATCH 1/4] conf, recipes: Add new variable LINKER_HASH_STYLE

Richard Purdie richard.purdie at linuxfoundation.org
Wed Sep 28 13:40:52 UTC 2011


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 at 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






More information about the Openembedded-core mailing list