diff options
author | Darren Hart <dvhart@linux.intel.com> | 2012-04-16 18:06:12 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-04-17 09:04:53 +0100 |
commit | cf05f09f9ffa28a7502ebb9bf1ab00420aee1449 (patch) | |
tree | c466e3d101747dd05fda716b681da1c63ecdc8e4 | |
parent | c936fca6e163bc19bc08cbd0036b31ca6f6c3ed6 (diff) | |
download | poky-cf05f09f9ffa28a7502ebb9bf1ab00420aee1449.tar.gz |
poky-tiny: Separate the libc features required for meta-toolchain
This fixes bug [YOCTO #2295]
eglibc needs libc-posix-regexp-glibc & libc-libm-big enabled in its
configuration to avoid following eglibc build issue. Thanks to
Nitin for identifying the required features.
...
| In file included from xregex.c:634:0:
| xregex.c: In function 'byte_regex_compile':
| xregex.c:3395:8: error: too few arguments to function 'findidx'
| ../locale/weight.h:23:1: note: declared here
...
The libc features added to support building meta-toolchain add 461KB to the C
libraries. 320KB directly to libc (a 32% increase in size). If not building
meta-toolchain, the user should be able to easily configure these out.
Create a new variable to capture these dependencies,
DISTRO_FEATURES_LIBC_TOOLCHAIN, keeping them separate from the core tiny
requirements. Make it clear how to disable these if meta-toolchain is not
needed.
This patch has been tested by running the following for the qemux86 machine with
DISTRO=poky-tiny:
$ bitbake -c cleansstate eglibc
$ bitbake meta-toolchain
$ bitbake core-image-minimal
The libc comparisons were made from core-image-minimal ext2 filesystems build
before and after the applicaiton of this patch and Nitin's previous poky-tiny
libc features patch in support of meta-toolchain:
commit 8c48ab6183934fd32600997cc33e0cd3bf63139b
Author: Nitin A Kamble <nitin.a.kamble@intel.com>
Date: Mon Apr 9 15:15:01 2012 -0700
poky-tiny.conf: adjust eglibc options for poky-tiny
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Nitin A. Kamble <nitin.a.kamble@intel.com>
CC: Saul Wold <sgw@linux.intel.com>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta-yocto/conf/distro/poky-tiny.conf | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/meta-yocto/conf/distro/poky-tiny.conf b/meta-yocto/conf/distro/poky-tiny.conf index 58d64ece35..327cc1ee2c 100644 --- a/meta-yocto/conf/distro/poky-tiny.conf +++ b/meta-yocto/conf/distro/poky-tiny.conf | |||
@@ -63,12 +63,17 @@ ASSUME_PROVIDED += "pkgconfig$" | |||
63 | # Reconfigure eglibc for a smaller installation | 63 | # Reconfigure eglibc for a smaller installation |
64 | # Comment out any of the lines below to disable them in the build | 64 | # Comment out any of the lines below to disable them in the build |
65 | DISTRO_FEATURES_LIBC_TINY = "libc-libm libc-crypt" | 65 | DISTRO_FEATURES_LIBC_TINY = "libc-libm libc-crypt" |
66 | # for gettext | 66 | |
67 | DISTRO_FEATURES_LIBC_TINY += "libc-posix-clang-wchar" | 67 | # Building meta-toolchain currently imposes some additional requirements: |
68 | # for m4 | 68 | # If you do not plan to build meta-toolchain, you can save ~461KB by |
69 | DISTRO_FEATURES_LIBC_TINY += "libc-spawn libc-locale-code" | 69 | # commenting out the DISTRO_FEATURES_LIBC_TOOLCHAIN assignment |
70 | # for elfutils | 70 | # gettext needs wchar, m4 needs spawn and locale, elfutils needs ftraverse |
71 | DISTRO_FEATURES_LIBC_TINY += "libc-ftraverse" | 71 | DISTRO_FEATURES_LIBC_TOOLCHAIN = "libc-posix-clang-wchar \ |
72 | libc-spawn libc-locale-code \ | ||
73 | libc-ftraverse libc-libm-big \ | ||
74 | libc-posix-regexp-glibc \ | ||
75 | " | ||
76 | |||
72 | # Required for "who" | 77 | # Required for "who" |
73 | DISTRO_FEATURES_LIBC_MINIMAL = "libc-utmp libc-getlogin" | 78 | DISTRO_FEATURES_LIBC_MINIMAL = "libc-utmp libc-getlogin" |
74 | DISTRO_FEATURES_LIBC_REGEX = "libc-posix-regexp" | 79 | DISTRO_FEATURES_LIBC_REGEX = "libc-posix-regexp" |
@@ -78,6 +83,7 @@ DISTRO_FEATURES_LIBC = "${DISTRO_FEATURES_LIBC_TINY} \ | |||
78 | ${DISTRO_FEATURES_LIBC_MINIMAL} \ | 83 | ${DISTRO_FEATURES_LIBC_MINIMAL} \ |
79 | ${DISTRO_FEATURES_LIBC_REGEX} \ | 84 | ${DISTRO_FEATURES_LIBC_REGEX} \ |
80 | ${DISTRO_FEATURES_LIBC_NET} \ | 85 | ${DISTRO_FEATURES_LIBC_NET} \ |
86 | ${DISTRO_FEATURES_LIBC_TOOLCHAIN} \ | ||
81 | " | 87 | " |
82 | 88 | ||
83 | # Comment out any of the lines below to disable them in the build | 89 | # Comment out any of the lines below to disable them in the build |