[OE-core] [PATCH] dpkg: Support muslx32 build
From: sweeaun Modified ostable and tupletable to support muslx32 build. Signed-off-by: sweeaun --- .../dpkg/0001-dpkg-Support-muslx32-build.patch | 41 ++ meta/recipes-devtools/dpkg/dpkg_1.18.24.bb | 1 + 2 files changed, 42 insertions(+) create mode 100644 meta/recipes-devtools/dpkg/dpkg/0001-dpkg-Support-muslx32-build.patch diff --git a/meta/recipes-devtools/dpkg/dpkg/0001-dpkg-Support-muslx32-build.patch b/meta/recipes-devtools/dpkg/dpkg/0001-dpkg-Support-muslx32-build.patch new file mode 100644 index 000..50e6894 --- /dev/null +++ b/meta/recipes-devtools/dpkg/dpkg/0001-dpkg-Support-muslx32-build.patch @@ -0,0 +1,41 @@ +From a328c8bec0bf8071ae8f20fee4c7475205064ba1 Mon Sep 17 00:00:00 2001 +From: sweeaun +Date: Sun, 10 Sep 2017 00:14:15 -0700 +Subject: [PATCH] dpkg: Support muslx32 build + +Upstream-Status: Pending. +Changes made on ostable and tupletable to enable muslx32 build. + +Signed-off-by: sweeaun +--- + data/ostable| 1 + + data/tupletable | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/data/ostable b/data/ostable +index be64342..87db273 100644 +--- a/data/ostable b/data/ostable +@@ -19,6 +19,7 @@ base-uclibc-linuxlinux-uclibc linux[^-]*-uclibc + eabihf-musl-linux linux-musleabihflinux[^-]*-musleabihf + eabi-musl-linux linux-musleabi linux[^-]*-musleabi + base-musl-linux linux-musl linux[^-]*-musl ++x32-musl-linuxlinux-muslx32 linux[^-]*-muslx32 + eabihf-gnu-linux linux-gnueabihf linux[^-]*-gnueabihf + eabi-gnu-linuxlinux-gnueabi linux[^-]*-gnueabi + abin32-gnu-linux linux-gnuabin32 linux[^-]*-gnuabin32 +diff --git a/data/tupletable b/data/tupletable +index 28f00bf..748ffab 100644 +--- a/data/tupletable b/data/tupletable +@@ -10,6 +10,7 @@ base-uclibc-linux- uclibc-linux- + eabihf-musl-linux-arm musl-linux-armhf + eabi-musl-linux-arm musl-linux-armel + base-musl-linux- musl-linux- ++x32-musl-linux-amd64 x32 + ilp32-gnu-linux-arm64 arm64ilp32 + eabihf-gnu-linux-arm armhf + eabi-gnu-linux-armarmel +-- +2.7.4 + diff --git a/meta/recipes-devtools/dpkg/dpkg_1.18.24.bb b/meta/recipes-devtools/dpkg/dpkg_1.18.24.bb index f06b604..7e241af 100644 --- a/meta/recipes-devtools/dpkg/dpkg_1.18.24.bb +++ b/meta/recipes-devtools/dpkg/dpkg_1.18.24.bb @@ -13,6 +13,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz \ file://0005-dpkg-compiler.m4-remove-Wvla.patch \ file://0006-add-musleabi-to-known-target-tripets.patch \ file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \ + file://0001-dpkg-Support-muslx32-build.patch \ " SRC_URI_append_class-native = " file://glibc2.5-sync_file_range.patch " -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] openssh: Fix syntax error on x32
From: sweeaun Fix compilation error during openssh x32 build due to syntax error. Signed-off-by: sweeaun --- .../0001-openssh-Fix-syntax-error-on-x32.patch | 33 ++ meta/recipes-connectivity/openssh/openssh_7.5p1.bb | 1 + 2 files changed, 34 insertions(+) create mode 100644 meta/recipes-connectivity/openssh/openssh/0001-openssh-Fix-syntax-error-on-x32.patch diff --git a/meta/recipes-connectivity/openssh/openssh/0001-openssh-Fix-syntax-error-on-x32.patch b/meta/recipes-connectivity/openssh/openssh/0001-openssh-Fix-syntax-error-on-x32.patch new file mode 100644 index 000..ce9e200 --- /dev/null +++ b/meta/recipes-connectivity/openssh/openssh/0001-openssh-Fix-syntax-error-on-x32.patch @@ -0,0 +1,33 @@ +From a7e359d4ba345aa2a13c07f1057184e9b4e598a2 Mon Sep 17 00:00:00 2001 +From: sweeaun +Date: Tue, 22 Aug 2017 11:19:48 -0700 +Subject: [PATCH] openssh: Fix syntax error on x32 + +Upstream-Status: Backport +This bug has been fixed in v_7.5 branch https://github.com/openssh/ +openssh-portable/tree/V_7_5 and master branch https://github.com/ +openssh/openssh-portable/tree/master. + +Fix compilation error during openssh x32 build due to syntax error. + +Signed-off-by: sweeaun +--- + sandbox-seccomp-filter.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c +index 3a1aedc..a8d472a 100644 +--- a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c +@@ -235,7 +235,7 @@ static const struct sock_filter preauth_insns[] = { +* x86-64 syscall under some circumstances, e.g. +* https://bugs.debian.org/849923 +*/ +- SC_ALLOW(__NR_clock_gettime & ~__X32_SYSCALL_BIT); ++ SC_ALLOW(__NR_clock_gettime & ~__X32_SYSCALL_BIT), + #endif + + /* Default deny */ +-- +2.7.4 + diff --git a/meta/recipes-connectivity/openssh/openssh_7.5p1.bb b/meta/recipes-connectivity/openssh/openssh_7.5p1.bb index 3b8fd7d..e46b4c8 100644 --- a/meta/recipes-connectivity/openssh/openssh_7.5p1.bb +++ b/meta/recipes-connectivity/openssh/openssh_7.5p1.bb @@ -26,6 +26,7 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar file://openssh-7.1p1-conditional-compile-des-in-cipher.patch \ file://openssh-7.1p1-conditional-compile-des-in-pkcs11.patch \ file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \ + file://0001-openssh-Fix-syntax-error-on-x32.patch \ " PAM_SRC_URI = "file://sshd" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] valgrind: disable build for muslx32
From: sweeaun Disable build for muslx32.X32 isn't supported by valgrind at this moment. Signed-off-by: sweeaun --- meta/recipes-devtools/valgrind/valgrind_3.13.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb index a5c4943..25b4126 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb @@ -51,6 +51,7 @@ COMPATIBLE_HOST_armv6 = 'null' # X32 isn't supported by valgrind at this time COMPATIBLE_HOST_linux-gnux32 = 'null' +COMPATIBLE_HOST_linux-muslx32 = 'null' # Disable for some MIPS variants COMPATIBLE_HOST_mipsarchn32 = 'null' -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] goarch: Disable build for muslx32
From: sweeaun Disable build for muslx32. Signed-off-by: sweeaun --- meta/classes/goarch.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass index 57537fb..9cd38b8 100644 --- a/meta/classes/goarch.bbclass +++ b/meta/classes/goarch.bbclass @@ -14,6 +14,7 @@ GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE',Tru # define here because everybody inherits this class # COMPATIBLE_HOST_linux-gnux32 = "null" +COMPATIBLE_HOST_linux-muslx32 = "null" COMPATIBLE_HOST_powerpc = "null" COMPATIBLE_HOST_powerpc64 = "null" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] openssl: Support musl-x32 build
From: sweeaun Support musl-x32 build which to build openssl with 32 bits. Signed-off-by: sweeaun --- meta/recipes-connectivity/openssl/openssl.inc | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc index ce295e8..0d6442e 100644 --- a/meta/recipes-connectivity/openssl/openssl.inc +++ b/meta/recipes-connectivity/openssl/openssl.inc @@ -66,7 +66,9 @@ do_configure () { case $os in linux-gnueabi |\ linux-gnuspe |\ - linux-musl*) + linux-musleabi |\ + linux-muslspe |\ + linux-musl ) os=linux ;; *) @@ -98,7 +100,7 @@ do_configure () { linux-i686) target=debian-i386-i686/cmov ;; - linux-gnux32-x86_64) + linux-gnux32-x86_64 | linux-muslx32-x86_64 ) target=linux-x32 ;; linux-gnu64-x86_64) -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] kernel-devsrc: Remove .kernel-meta from package
From: sweeaun [YOCTO #11730] Include .kernel-meta directory in the prune list of the find to prevent .kernel-meta directory included into installable package. Signed-off-by: sweeaun --- meta/recipes-kernel/linux/kernel-devsrc.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb index 7004261..c1b5b77 100644 --- a/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -46,7 +46,7 @@ do_install() { cd ${B} find . -type d -name '.git*' -prune -o -path '.debug' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir cd ${S} -find . -type d -name '.git*' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir + find . -type d -name '.git*' -prune -o -type d -name '.kernel-meta' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir # Explicitly set KBUILD_OUTPUT to ensure that the image directory is cleaned and not # The main build artifacts. We clean the directory to avoid QA errors on mismatched -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2] openssl: Support musl-x32 build
From: sweeaun Support musl-x32 build which to build openssl with 32 bits. Signed-off-by: sweeaun --- meta/recipes-connectivity/openssl/openssl.inc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc index ce295e8..a56bd6e 100644 --- a/meta/recipes-connectivity/openssl/openssl.inc +++ b/meta/recipes-connectivity/openssl/openssl.inc @@ -66,7 +66,8 @@ do_configure () { case $os in linux-gnueabi |\ linux-gnuspe |\ - linux-musl*) + linux-musleabi |\ + linux-muslspe) os=linux ;; *) @@ -98,7 +99,7 @@ do_configure () { linux-i686) target=debian-i386-i686/cmov ;; - linux-gnux32-x86_64) + linux-gnux32-x86_64 | linux-muslx32-x86_64 ) target=linux-x32 ;; linux-gnu64-x86_64) -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] libffi: Support musl-x32 build
From: sweeaun Added target musl-x32 in configure.ac to support musl-x32 build in libffi. Signed-off-by: sweeaun --- .../0001-libffi-Support-musl-x32-build.patch | 30 ++ meta/recipes-support/libffi/libffi_3.2.1.bb| 1 + 2 files changed, 31 insertions(+) create mode 100644 meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch diff --git a/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch new file mode 100644 index 000..6b167c8 --- /dev/null +++ b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch @@ -0,0 +1,30 @@ +From 69c3906c85c791716bf650aa36d9361d22acf3fb Mon Sep 17 00:00:00 2001 +From: sweeaun +Date: Thu, 6 Jul 2017 16:32:46 -0700 +Subject: [PATCH] libffi: Support musl x32 build + +Support libffi build with target musl-x32. + +Upstream-Status: Pending + +Signed-off-by: sweeaun +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a7bf5ee..8ebe99c 100644 +--- a/configure.ac b/configure.ac +@@ -177,7 +177,7 @@ case "$host" in + TARGETDIR=x86 + if test $ac_cv_sizeof_size_t = 4; then + case "$host" in +- *-gnux32) ++ *-gnux32 | *-muslx32) + TARGET=X86_64 + ;; + *) +-- +2.7.4 + diff --git a/meta/recipes-support/libffi/libffi_3.2.1.bb b/meta/recipes-support/libffi/libffi_3.2.1.bb index 43eee8e..2a3f4b7 100644 --- a/meta/recipes-support/libffi/libffi_3.2.1.bb +++ b/meta/recipes-support/libffi/libffi_3.2.1.bb @@ -13,6 +13,7 @@ SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ file://not-win32.patch \ file://0001-mips-Use-compiler-internal-define-for-linux.patch \ file://0001-mips-fix-MIPS-softfloat-build-issue.patch \ + file://0001-libffi-Support-musl-x32-build.patch \ " SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/2] Support MUSL-x32 build for openssl and libffi
From: sweeaun Modification to enable MUSL-x32 build for openssl and libffi recipes. The following changes since commit 57f606b12b339c82e6981d7ac32450c00d787085: libgcrypt: upgrade to 1.7.8 (2017-07-19 15:13:40 +0100) are available in the git repository at: git://git.yoctoproject.org/poky-contrib sweeaun/musl_x32_patch3 http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=sweeaun/musl_x32_patch3 sweeaun (2): openssl: Support musl-x32 build libffi: Support musl-x32 build meta/recipes-connectivity/openssl/openssl.inc | 5 ++-- .../0001-libffi-Support-musl-x32-build.patch | 30 ++ meta/recipes-support/libffi/libffi_3.2.1.bb| 1 + 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 7/7] libffi: Support musl-x32 build
From: sweeaun Added target musl-x32 in configure.ac to support musl-x32 build in libffi. Signed-off-by: sweeaun --- .../0001-libffi-Support-musl-x32-build.patch | 30 ++ meta/recipes-support/libffi/libffi_3.2.1.bb| 1 + 2 files changed, 31 insertions(+) create mode 100644 meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch diff --git a/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch new file mode 100644 index 000..6b167c8 --- /dev/null +++ b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch @@ -0,0 +1,30 @@ +From 69c3906c85c791716bf650aa36d9361d22acf3fb Mon Sep 17 00:00:00 2001 +From: sweeaun +Date: Thu, 6 Jul 2017 16:32:46 -0700 +Subject: [PATCH] libffi: Support musl x32 build + +Support libffi build with target musl-x32. + +Upstream-Status: Pending + +Signed-off-by: sweeaun +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a7bf5ee..8ebe99c 100644 +--- a/configure.ac b/configure.ac +@@ -177,7 +177,7 @@ case "$host" in + TARGETDIR=x86 + if test $ac_cv_sizeof_size_t = 4; then + case "$host" in +- *-gnux32) ++ *-gnux32 | *-muslx32) + TARGET=X86_64 + ;; + *) +-- +2.7.4 + diff --git a/meta/recipes-support/libffi/libffi_3.2.1.bb b/meta/recipes-support/libffi/libffi_3.2.1.bb index 43eee8e..2a3f4b7 100644 --- a/meta/recipes-support/libffi/libffi_3.2.1.bb +++ b/meta/recipes-support/libffi/libffi_3.2.1.bb @@ -13,6 +13,7 @@ SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ file://not-win32.patch \ file://0001-mips-Use-compiler-internal-define-for-linux.patch \ file://0001-mips-fix-MIPS-softfloat-build-issue.patch \ + file://0001-libffi-Support-musl-x32-build.patch \ " SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/7] gnu-efi: Support musl-x32 build
From: sweeaun To build 64-bit binaries for musl-x32. Signed-off-by: sweeaun --- meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb index d6f9f53..7346737 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb @@ -53,6 +53,7 @@ FILES_${PN} += "${libdir}/*.lds" # 64-bit binaries are expected for EFI when targeting X32 INSANE_SKIP_${PN}-dev_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}-dev_append_linux-muslx32 = " arch" BBCLASSEXTEND = "native" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v2 0/7] Support combination of MUSL and x32 build
From: sweeaun Modified infrastructure (bbclass) and fixed bugs on multiple recipes to enable combination of MUSL and x32 build. The following changes since commit 754c03006943a219ffd417c36ab909b464f57f67: local.conf.sample: drop image-swab reference (2017-07-06 15:03:10 +0100) are available in the git repository at: git://git.yoctoproject.org/poky-contrib sweeaun/muslx32_patch2 http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=sweeaun/muslx32_patch2 sweeaun (7): insane.bbclass: Support musl-x32 siteinfo.bbclass: Support musl-x32 gnu-efi: Support musl-x32 build grub-efi: Support musl-x32 openssl: Support musl-x32 build perl: Support musl-x32 build libffi: Support musl-x32 build meta/classes/insane.bbclass| 5 +++- meta/classes/siteinfo.bbclass | 2 ++ meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 1 + meta/recipes-bsp/grub/grub-efi_2.02.bb | 2 ++ meta/recipes-connectivity/openssl/openssl.inc | 5 ++-- meta/recipes-devtools/perl/perl_5.24.1.bb | 2 +- .../0001-libffi-Support-musl-x32-build.patch | 30 ++ meta/recipes-support/libffi/libffi_3.2.1.bb| 1 + 8 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 6/7] perl: Support musl-x32 build
From: sweeaun Existing musl fixups in perl recipe doesn't cover linux-muslx32. This is fixed to support musl-x32 build. Signed-off-by: sweeaun --- meta/recipes-devtools/perl/perl_5.24.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/perl/perl_5.24.1.bb b/meta/recipes-devtools/perl/perl_5.24.1.bb index b0ceb84..95d9694 100644 --- a/meta/recipes-devtools/perl/perl_5.24.1.bb +++ b/meta/recipes-devtools/perl/perl_5.24.1.bb @@ -125,7 +125,7 @@ do_configure() { done # Fixups for musl -if [ "${TARGET_OS}" = "linux-musl" -o "${TARGET_OS}" = "linux-musleabi" ]; then +if [ "${TARGET_OS}" = "linux-musl" -o "${TARGET_OS}" = "linux-musleabi" -o "${TARGET_OS}" = "linux-muslx32" ]; then sed -i -e "s,\(d_libm_lib_version=\)'define',\1'undef',g" \ -e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \ -e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \ -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/7] insane.bbclass: Support musl-x32
From: sweeaun Added musl-x32 elf header into dictionary. Signed-off-by: sweeaun --- meta/classes/insane.bbclass | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 7680a59..479d39c 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -150,6 +150,9 @@ def package_qa_get_machine_dict(d): "linux-gnux32" : { "x86_64": (62, 0,0, True, 32), }, +"linux-muslx32" : { +"x86_64": (62, 0,0, True, 32), + }, "linux-gnun32" : { "mips64": ( 8, 0,0, False, 32), "mips64el": ( 8, 0,0, True, 32), @@ -488,7 +491,7 @@ def package_qa_check_arch(path,name,d, elf, messages): # Check the architecture and endiannes of the binary is_32 = (("virtual/kernel" in provides) or bb.data.inherits_class("module", d)) and \ -(target_os == "linux-gnux32" or re.match('mips64.*32', d.getVar('DEFAULTTUNE'))) +(target_os == "linux-gnux32" or target_os == "linux-muslx32" or re.match('mips64.*32', d.getVar('DEFAULTTUNE'))) if not ((machine == elf.machine()) or is_32): package_qa_add_message(messages, "arch", "Architecture did not match (%s, expected %s) on %s" % \ (oe.qa.elf_machine_to_string(elf.machine()), oe.qa.elf_machine_to_string(machine), package_qa_clean_path(path,d))) -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 5/7] openssl: Support musl-x32 build
From: sweeaun Support musl-x32 build which to build openssl with 32 bits. Signed-off-by: sweeaun --- meta/recipes-connectivity/openssl/openssl.inc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc index ce295e8..a56bd6e 100644 --- a/meta/recipes-connectivity/openssl/openssl.inc +++ b/meta/recipes-connectivity/openssl/openssl.inc @@ -66,7 +66,8 @@ do_configure () { case $os in linux-gnueabi |\ linux-gnuspe |\ - linux-musl*) + linux-musleabi |\ + linux-muslspe) os=linux ;; *) @@ -98,7 +99,7 @@ do_configure () { linux-i686) target=debian-i386-i686/cmov ;; - linux-gnux32-x86_64) + linux-gnux32-x86_64 | linux-muslx32-x86_64 ) target=linux-x32 ;; linux-gnu64-x86_64) -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 4/7] grub-efi: Support musl-x32
From: sweeaun To build 64-bit binaries for musl-x32. Signed-off-by: sweeaun --- meta/recipes-bsp/grub/grub-efi_2.02.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-bsp/grub/grub-efi_2.02.bb b/meta/recipes-bsp/grub/grub-efi_2.02.bb index 9d494d5..b949beb 100644 --- a/meta/recipes-bsp/grub/grub-efi_2.02.bb +++ b/meta/recipes-bsp/grub/grub-efi_2.02.bb @@ -65,5 +65,7 @@ FILES_${PN} += "${libdir}/grub/${GRUB_TARGET}-efi \ # 64-bit binaries are expected for the bootloader with an x32 userland INSANE_SKIP_${PN}_append_linux-gnux32 = " arch" INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}_append_linux-muslx32 = " arch" +INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch" BBCLASSEXTEND = "native" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/7] siteinfo.bbclass: Support musl-x32
From: sweeaun Modified targetinfo and osinfo to support musl-x32. Signed-off-by: sweeaun --- meta/classes/siteinfo.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass index 90ea5ba..20b4704 100644 --- a/meta/classes/siteinfo.bbclass +++ b/meta/classes/siteinfo.bbclass @@ -63,6 +63,7 @@ def siteinfo_data(d): "linux-gnueabi": "common-linux common-glibc", "linux-gnuspe": "common-linux common-glibc", "linux-musl": "common-linux common-musl", +"linux-muslx32": "common-linux common-musl", "linux-musleabi": "common-linux common-musl", "linux-muslspe": "common-linux common-musl", "uclinux-uclibc": "common-uclibc", @@ -99,6 +100,7 @@ def siteinfo_data(d): "x86_64-darwin9": "bit-64", "x86_64-linux": "bit-64", "x86_64-linux-musl": "x86_64-linux bit-64", +"x86_64-linux-muslx32": "bit-32 ix86-common x32-linux", "x86_64-elf": "bit-64", "x86_64-linux-gnu": "bit-64 x86_64-linux", "x86_64-linux-gnux32": "bit-32 ix86-common x32-linux", -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/7] siteinfo.bbclass: Support musl-x32
From: sweeaun Modified targetinfo and osinfo to support musl-x32. Signed-off-by: sweeaun --- meta/classes/siteinfo.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass index 90ea5ba..20b4704 100644 --- a/meta/classes/siteinfo.bbclass +++ b/meta/classes/siteinfo.bbclass @@ -63,6 +63,7 @@ def siteinfo_data(d): "linux-gnueabi": "common-linux common-glibc", "linux-gnuspe": "common-linux common-glibc", "linux-musl": "common-linux common-musl", +"linux-muslx32": "common-linux common-musl", "linux-musleabi": "common-linux common-musl", "linux-muslspe": "common-linux common-musl", "uclinux-uclibc": "common-uclibc", @@ -99,6 +100,7 @@ def siteinfo_data(d): "x86_64-darwin9": "bit-64", "x86_64-linux": "bit-64", "x86_64-linux-musl": "x86_64-linux bit-64", +"x86_64-linux-muslx32": "bit-32 ix86-common x32-linux", "x86_64-elf": "bit-64", "x86_64-linux-gnu": "bit-64 x86_64-linux", "x86_64-linux-gnux32": "bit-32 ix86-common x32-linux", -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/7] Support combination of MUSL and x32 build
From: sweeaun Modified infrastructure (bbclass) and fixed bugs on multiple recipes to enable combination of MUSL and x32 build. The following changes since commit 98099349e358a9caaec8ec81f0d4abe588909cfe: bitbake: npm fetcher: fix unknown variable name. (2017-06-29 14:33:42 +0100) are available in the git repository at: git://git.yoctoproject.org/poky-contrib sweeaun/musl_x32_support http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=sweeaun/musl_x32_support sweeaun (7): insane.bbclass: Support musl-x32 siteinfo.bbclass: Support musl-x32 gnu-efi: Support musl-x32 build grub-efi: Support musl-x32 openssl: Support musl-x32 build perl: Support musl-x32 build libffi: Support musl-x32 build meta/classes/insane.bbclass| 5 +++- meta/classes/siteinfo.bbclass | 2 ++ meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 1 + meta/recipes-bsp/grub/grub-efi_2.02.bb | 2 ++ meta/recipes-connectivity/openssl/openssl.inc | 6 +++-- meta/recipes-devtools/perl/perl_5.24.1.bb | 2 +- .../0001-libffi-Support-musl-x32-build.patch | 29 ++ meta/recipes-support/libffi/libffi_3.2.1.bb| 1 + 8 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/7] gnu-efi: Support musl-x32 build
From: sweeaun To build 64-bit binaries for musl-x32. Signed-off-by: sweeaun --- meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb index d6f9f53..7346737 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb @@ -53,6 +53,7 @@ FILES_${PN} += "${libdir}/*.lds" # 64-bit binaries are expected for EFI when targeting X32 INSANE_SKIP_${PN}-dev_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}-dev_append_linux-muslx32 = " arch" BBCLASSEXTEND = "native" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 7/7] libffi: Support musl-x32 build
From: sweeaun Upstream-Status: Pending. Added target musl-x32 in configure.ac to support musl-x32 build in libffi. Signed-off-by: sweeaun --- .../0001-libffi-Support-musl-x32-build.patch | 29 ++ meta/recipes-support/libffi/libffi_3.2.1.bb| 1 + 2 files changed, 30 insertions(+) create mode 100644 meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch diff --git a/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch new file mode 100644 index 000..971a543 --- /dev/null +++ b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch @@ -0,0 +1,29 @@ +From 62ac8214b3e8b368bd9365a6920b081aa0125671 Mon Sep 17 00:00:00 2001 +From: sweeaun +Date: Mon, 3 Jul 2017 13:23:31 -0700 +Subject: [PATCH] libffi: Support musl x32 build + +Support libffi build with target musl-x32. + +Signed-off-by: sweeaun +--- + configure.ac | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure.ac b/configure.ac +index a7bf5ee..f4e101d 100644 +--- a/configure.ac b/configure.ac +@@ -180,6 +180,9 @@ case "$host" in + *-gnux32) + TARGET=X86_64 + ;; ++*-muslx32) ++ TARGET=X86_64 ++ ;; + *) + TARGET=X86 + ;; +-- +2.7.4 + diff --git a/meta/recipes-support/libffi/libffi_3.2.1.bb b/meta/recipes-support/libffi/libffi_3.2.1.bb index 43eee8e..2a3f4b7 100644 --- a/meta/recipes-support/libffi/libffi_3.2.1.bb +++ b/meta/recipes-support/libffi/libffi_3.2.1.bb @@ -13,6 +13,7 @@ SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ file://not-win32.patch \ file://0001-mips-Use-compiler-internal-define-for-linux.patch \ file://0001-mips-fix-MIPS-softfloat-build-issue.patch \ + file://0001-libffi-Support-musl-x32-build.patch \ " SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 6/7] perl: Support musl-x32 build
From: sweeaun Existing musl fixups in perl recipe doesn't cover linux-muslx32. This is fixed to support musl-x32 build. Signed-off-by: sweeaun --- meta/recipes-devtools/perl/perl_5.24.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/perl/perl_5.24.1.bb b/meta/recipes-devtools/perl/perl_5.24.1.bb index b0ceb84..95d9694 100644 --- a/meta/recipes-devtools/perl/perl_5.24.1.bb +++ b/meta/recipes-devtools/perl/perl_5.24.1.bb @@ -125,7 +125,7 @@ do_configure() { done # Fixups for musl -if [ "${TARGET_OS}" = "linux-musl" -o "${TARGET_OS}" = "linux-musleabi" ]; then +if [ "${TARGET_OS}" = "linux-musl" -o "${TARGET_OS}" = "linux-musleabi" -o "${TARGET_OS}" = "linux-muslx32" ]; then sed -i -e "s,\(d_libm_lib_version=\)'define',\1'undef',g" \ -e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \ -e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \ -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 4/7] grub-efi: Support musl-x32
From: sweeaun To build 64-bit binaries for musl-x32. Signed-off-by: sweeaun --- meta/recipes-bsp/grub/grub-efi_2.02.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-bsp/grub/grub-efi_2.02.bb b/meta/recipes-bsp/grub/grub-efi_2.02.bb index 9d494d5..b949beb 100644 --- a/meta/recipes-bsp/grub/grub-efi_2.02.bb +++ b/meta/recipes-bsp/grub/grub-efi_2.02.bb @@ -65,5 +65,7 @@ FILES_${PN} += "${libdir}/grub/${GRUB_TARGET}-efi \ # 64-bit binaries are expected for the bootloader with an x32 userland INSANE_SKIP_${PN}_append_linux-gnux32 = " arch" INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}_append_linux-muslx32 = " arch" +INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch" BBCLASSEXTEND = "native" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 5/7] openssl: Support musl-x32 build
From: sweeaun Support musl-x32 build which to build openssl with 32 bits. Signed-off-by: sweeaun --- meta/recipes-connectivity/openssl/openssl.inc | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc index 3980ec2..bcbbe06 100644 --- a/meta/recipes-connectivity/openssl/openssl.inc +++ b/meta/recipes-connectivity/openssl/openssl.inc @@ -65,8 +65,7 @@ do_configure () { os=${HOST_OS} case $os in linux-gnueabi |\ - linux-gnuspe |\ - linux-musl*) + linux-gnuspe) os=linux ;; *) @@ -101,6 +100,9 @@ do_configure () { linux-gnux32-x86_64) target=linux-x32 ;; +linux-muslx32-x86_64) +target=linux-x32 +;; linux-gnu64-x86_64) target=linux-x86_64 ;; -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/7] insane.bbclass: Support musl-x32
From: sweeaun Added musl-x32 elf header into dictionary. Signed-off-by: sweeaun --- meta/classes/insane.bbclass | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 0e974b5..259d820 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -147,6 +147,9 @@ def package_qa_get_machine_dict(d): "linux-gnux32" : { "x86_64": (62, 0,0, True, 32), }, +"linux-muslx32" : { +"x86_64": (62, 0,0, True, 32), + }, "linux-gnun32" : { "mips64": ( 8, 0,0, False, 32), "mips64el": ( 8, 0,0, True, 32), @@ -485,7 +488,7 @@ def package_qa_check_arch(path,name,d, elf, messages): # Check the architecture and endiannes of the binary is_32 = (("virtual/kernel" in provides) or bb.data.inherits_class("module", d)) and \ -(target_os == "linux-gnux32" or re.match('mips64.*32', d.getVar('DEFAULTTUNE'))) +(target_os == "linux-gnux32" or target_os == "linux-muslx32" or re.match('mips64.*32', d.getVar('DEFAULTTUNE'))) if not ((machine == elf.machine()) or is_32): package_qa_add_message(messages, "arch", "Architecture did not match (%s, expected %s) on %s" % \ (oe.qa.elf_machine_to_string(elf.machine()), oe.qa.elf_machine_to_string(machine), package_qa_clean_path(path,d))) -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] linux-yocto: Use ??= to set LINUX_VERSION_EXTENSION
From: sweeaun Use ??= to set LINUX_VERSION_EXTENSION default value. Signed-off-by: sweeaun --- meta/recipes-kernel/linux/linux-yocto.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc index 637506a..1119f22 100644 --- a/meta/recipes-kernel/linux/linux-yocto.inc +++ b/meta/recipes-kernel/linux/linux-yocto.inc @@ -48,7 +48,7 @@ KCONF_AUDIT_LEVEL ?= "1" KCONF_BSP_AUDIT_LEVEL ?= "0" KMETA_AUDIT ?= "yes" -LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}" +LINUX_VERSION_EXTENSION ??= "-yocto-${LINUX_KERNEL_TYPE}" # Pick up shared functions inherit kernel -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core