[yocto] [meta-linaro][PATCH] external-linaro-toolchain: Fix for 32bit armhf build

Kazuya Nishimura kazuya.nisimura at gmail.com
Thu Apr 10 00:49:27 PDT 2014


From: Kazuya Nishimura <kazuya.nisimura at gmail.com>

Use ld-linux-armhf.so.3 if call convention hard.
Fix QA issue errors by packaging approprieately.
Add eglibc-locale_2.19.bbappend to fix QA issue error.
  An empty directory is created while do_install.

Signed-off-by: Kazuya Nishimura <kazuya.nisimura at gmail.com>
---
 .../conf/distro/include/tcmode-external-linaro.inc |    1 +
 .../eglibc/eglibc-locale_2.19.bbappend             |   23 ++++++++++++
 .../external-linaro-toolchain.bb                   |   38
++++++++++++++++----
 3 files changed, 56 insertions(+), 6 deletions(-)
 create mode 100755
meta-linaro-toolchain/recipes-core/eglibc/eglibc-locale_2.19.bbappend

diff --git
a/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc
b/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc
index 1d9fd59..26d464c 100644
--- a/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc
+++ b/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc
@@ -41,6 +41,7 @@ DISTRO_FEATURES_LIBC = "ipv4 ipv6 libc-backtrace
libc-big-macros libc-bsd libc-c
  libc-getlogin libc-idn libc-inet-anl libc-libm libc-libm-big \
  libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn
libc-streams libc-sunrpc \
  libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar
libc-posix-regexp libc-posix-regexp-glibc \
+ libc-charsets libc-locales libc-locale-code \
  libc-posix-wchar-io"

 ENABLE_BINARY_LOCALE_GENERATION = "0"
