summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-01-16 17:01:44 (GMT)
committerGitHub <noreply@github.com>2017-01-16 17:01:44 (GMT)
commit2b2c496f2a4dfa0d6f799a2ecc0f87a3d394c0a0 (patch)
treeb374c7662d051c546769808e6641bdec3e267c46
parentef58f6c01cff805bc0f830e9e5444de07f8a65f7 (diff)
parent41bdf88156a1fca01ec2c03d246ffa7866441e44 (diff)
Merge pull request #536 from stilor/musl-update
Musl update to 1.1.16
-rw-r--r--config/libc/musl.in12
-rw-r--r--patches/musl/1.0.4/0001-max_align_t.patch140
-rw-r--r--patches/musl/1.1.4/0001-max_align_t.patch153
-rwxr-xr-xscripts/addToolVersion.sh5
4 files changed, 12 insertions, 298 deletions
diff --git a/config/libc/musl.in b/config/libc/musl.in
index 3e0b5a1..5ea166f 100644
--- a/config/libc/musl.in
+++ b/config/libc/musl.in
@@ -53,17 +53,23 @@ choice
# Don't remove next line
# CT_INSERT_VERSION_BELOW
-config LIBC_MUSL_V_1_1
+config LIBC_MUSL_V_1_1_16
bool
- prompt "1.1.15 (Mainline)"
+ prompt "1.1.16"
depends on EXPERIMENTAL
+config LIBC_MUSL_V_1_1_15
+ bool
+ prompt "1.1.15 (OBSOLETE)"
+ depends on EXPERIMENTAL && OBSOLETE
+
endchoice
config LIBC_VERSION
string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
- default "1.1.15" if LIBC_MUSL_V_1_1
+ default "1.1.16" if LIBC_MUSL_V_1_1_16
+ default "1.1.15" if LIBC_MUSL_V_1_1_15
endif # ! LIBC_MUSL_CUSTOM
diff --git a/patches/musl/1.0.4/0001-max_align_t.patch b/patches/musl/1.0.4/0001-max_align_t.patch
deleted file mode 100644
index 766f667..0000000
--- a/patches/musl/1.0.4/0001-max_align_t.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-From 321f4fa9067185aa6bb47403dfba46e8cfe917d3 Mon Sep 17 00:00:00 2001
-From: Rich Felker <dalias@aerifal.cx>
-Date: Wed, 20 Aug 2014 21:20:14 +0000
-Subject: add max_align_t definition for C11 and C++11
-
-unfortunately this needs to be able to vary by arch, because of a huge
-mess GCC made: the GCC definition, which became the ABI, depends on
-quirks in GCC's definition of __alignof__, which does not match the
-formal alignment of the type.
-
-GCC's __alignof__ unexpectedly exposes the an implementation detail,
-its "preferred alignment" for the type, rather than the formal/ABI
-alignment of the type, which it only actually uses in structures. on
-most archs the two values are the same, but on some (at least i386)
-the preferred alignment is greater than the ABI alignment.
-
-I considered using _Alignas(8) unconditionally, but on at least one
-arch (or1k), the alignment of max_align_t with GCC's definition is
-only 4 (even the "preferred alignment" for these types is only 4).
-
-[bryanhundven@gmail.com: remove the or1k hunk]
-[yann.morin.1998@free.fr: add the commit log]
-diff --git a/arch/arm/bits/alltypes.h.in b/arch/arm/bits/alltypes.h.in
-index bd23a6a..3482874 100644
---- a/arch/arm/bits/alltypes.h.in
-+++ b/arch/arm/bits/alltypes.h.in
-@@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t;
- TYPEDEF float float_t;
- TYPEDEF double double_t;
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/i386/bits/alltypes.h.in b/arch/i386/bits/alltypes.h.in
-index efd2c07..8a62c80 100644
---- a/arch/i386/bits/alltypes.h.in
-+++ b/arch/i386/bits/alltypes.h.in
-@@ -27,6 +27,8 @@ TYPEDEF long double float_t;
- TYPEDEF long double double_t;
- #endif
-
-+TYPEDEF struct { _Alignas(8) long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/microblaze/bits/alltypes.h.in b/arch/microblaze/bits/alltypes.h.in
-index 6bd7942..27006b0 100644
---- a/arch/microblaze/bits/alltypes.h.in
-+++ b/arch/microblaze/bits/alltypes.h.in
-@@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t;
- TYPEDEF float float_t;
- TYPEDEF double double_t;
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/mips/bits/alltypes.h.in b/arch/mips/bits/alltypes.h.in
-index 6bd7942..27006b0 100644
---- a/arch/mips/bits/alltypes.h.in
-+++ b/arch/mips/bits/alltypes.h.in
-@@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t;
- TYPEDEF float float_t;
- TYPEDEF double double_t;
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/powerpc/bits/alltypes.h.in b/arch/powerpc/bits/alltypes.h.in
-index e9d8dd8..040157e 100644
---- a/arch/powerpc/bits/alltypes.h.in
-+++ b/arch/powerpc/bits/alltypes.h.in
-@@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t;
- TYPEDEF float float_t;
- TYPEDEF double double_t;
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/sh/bits/alltypes.h.in b/arch/sh/bits/alltypes.h.in
-index e9d8dd8..040157e 100644
---- a/arch/sh/bits/alltypes.h.in
-+++ b/arch/sh/bits/alltypes.h.in
-@@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t;
- TYPEDEF float float_t;
- TYPEDEF double double_t;
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/x32/bits/alltypes.h.in b/arch/x32/bits/alltypes.h.in
-index b077fc9..c98a3d7 100644
---- a/arch/x32/bits/alltypes.h.in
-+++ b/arch/x32/bits/alltypes.h.in
-@@ -18,6 +18,8 @@ TYPEDEF float float_t;
- TYPEDEF double double_t;
- #endif
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long long time_t;
- TYPEDEF long long suseconds_t;
-
-diff --git a/arch/x86_64/bits/alltypes.h.in b/arch/x86_64/bits/alltypes.h.in
-index 277e944..c4898c7 100644
---- a/arch/x86_64/bits/alltypes.h.in
-+++ b/arch/x86_64/bits/alltypes.h.in
-@@ -18,6 +18,8 @@ TYPEDEF float float_t;
- TYPEDEF double double_t;
- #endif
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/include/stddef.h b/include/stddef.h
-index 0a32919..bd75385 100644
---- a/include/stddef.h
-+++ b/include/stddef.h
-@@ -10,6 +10,9 @@
- #define __NEED_ptrdiff_t
- #define __NEED_size_t
- #define __NEED_wchar_t
-+#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
-+#define __NEED_max_align_t
-+#endif
-
- #include <bits/alltypes.h>
-
diff --git a/patches/musl/1.1.4/0001-max_align_t.patch b/patches/musl/1.1.4/0001-max_align_t.patch
deleted file mode 100644
index 6423337..0000000
--- a/patches/musl/1.1.4/0001-max_align_t.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From 321f4fa9067185aa6bb47403dfba46e8cfe917d3 Mon Sep 17 00:00:00 2001
-From: Rich Felker <dalias@aerifal.cx>
-Date: Wed, 20 Aug 2014 21:20:14 +0000
-Subject: add max_align_t definition for C11 and C++11
-
-unfortunately this needs to be able to vary by arch, because of a huge
-mess GCC made: the GCC definition, which became the ABI, depends on
-quirks in GCC's definition of __alignof__, which does not match the
-formal alignment of the type.
-
-GCC's __alignof__ unexpectedly exposes the an implementation detail,
-its "preferred alignment" for the type, rather than the formal/ABI
-alignment of the type, which it only actually uses in structures. on
-most archs the two values are the same, but on some (at least i386)
-the preferred alignment is greater than the ABI alignment.
-
-I considered using _Alignas(8) unconditionally, but on at least one
-arch (or1k), the alignment of max_align_t with GCC's definition is
-only 4 (even the "preferred alignment" for these types is only 4).
----
-diff --git a/arch/arm/bits/alltypes.h.in b/arch/arm/bits/alltypes.h.in
-index 0d750cc..183c4c4 100644
---- a/arch/arm/bits/alltypes.h.in
-+++ b/arch/arm/bits/alltypes.h.in
-@@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t;
- TYPEDEF float float_t;
- TYPEDEF double double_t;
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/i386/bits/alltypes.h.in b/arch/i386/bits/alltypes.h.in
-index 502c882..8ba8f6f 100644
---- a/arch/i386/bits/alltypes.h.in
-+++ b/arch/i386/bits/alltypes.h.in
-@@ -27,6 +27,8 @@ TYPEDEF long double float_t;
- TYPEDEF long double double_t;
- #endif
-
-+TYPEDEF struct { _Alignas(8) long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/microblaze/bits/alltypes.h.in b/arch/microblaze/bits/alltypes.h.in
-index 4657d14..a03e1b8 100644
---- a/arch/microblaze/bits/alltypes.h.in
-+++ b/arch/microblaze/bits/alltypes.h.in
-@@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t;
- TYPEDEF float float_t;
- TYPEDEF double double_t;
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/mips/bits/alltypes.h.in b/arch/mips/bits/alltypes.h.in
-index 4657d14..a03e1b8 100644
---- a/arch/mips/bits/alltypes.h.in
-+++ b/arch/mips/bits/alltypes.h.in
-@@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t;
- TYPEDEF float float_t;
- TYPEDEF double double_t;
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/or1k/bits/alltypes.h.in b/arch/or1k/bits/alltypes.h.in
-index 0d750cc..183c4c4 100644
---- a/arch/or1k/bits/alltypes.h.in
-+++ b/arch/or1k/bits/alltypes.h.in
-@@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t;
- TYPEDEF float float_t;
- TYPEDEF double double_t;
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/powerpc/bits/alltypes.h.in b/arch/powerpc/bits/alltypes.h.in
-index 378124c..ee7f137 100644
---- a/arch/powerpc/bits/alltypes.h.in
-+++ b/arch/powerpc/bits/alltypes.h.in
-@@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t;
- TYPEDEF float float_t;
- TYPEDEF double double_t;
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/sh/bits/alltypes.h.in b/arch/sh/bits/alltypes.h.in
-index 378124c..ee7f137 100644
---- a/arch/sh/bits/alltypes.h.in
-+++ b/arch/sh/bits/alltypes.h.in
-@@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t;
- TYPEDEF float float_t;
- TYPEDEF double double_t;
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/arch/x32/bits/alltypes.h.in b/arch/x32/bits/alltypes.h.in
-index 8930efa..8e396c9 100644
---- a/arch/x32/bits/alltypes.h.in
-+++ b/arch/x32/bits/alltypes.h.in
-@@ -18,6 +18,8 @@ TYPEDEF float float_t;
- TYPEDEF double double_t;
- #endif
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long long time_t;
- TYPEDEF long long suseconds_t;
-
-diff --git a/arch/x86_64/bits/alltypes.h.in b/arch/x86_64/bits/alltypes.h.in
-index 34b7d6a..7b4f3e7 100644
---- a/arch/x86_64/bits/alltypes.h.in
-+++ b/arch/x86_64/bits/alltypes.h.in
-@@ -18,6 +18,8 @@ TYPEDEF float float_t;
- TYPEDEF double double_t;
- #endif
-
-+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-+
- TYPEDEF long time_t;
- TYPEDEF long suseconds_t;
-
-diff --git a/include/stddef.h b/include/stddef.h
-index 0a32919..bd75385 100644
---- a/include/stddef.h
-+++ b/include/stddef.h
-@@ -10,6 +10,9 @@
- #define __NEED_ptrdiff_t
- #define __NEED_size_t
- #define __NEED_wchar_t
-+#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
-+#define __NEED_max_align_t
-+#endif
-
- #include <bits/alltypes.h>
-
---
-cgit v0.9.0.3-65-g4555
diff --git a/scripts/addToolVersion.sh b/scripts/addToolVersion.sh
index bbab82e..1ac9517 100755
--- a/scripts/addToolVersion.sh
+++ b/scripts/addToolVersion.sh
@@ -18,7 +18,7 @@ doHelp() {
'tool' in one of:
gcc, binutils, glibc, uClibc, uClibc-ng, newlib, linux, gdb,
duma, strace, ltrace, libelf, gmp, mpfr, isl, cloog, mpc,
- mingw-w64, expat, ncurses
+ mingw-w64, expat, ncurses, musl
Valid options for all tools:
--stable, -s, +x (default)
@@ -151,7 +151,7 @@ addToolVersion() {
ver_M=$(getVersionField "${version}" . 1)
ver_m=$(getVersionField "${version}" . 2)
ver_p=$(getVersionField "${version}" . 3)
- if [ ${ver_M} -eq 0 -a ${ver_m} -eq 9 -a ${ver_p} -eq 33 ]; then
+ if [ ${ver_M} -eq 1 -a ${ver_m} -eq 0 -a ${ver_p} -eq 15 ]; then
SedExpr1="${SedExpr1}\n select LIBC_UCLIBC_NG_1_0_15_or_later"
fi
;;
@@ -195,6 +195,7 @@ while [ $# -gt 0 ]; do
--uClibc-ng)EXP=; OBS=; cat=LIBC_UCLIBC_NG; tool=uClibc; tool_prefix=libc; dot2suffix=;;
--newlib) EXP=; OBS=; cat=LIBC_NEWLIB; tool=newlib; tool_prefix=libc; dot2suffix=;;
--mingw-w64)EXP=; OBS=; cat=WINAPI; tool=mingw; tool_prefix=libc; dot2suffix=;;
+ --musl) EXP=; OBS=; cat=LIBC_MUSL; tool=musl; tool_prefix=libc; dot2suffix=;;
--linux) EXP=; OBS=; cat=KERNEL; tool=linux; tool_prefix=kernel; dot2suffix=;;
--gdb) EXP=; OBS=; cat=GDB; tool=gdb; tool_prefix=debug; dot2suffix=;;
--duma) EXP=; OBS=; cat=DUMA; tool=duma; tool_prefix=debug; dot2suffix=;;