[OE-core] [PATCH] gcc 4.8: use /lib/ for AArch64

Khem Raj raj.khem at gmail.com
Mon May 27 23:23:09 UTC 2013


On May 27, 2013, at 7:40 AM, Marcin Juszkiewicz <marcin.juszkiewicz at linaro.org> wrote:

> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz at linaro.org>
> ---
> meta/recipes-devtools/gcc/gcc-4.8.inc              |  1 +
> .../gcc/gcc-4.8/use-lib-for-aarch64.patch          | 23 ++++++++++++++++++++++
> 2 files changed, 24 insertions(+)
> create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/use-lib-for-aarch64.patch
> 
> diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc b/meta/recipes-devtools/gcc/gcc-4.8.inc
> index a9786da..5142c0f 100644
> --- a/meta/recipes-devtools/gcc/gcc-4.8.inc
> +++ b/meta/recipes-devtools/gcc/gcc-4.8.inc
> @@ -66,6 +66,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
> 	   file://0034-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
> 	   file://0035-wcast-qual-PR-55383.patch \
> 	   file://gcc-4.8-PR56797.patch \
> +	   file://use-lib-for-aarch64.patch \
> 	  "
> SRC_URI[md5sum] = "e6040024eb9e761c3bea348d1fa5abb0"
> SRC_URI[sha256sum] = "b037fe5132b71ecad2ea7141ec92292b5d32427bf90fd90cde432b1d5abacc2c"
> diff --git a/meta/recipes-devtools/gcc/gcc-4.8/use-lib-for-aarch64.patch b/meta/recipes-devtools/gcc/gcc-4.8/use-lib-for-aarch64.patch
> new file mode 100644
> index 0000000..a647e93
> --- /dev/null
> +++ b/meta/recipes-devtools/gcc/gcc-4.8/use-lib-for-aarch64.patch
> @@ -0,0 +1,23 @@
> +From: Marcin Juszkiewicz <marcin.juszkiewicz at linaro.org>
> +
> +AArch64 is built with /lib/ as prefix but GCC 4.8 tries to use /lib64/
> +path so build fails.
> +
> +It may affect builds when /lib64/ will be used but so far it is not
> +default.
> +

Marcin,

what is the multilib strategy for aarch64? i think using lib64 for 64bit and keep /lib for 32bit apps
would be ideal so you can keep the existing apps running. In OE we have convoluted x86_64 where
when not using mutlilib it uses /lib for 64bit apps and when doing multilib it does /lib64 for default 64bit apps and /lib
for 32bit apps its quite confusing. For arm lets not follow those footsteps and use /lib64 for 64bit from
the onset and then multilib can come later and will fit in nicely.


> +Upstream-status: Inappropriate [OE specific]
> +---
> + gcc/config/aarch64/t-aarch64-linux |    2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +--- gcc-linaro-4.8-2013.04.orig/gcc/config/aarch64/t-aarch64-linux
> ++++ gcc-linaro-4.8-2013.04/gcc/config/aarch64/t-aarch64-linux
> +@@ -20,6 +20,6 @@
> + 
> + LIB1ASMSRC   = aarch64/lib1funcs.asm
> + LIB1ASMFUNCS = _aarch64_sync_cache_range
> + 
> + AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
> +-MULTILIB_OSDIRNAMES = .=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
> ++MULTILIB_OSDIRNAMES = .=../lib$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
> -- 
> 1.8.1.2
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list