diff --git
a/meta-linaro-toolchain/recipes-core/eglibc/eglibc-locale_2.19.bbappend
b/meta-linaro-toolchain/recipes-core/eglibc/eglibc-locale_2.19.bbappend
new file mode 100755
index 0000000..3e91e74
--- /dev/null
+++ b/meta-linaro-toolchain/recipes-core/eglibc/eglibc-locale_2.19.bbappend
@@ -0,0 +1,23 @@
+do_install () {
+ mkdir -p ${D}${datadir}
+ if [ -n "$(ls ${LOCALETREESRC}/${bindir})" ]; then
+ mkdir -p ${D}${bindir}
+ cp -fpPR ${LOCALETREESRC}/${bindir}/* ${D}${bindir}
+ fi
+ if [ -n "$(ls ${LOCALETREESRC}/${localedir})" ]; then
+ mkdir -p ${D}${localedir}
+ cp -fpPR ${LOCALETREESRC}/${localedir}/* ${D}${localedir}
+ fi
+ if [ -e ${LOCALETREESRC}/${libdir}/gconv ]; then
+ mkdir -p ${D}${libdir}
+ cp -fpPR ${LOCALETREESRC}/${libdir}/gconv ${D}${libdir}
+ fi
+ if [ -e ${LOCALETREESRC}/${datadir}/i18n ]; then
+ cp -fpPR ${LOCALETREESRC}/${datadir}/i18n ${D}${datadir}
+ fi
+ if [ -e ${LOCALETREESRC}/${datadir}/locale ]; then
+ cp -fpPR ${LOCALETREESRC}/${datadir}/locale ${D}${datadir}
+ fi
+ chown root.root -R ${D}
+ cp -fpPR ${LOCALETREESRC}/SUPPORTED ${WORKDIR}
+}
diff --git
a/meta-linaro-toolchain/recipes-devtools/external-linaro-toolchain/
external-linaro-toolchain.bbb/meta-linaro-toolchain/recipes-devtools/external-linaro-toolchain/
external-linaro-toolchain.bb
index 240d550..47fd4ca 100644
--- a/meta-linaro-toolchain/recipes-devtools/external-linaro-toolchain/
external-linaro-toolchain.bb
+++ b/meta-linaro-toolchain/recipes-devtools/external-linaro-toolchain/
external-linaro-toolchain.bb
@@ -41,6 +41,12 @@ PROVIDES += "\
  libitm \
  libitm-dev \
  libitm-staticdev \
+ libasan \
+ libasan-dev \
+ libasan-staticdev \
+ libatomic \
+ libatomic-dev \
+ libatomic-staticdev \
  virtual/linux-libc-headers \
 "

@@ -50,12 +56,11 @@ PR = "r2"
 # https://launchpad.net/linaro-toolchain-binaries
 SRC_URI = "file://SUPPORTED"

+LDLINUX32 = "${@base_contains("TUNE_FEATURES", "callconvention-hard",
"ld-linux-armhf.so.3", "ld-linux.so.3",d)}"
+
 do_install() {
  install -d ${D}${base_libdir}
- install -d ${D}${bindir}
- install -d ${D}${sbindir}
  install -d ${D}${libdir}
- install -d ${D}${libexecdir}
  install -d ${D}${datadir}
  install -d ${D}${includedir}

@@ -79,7 +84,7 @@ do_install() {
  fi

  # fix up the copied symlinks (they are still pointing to the multiarch
directory)
- linker_name="${@base_contains("TUNE_FEATURES", "aarch64",
"ld-linux-aarch64.so.1", "ld-linux.so.3",d)}"
+ linker_name="${@base_contains("TUNE_FEATURES", "aarch64",
"ld-linux-aarch64.so.1", "${LDLINUX32}",d)}"
  ln -sf ld-${ELT_VER_LIBC}.so ${D}${base_libdir}/${linker_name}
  ln -sf ../../lib/libnsl.so.1 ${D}${libdir}/libnsl.so
  ln -sf ../../lib/librt.so.1 ${D}${libdir}/librt.so
@@ -144,6 +149,12 @@ PACKAGES =+ "\
  libitm \
  libitm-dev \
  libitm-staticdev \
+ libasan \
+ libasan-dev \
+ libasan-staticdev \
+ libatomic \
+ libatomic-dev \
+ libatomic-staticdev \
 "

 INSANE_SKIP_${PN}-dbg = "staticdev"
@@ -282,14 +293,16 @@ FILES_libssp-staticdev = " \

 FILES_libgfortran = "${base_libdir}/libgfortran.so.*"
 FILES_libgfortran-dev = " \
-  ${base_libdir}/libgfortran.so"
+  ${base_libdir}/libgfortran.so \
+  ${base_libdir}/libgfortran.spec"
 FILES_libgfortran-staticdev = " \
   ${base_libdir}/libgfortran.a \
   ${base_libdir}/libgfortranbegin.a"

 FILES_libmudflap = "${base_libdir}/libmudflap*.so.*"
 FILES_libmudflap-dev = "\
-  ${base_libdir}/libmudflap*.so \
+  ${base_libdir}/libmudflap*.so"
+FILES_libmudflap-staticdev = "\
   ${base_libdir}/libmudflap*.a \
   ${base_libdir}/libmudflap*.la"

@@ -313,6 +326,19 @@ FILES_libgomp-dev = "\
 FILES_libgomp-staticdev = "\
   ${base_libdir}/libgomp*.a \
   "
+
+FILES_libasan = "\
+  ${base_libdir}/libasan.so.* \
+  "
+FILES_libasan-dev = "\
+  ${base_libdir}/libasan.so \
+  "
+FILES_libatomic ="\
+  ${base_libdir}/libatomic.so.* \
+  "
+FILES_libatomic-dev = "\
+  ${base_libdir}/libatomic.so \
+  "
 ELT_VER_MAIN ??= ""

 python () {
-- 
1.7.9.5
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20140410/b68ba3ff/attachment.html>


More information about the yocto mailing list