Skip to contentSkip to conversation

musl update, gcc fix for ssp on musl

PATCH New Khem Raj 1 participant 4 messages Mar 28, 2016

lore
Share & tools
lore

Khem Raj

author
#0 lore raw

cover musl update, gcc fix for ssp on musl

This series bring musl to tip of tree.
backports gcc fixes to fix libssp detection on musl as well as unwinding
64bit musl targets e.g. mips64 did not define sitefiles correctly, as a result applications were failing to compile e.g. python-pygobject was getting incorrect sizeof ssize_t

Khem Raj (3):
musl: Update to tip
siteinfo: Fix musl 64bit targets
gcc: Backport fixes for musl ssp configuration

 meta/classes/siteinfo.bbclass                      |  7 +-
 meta/recipes-core/musl/musl.inc                    |  2 +-
 meta/recipes-core/musl/musl_git.bb                 |  2 +-
 meta/recipes-devtools/gcc/gcc-5.3.inc              |  3 +-
 ...-provide-ssp-and-gcc_cv_target_dl_iterate.patch | 85 ++++++++++++++++++++++
 .../gcc/gcc-5.3/0057-unwind-fix-for-musl.patch     | 42 +++++++++++
 6 files changed, 136 insertions(+), 5 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0057-unwind-fix-for-musl.patch
Signature · 1 line
1.8.3.1
author
#1 lore raw

PATCH 1/3 musl: Update to tip

Rich Felker (2):
fix padding string formats to width in wide printf variants fix outdated pathnames in COPYRIGHT file

Szabolcs Nagy (7):
deduplicate bits/mman.h
mips64: add recent linux syscall numbers
add copy_file_range syscall numbers from linux v4.5 add IPV6_HDRINCL socket option from linux v4.5
add SO_ATTACH_REUSEPORT_[CE]BPF socket options from linux v4.5 add EPOLLEXCLUSIVE epoll flag from linux v4.5
add MADV_FREE madvise command from linux v4.5

Timo Teräs (1):
fix gethostbyaddr_r to fill struct hostent.h_length as appropriate

updated paths in copyright text

see http://git.musl-libc.org/cgit/musl/commit/?id=dc4520d9c0b79bc5944f509e4e9061e5081e38ca

---
 meta/recipes-core/musl/musl.inc    | 2 +-
 meta/recipes-core/musl/musl_git.bb | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-core/musl/musl.inc +1 -1
index f2390e6..d27867f 100644
@@ -9,7 +9,7 @@ standards-conformance and safety."
 HOMEPAGE = "http://www.musl-libc.org/"
 LICENSE = "MIT"
 SECTION = "libs"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=c9c8cfb4e5e4b9ee6ff570f078950120"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=082411391b4d1ace0d30f4c84317cc05"
 
 PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
 TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}"
meta/recipes-core/musl/musl_git.bb +1 -1
index 507e793..d4f9819 100644
@@ -3,7 +3,7 @@
 
 require musl.inc
 
-SRCREV = "de400b6609becbc6a5ae87fa8b155f02a860e257"
+SRCREV = "5978eb703ce0e64dd778a88c1ffffb76fe5e2202"
 
 PV = "1.1.14+git${SRCPV}"
 
Signature · 1 line
1.8.3.1
author
#2 lore raw

PATCH 2/3 siteinfo: Fix musl 64bit targets

In reply to Khem Raj

Found that ssize_t was being wrongly computed for mips64 musl because it was using wrong cache files.

alias them to glibc versions, musl doesn't _yet_ have target incompatibilities to note in siteinfo thankfully.

Add musl aliases for aarch64 and ppc64 targets

---
 meta/classes/siteinfo.bbclass | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
meta/classes/siteinfo.bbclass +5 -2
index 1b3906c..50141a3 100644
@@ -71,6 +71,8 @@ def siteinfo_data(d):
     targetinfo = {
         "aarch64-linux-gnu": "aarch64-linux",
         "aarch64_be-linux-gnu": "aarch64_be-linux",
+        "aarch64-linux-musl": "aarch64-linux",
+        "aarch64_be-linux-musl": "aarch64_be-linux",
         "arm-linux-gnueabi": "arm-linux",
         "arm-linux-musleabi": "arm-linux",
         "arm-linux-uclibceabi": "arm-linux-uclibc",
@@ -79,8 +81,8 @@ def siteinfo_data(d):
         "armeb-linux-musleabi": "armeb-linux",
         "mips-linux-musl": "mips-linux",
         "mipsel-linux-musl": "mipsel-linux",
-        "mips64-linux-musl": "mips-linux",
-        "mips64el-linux-musl": "mipsel-linux",
+        "mips64-linux-musl": "mips64-linux",
+        "mips64el-linux-musl": "mips64el-linux",
         "mips64-linux-gnun32": "mips-linux bit-32",
         "mips64el-linux-gnun32": "mipsel-linux bit-32",
         "powerpc-linux": "powerpc32-linux",
@@ -92,6 +94,7 @@ def siteinfo_data(d):
         "powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux",
         "powerpc64-linux-muslspe": "powerpc-linux powerpc64-linux",
         "powerpc64-linux": "powerpc-linux",
+        "powerpc64-linux-musl": "powerpc-linux",
         "x86_64-cygwin": "bit-64",
         "x86_64-darwin": "bit-64",
         "x86_64-darwin9": "bit-64",
Signature · 1 line
1.8.3.1
author
#3 lore raw

PATCH 3/3 gcc: Backport fixes for musl ssp configuration

In reply to Khem Raj

We were trying to inject cached configure variables via EXTRA_OECONF, but that was not working due to the fact that gcc configure is called recursively via makefiles and hence these were getting lost.

These backports from master fixes the problem by
defining the options in configure itself

dl_iterate_phdr is provided by musl as well, so lets not depend on glibc defines like inhibit_libc alone

---
 meta/recipes-devtools/gcc/gcc-5.3.inc              |  3 +-
 ...-provide-ssp-and-gcc_cv_target_dl_iterate.patch | 85 ++++++++++++++++++++++
 .../gcc/gcc-5.3/0057-unwind-fix-for-musl.patch     | 42 +++++++++++
 3 files changed, 129 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0057-unwind-fix-for-musl.patch
meta/recipes-devtools/gcc/gcc-5.3.inc +2 -1
index aa011fd..4adafd5 100644
@@ -85,6 +85,8 @@ SRC_URI = "\
            file://0053-expr.c-PR-target-65358-Avoid-clobbering-partial-argu.patch \
            file://0054-support-ffile-prefix-map.patch \
            file://0055-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch \
+           file://0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch \
+           file://0057-unwind-fix-for-musl.patch \
 "
 
 BACKPORTS = ""
@@ -132,7 +134,6 @@ EXTRA_OECONF_INITIAL = "\
 "
 
 EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float "
-EXTRA_OECONF_append_libc-musl = " gcc_cv_libc_provides_ssp=yes gcc_cv_target_dl_iterate_phdr=yes "
 
 EXTRA_OECONF_PATHS = "\
     --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \
meta/recipes-devtools/gcc/gcc-5.3/0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch new file +85 -0

85 lines not on this page · raw message

meta/recipes-devtools/gcc/gcc-5.3/0057-unwind-fix-for-musl.patch new file +42 -0

42 lines not on this page · raw message

Signature · 1 line
1.8.3.1