glibc: make ARMv6 binary locales working with recent qemu
authorMarcin Juszkiewicz <hrw@openedhand.com>
Tue, 4 Dec 2007 16:23:28 +0000 (16:23 +0000)
committerMarcin Juszkiewicz <hrw@openedhand.com>
Tue, 4 Dec 2007 16:23:28 +0000 (16:23 +0000)
Qemu 20071121 has ARMv6 support working but generating of binary locales
require using proper "-cpu" switch - otherwise it sigsegv with illegal
instruction.

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3306 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/conf/bitbake.conf
meta/packages/glibc/glibc-package.bbclass

index 342c174..c882c54 100644 (file)
@@ -90,6 +90,13 @@ PACKAGE_ARCH = "${HOST_ARCH}"
 MACHINE_ARCH = "${@[bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}"
 PACKAGE_ARCHS = "all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
 
+# select proper CPU to get binary locales generated
+QEMU_OPTIONS = ""
+QEMU_OPTIONS_iwmmxt  = "-cpu pxa270-c5"
+QEMU_OPTIONS_armv4t  = "-cpu arm920t"
+QEMU_OPTIONS_armv5te = "-cpu arm926"
+QEMU_OPTIONS_armv6   = "-cpu arm1136"
+
 ##################################################################
 # Date/time variables.
 ##################################################################
index bc51d6b..1dc1f9c 100644 (file)
@@ -260,7 +260,8 @@ python package_do_split_gconvs () {
                i18npath = base_path_join(treedir, datadir, "i18n")
 
                localedef_opts = "--force --old-style --no-archive --prefix=%s --inputfile=%s/i18n/locales/%s --charmap=%s %s" % (treedir, datadir, locale, encoding, name)
-               cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, treedir, localedef_opts)
+               qemu_options = bb.data.getVar('QEMU_OPTIONS', d, 1)
+               cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s %s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, qemu_options, treedir, localedef_opts)
                bb.note("generating locale %s (%s)" % (locale, encoding))
                if os.system(cmd):
                        raise bb.build.FuncFailed("localedef returned an error (command was %s)." % cmd)