void-packages/srcpkgs/gcc/c18caf6dbf178664c7b31174e08f2366be40e13b.patch
2016-11-27 18:37:02 +01:00

5414 lines
184 KiB
Diff

From c18caf6dbf178664c7b31174e08f2366be40e13b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Fri, 23 Sep 2016 17:16:17 +0200
Subject: [PATCH] gcc: update to 6.2.1
---
common/shlibs | 14 +-
srcpkgs/base-chroot-musl/template | 2 +-
srcpkgs/base-chroot/template | 2 +-
srcpkgs/base-devel/template | 2 +-
srcpkgs/chromium/template | 3 +-
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-aarch64-linux-gnu/template | 142 ++--
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-4.9.2-musl.diff | 1 -
.../files/gcc-6.2.1-musl.diff | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-aarch64-linux-musl/template | 89 ++-
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-arm-linux-gnueabi/template | 147 +++--
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-arm-linux-gnueabihf/template | 149 +++--
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-4.9.2-musl.diff | 1 -
.../files/gcc-6.2.1-musl.diff | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-arm-linux-musleabi/template | 95 ++-
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-4.9.2-musl.diff | 1 -
.../files/gcc-6.2.1-musl.diff | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-arm-linux-musleabihf/template | 94 ++-
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-armv7l-linux-gnueabihf/template | 150 +++--
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-4.9.2-musl.diff | 1 -
.../files/gcc-6.2.1-musl.diff | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-armv7l-linux-musleabihf/template | 95 ++-
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-4.9.2-musl.diff | 1 -
.../files/gcc-6.2.1-musl.diff | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-i686-linux-musl/template | 88 ++-
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-i686-pc-linux-gnu/template | 132 ++--
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-4.9.2-musl.diff | 1 -
.../files/gcc-6.2.1-musl.diff | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-mips-linux-musl/template | 91 ++-
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-4.9.2-musl.diff | 1 -
.../files/gcc-6.2.1-musl.diff | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-mipsel-linux-musl/template | 91 ++-
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-4.9.2-musl.diff | 1 -
.../files/gcc-6.2.1-musl.diff | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-mipsel-linux-muslhf/template | 91 ++-
srcpkgs/cross-vpkg-dummy/template | 4 +-
.../files/fix-cxxflags-passing.patch | 1 +
.../files/gcc-4.9.2-musl.diff | 1 -
.../files/gcc-6.2.1-musl.diff | 1 +
.../files/gcc-spec-env-r1.patch | 1 -
srcpkgs/cross-x86_64-linux-musl/template | 91 ++-
srcpkgs/efivar/template | 3 +-
srcpkgs/gcc-c++ | 1 -
.../gcc-multilib/patches/fix-libiberty_pic.patch | 8 +-
srcpkgs/gcc-multilib/template | 17 +-
srcpkgs/gcc/files/gcc-4.9.2-musl.diff | 730 ---------------------
srcpkgs/gcc/files/gcc-6.2.1-musl.diff | 556 ++++++++++++++++
srcpkgs/gcc/patches/fix-cxxflags-passing.patch | 10 +
srcpkgs/gcc/patches/fix-musl-execinfo.patch | 33 +
srcpkgs/gcc/patches/gcc-spec-env-r1.patch | 87 ---
srcpkgs/gcc/patches/libcpp-source_date_epoch.patch | 2 +-
srcpkgs/gcc/patches/musl-posix_memalign-c++.patch | 30 -
srcpkgs/gcc/template | 147 +++--
srcpkgs/isl15-devel | 1 +
srcpkgs/isl15/template | 31 +
srcpkgs/kernel-libc-headers/template | 4 +-
srcpkgs/libmpx | 1 +
srcpkgs/libmpx-devel | 1 +
srcpkgs/rr/template | 2 +-
srcpkgs/virtualbox-ose/template | 3 +-
xbps-src | 6 +-
86 files changed, 1850 insertions(+), 1441 deletions(-)
create mode 120000 srcpkgs/cross-aarch64-linux-gnu/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-aarch64-linux-gnu/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-aarch64-linux-musl/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-aarch64-linux-musl/files/gcc-4.9.2-musl.diff
create mode 120000 srcpkgs/cross-aarch64-linux-musl/files/gcc-6.2.1-musl.diff
delete mode 120000 srcpkgs/cross-aarch64-linux-musl/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-arm-linux-gnueabi/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-arm-linux-gnueabi/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-arm-linux-gnueabihf/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-arm-linux-gnueabihf/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-arm-linux-musleabi/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-arm-linux-musleabi/files/gcc-4.9.2-musl.diff
create mode 120000 srcpkgs/cross-arm-linux-musleabi/files/gcc-6.2.1-musl.diff
delete mode 120000 srcpkgs/cross-arm-linux-musleabi/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-arm-linux-musleabihf/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-arm-linux-musleabihf/files/gcc-4.9.2-musl.diff
create mode 120000 srcpkgs/cross-arm-linux-musleabihf/files/gcc-6.2.1-musl.diff
delete mode 120000 srcpkgs/cross-arm-linux-musleabihf/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-armv7l-linux-gnueabihf/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-armv7l-linux-gnueabihf/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-armv7l-linux-musleabihf/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-4.9.2-musl.diff
create mode 120000 srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-6.2.1-musl.diff
delete mode 120000 srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-i686-linux-musl/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-i686-linux-musl/files/gcc-4.9.2-musl.diff
create mode 120000 srcpkgs/cross-i686-linux-musl/files/gcc-6.2.1-musl.diff
delete mode 120000 srcpkgs/cross-i686-linux-musl/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-i686-pc-linux-gnu/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-i686-pc-linux-gnu/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-mips-linux-musl/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-mips-linux-musl/files/gcc-4.9.2-musl.diff
create mode 120000 srcpkgs/cross-mips-linux-musl/files/gcc-6.2.1-musl.diff
delete mode 120000 srcpkgs/cross-mips-linux-musl/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-mipsel-linux-musl/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-mipsel-linux-musl/files/gcc-4.9.2-musl.diff
create mode 120000 srcpkgs/cross-mipsel-linux-musl/files/gcc-6.2.1-musl.diff
delete mode 120000 srcpkgs/cross-mipsel-linux-musl/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-mipsel-linux-muslhf/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-mipsel-linux-muslhf/files/gcc-4.9.2-musl.diff
create mode 120000 srcpkgs/cross-mipsel-linux-muslhf/files/gcc-6.2.1-musl.diff
delete mode 120000 srcpkgs/cross-mipsel-linux-muslhf/files/gcc-spec-env-r1.patch
create mode 120000 srcpkgs/cross-x86_64-linux-musl/files/fix-cxxflags-passing.patch
delete mode 120000 srcpkgs/cross-x86_64-linux-musl/files/gcc-4.9.2-musl.diff
create mode 120000 srcpkgs/cross-x86_64-linux-musl/files/gcc-6.2.1-musl.diff
delete mode 120000 srcpkgs/cross-x86_64-linux-musl/files/gcc-spec-env-r1.patch
delete mode 120000 srcpkgs/gcc-c++
delete mode 100644 srcpkgs/gcc/files/gcc-4.9.2-musl.diff
create mode 100644 srcpkgs/gcc/files/gcc-6.2.1-musl.diff
create mode 100644 srcpkgs/gcc/patches/fix-cxxflags-passing.patch
create mode 100644 srcpkgs/gcc/patches/fix-musl-execinfo.patch
delete mode 100644 srcpkgs/gcc/patches/gcc-spec-env-r1.patch
delete mode 100644 srcpkgs/gcc/patches/musl-posix_memalign-c++.patch
create mode 120000 srcpkgs/isl15-devel
create mode 100644 srcpkgs/isl15/template
create mode 120000 srcpkgs/libmpx
create mode 120000 srcpkgs/libmpx-devel
diff --git a/common/shlibs b/common/shlibs
index e43ee26..0b559c6 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -50,13 +50,18 @@ libmvec.so.1 glibc-2.22_1
libz.so.1 zlib-1.2.3_1
libbz2.so.1 bzip2-1.0.5_1
libarchive.so.13 libarchive-3.1.2_1
+libcc1.so.0 gcc-6.2.1_1
+libcc1plugin.so.0 gcc-6.2.1_1
libitm.so.1 libitm-4.7.3_1
libgcj_bc.so.1 libgcj-4.7.3_1
liblto_plugin.so.0 gcc-4.7.3_1
libgcc_s.so.1 libgcc-4.4.0_1
-libgcj.so.15 libgcj-4.9.0_1
-libgcj-tools.so.15 libgcj-4.9.0_1
-libgij.so.15 libgcj-4.9.0_1
+libgcj.so.17 libgcj-6.2.0_1
+libgcj-tools.so.17 libgcj-6.2.1_1
+libgij.so.17 libgcj-6.2.1_1
+libgo.so.9 libgo-6.2.1_1
+libmpx.so.2 libmpx-6.2.1_1
+libmpxwrappers.so.2 libmpx-6.2.1_1
libperl.so.5.24 perl-5.24.0_1
libmp.so.3 gmp-5.0.1_1
libgmp.so.10 gmp-5.0.1_1
@@ -1048,6 +1053,7 @@ libsratom-0.so.0 sratom-0.4.0_1
libmongoose.so.0 libmongoose-3.1_1
libpwquality.so.1 libpwquality-1.1.1_1
libisl.so.10 isl-0.10_1
+libisl.so.15 isl15-0.16.1_1
libcloog-isl.so.4 cloog-0.18.1_1
librtmp.so.0 librtmp-2.4_1
libORBit-2.so.0 libORBit2-2.14.19_1
@@ -1652,7 +1658,7 @@ libextractor_common.so.1 libextractor-1.1_1
libpano13.so.3 libpano13-2.9.19_1
libubsan.so.0 libsanitizer-4.9.0_1
libtsan.so.0 libsanitizer-4.9.0_1
-libasan.so.1 libsanitizer-4.9.0_1
+libasan.so.3 libsanitizer-6.2.0_1
liblsan.so.0 libsanitizer-4.9.0_1
libcilkrts.so.5 libcilkrts-4.9.0_1
libvtv.so.0 libvtv-4.9.0_1
diff --git a/srcpkgs/base-chroot-musl/template b/srcpkgs/base-chroot-musl/template
index 3271bb6..9aaa2ff 100644
--- a/srcpkgs/base-chroot-musl/template
+++ b/srcpkgs/base-chroot-musl/template
@@ -16,7 +16,7 @@ only_for_archs="i686-musl x86_64-musl armv6l-musl armv7l-musl aarch64-musl mips-
depends="
base-files musl-devel musl-legacy-compat
- gcc gcc-c++ patch chroot-bash chroot-grep coreutils findutils
+ gcc patch chroot-bash chroot-grep coreutils findutils
gettext chroot-texinfo sed chroot-gawk diffutils
make gzip file tar chroot-util-linux chroot-distcc
chroot-git ccache xbps xz which"
diff --git a/srcpkgs/base-chroot/template b/srcpkgs/base-chroot/template
index 074fd21..9c9d09e 100644
--- a/srcpkgs/base-chroot/template
+++ b/srcpkgs/base-chroot/template
@@ -12,6 +12,6 @@ license="Public domain"
depends="
base-files>=0.127 kernel-libc-headers glibc-devel glibc-locales binutils gcc
- gcc-c++ patch chroot-bash chroot-grep coreutils gettext
+ patch chroot-bash chroot-grep coreutils gettext
chroot-texinfo sed chroot-gawk findutils diffutils make gzip file tar
chroot-util-linux chroot-distcc chroot-git ccache xbps xz which"
diff --git a/srcpkgs/base-devel/template b/srcpkgs/base-devel/template
index 1fcdf72..d828744 100644
--- a/srcpkgs/base-devel/template
+++ b/srcpkgs/base-devel/template
@@ -4,7 +4,7 @@ version=20150820
revision=2
build_style=meta
noarch=yes
-depends="autoconf automake bc binutils bison ed flex gcc gcc-c++ gettext
+depends="autoconf automake bc binutils bison ed flex gcc gettext
groff libtool m4 make patch pkg-config texinfo unzip xz"
case "$XBPS_TARGET_MACHINE" in
*-musl) depends+=" musl";;
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index 0b49bbc..0a90c97 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -30,7 +30,8 @@ depends="libexif hwids desktop-file-utils hicolor-icon-theme"
nostrip_files="nacl_irt_x86_64.nexe nacl_irt_x86_32.nexe"
if [ -z "$CROSS_BUILD" -a "$XBPS_MACHINE" = "x86_64" ]; then
- hostmakedepends+=" gcc-c++-multilib"
+ # Is this required?
+ hostmakedepends+=" gcc-multilib"
fi
post_extract() {
diff --git a/srcpkgs/cross-aarch64-linux-gnu/files/fix-cxxflags-passing.patch b/srcpkgs/cross-aarch64-linux-gnu/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-aarch64-linux-gnu/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-aarch64-linux-gnu/files/gcc-spec-env-r1.patch b/srcpkgs/cross-aarch64-linux-gnu/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-aarch64-linux-gnu/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-aarch64-linux-gnu/template b/srcpkgs/cross-aarch64-linux-gnu/template
index fecccec..5979ee9 100644
--- a/srcpkgs/cross-aarch64-linux-gnu/template
+++ b/srcpkgs/cross-aarch64-linux-gnu/template
@@ -1,31 +1,31 @@
# Template build file for 'cross-aarch64-linux-gnu'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_glibc_version=2.24
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=aarch64-linux-gnu
_archflags="-march=armv8-a"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=6
+version=0.22
+revision=1
short_desc="GNU Cross toolchain for the ${_triplet} LE target (binutils/gcc/glibc)"
maintainer="Christian Neukirchen <chneukirchen@gmail.com>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, LGPL-2.1"
distfiles="
${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
- ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
- ${KERNEL_SITE}/kernel/v3.x/linux-${_linux_version}.tar.xz"
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92"
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af"
lib32disabled=yes
nocross=yes
@@ -61,6 +61,8 @@ _linux_headers() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -68,10 +70,15 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} \
- --with-sysroot=${_sysroot} --disable-nls --disable-shared \
- --disable-multilib --disable-werror --enable-gold
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-shared"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --enable-gold"
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host && make ${makejobs}
make install
@@ -80,25 +87,40 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --without-headers \
- --disable-nls --disable-shared --disable-libquadmath \
- --disable-decimal-float --disable-libgomp --disable-libmudflap \
- --disable-libssp --disable-libitm --disable-libatomic \
- --disable-threads --enable-languages=c \
- --disable-sjlj-exceptions --disable-multilib \
- --with-gnu-ld --with-gnu-as
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --without-headers"
+ _args+=" --disable-nls"
+ _args+=" --disable-shared"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libssp"
+ _args+=" --disable-libitm"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-threads"
+ _args+=" --enable-languages=c"
+ _args+=" --disable-sjlj-exceptions"
+ _args+=" --disable-multilib"
+ _args+=" --with-gnu-ld"
+ _args+=" --with-gnu-as"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -107,6 +129,8 @@ _gcc_bootstrap() {
}
_glibc_headers() {
+ local _args
+
[ -f ${wrksrc}/.glibc_headers_done ] && return 0
cd ${wrksrc}
@@ -122,12 +146,14 @@ _glibc_headers() {
AS="${_triplet}-as" CPP="${_triplet}-cpp" \
NM="${_triplet}-nm"
- ../glibc-${_glibc_version}/configure \
- --host=${_triplet} --prefix=/usr \
- --with-headers=${_sysroot}/usr/include \
- --config-cache \
- --enable-obsolete-rpc \
- --enable-kernel=2.6.27
+ _args="--prefix=/usr"
+ _args+=" --host=${_triplet}"
+ _args+=" --with-headers=${_sysroot}/usr/include"
+ _args+=" --config-cache"
+ _args+=" --enable-obsolete-rpc"
+ _args+=" --enable-kernel=2.6.27"
+
+ ../glibc-${_glibc_version}/configure ${_args}
make -k install-headers cross_compiling=yes \
install_root=${_sysroot}
@@ -136,6 +162,8 @@ _glibc_headers() {
}
_glibc_build() {
+ local _args
+
[ -f ${wrksrc}/.glibc_build_done ] && return 0
cd ${wrksrc}
@@ -152,12 +180,16 @@ _glibc_build() {
NM="${_triplet}-nm"
export CFLAGS="-Os -pipe -Wno-error ${_archflags}"
- ../glibc-${_glibc_version}/configure \
- --host=${_triplet} --prefix=/usr --libdir=/usr/lib \
- --with-headers=${_sysroot}/usr/include \
- --config-cache \
- --enable-obsolete-rpc --disable-profile \
- --enable-kernel=2.6.27
+ _args="--prefix=/usr"
+ _args+=" --libdir=/usr/lib"
+ _args+=" --host=${_triplet}"
+ _args+=" --with-headers=${_sysroot}/usr/include"
+ _args+=" --config-cache"
+ _args+=" --enable-obsolete-rpc"
+ _args+=" --disable-profile"
+ _args+=" --enable-kernel=2.6.27"
+
+ ../glibc-${_glibc_version}/configure ${_args}
make ${makejobs}
make install_root=${_sysroot} install
@@ -166,6 +198,8 @@ _glibc_build() {
}
_gcc_build() {
+ local _args
+
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -186,19 +220,35 @@ _gcc_build() {
touch .sed_subst_done
fi
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --prefix=/usr --libdir=/usr/lib \
- --with-sysroot=${_sysroot} --enable-languages=c,c++,lto \
- --with-gnu-as --with-gnu-ld --disable-multilib \
- --disable-nls --disable-sjlj-exceptions \
- --enable-threads=posix --enable-long-longx \
- --enable-shared --enable-linker-build-id \
- --enable-gnu-unique-object --enable-lto \
- --disable-libquadmath --disable-libatomic \
- --disable-libssp --disable-libmudflap \
- --disable-libsanitizer --disable-libcilkrts \
- --disable-libitm --disable-libvtv --disable-libstdcxx-pch \
- --enable-libstdcxx-time --with-linker-hash-style=gnu
+ _args="--prefix=/usr"
+ _args+=" --libdir=/usr/lib"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --with-gnu-as"
+ _args+=" --with-gnu-ld"
+ _args+=" --disable-multilib"
+ _args+=" --disable-nls"
+ _args+=" --disable-sjlj-exceptions"
+ _args+=" --enable-threads=posix"
+ _args+=" --enable-long-longx"
+ _args+=" --enable-shared"
+ _args+=" --enable-linker-build-id"
+ _args+=" --enable-gnu-unique-object"
+ _args+=" --enable-lto"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-libssp"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-libcilkrts"
+ _args+=" --disable-libitm"
+ _args+=" --disable-libvtv"
+ _args+=" --disable-libstdcxx-pch"
+ _args+=" --enable-libstdcxx-time"
+ _args+=" --with-linker-hash-style=gnu"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-aarch64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-aarch64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-aarch64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-aarch64-linux-musl/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-aarch64-linux-musl/files/gcc-4.9.2-musl.diff
deleted file mode 120000
index 3d53eb4..0000000
--- a/srcpkgs/cross-aarch64-linux-musl/files/gcc-4.9.2-musl.diff
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/files/gcc-4.9.2-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-aarch64-linux-musl/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-aarch64-linux-musl/files/gcc-6.2.1-musl.diff
new file mode 120000
index 0000000..9081d12
--- /dev/null
+++ b/srcpkgs/cross-aarch64-linux-musl/files/gcc-6.2.1-musl.diff
@@ -0,0 +1 @@
+../../gcc/files/gcc-6.2.1-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-aarch64-linux-musl/files/gcc-spec-env-r1.patch b/srcpkgs/cross-aarch64-linux-musl/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-aarch64-linux-musl/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index 96b7746..4463a29 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -1,30 +1,30 @@
# Template build file for 'cross-aarch64-linux-musl'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_musl_version=1.1.15
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=aarch64-linux-musl
_archflags="-march=armv8-a"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=7
+version=0.22
+revision=1
short_desc="Cross toolchain for ARM64 LE target (musl)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, MIT"
distfiles="
- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2
- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz
http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af
97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa"
lib32disabled=yes
@@ -49,6 +49,8 @@ _apply_patch() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -56,11 +58,15 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-shared"
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \
- --disable-nls --disable-multilib --disable-werror \
- --disable-shared
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host && make ${makejobs}
make install
@@ -69,25 +75,39 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff
+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --with-newlib"
+ _args+=" --enable-languages=c"
+ _args+=" --with-newlib"
+ _args+=" --disable-libssp"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-threads"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-shared"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \
- --enable-languages=c --with-newlib --disable-libssp --disable-nls \
- --disable-libquadmath --disable-threads --disable-decimal-float \
- --disable-shared --disable-libmudflap --disable-libgomp \
- --disable-libatomic --disable-symvers libat_cv_have_ifunc=no
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -118,7 +138,7 @@ _musl_build() {
CC="${_triplet}-gcc" LD="${_triplet}-ld" AR="${_triplet}-ar" \
AS="${_triplet}-as" RANLIB="${_triplet}-ranlib" \
CFLAGS="-Os -pipe ${_archflags}" \
- ./configure --prefix=/usr \
+ ./configure --prefix=/usr
make ${makejobs}
make DESTDIR=${_sysroot} install
@@ -127,6 +147,8 @@ _musl_build() {
}
_gcc_build() {
+ local _args
+
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -135,13 +157,22 @@ _gcc_build() {
[ ! -d gcc-build ] && mkdir gcc-build
cd gcc-build
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \
- --libexecdir=/usr/lib --enable-languages=c,c++,lto \
- --enable-lto --disable-libsanitizer \
- --disable-multilib --disable-nls --disable-libquadmath \
- --disable-libmudflap --enable-shared \
- --disable-symvers libat_cv_have_ifunc=no
+ _args="--prefix=/usr"
+ _args+=" --libexecdir=/usr/lib"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --enable-lto"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-multilib"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-libmudflap"
+ _args+=" --enable-shared"
+ _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-arm-linux-gnueabi/files/fix-cxxflags-passing.patch b/srcpkgs/cross-arm-linux-gnueabi/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-arm-linux-gnueabi/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-gnueabi/files/gcc-spec-env-r1.patch b/srcpkgs/cross-arm-linux-gnueabi/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-arm-linux-gnueabi/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template
index af76069..a51d7ea 100644
--- a/srcpkgs/cross-arm-linux-gnueabi/template
+++ b/srcpkgs/cross-arm-linux-gnueabi/template
@@ -1,9 +1,9 @@
# Template build file for 'cross-arm-linux-gnueabi'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_glibc_version=2.24
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=arm-linux-gnueabi
_fpuflags="--with-arch=armv5te --without-fp --with-float=soft"
@@ -11,22 +11,22 @@ _archflags="-march=armv5te -msoft-float -mfloat-abi=soft"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=4
+version=0.22
+revision=1
short_desc="GNU Cross toolchain for the ${_triplet} LE target (binutils/gcc/glibc)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, LGPL-2.1"
distfiles="
${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
- ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
- ${KERNEL_SITE}/kernel/v3.x/linux-${_linux_version}.tar.xz"
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92"
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af"
lib32disabled=yes
nocross=yes
@@ -64,17 +64,23 @@ _linux_headers() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
msg_normal "Building cross binutils\n"
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-shared"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} \
- --with-sysroot=${_sysroot} --disable-nls --disable-shared \
- --disable-multilib --disable-werror
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host
make ${makejobs}
@@ -84,26 +90,42 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --without-headers"
+ _args+=" --disable-nls"
+ _args+=" --disable-shared"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libssp"
+ _args+=" --disable-libitm"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-threads"
+ _args+=" --enable-languages=c"
+ _args+=" --disable-sjlj-exceptions"
+ _args+=" --disable-multilib"
+ _args+=" --with-gnu-ld"
+ _args+=" --with-gnu-as"
+ _args+=" ${_fpuflags}"
+
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --without-headers \
- --disable-nls --disable-shared --disable-libquadmath \
- --disable-decimal-float --disable-libgomp --disable-libmudflap \
- --disable-libssp --disable-libitm --disable-libatomic \
- --disable-threads --enable-languages=c \
- --disable-sjlj-exceptions --disable-multilib \
- --with-gnu-ld --with-gnu-as ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -112,6 +134,8 @@ _gcc_bootstrap() {
}
_glibc_headers() {
+ local _args
+
[ -f ${wrksrc}/.glibc_headers_done ] && return 0
cd ${wrksrc}
@@ -126,11 +150,15 @@ _glibc_headers() {
export CC="${_triplet}-gcc" LD="${_triplet}-ld" \
AS="${_triplet}-as" CPP="${_triplet}-cpp"
- ../glibc-${_glibc_version}/configure \
- --host=${_triplet} --prefix=/usr \
- --with-headers=${_sysroot}/usr/include \
- --config-cache --enable-obsolete-rpc \
- --enable-kernel=2.6.27 ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --host=${_triplet}"
+ _args+=" --with-headers=${_sysroot}/usr/include"
+ _args+=" --config-cache"
+ _args+=" --enable-obsolete-rpc"
+ _args+=" --enable-kernel=2.6.27"
+ _args+=" ${_fpuflags}"
+
+ ../glibc-${_glibc_version}/configure ${_args}
make -k install-headers cross_compiling=yes \
install_root=${_sysroot}
@@ -139,6 +167,8 @@ _glibc_headers() {
}
_glibc_build() {
+ local _args
+
[ -f ${wrksrc}/.glibc_build_done ] && return 0
cd ${wrksrc}
@@ -154,11 +184,17 @@ _glibc_build() {
AS="${_triplet}-as" CPP="${_triplet}-cpp"
export CFLAGS="-Os -pipe ${_archflags}"
- ../glibc-${_glibc_version}/configure \
- --host=${_triplet} --prefix=/usr \
- --with-headers=${_sysroot}/usr/include \
- --config-cache --disable-profile --enable-obsolete-rpc \
- --disable-werror --enable-kernel=2.6.27 ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --host=${_triplet}"
+ _args+=" --with-headers=${_sysroot}/usr/include"
+ _args+=" --config-cache"
+ _args+=" --disable-profile"
+ _args+=" --enable-obsolete-rpc"
+ _args+=" --disable-werror"
+ _args+=" --enable-kernel=2.6.27"
+ _args+=" ${_fpuflags}"
+
+ ../glibc-${_glibc_version}/configure ${_args}
make ${makejobs}
make install_root=${_sysroot} install
@@ -167,6 +203,8 @@ _glibc_build() {
}
_gcc_build() {
+ local _args
+
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -185,20 +223,39 @@ _gcc_build() {
touch .sed_subst_done
fi
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --prefix=/usr --libdir=/usr/lib \
- --libexecdir=/usr/lib --with-sysroot=${_sysroot} \
- --enable-languages=c,c++,lto \
- --with-gnu-as --with-gnu-ld --disable-multilib \
- --disable-werror --disable-nls --disable-sjlj-exceptions \
- --enable-threads=posix --enable-long-longx \
- --enable-shared --enable-linker-build-id \
- --enable-gnu-unique-object --enable-lto \
- --disable-libquadmath --disable-libatomic \
- --disable-libssp --disable-libmudflap \
- --disable-libsanitizer --disable-libcilkrts \
- --disable-libitm --disable-libvtv --disable-libstdcxx-pch \
- --enable-libstdcxx-time --with-linker-hash-style=gnu ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --libdir=/usr/lib"
+ _args+=" --libexecdir=/usr/lib"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --with-gnu-as"
+ _args+=" --with-gnu-ld"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-nls"
+ _args+=" --disable-sjlj-exceptions"
+ _args+=" --enable-threads=posix"
+ _args+=" --enable-long-longx"
+ _args+=" --enable-shared"
+ _args+=" --enable-linker-build-id"
+ _args+=" --enable-gnu-unique-object"
+ _args+=" --enable-lto"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-libssp"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-libcilkrts"
+ _args+=" --disable-libitm"
+ _args+=" --disable-libvtv"
+ _args+=" --disable-libstdcxx-pch"
+ _args+=" --enable-libstdcxx-time"
+ _args+=" --with-linker-hash-style=gnu"
+ _args+=" ${_fpuflags}"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-arm-linux-gnueabihf/files/fix-cxxflags-passing.patch b/srcpkgs/cross-arm-linux-gnueabihf/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-arm-linux-gnueabihf/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-gnueabihf/files/gcc-spec-env-r1.patch b/srcpkgs/cross-arm-linux-gnueabihf/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-arm-linux-gnueabihf/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index 0c4b879..8e57daa 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -1,9 +1,9 @@
# Template build file for 'cross-arm-linux-gnueabihf'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_glibc_version=2.24
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=arm-linux-gnueabihf
_fpuflags="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
@@ -11,22 +11,22 @@ _archflags="-march=armv6 -mfpu=vfp -mfloat-abi=hard"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=5
+version=0.22
+revision=1
short_desc="GNU Cross toolchain for the ${_triplet} LE target (binutils/gcc/glibc)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="Public Domain"
distfiles="
${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
- ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
- ${KERNEL_SITE}/kernel/v3.x/linux-${_linux_version}.tar.xz"
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92"
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af"
lib32disabled=yes
nocross=yes
@@ -64,6 +64,8 @@ _linux_headers() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -71,10 +73,15 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} \
- --with-sysroot=${_sysroot} --disable-nls --disable-shared \
- --disable-multilib --disable-werror
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-shared"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host
make ${makejobs}
@@ -84,26 +91,42 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --without-headers"
+ _args+=" --disable-nls"
+ _args+=" --disable-shared"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libssp"
+ _args+=" --disable-libitm"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-threads"
+ _args+=" --enable-languages=c"
+ _args+=" --disable-sjlj-exceptions"
+ _args+=" --disable-multilib"
+ _args+=" --with-gnu-ld"
+ _args+=" --with-gnu-as"
+ _args+=" ${_fpuflags}"
+
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --without-headers \
- --disable-nls --disable-shared --disable-libquadmath \
- --disable-decimal-float --disable-libgomp --disable-libmudflap \
- --disable-libssp --disable-libitm --disable-libatomic \
- --disable-threads --enable-languages=c \
- --disable-sjlj-exceptions --disable-multilib \
- --with-gnu-ld --with-gnu-as ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -112,6 +135,8 @@ _gcc_bootstrap() {
}
_glibc_headers() {
+ local _args
+
[ -f ${wrksrc}/.glibc_headers_done ] && return 0
cd ${wrksrc}
@@ -126,11 +151,15 @@ _glibc_headers() {
export CC="${_triplet}-gcc" LD="${_triplet}-ld" \
AS="${_triplet}-as" CPP="${_triplet}-cpp"
- ../glibc-${_glibc_version}/configure \
- --host=${_triplet} --prefix=/usr \
- --with-headers=${_sysroot}/usr/include \
- --config-cache --enable-obsolete-rpc \
- --enable-kernel=2.6.27 ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --host=${_triplet}"
+ _args+=" --with-headers=${_sysroot}/usr/include"
+ _args+=" --config-cache"
+ _args+=" --enable-obsolete-rpc"
+ _args+=" --enable-kernel=2.6.27"
+ _args+=" ${_fpuflags}"
+
+ ../glibc-${_glibc_version}/configure ${_args}
make -k install-headers cross_compiling=yes \
install_root=${_sysroot}
@@ -139,6 +168,8 @@ _glibc_headers() {
}
_glibc_build() {
+ local _args
+
[ -f ${wrksrc}/.glibc_build_done ] && return 0
cd ${wrksrc}
@@ -154,11 +185,17 @@ _glibc_build() {
AS="${_triplet}-as" CPP="${_triplet}-cpp"
export CFLAGS="-Os -pipe ${_archflags}"
- ../glibc-${_glibc_version}/configure \
- --host=${_triplet} --prefix=/usr \
- --with-headers=${_sysroot}/usr/include \
- --config-cache --disable-profile --enable-obsolete-rpc \
- --disable-werror --enable-kernel=2.6.27 ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --host=${_triplet}"
+ _args+=" --with-headers=${_sysroot}/usr/include"
+ _args+=" --config-cache"
+ _args+=" --disable-profile"
+ _args+=" --enable-obsolete-rpc"
+ _args+=" --disable-werror"
+ _args+=" --enable-kernel=2.6.27"
+ _args+=" ${_fpuflags}"
+
+ ../glibc-${_glibc_version}/configure ${_args}
make ${makejobs}
make install_root=${_sysroot} install
@@ -167,6 +204,8 @@ _glibc_build() {
}
_gcc_build() {
+ local _args
+
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -184,21 +223,39 @@ _gcc_build() {
-i ${_sysroot}/lib/libc.so ${_sysroot}/lib/libpthread.so
touch .sed_subst_done
fi
-
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --prefix=/usr --libdir=/usr/lib \
- --libexecdir=/usr/lib --with-sysroot=${_sysroot} \
- --enable-languages=c,c++,lto \
- --with-gnu-as --with-gnu-ld --disable-multilib \
- --disable-werror --disable-nls --disable-sjlj-exceptions \
- --enable-threads=posix --enable-long-longx \
- --enable-shared --enable-linker-build-id \
- --enable-gnu-unique-object --enable-lto \
- --disable-libquadmath --disable-libatomic \
- --disable-libssp --disable-libmudflap \
- --disable-libsanitizer --disable-libcilkrts \
- --disable-libitm --disable-libvtv --disable-libstdcxx-pch \
- --enable-libstdcxx-time --with-linker-hash-style=gnu ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --libdir=/usr/lib"
+ _args+=" --libexecdir=/usr/lib"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --with-gnu-as"
+ _args+=" --with-gnu-ld"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-nls"
+ _args+=" --disable-sjlj-exceptions"
+ _args+=" --enable-threads=posix"
+ _args+=" --enable-long-longx"
+ _args+=" --enable-shared"
+ _args+=" --enable-linker-build-id"
+ _args+=" --enable-gnu-unique-object"
+ _args+=" --enable-lto"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-libssp"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-libcilkrts"
+ _args+=" --disable-libitm"
+ _args+=" --disable-libvtv"
+ _args+=" --disable-libstdcxx-pch"
+ _args+=" --enable-libstdcxx-time"
+ _args+=" --with-linker-hash-style=gnu"
+ _args+=" ${_fpuflags}"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-arm-linux-musleabi/files/fix-cxxflags-passing.patch b/srcpkgs/cross-arm-linux-musleabi/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-arm-linux-musleabi/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-musleabi/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-arm-linux-musleabi/files/gcc-4.9.2-musl.diff
deleted file mode 120000
index 3d53eb4..0000000
--- a/srcpkgs/cross-arm-linux-musleabi/files/gcc-4.9.2-musl.diff
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/files/gcc-4.9.2-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-musleabi/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-arm-linux-musleabi/files/gcc-6.2.1-musl.diff
new file mode 120000
index 0000000..9081d12
--- /dev/null
+++ b/srcpkgs/cross-arm-linux-musleabi/files/gcc-6.2.1-musl.diff
@@ -0,0 +1 @@
+../../gcc/files/gcc-6.2.1-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-musleabi/files/gcc-spec-env-r1.patch b/srcpkgs/cross-arm-linux-musleabi/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-arm-linux-musleabi/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index 529d084..da60012 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -1,9 +1,9 @@
# Template build file for 'cross-arm-linux-musleabi'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_musl_version=1.1.15
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=arm-linux-musleabi
_fpuflags="--with-arch=armv5te --without-fp --with-float=soft"
@@ -11,21 +11,21 @@ _archflags="-march=armv5te -msoft-float -mfloat-abi=soft"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=5
+version=0.22
+revision=1
short_desc="Cross toolchain for ARMv5 TE target (musl)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, MIT"
distfiles="
- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2
- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz
http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af
97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa"
lib32disabled=yes
@@ -49,6 +49,8 @@ _apply_patch() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -57,10 +59,16 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \
- --disable-nls --disable-multilib --disable-werror \
- --disable-shared ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-shared"
+ _args+=" ${_fpuflags}"
+
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host && make ${makejobs}
make install
@@ -69,26 +77,42 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff
+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --with-newlib"
+ _args+=" --enable-languages=c"
+ _args+=" --with-newlib"
+ _args+=" --disable-libssp"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-threads"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-shared"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+ _args+=" ${_fpuflags}"
+
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \
- --enable-languages=c --with-newlib --disable-libssp --disable-nls \
- --disable-libquadmath --disable-threads --disable-decimal-float \
- --disable-shared --disable-libmudflap --disable-libgomp \
- --disable-libatomic --disable-symvers \
- libat_cv_have_ifunc=no ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -120,7 +144,7 @@ _musl_build() {
msg_normal "Building cross musl libc\n"
CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \
- ./configure --prefix=/usr \
+ ./configure --prefix=/usr
make ${makejobs}
make DESTDIR=${_sysroot} install
@@ -129,6 +153,8 @@ _musl_build() {
}
_gcc_build() {
+ local _args
+
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -137,12 +163,23 @@ _gcc_build() {
[ ! -d gcc-build ] && mkdir gcc-build
cd gcc-build
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \
- --enable-languages=c,c++,lto --enable-lto --disable-libsanitizer \
- --disable-multilib --disable-nls --disable-libquadmath \
- --disable-libmudflap --enable-shared \
- --disable-symvers libat_cv_have_ifunc=no ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --enable-lto"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-multilib"
+ _args+=" --disable-nls"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libquadmath"
+ _args+=" --enable-shared"
+ _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+ _args+=" ${_fpuflags}"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-arm-linux-musleabihf/files/fix-cxxflags-passing.patch b/srcpkgs/cross-arm-linux-musleabihf/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-arm-linux-musleabihf/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-arm-linux-musleabihf/files/gcc-4.9.2-musl.diff
deleted file mode 120000
index 3d53eb4..0000000
--- a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-4.9.2-musl.diff
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/files/gcc-4.9.2-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-arm-linux-musleabihf/files/gcc-6.2.1-musl.diff
new file mode 120000
index 0000000..9081d12
--- /dev/null
+++ b/srcpkgs/cross-arm-linux-musleabihf/files/gcc-6.2.1-musl.diff
@@ -0,0 +1 @@
+../../gcc/files/gcc-6.2.1-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-spec-env-r1.patch b/srcpkgs/cross-arm-linux-musleabihf/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 8da3773..60da6af 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -1,9 +1,9 @@
# Template build file for 'cross-arm-linux-musleabihf'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_musl_version=1.1.15
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=arm-linux-musleabihf
_fpuflags="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
@@ -11,21 +11,21 @@ _archflags="-march=armv6 -mfpu=vfp -mfloat-abi=hard"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=5
+version=0.22
+revision=1
short_desc="Cross toolchain for ARMv6 LE Hard Float target (musl)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, MIT"
distfiles="
- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2
- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz
http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af
97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa"
lib32disabled=yes
@@ -49,6 +49,8 @@ _apply_patch() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -57,10 +59,16 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \
- --disable-nls --disable-multilib --disable-werror \
- --disable-shared ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-shared"
+ _args+=" ${_fpuflags}"
+
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host && make ${makejobs}
make install
@@ -69,26 +77,42 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff
+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --with-newlib"
+ _args+=" --enable-languages=c"
+ _args+=" --with-newlib"
+ _args+=" --disable-libssp"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-threads"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-shared"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+ _args+=" ${_fpuflags}"
+
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \
- --enable-languages=c --with-newlib --disable-libssp --disable-nls \
- --disable-libquadmath --disable-threads --disable-decimal-float \
- --disable-shared --disable-libmudflap --disable-libgomp \
- --disable-libatomic --disable-symvers \
- libat_cv_have_ifunc=no ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -120,7 +144,7 @@ _musl_build() {
msg_normal "Building cross musl libc\n"
CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \
- ./configure --prefix=/usr \
+ ./configure --prefix=/usr
make ${makejobs}
make DESTDIR=${_sysroot} install
@@ -129,6 +153,7 @@ _musl_build() {
}
_gcc_build() {
+ local _args
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -137,12 +162,23 @@ _gcc_build() {
[ ! -d gcc-build ] && mkdir gcc-build
cd gcc-build
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \
- --enable-languages=c,c++,lto --enable-lto --disable-libsanitizer \
- --disable-multilib --disable-nls --disable-libquadmath \
- --disable-libmudflap --enable-shared --disable-symvers \
- libat_cv_have_ifunc=no ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --enable-lto"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-multilib"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --enable-shared"
+ _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+ _args+=" ${_fpuflags}"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/files/fix-cxxflags-passing.patch b/srcpkgs/cross-armv7l-linux-gnueabihf/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-armv7l-linux-gnueabihf/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/files/gcc-spec-env-r1.patch b/srcpkgs/cross-armv7l-linux-gnueabihf/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-armv7l-linux-gnueabihf/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/template b/srcpkgs/cross-armv7l-linux-gnueabihf/template
index f183be2..aee5812 100644
--- a/srcpkgs/cross-armv7l-linux-gnueabihf/template
+++ b/srcpkgs/cross-armv7l-linux-gnueabihf/template
@@ -1,9 +1,9 @@
# Template build file for 'cross-armv7l-linux-gnueabihf'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_glibc_version=2.24
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=armv7l-linux-gnueabihf
_fpuflags="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
@@ -11,22 +11,22 @@ _archflags="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=4
+version=0.22
+revision=1
short_desc="GNU Cross toolchain for the ${_triplet} LE target (binutils/gcc/glibc)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3,GPL-2,LGPL-2.1"
distfiles="
- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2
- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
http://ftp.gnu.org/gnu/glibc/glibc-${_glibc_version}.tar.xz
- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz"
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92"
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af"
lib32disabled=yes
nocross=yes
@@ -64,6 +64,8 @@ _linux_headers() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -71,10 +73,15 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} \
- --with-sysroot=${_sysroot} --disable-nls --disable-shared \
- --disable-multilib --disable-werror
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-shared"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host
make ${makejobs}
@@ -84,26 +91,42 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --without-headers"
+ _args+=" --disable-nls"
+ _args+=" --disable-shared"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libssp"
+ _args+=" --disable-libitm"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-threads"
+ _args+=" --enable-languages=c"
+ _args+=" --disable-sjlj-exceptions"
+ _args+=" --disable-multilib"
+ _args+=" --with-gnu-ld"
+ _args+=" --with-gnu-as"
+ _args+=" ${_fpuflags}"
+
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --without-headers \
- --disable-nls --disable-shared --disable-libquadmath \
- --disable-decimal-float --disable-libgomp --disable-libmudflap \
- --disable-libssp --disable-libitm --disable-libatomic \
- --disable-threads --enable-languages=c \
- --disable-sjlj-exceptions --disable-multilib \
- --with-gnu-ld --with-gnu-as ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -112,6 +135,8 @@ _gcc_bootstrap() {
}
_glibc_headers() {
+ local _args
+
[ -f ${wrksrc}/.glibc_headers_done ] && return 0
cd ${wrksrc}
@@ -126,11 +151,15 @@ _glibc_headers() {
export CC="${_triplet}-gcc" LD="${_triplet}-ld" \
AS="${_triplet}-as" CPP="${_triplet}-cpp"
- ../glibc-${_glibc_version}/configure \
- --host=${_triplet} --prefix=/usr \
- --with-headers=${_sysroot}/usr/include \
- --config-cache --enable-obsolete-rpc \
- --enable-kernel=2.6.27 ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --host=${_triplet}"
+ _args+=" --with-headers=${_sysroot}/usr/include"
+ _args+=" --config-cache"
+ _args+=" --enable-obsolete-rpc"
+ _args+=" --enable-kernel=2.6.27"
+ _args+=" ${_fpuflags}"
+
+ ../glibc-${_glibc_version}/configure ${_args}
make -k install-headers cross_compiling=yes \
install_root=${_sysroot}
@@ -139,6 +168,8 @@ _glibc_headers() {
}
_glibc_build() {
+ local _args
+
[ -f ${wrksrc}/.glibc_build_done ] && return 0
cd ${wrksrc}
@@ -154,11 +185,17 @@ _glibc_build() {
AS="${_triplet}-as" CPP="${_triplet}-cpp"
export CFLAGS="-Os -pipe ${_archflags}"
- ../glibc-${_glibc_version}/configure \
- --host=${_triplet} --prefix=/usr \
- --with-headers=${_sysroot}/usr/include \
- --config-cache --disable-profile --enable-obsolete-rpc \
- --disable-werror --enable-kernel=2.6.27 ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --host=${_triplet}"
+ _args+=" --with-headers=${_sysroot}/usr/include"
+ _args+=" --config-cache"
+ _args+=" --disable-profile"
+ _args+=" --enable-obsolete-rpc"
+ _args+=" --disable-werror"
+ _args+=" --enable-kernel=2.6.27"
+ _args+=" ${_fpuflags}"
+
+ ../glibc-${_glibc_version}/configure ${_args}
make ${makejobs}
make install_root=${_sysroot} install
@@ -167,6 +204,8 @@ _glibc_build() {
}
_gcc_build() {
+ local _args
+
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -185,20 +224,39 @@ _gcc_build() {
touch .sed_subst_done
fi
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --prefix=/usr --libdir=/usr/lib \
- --libexecdir=/usr/lib --with-sysroot=${_sysroot} \
- --enable-languages=c,c++,lto \
- --with-gnu-as --with-gnu-ld --disable-multilib \
- --disable-werror --disable-nls --disable-sjlj-exceptions \
- --enable-threads=posix --enable-long-longx \
- --enable-shared --enable-linker-build-id \
- --enable-gnu-unique-object --enable-lto \
- --disable-libquadmath --disable-libatomic \
- --disable-libssp --disable-libmudflap \
- --disable-libsanitizer --disable-libcilkrts \
- --disable-libitm --disable-libvtv --disable-libstdcxx-pch \
- --enable-libstdcxx-time --with-linker-hash-style=gnu ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --libdir=/usr/lib"
+ _args+=" --libexecdir=/usr/lib"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --with-gnu-as"
+ _args+=" --with-gnu-ld"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-nls"
+ _args+=" --disable-sjlj-exceptions"
+ _args+=" --enable-threads=posix"
+ _args+=" --enable-long-longx"
+ _args+=" --enable-shared"
+ _args+=" --enable-linker-build-id"
+ _args+=" --enable-gnu-unique-object"
+ _args+=" --enable-lto"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-libssp"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-libcilkrts"
+ _args+=" --disable-libitm"
+ _args+=" --disable-libvtv"
+ _args+=" --disable-libstdcxx-pch"
+ _args+=" --enable-libstdcxx-time"
+ _args+=" --with-linker-hash-style=gnu"
+ _args+=" ${_fpuflags}"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/files/fix-cxxflags-passing.patch b/srcpkgs/cross-armv7l-linux-musleabihf/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-4.9.2-musl.diff
deleted file mode 120000
index 3d53eb4..0000000
--- a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-4.9.2-musl.diff
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/files/gcc-4.9.2-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-6.2.1-musl.diff
new file mode 120000
index 0000000..9081d12
--- /dev/null
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-6.2.1-musl.diff
@@ -0,0 +1 @@
+../../gcc/files/gcc-6.2.1-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-spec-env-r1.patch b/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 14f2db4..c4c885f 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -1,9 +1,9 @@
# Template build file for 'cross-armv7l-linux-musleabihf'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_musl_version=1.1.15
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=armv7l-linux-musleabihf
_fpuflags="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
@@ -11,21 +11,21 @@ _archflags="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=5
+version=0.22
+revision=1
short_desc="Cross toolchain for ARMv7 LE Hard Float target (musl)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, MIT"
distfiles="
- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2
- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz
http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af
97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa"
lib32disabled=yes
@@ -49,6 +49,8 @@ _apply_patch() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -57,10 +59,16 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \
- --disable-nls --disable-multilib --disable-werror \
- --disable-shared ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-shared"
+ _args+=" ${_fpuflags}"
+
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host && make ${makejobs}
make install
@@ -69,26 +77,42 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff
+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --with-newlib"
+ _args+=" --enable-languages=c"
+ _args+=" --with-newlib"
+ _args+=" --disable-libssp"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-threads"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-shared"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+ _args+=" ${_fpuflags}"
+
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \
- --enable-languages=c --with-newlib --disable-libssp --disable-nls \
- --disable-libquadmath --disable-threads --disable-decimal-float \
- --disable-shared --disable-libmudflap --disable-libgomp \
- --disable-libatomic --disable-symvers \
- libat_cv_have_ifunc=no ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -121,7 +145,7 @@ _musl_build() {
msg_normal "Building cross musl libc\n"
CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \
- ./configure --prefix=/usr \
+ ./configure --prefix=/usr
make ${makejobs}
make DESTDIR=${_sysroot} install
@@ -130,6 +154,8 @@ _musl_build() {
}
_gcc_build() {
+ local _args
+
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -138,12 +164,23 @@ _gcc_build() {
[ ! -d gcc-build ] && mkdir gcc-build
cd gcc-build
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \
- --enable-languages=c,c++,lto --enable-lto --disable-libsanitizer \
- --disable-multilib --disable-nls --disable-libquadmath \
- --disable-libmudflap --enable-shared --disable-symvers \
- libat_cv_have_ifunc=no ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --enable-lto"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-multilib"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --enable-shared"
+ _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+ _args+=" ${_fpuflags}"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-i686-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-i686-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-i686-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-i686-linux-musl/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-i686-linux-musl/files/gcc-4.9.2-musl.diff
deleted file mode 120000
index 3d53eb4..0000000
--- a/srcpkgs/cross-i686-linux-musl/files/gcc-4.9.2-musl.diff
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/files/gcc-4.9.2-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-i686-linux-musl/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-i686-linux-musl/files/gcc-6.2.1-musl.diff
new file mode 120000
index 0000000..9081d12
--- /dev/null
+++ b/srcpkgs/cross-i686-linux-musl/files/gcc-6.2.1-musl.diff
@@ -0,0 +1 @@
+../../gcc/files/gcc-6.2.1-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-i686-linux-musl/files/gcc-spec-env-r1.patch b/srcpkgs/cross-i686-linux-musl/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-i686-linux-musl/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index ae8b102..83311c5 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -1,30 +1,30 @@
# Template build file for 'cross-i686-linux-musl'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_musl_version=1.1.15
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=i686-linux-musl
_sysroot="/usr/${_triplet}"
_archflags="-march=i686"
pkgname=cross-${_triplet}
-version=0.21
-revision=5
+version=0.22
+revision=1
short_desc="Cross toolchain for i686 target (musl)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, MIT"
distfiles="
- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2
- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz
http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af
97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa"
lib32disabled=yes
@@ -48,6 +48,8 @@ _apply_patch() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -55,11 +57,16 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-shared"
+ _args+=" ${_fpuflags}"
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \
- --disable-nls --disable-multilib --disable-werror \
- --disable-shared ${_fpuflags}
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host
make ${makejobs}
@@ -69,26 +76,40 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff
+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ _args=--prefix=/usr \
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c"
+ _args+=" --with-newlib"
+ _args+=" --disable-libssp"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-threads"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-shared"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+ _args+=" ${_fpuflags}"
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --with-sysroot=${_sysroot} \
- --enable-languages=c --with-newlib --disable-libssp --disable-nls \
- --disable-libquadmath --disable-threads --disable-decimal-float \
- --disable-shared --disable-libmudflap --disable-libgomp \
- --disable-libatomic --disable-symvers \
- libat_cv_have_ifunc=no ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -121,7 +142,7 @@ _musl_build() {
msg_normal "Building cross musl libc\n"
CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \
- ./configure --prefix=/usr \
+ ./configure --prefix=/usr
make ${makejobs}
make DESTDIR=${_sysroot} install
@@ -130,6 +151,7 @@ _musl_build() {
}
_gcc_build() {
+ local _args
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -138,11 +160,21 @@ _gcc_build() {
[ ! -d gcc-build ] && mkdir gcc-build
cd gcc-build
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \
- --enable-languages=c,c++,lto --enable-lto --disable-libsanitizer \
- --disable-multilib --disable-libmudflap --enable-shared \
- --disable-symvers libat_cv_have_ifunc=no ${_fpuflags}
+ _args="--target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --prefix=/usr"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --enable-lto"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-multilib"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --enable-shared"
+ _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+ _args+=" ${_fpuflags}"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-i686-pc-linux-gnu/files/fix-cxxflags-passing.patch b/srcpkgs/cross-i686-pc-linux-gnu/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-i686-pc-linux-gnu/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-i686-pc-linux-gnu/files/gcc-spec-env-r1.patch b/srcpkgs/cross-i686-pc-linux-gnu/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-i686-pc-linux-gnu/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-i686-pc-linux-gnu/template b/srcpkgs/cross-i686-pc-linux-gnu/template
index bb4e0f2..6047c2b 100644
--- a/srcpkgs/cross-i686-pc-linux-gnu/template
+++ b/srcpkgs/cross-i686-pc-linux-gnu/template
@@ -1,31 +1,31 @@
# Template build file for 'cross-i686-pc-linux-gnu'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_glibc_version=2.24
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=i686-pc-linux-gnu
_archflags="-march=i686 -mtune=generic"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=4
+version=0.22
+revision=1
short_desc="GNU Cross toolchain for the ${_triplet} target (binutils/gcc/glibc)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, LGPL-2.1"
distfiles="
${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
- ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
- ${KERNEL_SITE}/kernel/v3.x/linux-${_linux_version}.tar.xz"
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92"
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af"
only_for_archs="armv6l armv7l x86_64"
nocross=yes
@@ -34,7 +34,7 @@ nodebug=yes
lib32disabled=yes
create_wrksrc=yes
hostmakedepends="perl flex"
-makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel"
+makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel isl15-devel"
depends="${pkgname}-libc-${version}_${revision}"
nostrip_files="libgcc.a libgcov.a libgcc_eh.a"
@@ -69,11 +69,12 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
@@ -82,16 +83,29 @@ _gcc_bootstrap() {
# Fix https://build.voidlinux.eu/builders/x86_64_builder/builds/24895/steps/shell_3/logs/stdio
export gcc_cv_libc_provides_ssp=yes
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --without-headers"
+ _args+=" --disable-nls"
+ _args+=" --disable-shared"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libssp"
+ _args+=" --disable-libitm"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-threads"
+ _args+=" --enable-languages=c"
+ _args+=" --disable-sjlj-exceptions"
+ _args+=" --disable-multilib"
+ _args+=" --with-gnu-ld"
+ _args+=" --with-gnu-as"
+ _args+=" ${_fpuflags}"
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --without-headers \
- --disable-nls --disable-shared --disable-libquadmath \
- --disable-decimal-float --disable-libgomp --disable-libmudflap \
- --disable-libssp --disable-libitm --disable-libatomic \
- --disable-threads --enable-languages=c \
- --disable-sjlj-exceptions --disable-multilib \
- --with-gnu-ld --with-gnu-as ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -114,6 +128,7 @@ _linux_headers() {
}
_glibc_headers() {
+ local _args
[ -f ${wrksrc}/.glibc_headers_done ] && return 0
cd ${wrksrc}
@@ -129,11 +144,15 @@ _glibc_headers() {
export CC="${_triplet}-gcc" LD="${_triplet}-ld" \
AS="${_triplet}-as" CPP="${_triplet}-cpp"
- ../glibc-${_glibc_version}/configure \
- --host=${_triplet} --prefix=/usr \
- --with-headers=${_sysroot}/usr/include \
- --config-cache --enable-obsolete-rpc \
- --enable-kernel=2.6.27 ${_fpuflags}
+ _args="--target=${_triplet}"
+ _args+=" --prefix=/usr"
+ _args+=" --with-headers=${_sysroot}/usr/include"
+ _args+=" --config-cache"
+ _args+=" --enable-obsolete-rpc"
+ _args+=" --enable-kernel=2.6.27"
+ _args+=" ${_fpuflags}"
+
+ ../glibc-${_glibc_version}/configure ${_args}
make -k install-headers cross_compiling=yes \
install_root=${_sysroot}
@@ -142,6 +161,7 @@ _glibc_headers() {
}
_glibc_build() {
+ local _args
[ -f ${wrksrc}/.glibc_build_done ] && return 0
cd ${wrksrc}
@@ -156,13 +176,16 @@ _glibc_build() {
export CC="${_triplet}-gcc" LD="${_triplet}-ld" \
AS="${_triplet}-as" CPP="${_triplet}-cpp"
- export CFLAGS="-Os -pipe -Wno-error ${_archflags}"
+ export CFLAGS="-O2 -pipe -Wno-error ${_archflags}"
+ _args="--host=${_triplet}"
+ _args+=" --prefix=/usr"
+ _args+=" --with-headers=${_sysroot}/usr/include"
+ _args+=" --config-cache"
+ _args+=" --enable-obsolete-rpc"
+ _args+=" --enable-kernel=2.6.27"
+ _args+=" ${_fpuflags}"
- ../glibc-${_glibc_version}/configure \
- --host=${_triplet} --prefix=/usr \
- --with-headers=${_sysroot}/usr/include \
- --config-cache --enable-obsolete-rpc \
- --enable-kernel=2.6.27 ${_fpuflags}
+ ../glibc-${_glibc_version}/configure ${_args}
make ${makejobs}
make install_root=${_sysroot} install
@@ -171,6 +194,8 @@ _glibc_build() {
}
_gcc_build() {
+ local _args
+
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -180,7 +205,6 @@ _gcc_build() {
cd gcc-build
unset LD AS CPP
- export CC="gcc" CFLAGS="-Os -pipe"
# Make this link to target libs.
if [ ! -f .sed_subst_done ]; then
@@ -188,20 +212,40 @@ _gcc_build() {
-i ${_sysroot}/lib/libc.so ${_sysroot}/lib/libpthread.so
touch .sed_subst_done
fi
-
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --prefix=/usr --libdir=/usr/lib \
- --with-sysroot=${_sysroot} --enable-languages=c,c++,lto \
- --with-gnu-as --with-gnu-ld --disable-multilib \
- --disable-nls --disable-sjlj-exceptions \
- --enable-threads=posix --enable-long-longx \
- --enable-shared --enable-linker-build-id \
- --enable-gnu-unique-object --enable-lto \
- --disable-libquadmath --disable-libatomic \
- --disable-libssp --disable-libmudflap \
- --disable-libsanitizer --disable-libcilkrts \
- --disable-libitm --disable-libvtv --disable-libstdcxx-pch \
- --enable-libstdcxx-time --with-linker-hash-style=gnu ${_fpuflags}
+ _args="--target=${_triplet}"
+ _args+=" --target=${_triplet}"
+ _args+=" --prefix=/usr"
+ _args+=" --libdir=/usr/lib"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --with-gnu-as"
+ _args+=" --with-gnu-ld"
+ _args+=" --disable-multilib"
+ _args+=" --disable-nls"
+ _args+=" --disable-sjlj-exceptions"
+ _args+=" --enable-threads=posix"
+ _args+=" --enable-long-longx"
+ _args+=" --enable-shared"
+ _args+=" --enable-linker-build-id"
+ _args+=" --enable-gnu-unique-object"
+ _args+=" --enable-lto"
+ _args+=" --enable-gnu-indirect-function"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-libssp"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-libcilkrts"
+ _args+=" --disable-libitm"
+ _args+=" --disable-libvtv"
+ _args+=" --disable-libstdcxx-pch"
+ _args+=" --enable-libstdcxx-time"
+ _args+=" --with-linker-hash-style=gnu"
+ _args+=" ${_fpuflags}"
+
+ CC="gcc" CFLAGS="-O2 -pipe" \
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-mips-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-mips-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-mips-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-mips-linux-musl/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-mips-linux-musl/files/gcc-4.9.2-musl.diff
deleted file mode 120000
index 3d53eb4..0000000
--- a/srcpkgs/cross-mips-linux-musl/files/gcc-4.9.2-musl.diff
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/files/gcc-4.9.2-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-mips-linux-musl/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-mips-linux-musl/files/gcc-6.2.1-musl.diff
new file mode 120000
index 0000000..9081d12
--- /dev/null
+++ b/srcpkgs/cross-mips-linux-musl/files/gcc-6.2.1-musl.diff
@@ -0,0 +1 @@
+../../gcc/files/gcc-6.2.1-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-mips-linux-musl/files/gcc-spec-env-r1.patch b/srcpkgs/cross-mips-linux-musl/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-mips-linux-musl/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index a3ffca6..a6a16ed 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -1,9 +1,9 @@
# Template build file for 'cross-mips-linux-musl'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_musl_version=1.1.15
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=mips-linux-musl
_fpuflags="--with-float=soft --without-fp"
@@ -11,21 +11,21 @@ _archflags="-march=mips32r2 -msoft-float"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=6
+version=0.22
+revision=1
short_desc="Cross toolchain for MIPS32r2 BE softfloat target (musl)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, MIT"
distfiles="
- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2
- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz
http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af
97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa"
lib32disabled=yes
@@ -49,6 +49,8 @@ _apply_patch() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -57,10 +59,16 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \
- --disable-nls --disable-multilib --disable-werror \
- --disable-shared ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-shared"
+ _args+=" ${_fpuflags}"
+
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host && make ${makejobs}
make install
@@ -69,25 +77,40 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff
+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --with-newlib"
+ _args+=" --enable-languages=c"
+ _args+=" --with-newlib"
+ _args+=" --disable-libssp"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-threads"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-shared"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libatomic"
+ _args+=" ${_fpuflags}"
+
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \
- --enable-languages=c --with-newlib --disable-libssp --disable-nls \
- --disable-libquadmath --disable-threads --disable-decimal-float \
- --disable-shared --disable-libmudflap --disable-libgomp \
- --disable-libatomic ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -116,7 +139,7 @@ _musl_build() {
msg_normal "Building cross musl libc\n"
CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \
- ./configure --prefix=/usr \
+ ./configure --prefix=/usr
make ${makejobs}
make DESTDIR=${_sysroot} install
@@ -125,6 +148,8 @@ _musl_build() {
}
_gcc_build() {
+ local _args
+
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -133,12 +158,22 @@ _gcc_build() {
[ ! -d gcc-build ] && mkdir gcc-build
cd gcc-build
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \
- --libexecdir=/usr/lib --enable-languages=c,c++,lto \
- --enable-lto --disable-libsanitizer \
- --disable-multilib --disable-nls --disable-libquadmath \
- --disable-libmudflap --enable-shared ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --libexecdir=/usr/lib"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --enable-lto"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-multilib"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --enable-shared"
+ _args+=" ${_fpuflags}"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-mipsel-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-mipsel-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-mipsel-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-mipsel-linux-musl/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-mipsel-linux-musl/files/gcc-4.9.2-musl.diff
deleted file mode 120000
index 3d53eb4..0000000
--- a/srcpkgs/cross-mipsel-linux-musl/files/gcc-4.9.2-musl.diff
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/files/gcc-4.9.2-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-mipsel-linux-musl/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-mipsel-linux-musl/files/gcc-6.2.1-musl.diff
new file mode 120000
index 0000000..9081d12
--- /dev/null
+++ b/srcpkgs/cross-mipsel-linux-musl/files/gcc-6.2.1-musl.diff
@@ -0,0 +1 @@
+../../gcc/files/gcc-6.2.1-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-mipsel-linux-musl/files/gcc-spec-env-r1.patch b/srcpkgs/cross-mipsel-linux-musl/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-mipsel-linux-musl/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 970d595..d0c6fa5 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -1,9 +1,9 @@
# Template build file for 'cross-mipsel-linux-musl'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_musl_version=1.1.15
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=mipsel-linux-musl
_fpuflags="--with-float=soft --without-fp"
@@ -11,21 +11,21 @@ _archflags="-march=mips32r2 -msoft-float"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=6
+version=0.22
+revision=1
short_desc="Cross toolchain for MIPS32r2 LE softfloat target (musl)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, MIT"
distfiles="
- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2
- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz
http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af
97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa"
lib32disabled=yes
@@ -49,6 +49,8 @@ _apply_patch() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -57,10 +59,16 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \
- --disable-nls --disable-multilib --disable-werror \
- --disable-shared ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-shared"
+ _args+=" ${_fpuflags}"
+
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host && make ${makejobs}
make install
@@ -69,25 +77,40 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff
+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --with-newlib"
+ _args+=" --enable-languages=c"
+ _args+=" --with-newlib"
+ _args+=" --disable-libssp"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-threads"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-shared"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libatomic"
+ _args+=" ${_fpuflags}"
+
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \
- --enable-languages=c --with-newlib --disable-libssp --disable-nls \
- --disable-libquadmath --disable-threads --disable-decimal-float \
- --disable-shared --disable-libmudflap --disable-libgomp \
- --disable-libatomic ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -116,7 +139,7 @@ _musl_build() {
msg_normal "Building cross musl libc\n"
CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \
- ./configure --prefix=/usr \
+ ./configure --prefix=/usr
make ${makejobs}
make DESTDIR=${_sysroot} install
@@ -125,6 +148,8 @@ _musl_build() {
}
_gcc_build() {
+ local _args
+
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -133,12 +158,22 @@ _gcc_build() {
[ ! -d gcc-build ] && mkdir gcc-build
cd gcc-build
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \
- --libexecdir=/usr/lib --enable-languages=c,c++,lto \
- --enable-lto --disable-libsanitizer \
- --disable-multilib --disable-nls --disable-libquadmath \
- --disable-libmudflap --enable-shared ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --libexecdir=/usr/lib"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --enable-lto"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-multilib"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --enable-shared"
+ _args+=" ${_fpuflags}"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-mipsel-linux-muslhf/files/fix-cxxflags-passing.patch b/srcpkgs/cross-mipsel-linux-muslhf/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-mipsel-linux-muslhf/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-4.9.2-musl.diff
deleted file mode 120000
index 3d53eb4..0000000
--- a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-4.9.2-musl.diff
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/files/gcc-4.9.2-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-6.2.1-musl.diff
new file mode 120000
index 0000000..9081d12
--- /dev/null
+++ b/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-6.2.1-musl.diff
@@ -0,0 +1 @@
+../../gcc/files/gcc-6.2.1-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-spec-env-r1.patch b/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index 347ea85..1200232 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -1,9 +1,9 @@
# Template build file for 'cross-mipsel-linux-muslhf'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_musl_version=1.1.15
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=mipsel-linux-muslhf
_fpuflags="--with-float=hard --with-fp"
@@ -11,21 +11,21 @@ _archflags="-march=mips32r2 -mhard-float"
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=6
+version=0.22
+revision=1
short_desc="Cross toolchain for MIPS32r2 LE hardfloat target (musl)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, MIT"
distfiles="
- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2
- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz
http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af
97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa"
lib32disabled=yes
@@ -49,6 +49,8 @@ _apply_patch() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -57,10 +59,16 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \
- --disable-nls --disable-multilib --disable-werror \
- --disable-shared ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-shared"
+ _args+=" ${_fpuflags}"
+
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host && make ${makejobs}
make install
@@ -69,25 +77,40 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff
+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --with-newlib"
+ _args+=" --enable-languages=c"
+ _args+=" --with-newlib"
+ _args+=" --disable-libssp"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-threads"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-shared"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libatomic"
+ _args+=" ${_fpuflags}"
+
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \
- --enable-languages=c --with-newlib --disable-libssp --disable-nls \
- --disable-libquadmath --disable-threads --disable-decimal-float \
- --disable-shared --disable-libmudflap --disable-libgomp \
- --disable-libatomic ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -116,7 +139,7 @@ _musl_build() {
msg_normal "Building cross musl libc\n"
CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \
- ./configure --prefix=/usr \
+ ./configure --prefix=/usr
make ${makejobs}
make DESTDIR=${_sysroot} install
@@ -125,6 +148,8 @@ _musl_build() {
}
_gcc_build() {
+ local _args
+
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -133,12 +158,22 @@ _gcc_build() {
[ ! -d gcc-build ] && mkdir gcc-build
cd gcc-build
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \
- --libexecdir=/usr/lib --enable-languages=c,c++,lto \
- --enable-lto --disable-libsanitizer \
- --disable-multilib --disable-nls --disable-libquadmath \
- --disable-libmudflap --enable-shared ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --libexecdir=/usr/lib"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --enable-lto"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-multilib"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --enable-shared"
+ _args+=" ${_fpuflags}"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template
index 0bfd58a..2b4c849 100644
--- a/srcpkgs/cross-vpkg-dummy/template
+++ b/srcpkgs/cross-vpkg-dummy/template
@@ -1,6 +1,6 @@
# Template file for 'cross-vpkg-dummy'
pkgname=cross-vpkg-dummy
-version=0.21
+version=0.22
revision=1
build_style=meta
short_desc="Dummy meta-pkg for cross building packages with xbps-src"
@@ -23,7 +23,6 @@ provides="
libgomp-9999_1
libgomp-devel-9999_1
gcc-9999_1
- gcc-c++-9999_1
glibc-9999_1
glibc-devel-9999_1
musl-9999_1"
@@ -36,7 +35,6 @@ conflicts="
libgomp>=0
libgomp-devel>=0
gcc>=0
- gcc-c++>=0
glibc>=0
glibc-devel>=0
musl>=0"
diff --git a/srcpkgs/cross-x86_64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-x86_64-linux-musl/files/fix-cxxflags-passing.patch
new file mode 120000
index 0000000..4a8c831
--- /dev/null
+++ b/srcpkgs/cross-x86_64-linux-musl/files/fix-cxxflags-passing.patch
@@ -0,0 +1 @@
+../../gcc/patches/fix-cxxflags-passing.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-x86_64-linux-musl/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-x86_64-linux-musl/files/gcc-4.9.2-musl.diff
deleted file mode 120000
index 3d53eb4..0000000
--- a/srcpkgs/cross-x86_64-linux-musl/files/gcc-4.9.2-musl.diff
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/files/gcc-4.9.2-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-x86_64-linux-musl/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-x86_64-linux-musl/files/gcc-6.2.1-musl.diff
new file mode 120000
index 0000000..9081d12
--- /dev/null
+++ b/srcpkgs/cross-x86_64-linux-musl/files/gcc-6.2.1-musl.diff
@@ -0,0 +1 @@
+../../gcc/files/gcc-6.2.1-musl.diff
\ No newline at end of file
diff --git a/srcpkgs/cross-x86_64-linux-musl/files/gcc-spec-env-r1.patch b/srcpkgs/cross-x86_64-linux-musl/files/gcc-spec-env-r1.patch
deleted file mode 120000
index 8dd1493..0000000
--- a/srcpkgs/cross-x86_64-linux-musl/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/gcc-spec-env-r1.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index f63adfc..74da0ea 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -1,29 +1,29 @@
# Template build file for 'cross-x86_64-linux-musl'
#
_binutils_version=2.27
-_gcc_version=4.9.4
+_gcc_version=6.2.1
_musl_version=1.1.15
-_linux_version=3.18.25
+_linux_version=4.1.34
_triplet=x86_64-linux-musl
_sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet}
-version=0.21
-revision=6
+version=0.22
+revision=1
short_desc="Cross toolchain for x86_64 with musl"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu"
license="GPL-3, GPL-2, MIT"
distfiles="
- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2
- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2
- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz
+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2
+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz
+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz
http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz"
checksum="
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92
+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af
97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa"
lib32disabled=yes
@@ -47,6 +47,8 @@ _apply_patch() {
}
_binutils_build() {
+ local _args
+
[ -f ${wrksrc}/.binutils_build_done ] && return 0
cd ${wrksrc}
@@ -55,10 +57,16 @@ _binutils_build() {
[ ! -d binutils-build ] && mkdir binutils-build
cd binutils-build
- ../binutils-${_binutils_version}/configure \
- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \
- --disable-nls --disable-multilib --disable-werror \
- --disable-shared ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --disable-nls"
+ _args+=" --disable-multilib"
+ _args+=" --disable-werror"
+ _args+=" --disable-shared"
+ _args+=" ${_fpuflags}"
+
+ ../binutils-${_binutils_version}/configure ${_args}
make configure-host
make ${makejobs}
@@ -68,26 +76,42 @@ _binutils_build() {
}
_gcc_bootstrap() {
+ local _args
+
[ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0
cd ${wrksrc}/gcc-${_gcc_version}
- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff
+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff
_apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch
- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch
+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
msg_normal "Building cross gcc bootstrap\n"
[ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap
cd ../gcc-bootstrap
+ export ac_cv_c_compiler_gnu=yes
+
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c"
+ _args+=" --with-newlib"
+ _args+=" --disable-libssp"
+ _args+=" --disable-nls"
+ _args+=" --disable-libquadmath"
+ _args+=" --disable-threads"
+ _args+=" --disable-decimal-float"
+ _args+=" --disable-shared"
+ _args+=" --disable-libmudflap"
+ _args+=" --disable-libgomp"
+ _args+=" --disable-libatomic"
+ _args+=" --disable-symvers"
+ _args+=" --disable-libmpx"
+ _args+=" libat_cv_have_ifunc=no"
+ _args+=" ${_fpuflags}"
CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \
- ../gcc-${_gcc_version}/configure --prefix=/usr \
- --target=${_triplet} --with-sysroot=${_sysroot} \
- --enable-languages=c --with-newlib --disable-libssp --disable-nls \
- --disable-libquadmath --disable-threads --disable-decimal-float \
- --disable-shared --disable-libmudflap --disable-libgomp \
- --disable-libatomic --disable-symvers \
- libat_cv_have_ifunc=no ${_fpuflags}
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
make install
@@ -120,7 +144,7 @@ _musl_build() {
msg_normal "Building cross musl libc\n"
CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \
- ./configure --prefix=/usr \
+ ./configure --prefix=/usr
make ${makejobs}
make DESTDIR=${_sysroot} install
@@ -129,6 +153,7 @@ _musl_build() {
}
_gcc_build() {
+ local _args
[ -f ${wrksrc}/.gcc_build_done ] && return 0
cd ${wrksrc}
@@ -137,11 +162,21 @@ _gcc_build() {
[ ! -d gcc-build ] && mkdir gcc-build
cd gcc-build
- ../gcc-${_gcc_version}/configure \
- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \
- --enable-languages=c,c++,lto --enable-lto --disable-libsanitizer \
- --disable-multilib --disable-libmudflap --enable-shared \
- --disable-symvers libat_cv_have_ifunc=no ${_fpuflags}
+ _args="--prefix=/usr"
+ _args+=" --target=${_triplet}"
+ _args+=" --with-sysroot=${_sysroot}"
+ _args+=" --enable-languages=c,c++,lto"
+ _args+=" --enable-lto"
+ _args+=" --disable-libsanitizer"
+ _args+=" --disable-multilib"
+ _args+=" --disable-libmpx"
+ _args+=" --disable-libmudflap"
+ _args+=" --enable-shared"
+ _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+ _args+=" ${_fpuflags}"
+
+ ../gcc-${_gcc_version}/configure ${_args}
make ${makejobs}
diff --git a/srcpkgs/efivar/template b/srcpkgs/efivar/template
index 390aa8a..63dbc9b 100644
--- a/srcpkgs/efivar/template
+++ b/srcpkgs/efivar/template
@@ -11,7 +11,8 @@ only_for_archs="i686 i686-musl x86_64 x86_64-musl"
distfiles="https://github.com/rhinstaller/efivar/releases/download/${version}/efivar-${version}.tar.bz2"
checksum=04b9b9de9d9a1a013395400438a033daf4a4290f497ec5be04a120e2ac535094
-CFLAGS="-Wno-error=deprecated-declarations"
+CFLAGS="-Wno-error -Wno-error=nonnull-compare -Wno-error=unused-const-variable=\
+ -Wno-error=deprecated-declarations -Wno-error=strict-aliasing"
do_build() {
sed 's|-rpath=$(TOPDIR)/src/|-rpath=$(libdir)|g' -i src/test/Makefile
diff --git a/srcpkgs/gcc-c++ b/srcpkgs/gcc-c++
deleted file mode 120000
index b08d5af..0000000
--- a/srcpkgs/gcc-c++
+++ /dev/null
@@ -1 +0,0 @@
-gcc
\ No newline at end of file
diff --git a/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch b/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
index 1707d41..134846c 100644
--- a/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
+++ b/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch
@@ -1,11 +1,13 @@
--- libiberty/Makefile.in 2016-08-05 17:07:27.540554328 +0200
+++ libiberty/Makefile.in 2016-08-05 17:18:39.727540789 +0200
-@@ -112,7 +112,7 @@
+@@ -112,8 +112,8 @@
INCDIR=$(srcdir)/$(MULTISRCTOP)../include
--COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@
-+COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -fPIC -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@
+-COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) \
+- $(HDEFINES) @ac_libiberty_warn_cflags@ -D_GNU_SOURCE
++COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -fPIC -I. -I$(INCDIR) \
++ $(HDEFINES) @ac_libiberty_warn_cflags@ -D_DEFAULT_SOURCE
# Just to make sure we don't use a built-in rule with VPATH
.c.$(objext):
diff --git a/srcpkgs/gcc-multilib/template b/srcpkgs/gcc-multilib/template
index 7b6a119..c1b9d60 100644
--- a/srcpkgs/gcc-multilib/template
+++ b/srcpkgs/gcc-multilib/template
@@ -1,18 +1,18 @@
# Template build file for 'gcc-multilib'
only_for_archs="x86_64"
_triplet="x86_64-unknown-linux-gnu"
-_majorver=4.9
+_majorver=6.2
pkgname=gcc-multilib
-version=${_majorver}.4
+version=${_majorver}.1
revision=2
wrksrc="gcc-${version}"
short_desc="The GNU C Compiler (multilib files)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://gcc.gnu.org"
license="GFDL-1.2, GPL-3, LGPL-2.1"
-distfiles="${GNU_SITE}/gcc/gcc-$version/gcc-$version.tar.bz2"
-checksum=6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
+distfiles="http://distfiles.voidlinux.de/gcc-${version}/gcc-${version}.tar.xz"
+checksum=6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
hostmakedepends="perl flex zip unzip"
makedepends="zlib-devel libmpc-devel ppl-devel cloog-devel
@@ -40,6 +40,8 @@ do_configure() {
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
# Do not run fixincludes
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+ # hack! some configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
./configure --prefix=/usr --mandir=/usr/share/man \
--infodir=/usr/share/info --libexecdir=/usr/lib \
@@ -81,13 +83,6 @@ do_install() {
rm -f ${DESTDIR}/usr/lib64
}
-gcc-c++-multilib_package() {
- depends="gcc-c++>=${_majorver} gcc-multilib>=${_majorver} libstdc++-devel-32bit>=${_majorver}"
- short_desc="GCC C++ compiler (multilib files)"
- pkg_install() {
- vmove usr/include/c++
- }
-}
gcc-objc-multilib_package() {
depends="gcc-multilib>=${_majorver} gcc-objc>=${_majorver} libobjc-devel-32bit>=${_majorver}"
short_desc="The GNU Objective-C compiler (multilib files)"
diff --git a/srcpkgs/gcc/files/gcc-4.9.2-musl.diff b/srcpkgs/gcc/files/gcc-4.9.2-musl.diff
deleted file mode 100644
index 8baafd0..0000000
--- a/srcpkgs/gcc/files/gcc-4.9.2-musl.diff
+++ /dev/null
@@ -1,730 +0,0 @@
-820c77b17a4a
-# HG changeset patch
-# Parent 1f830bec5a3f04b2718ce1395743d8e35c26341c
-Use the generic implementation of libstdc++ primitives when we're on musl, not the glibc one.
-
-diff -r 1f830bec5a3f libstdc++-v3/configure.host
---- a/libstdc++-v3/configure.host Thu Jan 29 14:04:56 2015 -0500
-+++ b/libstdc++-v3/configure.host Thu Jan 29 14:06:11 2015 -0500
-@@ -264,6 +264,13 @@
- os_include_dir="os/bsd/freebsd"
- ;;
- gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
-+ # check for musl by target
-+ case "${host_os}" in
-+ *-musl*)
-+ os_include_dir="os/generic"
-+ ;;
-+ *)
-+
- if [ "$uclibc" = "yes" ]; then
- os_include_dir="os/uclibc"
- elif [ "$bionic" = "yes" ]; then
-@@ -272,6 +279,9 @@
- os_include_dir="os/gnu-linux"
- fi
- ;;
-+
-+ esac
-+ ;;
- hpux*)
- os_include_dir="os/hpux"
- ;;
-# HG changeset patch
-# Parent fc7bb9343dcd071463a63dfc1b356d579eb0872f
-Adding -mmusl as a musl libc specifier, and the necessary hacks for it to know how to find musl's dynamic linker.
-
-diff -r fc7bb9343dcd gcc/config.gcc
---- a/gcc/config.gcc Thu Jan 29 14:06:11 2015 -0500
-+++ b/gcc/config.gcc Thu Jan 29 14:06:13 2015 -0500
-@@ -594,7 +594,7 @@
- esac
-
- # Common C libraries.
--tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3"
-+tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
-
- # 32-bit x86 processors supported by --with-arch=. Each processor
- # MUST be separated by exactly one space.
-@@ -719,6 +719,9 @@
- *-*-*uclibc*)
- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
- ;;
-+ *-*-*musl*)
-+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
-+ ;;
- *)
- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
- ;;
-diff -r fc7bb9343dcd gcc/config/linux.h
---- a/gcc/config/linux.h Thu Jan 29 14:06:11 2015 -0500
-+++ b/gcc/config/linux.h Thu Jan 29 14:06:13 2015 -0500
-@@ -32,10 +32,12 @@
- #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC)
- #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
- #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
-+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL)
- #else
- #define OPTION_GLIBC (linux_libc == LIBC_GLIBC)
- #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC)
- #define OPTION_BIONIC (linux_libc == LIBC_BIONIC)
-+#define OPTION_MUSL (linux_libc == LIBC_MUSL)
- #endif
-
- #define GNU_USER_TARGET_OS_CPP_BUILTINS() \
-@@ -53,18 +55,21 @@
- uClibc or Bionic is the default C library and whether
- -muclibc or -mglibc or -mbionic has been passed to change the default. */
-
--#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \
-- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}"
-+#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \
-+ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}"
-
- #if DEFAULT_LIBC == LIBC_GLIBC
--#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
-- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B)
-+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
-+ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M)
- #elif DEFAULT_LIBC == LIBC_UCLIBC
--#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
-- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B)
-+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
-+ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M)
- #elif DEFAULT_LIBC == LIBC_BIONIC
--#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
-- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U)
-+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
-+ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M)
-+#elif DEFAULT_LIBC == LIBC_MUSL
-+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
-+ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B)
- #else
- #error "Unsupported DEFAULT_LIBC"
- #endif /* DEFAULT_LIBC */
-@@ -84,21 +89,92 @@
-
- #define GNU_USER_DYNAMIC_LINKER \
- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
-- BIONIC_DYNAMIC_LINKER)
-+ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER)
- #define GNU_USER_DYNAMIC_LINKER32 \
- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \
-- BIONIC_DYNAMIC_LINKER32)
-+ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32)
- #define GNU_USER_DYNAMIC_LINKER64 \
- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \
-- BIONIC_DYNAMIC_LINKER64)
-+ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64)
- #define GNU_USER_DYNAMIC_LINKERX32 \
- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \
-- BIONIC_DYNAMIC_LINKERX32)
-+ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32)
-
- /* Whether we have Bionic libc runtime */
- #undef TARGET_HAS_BIONIC
- #define TARGET_HAS_BIONIC (OPTION_BIONIC)
-
-+/* musl avoids problematic includes by rearranging the include directories.
-+ * Unfortunately, this is mostly duplicated from cppdefault.c */
-+#if DEFAULT_LIBC == LIBC_MUSL
-+#define INCLUDE_DEFAULTS_MUSL_GPP \
-+ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \
-+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \
-+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \
-+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \
-+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \
-+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
-+
-+#ifdef LOCAL_INCLUDE_DIR
-+#define INCLUDE_DEFAULTS_MUSL_LOCAL \
-+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \
-+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
-+#else
-+#define INCLUDE_DEFAULTS_MUSL_LOCAL
-+#endif
-+
-+#ifdef PREFIX_INCLUDE_DIR
-+#define INCLUDE_DEFAULTS_MUSL_PREFIX \
-+ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0},
-+#else
-+#define INCLUDE_DEFAULTS_MUSL_PREFIX
-+#endif
-+
-+#ifdef CROSS_INCLUDE_DIR
-+#define INCLUDE_DEFAULTS_MUSL_CROSS \
-+ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0},
-+#else
-+#define INCLUDE_DEFAULTS_MUSL_CROSS
-+#endif
-+
-+#ifdef TOOL_INCLUDE_DIR
-+#define INCLUDE_DEFAULTS_MUSL_TOOL \
-+ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0},
-+#else
-+#define INCLUDE_DEFAULTS_MUSL_TOOL
-+#endif
-+
-+#ifdef NATIVE_SYSTEM_HEADER_DIR
-+#define INCLUDE_DEFAULTS_MUSL_NATIVE \
-+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
-+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
-+#else
-+#define INCLUDE_DEFAULTS_MUSL_NATIVE
-+#endif
-+
-+#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT)
-+# undef INCLUDE_DEFAULTS_MUSL_LOCAL
-+# define INCLUDE_DEFAULTS_MUSL_LOCAL
-+# undef INCLUDE_DEFAULTS_MUSL_NATIVE
-+# define INCLUDE_DEFAULTS_MUSL_NATIVE
-+#else
-+# undef INCLUDE_DEFAULTS_MUSL_CROSS
-+# define INCLUDE_DEFAULTS_MUSL_CROSS
-+#endif
-+
-+#undef INCLUDE_DEFAULTS
-+#define INCLUDE_DEFAULTS \
-+ { \
-+ INCLUDE_DEFAULTS_MUSL_GPP \
-+ INCLUDE_DEFAULTS_MUSL_PREFIX \
-+ INCLUDE_DEFAULTS_MUSL_CROSS \
-+ INCLUDE_DEFAULTS_MUSL_TOOL \
-+ INCLUDE_DEFAULTS_MUSL_NATIVE \
-+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
-+ { 0, 0, 0, 0, 0, 0 } \
-+ }
-+#endif
-+
- #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
- /* This is a *uclinux* target. We don't define below macros to normal linux
- versions, because doing so would require *uclinux* targets to include
-diff -r fc7bb9343dcd gcc/config/linux.opt
---- a/gcc/config/linux.opt Thu Jan 29 14:06:11 2015 -0500
-+++ b/gcc/config/linux.opt Thu Jan 29 14:06:13 2015 -0500
-@@ -30,3 +30,7 @@
- muclibc
- Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic)
- Use uClibc C library
-+
-+mmusl
-+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)
-+Use musl C library
-diff -r fc7bb9343dcd gcc/ginclude/stddef.h
---- a/gcc/ginclude/stddef.h Thu Jan 29 14:06:11 2015 -0500
-+++ b/gcc/ginclude/stddef.h Thu Jan 29 14:06:13 2015 -0500
-@@ -181,6 +181,7 @@
- #ifndef _GCC_SIZE_T
- #ifndef _SIZET_
- #ifndef __size_t
-+#ifndef __DEFINED_size_t /* musl */
- #define __size_t__ /* BeOS */
- #define __SIZE_T__ /* Cray Unicos/Mk */
- #define _SIZE_T
-@@ -197,6 +198,7 @@
- #define ___int_size_t_h
- #define _GCC_SIZE_T
- #define _SIZET_
-+#define __DEFINED_size_t /* musl */
- #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
- || defined(__FreeBSD_kernel__)
- /* __size_t is a typedef on FreeBSD 5, must not trash it. */
-@@ -214,6 +216,7 @@
- typedef long ssize_t;
- #endif /* __BEOS__ */
- #endif /* !(defined (__GNUG__) && defined (size_t)) */
-+#endif /* __DEFINED_size_t */
- #endif /* __size_t */
- #endif /* _SIZET_ */
- #endif /* _GCC_SIZE_T */
-# HG changeset patch
-# Parent ad6952ac547606025a6fb8496584cbfe1b73a8b7
-A fix for libgomp to correctly request a POSIX version for time support.
-
-diff -r ad6952ac5476 libgomp/config/posix/time.c
---- a/libgomp/config/posix/time.c Thu Jan 29 14:06:13 2015 -0500
-+++ b/libgomp/config/posix/time.c Thu Jan 29 14:06:16 2015 -0500
-@@ -28,6 +28,8 @@
- The following implementation uses the most simple POSIX routines.
- If present, POSIX 4 clocks should be used instead. */
-
-+#define _POSIX_C_SOURCE 199309L /* for clocks */
-+
- #include "libgomp.h"
- #include <unistd.h>
- #if TIME_WITH_SYS_TIME
-diff -r ffa879f29d52 libgcc/unwind-dw2-fde-dip.c
---- a/libgcc/unwind-dw2-fde-dip.c Thu Jan 29 14:06:15 2015 -0500
-+++ b/libgcc/unwind-dw2-fde-dip.c Thu Jan 29 14:06:18 2015 -0500
-@@ -46,33 +46,13 @@
- #include "unwind-compat.h"
- #include "gthr.h"
-
--#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
-- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
-- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
-+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR)
- # define USE_PT_GNU_EH_FRAME
--#endif
--
--#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
-- && defined(__BIONIC__)
--# define USE_PT_GNU_EH_FRAME
--#endif
--
--#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
-- && defined(__FreeBSD__) && __FreeBSD__ >= 7
--# define ElfW __ElfN
--# define USE_PT_GNU_EH_FRAME
--#endif
--
--#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
-- && defined(__OpenBSD__)
--# define ElfW(type) Elf_##type
--# define USE_PT_GNU_EH_FRAME
--#endif
--
--#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
-- && defined(TARGET_DL_ITERATE_PHDR) \
-- && defined(__sun__) && defined(__svr4__)
--# define USE_PT_GNU_EH_FRAME
-+# ifdef __OpenBSD__
-+# define ElfW(type) Elf_##type
-+# elif defined(__FreeBSD__) && __FreeBSD__ >= 7
-+# define ElfW __ElfN
-+# endif
- #endif
-
- #if defined(USE_PT_GNU_EH_FRAME)
-diff -r b35df09b819f gcc/configure
---- a/gcc/configure Thu Jan 29 14:06:18 2015 -0500
-+++ b/gcc/configure Thu Jan 29 14:06:20 2015 -0500
-@@ -27356,6 +27356,9 @@
- else
- gcc_cv_libc_provides_ssp=no
- case "$target" in
-+ *-*-musl*)
-+ # All versions of musl provide stack protector
-+ gcc_cv_libc_provides_ssp=yes;;
- *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
- # glibc 2.4 and later provides __stack_chk_fail and
- # either __stack_chk_guard, or TLS access to stack guard canary.
-@@ -27388,6 +27391,7 @@
- # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
- # simply assert that glibc does provide this, which is true for all
- # realistically usable GNU/Hurd configurations.
-+ # All supported versions of musl provide it as well
- gcc_cv_libc_provides_ssp=yes;;
- *-*-darwin* | *-*-freebsd*)
- ac_fn_c_check_func "$LINENO" "__stack_chk_fail" "ac_cv_func___stack_chk_fail"
-@@ -27477,6 +27481,9 @@
- gcc_cv_target_dl_iterate_phdr=no
- fi
- ;;
-+ *-linux-musl*)
-+ gcc_cv_target_dl_iterate_phdr=yes
-+ ;;
- esac
-
- if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
-diff -r b35df09b819f gcc/configure.ac
---- a/gcc/configure.ac Thu Jan 29 14:06:18 2015 -0500
-+++ b/gcc/configure.ac Thu Jan 29 14:06:20 2015 -0500
-@@ -5039,6 +5039,9 @@
- gcc_cv_libc_provides_ssp,
- [gcc_cv_libc_provides_ssp=no
- case "$target" in
-+ *-*-musl*)
-+ # All versions of musl provide stack protector
-+ gcc_cv_libc_provides_ssp=yes;;
- *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
- # glibc 2.4 and later provides __stack_chk_fail and
- # either __stack_chk_guard, or TLS access to stack guard canary.
-@@ -5065,6 +5068,7 @@
- # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
- # simply assert that glibc does provide this, which is true for all
- # realistically usable GNU/Hurd configurations.
-+ # All supported versions of musl provide it as well
- gcc_cv_libc_provides_ssp=yes;;
- *-*-darwin* | *-*-freebsd*)
- AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
-@@ -5131,6 +5135,9 @@
- gcc_cv_target_dl_iterate_phdr=no
- fi
- ;;
-+ *-linux-musl*)
-+ gcc_cv_target_dl_iterate_phdr=yes
-+ ;;
- esac
- GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR])
- if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
-# HG changeset patch
-# Parent b6a339cae9f0607a291a2fe8de80caecd48f1ebd
-Get rid of ever-broken fixincludes on musl.
-
-diff -r b6a339cae9f0 fixincludes/mkfixinc.sh
---- a/fixincludes/mkfixinc.sh Thu Jan 29 14:06:20 2015 -0500
-+++ b/fixincludes/mkfixinc.sh Thu Jan 29 14:06:22 2015 -0500
-@@ -19,7 +19,8 @@
- powerpc-*-eabi* | \
- powerpc-*-rtems* | \
- powerpcle-*-eabisim* | \
-- powerpcle-*-eabi* )
-+ powerpcle-*-eabi* | \
-+ *-musl* )
- # IF there is no include fixing,
- # THEN create a no-op fixer and exit
- (echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
-# HG changeset patch
-# Parent 6c0bb7083dd2eba825f2693dc30d0e39359c1a66
-Support for i386-linux-musl and x86_64-linux-musl.
-
-diff -r 6c0bb7083dd2 gcc/config/i386/linux.h
---- a/gcc/config/i386/linux.h Thu Jan 29 14:06:22 2015 -0500
-+++ b/gcc/config/i386/linux.h Thu Jan 29 14:06:25 2015 -0500
-@@ -21,3 +21,4 @@
-
- #define GNU_USER_LINK_EMULATION "elf_i386"
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
-diff -r 6c0bb7083dd2 gcc/config/i386/linux64.h
---- a/gcc/config/i386/linux64.h Thu Jan 29 14:06:22 2015 -0500
-+++ b/gcc/config/i386/linux64.h Thu Jan 29 14:06:25 2015 -0500
-@@ -30,3 +30,7 @@
- #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
- #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
- #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
-+
-+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
-+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
-+#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
-diff -r 6c0bb7083dd2 libitm/config/linux/x86/tls.h
---- a/libitm/config/linux/x86/tls.h Thu Jan 29 14:06:22 2015 -0500
-+++ b/libitm/config/linux/x86/tls.h Thu Jan 29 14:06:25 2015 -0500
-@@ -25,16 +25,19 @@
- #ifndef LIBITM_X86_TLS_H
- #define LIBITM_X86_TLS_H 1
-
--#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10)
-+#if defined(__GLIBC_PREREQ)
-+#if __GLIBC_PREREQ(2, 10)
- /* Use slots in the TCB head rather than __thread lookups.
- GLIBC has reserved words 10 through 13 for TM. */
- #define HAVE_ARCH_GTM_THREAD 1
- #define HAVE_ARCH_GTM_THREAD_DISP 1
- #endif
-+#endif
-
- #include "config/generic/tls.h"
-
--#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10)
-+#if defined(__GLIBC_PREREQ)
-+#if __GLIBC_PREREQ(2, 10)
- namespace GTM HIDDEN {
-
- #ifdef __x86_64__
-@@ -101,5 +104,6 @@
-
- } // namespace GTM
- #endif /* >= GLIBC 2.10 */
-+#endif
-
- #endif // LIBITM_X86_TLS_H
-# HG changeset patch
-# Parent 4802c181abe099c2f903184ace267c6a527ca91c
-Support for arm-linux-musl.
-
-diff -r 4802c181abe0 gcc/config/arm/linux-eabi.h
---- a/gcc/config/arm/linux-eabi.h Thu Jan 29 14:06:25 2015 -0500
-+++ b/gcc/config/arm/linux-eabi.h Thu Jan 29 14:06:27 2015 -0500
-@@ -77,6 +77,23 @@
- %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
- %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
-
-+/* For ARM musl currently supports four dynamic linkers:
-+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI
-+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI
-+ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB
-+ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB
-+ musl does not support the legacy OABI mode.
-+ All the dynamic linkers live in /lib.
-+ We default to soft-float, EL. */
-+#undef MUSL_DYNAMIC_LINKER
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}"
-+#else
-+#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}"
-+#endif
-+#define MUSL_DYNAMIC_LINKER \
-+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
-+
- /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
- use the GNU/Linux version, not the generic BPABI version. */
- #undef LINK_SPEC
-diff -r 4802c181abe0 libitm/config/arm/hwcap.cc
---- a/libitm/config/arm/hwcap.cc Thu Jan 29 14:06:25 2015 -0500
-+++ b/libitm/config/arm/hwcap.cc Thu Jan 29 14:06:27 2015 -0500
-@@ -40,7 +40,11 @@
-
- #ifdef __linux__
- #include <unistd.h>
-+#ifdef __GLIBC__
- #include <sys/fcntl.h>
-+#else
-+#include <fcntl.h>
-+#endif
- #include <elf.h>
-
- static void __attribute__((constructor))
-# HG changeset patch
-# Parent f34ce414667f8513979b8a0507f3d6b934f1ebeb
-Support for mips-linux-musl.
-
-diff -r f34ce414667f gcc/config/mips/linux.h
---- a/gcc/config/mips/linux.h Thu Jan 29 14:06:27 2015 -0500
-+++ b/gcc/config/mips/linux.h Thu Jan 29 14:06:29 2015 -0500
-@@ -23,3 +23,10 @@
- #undef UCLIBC_DYNAMIC_LINKER
- #define UCLIBC_DYNAMIC_LINKER \
- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
-+
-+#if TARGET_ENDIAN_DEFAULT == 0 /* LE */
-+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}"
-+#else
-+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}"
-+#endif
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E ".so.1"
-# HG changeset patch
-# Parent d4bad9a6572b0e8eacc08d2b1c40d03a6608bee5
-Support for powerpc-linux-musl.
-
-diff -r d4bad9a6572b gcc/config.gcc
---- a/gcc/config.gcc Thu Jan 29 14:06:29 2015 -0500
-+++ b/gcc/config.gcc Thu Jan 29 14:06:32 2015 -0500
-@@ -2334,6 +2334,10 @@
- powerpc*-*-linux*paired*)
- tm_file="${tm_file} rs6000/750cl.h" ;;
- esac
-+ case ${target} in
-+ *-linux*-musl*)
-+ enable_secureplt=yes ;;
-+ esac
- if test x${enable_secureplt} = xyes; then
- tm_file="rs6000/secureplt.h ${tm_file}"
- fi
-diff -r d4bad9a6572b gcc/config/rs6000/linux64.h
---- a/gcc/config/rs6000/linux64.h Thu Jan 29 14:06:29 2015 -0500
-+++ b/gcc/config/rs6000/linux64.h Thu Jan 29 14:06:32 2015 -0500
-@@ -375,17 +375,21 @@
- #endif
- #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
- #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
-+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1"
-+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1"
- #if DEFAULT_LIBC == LIBC_UCLIBC
--#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
-+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
- #elif DEFAULT_LIBC == LIBC_GLIBC
--#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}"
-+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}"
-+#elif DEFAULT_LIBC == LIBC_MUSL
-+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}"
- #else
- #error "Unsupported DEFAULT_LIBC"
- #endif
- #define GNU_USER_DYNAMIC_LINKER32 \
-- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32)
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32)
- #define GNU_USER_DYNAMIC_LINKER64 \
-- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64)
-
- #undef DEFAULT_ASM_ENDIAN
- #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
-diff -r d4bad9a6572b gcc/config/rs6000/secureplt.h
---- a/gcc/config/rs6000/secureplt.h Thu Jan 29 14:06:29 2015 -0500
-+++ b/gcc/config/rs6000/secureplt.h Thu Jan 29 14:06:32 2015 -0500
-@@ -18,3 +18,4 @@
- <http://www.gnu.org/licenses/>. */
-
- #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt"
-+#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt"
-diff -r d4bad9a6572b gcc/config/rs6000/sysv4.h
---- a/gcc/config/rs6000/sysv4.h Thu Jan 29 14:06:29 2015 -0500
-+++ b/gcc/config/rs6000/sysv4.h Thu Jan 29 14:06:32 2015 -0500
-@@ -537,6 +537,9 @@
- #ifndef CC1_SECURE_PLT_DEFAULT_SPEC
- #define CC1_SECURE_PLT_DEFAULT_SPEC ""
- #endif
-+#ifndef LINK_SECURE_PLT_DEFAULT_SPEC
-+#define LINK_SECURE_PLT_DEFAULT_SPEC ""
-+#endif
-
- /* Pass -G xxx to the compiler. */
- #define CC1_SPEC "%{G*} %(cc1_cpu)" \
-@@ -585,7 +588,8 @@
-
- /* Override the default target of the linker. */
- #define LINK_TARGET_SPEC \
-- ENDIAN_SELECT("", " --oformat elf32-powerpcle", "")
-+ ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") \
-+ "%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}"
-
- /* Any specific OS flags. */
- #define LINK_OS_SPEC "\
-@@ -763,15 +767,18 @@
-
- #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
- #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1"
- #if DEFAULT_LIBC == LIBC_UCLIBC
--#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
-+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
-+#elif DEFAULT_LIBC == LIBC_MUSL
-+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}"
- #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC
--#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}"
-+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}"
- #else
- #error "Unsupported DEFAULT_LIBC"
- #endif
- #define GNU_USER_DYNAMIC_LINKER \
-- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER)
-
- #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
- %{rdynamic:-export-dynamic} \
-@@ -894,6 +901,7 @@
- { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
- { "link_os_default", LINK_OS_DEFAULT_SPEC }, \
- { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \
-+ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \
- { "cpp_os_ads", CPP_OS_ADS_SPEC }, \
- { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
- { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
-diff -r 47a8492e5aa7 gcc/config/aarch64/aarch64-linux.h
---- a/gcc/config/aarch64/aarch64-linux.h Thu Jan 29 14:06:31 2015 -0500
-+++ b/gcc/config/aarch64/aarch64-linux.h Thu Jan 29 14:06:34 2015 -0500
-@@ -23,6 +23,8 @@
-
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1"
-
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1"
-+
- #define CPP_SPEC "%{pthread:-D_REENTRANT}"
-
- #define LINUX_TARGET_LINK_SPEC "%{h*} \
-# HG changeset patch
-# Parent 9f4208089e8987637569ce7b294256c536396299
-Microblaze support (again).
-
-diff -r 9f4208089e89 gcc/config/microblaze/linux.h
---- a/gcc/config/microblaze/linux.h Thu Jan 29 14:06:34 2015 -0500
-+++ b/gcc/config/microblaze/linux.h Thu Jan 29 14:06:36 2015 -0500
-@@ -25,7 +25,22 @@
- #undef TLS_NEEDS_GOT
- #define TLS_NEEDS_GOT 1
-
--#define DYNAMIC_LINKER "/lib/ld.so.1"
-+#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */
-+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}"
-+#else
-+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}"
-+#endif
-+
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1"
-+#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
-+
-+#if DEFAULT_LIBC == LIBC_MUSL
-+#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER
-+#else
-+#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
-+#endif
-+
-+
- #undef SUBTARGET_EXTRA_SPECS
- #define SUBTARGET_EXTRA_SPECS \
- { "dynamic_linker", DYNAMIC_LINKER }
-From 478ee0c03a08e2ef9371fd88d516738936943e78 Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@xilinx.com>
-Date: Fri, 28 Sep 2012 16:32:03 +1000
-Subject: [PATCH 06/11] [Patch, microblaze]: Add SIZE_TYPE and PTRDIFF_TYPE to
- microblaze.h
-
-Fixes warnings like;
-
-warning: format '%zX' expects argument of type 'size_t',
-but argument 3 has type 'unsigned int' [-Wformat]
-
-Changelog
-
-2013-03-18 David Holsgrove <david.holsgrove@xilinx.com>
-
- * gcc/config/microblaze/microblaze.h: Define SIZE_TYPE
- and PTRDIFF_TYPE.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gcc/config/microblaze/microblaze.h | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff -r 0dbe9a3f7670 gcc/config/microblaze/microblaze.h
---- a/gcc/config/microblaze/microblaze.h Thu Jan 29 14:06:36 2015 -0500
-+++ b/gcc/config/microblaze/microblaze.h Thu Jan 29 14:06:38 2015 -0500
-@@ -218,6 +218,12 @@
- #undef PTRDIFF_TYPE
- #define PTRDIFF_TYPE "int"
-
-+#undef SIZE_TYPE
-+#define SIZE_TYPE "unsigned int"
-+
-+#undef PTRDIFF_TYPE
-+#define PTRDIFF_TYPE "int"
-+
- #define CONSTANT_ALIGNMENT(EXP, ALIGN) \
- ((TREE_CODE (EXP) == STRING_CST || TREE_CODE (EXP) == CONSTRUCTOR) \
- && (ALIGN) < BITS_PER_WORD \
-diff -r 94ebb0799454 gcc/config/sh/linux.h
---- a/gcc/config/sh/linux.h Fri Sep 28 16:32:03 2012 +1000
-+++ b/gcc/config/sh/linux.h Thu Jan 29 14:06:41 2015 -0500
-@@ -43,7 +43,14 @@
-
- #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-
-+#if TARGET_BIG_ENDIAN_DEFAULT /* BE */
-+#define MUSL_DYNAMIC_LINKER_E "eb"
-+#else
-+#define MUSL_DYNAMIC_LINKER_E
-+#endif
-+
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1"
-
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
-
-Use libc write(2) instead of undefined __write() to get rid
-of an error when later linking against libgcc.a
-This should fix the webkitgtk build, see:
-http://build.voidlinux.eu/builders/armv6l-musl_builder/builds/2991/steps/shell_3/logs/stdio
-
---- a/libgcc/config/arm/linux-atomic-64bit.c 2014-01-02 23:25:22.000000000 +0100
-+++ b/libgcc/config/arm/linux-atomic-64bit.c 2015-08-14 10:56:03.383219614 +0200
-@@ -33,7 +33,7 @@
- kernels; we check for that in an init section and bail out rather
- unceremoneously. */
-
--extern unsigned int __write (int fd, const void *buf, unsigned int count);
-+extern unsigned int write (int fd, const void *buf, unsigned int count);
- extern void abort (void);
-
- /* Kernel helper for compare-and-exchange. */
-@@ -56,7 +56,7 @@
- for the user - I'm not sure I can rely on much else being
- available at this point, so do the same as generic-morestack.c
- write () and abort (). */
-- __write (2 /* stderr. */, err, sizeof (err));
-+ write (2 /* stderr. */, err, sizeof (err));
- abort ();
- }
- };
diff --git a/srcpkgs/gcc/files/gcc-6.2.1-musl.diff b/srcpkgs/gcc/files/gcc-6.2.1-musl.diff
new file mode 100644
index 0000000..053d1ea
--- /dev/null
+++ b/srcpkgs/gcc/files/gcc-6.2.1-musl.diff
@@ -0,0 +1,556 @@
+# HG changeset patch
+# Parent 90a7a3809a7ccb60e357b5e88382260877f82257
+Use the generic implementation of libstdc++ primitives when we're on musl, not the glibc one.
+
+diff -r 90a7a3809a7c libstdc++-v3/configure.host
+--- a/libstdc++-v3/configure.host Thu Dec 24 11:22:15 2015 -0500
++++ b/libstdc++-v3/configure.host Thu Dec 24 11:24:45 2015 -0500
+@@ -266,6 +266,13 @@
+ os_include_dir="os/bsd/freebsd"
+ ;;
+ gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
++ # check for musl by target
++ case "${host_os}" in
++ *-musl*)
++ os_include_dir="os/generic"
++ ;;
++ *)
++
+ if [ "$uclibc" = "yes" ]; then
+ os_include_dir="os/uclibc"
+ elif [ "$bionic" = "yes" ]; then
+@@ -281,6 +281,9 @@
+ os_include_dir="os/gnu-linux"
+ fi
+ ;;
++
++ esac
++ ;;
+ hpux*)
+ os_include_dir="os/hpux"
+ ;;
+diff -r 30a957f60ddb gcc/ginclude/stddef.h
+--- a/gcc/ginclude/stddef.h Thu Dec 24 11:24:45 2015 -0500
++++ b/gcc/ginclude/stddef.h Thu Dec 24 11:24:47 2015 -0500
+@@ -184,6 +184,7 @@
+ #ifndef _GCC_SIZE_T
+ #ifndef _SIZET_
+ #ifndef __size_t
++#ifndef __DEFINED_size_t /* musl */
+ #define __size_t__ /* BeOS */
+ #define __SIZE_T__ /* Cray Unicos/Mk */
+ #define _SIZE_T
+@@ -200,6 +201,7 @@
+ #define ___int_size_t_h
+ #define _GCC_SIZE_T
+ #define _SIZET_
++#define __DEFINED_size_t /* musl */
+ #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
+ || defined(__DragonFly__) \
+ || defined(__FreeBSD_kernel__)
+@@ -218,6 +220,7 @@
+ typedef long ssize_t;
+ #endif /* __BEOS__ */
+ #endif /* !(defined (__GNUG__) && defined (size_t)) */
++#endif /* __DEFINED_size_t */
+ #endif /* __size_t */
+ #endif /* _SIZET_ */
+ #endif /* _GCC_SIZE_T */
+# HG changeset patch
+# Parent 90228af47e55eb338c7f672e4aca5ac81cf5f14c
+A fix for libgomp to correctly request a POSIX version for time support.
+
+diff -r 90228af47e55 libgomp/config/posix/time.c
+--- a/libgomp/config/posix/time.c Thu Dec 24 11:24:47 2015 -0500
++++ b/libgomp/config/posix/time.c Thu Dec 24 11:24:49 2015 -0500
+@@ -29,6 +29,8 @@
+ The following implementation uses the most simple POSIX routines.
+ If present, POSIX 4 clocks should be used instead. */
+
++#define _POSIX_C_SOURCE 199309L /* for clocks */
++
+ #include "libgomp.h"
+ #include <unistd.h>
+ #if TIME_WITH_SYS_TIME
+diff -r b08d4bc3d2ba libgcc/unwind-dw2-fde-dip.c
+--- a/libgcc/unwind-dw2-fde-dip.c Thu Dec 24 11:24:49 2015 -0500
++++ b/libgcc/unwind-dw2-fde-dip.c Thu Dec 24 11:24:51 2015 -0500
+@@ -46,6 +46,10 @@
+ #include "unwind-compat.h"
+ #include "gthr.h"
+
++#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR)
++# define USE_PT_GNU_EH_FRAME
++#endif
++
+ #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
+ && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
+diff -r 1f375ed3689f gcc/gcc.c
+--- a/gcc/gcc.c Thu Dec 24 11:24:53 2015 -0500
++++ b/gcc/gcc.c Thu Dec 24 11:24:56 2015 -0500
+@@ -860,7 +860,7 @@
+ #ifndef LINK_SSP_SPEC
+ #ifdef TARGET_LIBC_PROVIDES_SSP
+ #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
+- "|fstack-protector-strong|fstack-protector-explicit:}"
++ "|fstack-protector-strong|fstack-protector-explicit:-lssp_nonshared}"
+ #else
+ #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
+ "|fstack-protector-strong|fstack-protector-explicit" \
+# HG changeset patch
+# Parent 76b553fabcf19eec5df2df7f05ce15a4bf8c3996
+Support for mips-linux-musl.
+
+diff -r 76b553fabcf1 gcc/config/mips/linux.h
+--- a/gcc/config/mips/linux.h Thu Dec 24 11:25:02 2015 -0500
++++ b/gcc/config/mips/linux.h Thu Dec 24 11:25:04 2015 -0500
+@@ -31,6 +31,13 @@
+ #undef UCLIBC_DYNAMIC_LINKER32
+ #define UCLIBC_DYNAMIC_LINKER32 \
+ "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
++
++#undef MUSL_DYNAMIC_LINKER32
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips%{EL:el}%{msoft-float:-sf}.so.1"
++#undef MUSL_DYNAMIC_LINKER64
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips64%{EL:el}%{msoft-float:-sf}.so.1"
++#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mipsn32%{EL:el}%{msoft-float:-sf}.so.1"
++
+ #undef UCLIBC_DYNAMIC_LINKER64
+ #define UCLIBC_DYNAMIC_LINKER64 \
+ "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
+# HG changeset patch
+# Parent 971d410411735f0b04eb07236659097986926213
+Support for powerpc-linux-musl.
+
+diff -r 971d41041173 gcc/config.gcc
+--- a/gcc/config.gcc Fri Dec 25 08:44:09 2015 -0500
++++ b/gcc/config.gcc Fri Dec 25 09:42:16 2015 -0500
+@@ -2464,6 +2464,10 @@
+ powerpc*-*-linux*paired*)
+ tm_file="${tm_file} rs6000/750cl.h" ;;
+ esac
++ case ${target} in
++ *-linux*-musl*)
++ enable_secureplt=yes ;;
++ esac
+ if test x${enable_secureplt} = xyes; then
+ tm_file="rs6000/secureplt.h ${tm_file}"
+ fi
+diff -r 9555ffb5873b gcc/config/aarch64/aarch64-linux.h
+--- a/gcc/config/aarch64/aarch64-linux.h Thu Dec 24 11:25:06 2015 -0500
++++ b/gcc/config/aarch64/aarch64-linux.h Thu Dec 24 11:25:09 2015 -0500
+@@ -32,6 +32,8 @@
+ #undef CC1_SPEC
+ #define CC1_SPEC GNU_USER_TARGET_CC1_SPEC ASAN_CC1_SPEC
+
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1"
++
+ #define CPP_SPEC "%{pthread:-D_REENTRANT}"
+
+ #define LINUX_TARGET_LINK_SPEC "%{h*} \
+diff -r a522e4b04c77 gcc/config/microblaze/microblaze.h
+--- a/gcc/config/microblaze/microblaze.h Thu Dec 24 11:25:11 2015 -0500
++++ b/gcc/config/microblaze/microblaze.h Thu Dec 24 11:25:13 2015 -0500
+@@ -218,6 +218,12 @@
+ #undef PTRDIFF_TYPE
+ #define PTRDIFF_TYPE "int"
+
++#undef SIZE_TYPE
++#define SIZE_TYPE "unsigned int"
++
++#undef PTRDIFF_TYPE
++#define PTRDIFF_TYPE "int"
++
+ #define CONSTANT_ALIGNMENT(EXP, ALIGN) \
+ ((TREE_CODE (EXP) == STRING_CST || TREE_CODE (EXP) == CONSTRUCTOR) \
+ && (ALIGN) < BITS_PER_WORD \
+diff -r f2936ad874dd gcc/config/sh/linux.h
+--- a/gcc/config/sh/linux.h Fri Sep 28 16:32:03 2012 +1000
++++ b/gcc/config/sh/linux.h Thu Dec 24 11:25:15 2015 -0500
+@@ -64,7 +64,14 @@
+
+ #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
+
++#if TARGET_BIG_ENDIAN_DEFAULT /* BE */
++#define MUSL_DYNAMIC_LINKER_E "eb"
++#else
++#define MUSL_DYNAMIC_LINKER_E
++#endif
++
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1"
+
+ #undef SUBTARGET_LINK_EMUL_SUFFIX
+ #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
+Do not use weak references on any targets for gthread. Necessary on musl, safe elsewhere.
+
+diff -r e180e4cfc879 libgcc/gthr.h
+--- a/libgcc/gthr.h Thu Dec 24 11:25:15 2015 -0500
++++ b/libgcc/gthr.h Thu Dec 24 11:25:17 2015 -0500
+@@ -136,10 +136,8 @@
+ /* The pe-coff weak support isn't fully compatible to ELF's weak.
+ For static libraries it might would work, but as we need to deal
+ with shared versions too, we disable it for mingw-targets. */
+-#ifdef __MINGW32__
+ #undef GTHREAD_USE_WEAK
+ #define GTHREAD_USE_WEAK 0
+-#endif
+
+ #ifndef GTHREAD_USE_WEAK
+ #define GTHREAD_USE_WEAK 1
+From 0a9ed0479203cb7e69c3745b0c259007410f39ba Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <nsz@port70.net>
+Date: Sat, 24 Oct 2015 20:09:53 +0000
+Subject: [PATCH 47/47] libgcc_s: Use alias for __cpu_indicator_init instead of
+ symver
+
+Adapter from
+
+https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html
+
+This fix was debated but hasnt been applied gcc upstream since
+they expect musl to support '@' in symbol versioning which is
+a sun/gnu versioning extention. This patch however avoids the
+need for the '@' symbols at all
+
+libgcc/Changelog:
+
+2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/i386/cpuinfo.c (__cpu_indicator_init_local): Add.
+ (__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove.
+
+ * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER.
+
+gcc/Changelog:
+
+2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init
+ call __cpu_indicator_init_local instead of __cpu_indicator_init.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Rejected
+
+ gcc/config/i386/i386.c | 4 ++--
+ libgcc/config/i386/cpuinfo.c | 6 +++---
+ libgcc/config/i386/t-linux | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
+index 861a029..1c97d72 100644
+--- a/gcc/config/i386/i386.c
++++ b/gcc/config/i386/i386.c
+@@ -40323,10 +40323,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
+ {
+ case IX86_BUILTIN_CPU_INIT:
+ {
+- /* Make it call __cpu_indicator_init in libgcc. */
++ /* Make it call __cpu_indicator_init_local in libgcc.a. */
+ tree call_expr, fndecl, type;
+ type = build_function_type_list (integer_type_node, NULL_TREE);
+- fndecl = build_fn_decl ("__cpu_indicator_init", type);
++ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
+ call_expr = build_call_expr (fndecl, 0);
+ return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
+ }
+diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
+index 8c2248d..6c82f15 100644
+--- a/libgcc/config/i386/cpuinfo.c
++++ b/libgcc/config/i386/cpuinfo.c
+@@ -485,7 +485,7 @@ __cpu_indicator_init (void)
+ return 0;
+ }
+
+-#if defined SHARED && defined USE_ELF_SYMVER
+-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
+-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
++#ifndef SHARED
++int __cpu_indicator_init_local (void)
++ __attribute__ ((weak, alias ("__cpu_indicator_init")));
+ #endif
+diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
+index 11bb46e..4f47f7b 100644
+--- a/libgcc/config/i386/t-linux
++++ b/libgcc/config/i386/t-linux
+@@ -3,4 +3,4 @@
+ # t-slibgcc-elf-ver and t-linux
+ SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
+
+-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER
++HOST_LIBGCC2_CFLAGS += -mlong-double-80
+--
+2.9.0
+
+--- a/boehm-gc/os_dep.c 2013-09-17 07:46:00.969884340 +0000
++++ b/boehm-gc/os_dep.c 2013-09-17 06:53:53.629884946 +0000
+@@ -26,7 +26,7 @@
+ # define __KERNEL__
+ # include <asm/signal.h>
+ # undef __KERNEL__
+-# else
++# elif defined(__GLIBC__)
+ /* Kernels prior to 2.1.1 defined struct sigcontext_struct instead of */
+ /* struct sigcontext. libc6 (glibc2) uses "struct sigcontext" in */
+ /* prototypes, so we have to include the top-level sigcontext.h to */
+--- a/boehm-gc/dyn_load.c
++++ b/boehm-gc/dyn_load.c
+@@ -459,9 +459,7 @@
+ /* For glibc 2.2.4+. Unfortunately, it doesn't work for older */
+ /* versions. Thanks to Jakub Jelinek for most of the code. */
+
+-# if (defined(LINUX) || defined (__GLIBC__)) /* Are others OK here, too? */ \
+- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
+- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
++# if (defined(LINUX) || defined (__GLIBC__))
+
+ /* We have the header files for a glibc that includes dl_iterate_phdr. */
+ /* It may still not be available in the library on the target system. */
+--- a/boehm-gc/include/private/gcconfig.h
++++ b/boehm-gc/include/private/gcconfig.h
+@@ -684,7 +684,7 @@
+ # ifdef __ELF__
+ # define DYNAMIC_LOADING
+ # include <features.h>
+-# if defined(__GLIBC__)&& __GLIBC__>=2
++# if 1
+ # define SEARCH_FOR_DATA_START
+ # else /* !GLIBC2 */
+ extern char **__environ;
+@@ -1147,7 +1147,7 @@
+ # define DATASTART ((ptr_t)((((word) (_etext)) + 0xfff) & ~0xfff))
+ # endif
+ # include <features.h>
+-# if defined(__GLIBC__) && __GLIBC__ >= 2
++# if 1
+ # define SEARCH_FOR_DATA_START
+ # else
+ extern char **__environ;
+@@ -1367,7 +1367,7 @@
+ # define HBLKSIZE 4096
+ # endif
+ # define USE_GENERIC_PUSH_REGS
+-# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2 || __GLIBC__ > 2
++# if 1
+ # define LINUX_STACKBOTTOM
+ # else
+ # define STACKBOTTOM 0x80000000
+@@ -1858,7 +1858,7 @@
+ # ifdef __ELF__
+ # define DYNAMIC_LOADING
+ # include <features.h>
+-# if defined(__GLIBC__) && __GLIBC__ >= 2
++# if 1
+ # define SEARCH_FOR_DATA_START
+ # else
+ extern char **__environ;
+--- a/libjava/gnu/gcj/convert/natIconv.cc
++++ b/libjava/gnu/gcj/convert/natIconv.cc
+@@ -24,6 +24,13 @@
+
+ #ifdef HAVE_ICONV
+ #include <iconv.h>
++#include <endian.h>
++
++#if __BYTE_ORDER == __BIG_ENDIAN
++#define UCS2_CHARSET "UCS-2BE"
++#else
++#define UCS2_CHARSET "UCS-2LE"
++#endif
+
+ template<typename T>
+ static inline size_t
+@@ -45,7 +52,7 @@
+ _Jv_GetStringUTFRegion (encoding, 0, encoding->length(), buffer);
+ buffer[len] = '\0';
+
+- iconv_t h = iconv_open ("UCS-2", buffer);
++ iconv_t h = iconv_open (UCS2_CHARSET, buffer);
+ if (h == (iconv_t) -1)
+ throw new ::java::io::UnsupportedEncodingException (encoding);
+
+@@ -99,18 +106,6 @@
+ throw new ::java::io::CharConversionException ();
+ }
+
+- if (iconv_byte_swap)
+- {
+- size_t max = (old_out - outavail) / sizeof (jchar);
+- for (size_t i = 0; i < max; ++i)
+- {
+- // Byte swap.
+- jchar c = (((out[outpos + i] & 0xff) << 8)
+- | ((out[outpos + i] >> 8) & 0xff));
+- outbuf[i] = c;
+- }
+- }
+-
+ inpos += old_in - inavail;
+ return (old_out - outavail) / sizeof (jchar);
+ #else /* HAVE_ICONV */
+@@ -145,7 +140,7 @@
+ _Jv_GetStringUTFRegion (encoding, 0, encoding->length(), buffer);
+ buffer[len] = '\0';
+
+- iconv_t h = iconv_open (buffer, "UCS-2");
++ iconv_t h = iconv_open (buffer, UCS2_CHARSET);
+ if (h == (iconv_t) -1)
+ throw new ::java::io::UnsupportedEncodingException (encoding);
+
+@@ -187,20 +182,6 @@
+ char *inbuf = (char *) &chars[inpos];
+ char *outbuf = (char *) &out[count];
+
+- if (iconv_byte_swap)
+- {
+- // Ugly performance penalty -- don't use losing systems!
+- temp_buffer = (jchar *) _Jv_Malloc (inlength * sizeof (jchar));
+- for (int i = 0; i < inlength; ++i)
+- {
+- // Byte swap.
+- jchar c = (((chars[inpos + i] & 0xff) << 8)
+- | ((chars[inpos + i] >> 8) & 0xff));
+- temp_buffer[i] = c;
+- }
+- inbuf = (char *) temp_buffer;
+- }
+-
+ size_t loop_old_in = old_in;
+ while (1)
+ {
+@@ -252,44 +233,7 @@
+ jboolean
+ gnu::gcj::convert::IOConverter::iconv_init (void)
+ {
+- // Some versions of iconv() always return their UCS-2 results in
+- // big-endian order, and they also require UCS-2 inputs to be in
+- // big-endian order. For instance, glibc 2.1.3 does this. If the
+- // UTF-8=>UCS-2 iconv converter has this feature, then we assume
+- // that all UCS-2 converters do. (This might not be the best
+- // heuristic, but is is all we've got.)
+- jboolean result = false;
+-#ifdef HAVE_ICONV
+- iconv_t handle = iconv_open ("UCS-2", "UTF-8");
+- if (handle != (iconv_t) -1)
+- {
+- jchar c;
+- unsigned char in[4];
+- char *inp, *outp;
+- size_t inc, outc, r;
+-
+- // This is the UTF-8 encoding of \ufeff. At least Tru64 UNIX libiconv
+- // needs the trailing NUL byte, otherwise iconv fails with EINVAL.
+- in[0] = 0xef;
+- in[1] = 0xbb;
+- in[2] = 0xbf;
+- in[3] = 0x00;
+-
+- inp = (char *) in;
+- inc = 4;
+- outp = (char *) &c;
+- outc = 2;
+-
+- r = iconv_adapter (iconv, handle, &inp, &inc, &outp, &outc);
+- // Conversion must be complete for us to use the result.
+- if (r != (size_t) -1 && inc == 0 && outc == 0)
+- result = (c != 0xfeff);
+-
+- // Release iconv handle.
+- iconv_close (handle);
+- }
+-#endif /* HAVE_ICONV */
+- return result;
++ return false;
+ }
+
+ void
+--- a/libjava/gnu/classpath/natSystemProperties.cc
++++ b/libjava/gnu/classpath/natSystemProperties.cc
+@@ -289,7 +289,7 @@
+ // just default to `en_US'.
+ setlocale (LC_ALL, "");
+ char *locale = setlocale (LC_MESSAGES, "");
+- if (locale && strlen (locale) >= 2)
++ if (locale && strlen (locale) >= 2 && (locale[2] == '\0' || locale[2] == '_'))
+ {
+ char buf[3];
+ buf[2] = '\0';
+--- a/libjava/posix-threads.cc
++++ b/libjava/posix-threads.cc
+@@ -657,6 +657,7 @@
+ struct sched_param param;
+ pthread_attr_t attr;
+ struct starter *info;
++ size_t ss;
+
+ if (data->flags & FLAG_START)
+ return;
+@@ -675,8 +676,25 @@
+ // Set stack size if -Xss option was given.
+ if (gcj::stack_size > 0)
+ {
+- int e = pthread_attr_setstacksize (&attr, gcj::stack_size);
++ ss = gcj::stack_size;
++ }
++ else
++ {
++ int e = pthread_attr_getstacksize (&attr, &ss);
++ if (e != 0)
++ JvFail (strerror (e));
++
++ // Request at least 1meg of stack
++ if (ss >= 1024 * 1024)
++ ss = 0;
++ else
++ ss = 1024 * 1024;
++ }
++
++ if (ss)
++ {
++ int e = pthread_attr_setstacksize (&attr, ss);
+ if (e != 0)
+ JvFail (strerror (e));
+ }
+
+ info = (struct starter *) _Jv_AllocBytes (sizeof (struct starter));
+--- a/libgo/mksysinfo.sh
++++ b/libgo/mksysinfo.sh
+@@ -166,6 +166,13 @@ cat > sysinfo.c <<EOF
+ #if defined(HAVE_SCHED_H)
+ #include <sched.h>
+ #endif
++#if !defined(__GLIBC__)
++#include <sys/types.h>
++#undef off64_t
++#undef loff_t
++typedef off_t loff_t;
++typedef off_t off64_t;
++#endif
+
+ /* Constants that may only be defined as expressions on some systems,
+ expressions too complex for -fdump-go-spec to handle. These are
+--- a/libgo/runtime/proc.c 2016-09-23 16:17:22.000000000 +0200
++++ b/libgo/runtime/proc.c 2016-10-03 07:33:42.186000000 +0200
+@@ -150,6 +150,20 @@
+ asm ("st %%g7, %0" : "=m"(c->uc_mcontext.gregs[REG_G7]));
+ }
+
++# elif !defined(__GLIBC__)
++
++static inline void
++initcontext(void)
++{
++ // FIXME: Do we need to save (part of) the current context?
++}
++
++static inline void
++fixcontext(ucontext_t *c __attribute__ ((unused)))
++{
++ // FIXME: Do we need to restore (part of) the current context?
++}
++
+ # else
+
+ # error unknown case for SETCONTEXT_CLOBBERS_TLS
diff --git a/srcpkgs/gcc/patches/fix-cxxflags-passing.patch b/srcpkgs/gcc/patches/fix-cxxflags-passing.patch
new file mode 100644
index 0000000..dda2a50
--- /dev/null
+++ b/srcpkgs/gcc/patches/fix-cxxflags-passing.patch
@@ -0,0 +1,10 @@
+--- Makefile.in.orig
++++ Makefile.in
+@@ -169,6 +169,7 @@
+ # built for the build system to override those in BASE_FLAGS_TO_PASSS.
+ EXTRA_BUILD_FLAGS = \
+ CFLAGS="$(CFLAGS_FOR_BUILD)" \
++ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"
+
+ # This is the list of directories to built for the host system.
diff --git a/srcpkgs/gcc/patches/fix-musl-execinfo.patch b/srcpkgs/gcc/patches/fix-musl-execinfo.patch
new file mode 100644
index 0000000..583eac7
--- /dev/null
+++ b/srcpkgs/gcc/patches/fix-musl-execinfo.patch
@@ -0,0 +1,33 @@
+There is no <execinfo.h> in musl libc
+
+--- libvtv/vtv_rts.cc 2016-09-23 16:17:11.000000000 +0200
++++ libvtc/vtv_rts.cc 2016-09-25 15:08:57.896000000 +0200
+@@ -124,7 +124,7 @@
+ #include <windows.h>
+ #include <winternl.h>
+ #include <psapi.h>
+-#else
++#elif defined (__GLIBC__)
+ #include <execinfo.h>
+ #endif
+
+--- libvtv/vtv_utils.cc 2016-09-23 16:17:11.000000000 +0200
++++ libvtv/vtv_utils.cc 2016-09-25 15:15:35.529000000 +0200
+@@ -34,7 +34,7 @@
+ #include <string.h>
+ #if defined (__CYGWIN__) || defined (__MINGW32__)
+ #include <windows.h>
+-#else
++#elif defined (__GLIBC__)
+ #include <execinfo.h>
+ #endif
+
+@@ -178,7 +178,7 @@
+
+ __vtv_add_to_log (vtv_failures_log_fd, "%s", log_msg);
+
+-#if !defined (__CYGWIN__) && !defined (__MINGW32__)
++#if !defined (__CYGWIN__) && !defined (__MINGW32__) && defined(__GLIBC__)
+ if (generate_backtrace)
+ {
+ #define STACK_DEPTH 20
diff --git a/srcpkgs/gcc/patches/gcc-spec-env-r1.patch b/srcpkgs/gcc/patches/gcc-spec-env-r1.patch
deleted file mode 100644
index 3eb0141..0000000
--- a/srcpkgs/gcc/patches/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-2013-08-22 Magnus Granberg <zorry@gentoo.org>
-
- * gcc/gcc.c (main): Add support for external spec file via the GCC_SPECS env var
- and move the process of the user specifed specs.
-
- This allows us to easily control pie/ssp defaults with gcc-config profiles.
- Original patch by Rob Holland
- Extended to support multiple entries separated by ':' by Kevin F. Quinn
- Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
- Modified to process the GCC_SPECS env var befor DRIVER_SELF_SPECS by Magnus Granberg
-
---- gcc/gcc.c 2013-02-05 16:55:31.000000000 +0100
-+++ gcc/gcc.c 2013-07-26 02:32:14.625089864 +0200
-@@ -6427,6 +6428,48 @@ main (int argc, char **argv)
- do_option_spec (option_default_specs[i].name,
- option_default_specs[i].spec);
-
-+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32))
-+ /* Add specs listed in GCC_SPECS. Note; in the process of separating
-+ * each spec listed, the string is overwritten at token boundaries
-+ * (':') with '\0', an effect of strtok_r().
-+ */
-+ specs_file = getenv ("GCC_SPECS");
-+ if (specs_file && (strlen(specs_file) > 0))
-+ {
-+ char *spec, *saveptr;
-+ for (spec=strtok_r(specs_file,":",&saveptr);
-+ spec!=NULL;
-+ spec=strtok_r(NULL,":",&saveptr))
-+ {
-+ struct user_specs *user = (struct user_specs *)
-+ xmalloc (sizeof (struct user_specs));
-+ user->next = (struct user_specs *) 0;
-+ user->filename = spec;
-+ if (user_specs_tail)
-+ user_specs_tail->next = user;
-+ else
-+ user_specs_head = user;
-+ user_specs_tail = user;
-+ }
-+ }
-+#endif
-+ /* Process any user specified specs in the order given on the command
-+ * line. */
-+ for (uptr = user_specs_head; uptr; uptr = uptr->next)
-+ {
-+ char *filename = find_a_file (&startfile_prefixes, uptr->filename,
-+ R_OK, true);
-+ read_specs (filename ? filename : uptr->filename, false, true);
-+ }
-+ /* Process any user self specs. */
-+ {
-+ struct spec_list *sl;
-+ for (sl = specs; sl; sl = sl->next)
-+ if (sl->name_len == sizeof "self_spec" - 1
-+ && !strcmp (sl->name, "self_spec"))
-+ do_self_spec (*sl->ptr_spec);
-+ }
-+
- /* Process DRIVER_SELF_SPECS, adding any new options to the end
- of the command line. */
-
-@@ -6535,24 +6578,6 @@ main (int argc, char **argv)
- PREFIX_PRIORITY_LAST, 0, 1);
- }
-
-- /* Process any user specified specs in the order given on the command
-- line. */
-- for (uptr = user_specs_head; uptr; uptr = uptr->next)
-- {
-- char *filename = find_a_file (&startfile_prefixes, uptr->filename,
-- R_OK, true);
-- read_specs (filename ? filename : uptr->filename, false, true);
-- }
--
-- /* Process any user self specs. */
-- {
-- struct spec_list *sl;
-- for (sl = specs; sl; sl = sl->next)
-- if (sl->name_len == sizeof "self_spec" - 1
-- && !strcmp (sl->name, "self_spec"))
-- do_self_spec (*sl->ptr_spec);
-- }
--
- if (compare_debug)
- {
- enum save_temps save;
diff --git a/srcpkgs/gcc/patches/libcpp-source_date_epoch.patch b/srcpkgs/gcc/patches/libcpp-source_date_epoch.patch
index 7265900..e42f4d6 100644
--- a/srcpkgs/gcc/patches/libcpp-source_date_epoch.patch
+++ b/srcpkgs/gcc/patches/libcpp-source_date_epoch.patch
@@ -12,7 +12,7 @@ time_t is some day promoted to a 64 bit value.
--- libcpp/macro.c
+++ libcpp/macro.c
-@@ -349,14 +349,38 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node)
+@@ -356,14 +356,38 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node)
slow on some systems. */
time_t tt;
struct tm *tb = NULL;
diff --git a/srcpkgs/gcc/patches/musl-posix_memalign-c++.patch b/srcpkgs/gcc/patches/musl-posix_memalign-c++.patch
deleted file mode 100644
index f285f73..0000000
--- a/srcpkgs/gcc/patches/musl-posix_memalign-c++.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git gcc/config/i386/pmm_malloc.h gcc/config/i386/pmm_malloc.h
-index 901001b..321fcd3 100644
---- gcc/config/i386/pmm_malloc.h
-+++ gcc/config/i386/pmm_malloc.h
-@@ -27,12 +27,13 @@
- #include <stdlib.h>
-
- /* We can't depend on <stdlib.h> since the prototype of posix_memalign
-- may not be visible. */
-+ may not be visible and we can't pollute the namespace either. */
- #ifndef __cplusplus
--extern int posix_memalign (void **, size_t, size_t);
-+extern int __gcc_posix_memalign (void **, size_t, size_t)
- #else
--extern "C" int posix_memalign (void **, size_t, size_t) throw ();
-+extern "C" int __gcc_posix_memalign (void **, size_t, size_t) throw ()
- #endif
-+__asm__("posix_memalign");
-
- static __inline void *
- _mm_malloc (size_t size, size_t alignment)
-@@ -42,7 +43,7 @@ _mm_malloc (size_t size, size_t alignment)
- return malloc (size);
- if (alignment == 2 || (sizeof (void *) == 8 && alignment == 4))
- alignment = sizeof (void *);
-- if (posix_memalign (&ptr, alignment, size) == 0)
-+ if (__gcc_posix_memalign (&ptr, alignment, size) == 0)
- return ptr;
- else
- return NULL;
diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template
index 6215817..e89394e 100644
--- a/srcpkgs/gcc/template
+++ b/srcpkgs/gcc/template
@@ -1,15 +1,16 @@
# Template build file for 'gcc'
+_majorver=6.2
+_gcjrel=17
+
pkgname=gcc
-_majorver=4.9
-version=${_majorver}.4
+version=${_majorver}.1
revision=1
short_desc="The GNU C Compiler"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://gcc.gnu.org"
license="GFDL-1.2, GPL-3, LGPL-2.1"
-distfiles="${GNU_SITE}/gcc/gcc-$version/gcc-$version.tar.bz2"
-checksum=6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
-_gcjrel=15
+distfiles="http://distfiles.voidlinux.de/gcc-$version/gcc-$version.tar.xz"
+checksum=6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8
nopie=yes
lib32disabled=yes
@@ -18,25 +19,24 @@ bootstrap=yes
if [ "$CHROOT_READY" ]; then
hostmakedepends="perl flex"
fi
-makedepends="zlib-devel libmpc-devel cloog-devel"
-depends="binutils libgcc-devel-${version}_${revision}"
+makedepends="zlib-devel libmpc-devel isl15-devel"
+depends="binutils libgcc-devel-${version}_${revision}
+ libstdc++-devel-${version}_${revision} libssp-devel-${version}_${revision}"
subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel"
-subpackages+=" libssp libssp-devel gcc-c++"
+subpackages+=" libssp libssp-devel"
if [ -n "$CHROOT_READY" -a -z "$CROSS_BUILD" ]; then
+ # Required by gcj
+ hostmakedepends+=" zip unzip"
subpackages+=" gcc-fortran gcc-objc gcc-objc++"
subpackages+=" libgfortran-devel libgfortran"
subpackages+=" libobjc-devel libobjc"
-
+ subpackages+=" gcc-gcj libgcj-devel libgcj gcc-gcj-jdk-compat"
case "$XBPS_TARGET_MACHINE" in
- *-musl)
- # XXX disable go and java with musl
+ *-musl) # Go won't link for musl libc
;;
- *)
- # Required by gcj
- hostmakedepends+=" zip unzip"
- subpackages+=" gcc-go libgo-devel libgo gcc-gcj libgcj-devel libgcj gcc-gcj-jdk-compat"
+ *) subpackages+=" gcc-go libgo-devel libgo"
;;
esac
fi
@@ -74,19 +74,20 @@ case "$XBPS_TARGET_MACHINE" in
esac
case "$XBPS_TARGET_MACHINE" in
mips*) ;;
+ x86_64*|i686*) subpackages+=" libitm libitm-devel libmpx libmpx-devel";;
*) subpackages+=" libitm libitm-devel";;
esac
+# gcc-c++ merged in main pkg
+replaces="gcc-c++>=0"
+
pre_configure() {
case "$XBPS_TARGET_MACHINE" in
- *-musl) patch -Np1 -i ${FILESDIR}/gcc-4.9.2-musl.diff;;
+ *-musl) patch -Np1 -i ${FILESDIR}/gcc-${version}-musl.diff;;
esac
# _FORTIFY_SOURCE needs an optimization level.
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {gcc,libiberty}/configure
- # As specified in the LFS book, disable installing libiberty.
- sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
- # Do not run fixincludes
- sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+ mkdir gcc_build
}
do_configure() {
local _langs _args _hash
@@ -118,7 +119,9 @@ do_configure() {
export GCC_FOR_TARGET="$CC"
export CXX_FOR_TARGET="$CXX"
- _args+=" --disable-multilib --host=$XBPS_CROSS_TRIPLET --with-build-sysroot=${XBPS_CROSS_BASE}"
+ _args+=" --disable-multilib"
+ _args+=" --host=$XBPS_CROSS_TRIPLET"
+ _args+=" --with-build-sysroot=${XBPS_CROSS_BASE}"
_args+=" --enable-sjlj-exceptions=no"
else
if [ -z "$CHROOT_READY" ]; then
@@ -127,15 +130,18 @@ do_configure() {
_args+=" --with-mpfr=${XBPS_MASTERDIR}/usr"
_args+=" --with-isl=${XBPS_MASTERDIR}/usr"
_args+=" --with-mpc=${XBPS_MASTERDIR}/usr"
- _args+=" --with-cloog=${XBPS_MASTERDIR}/usr"
_args+=" --build=${_triplet}"
else
+ _langs="c,c++,objc,obj-c++,fortran,lto,java"
case "$XBPS_TARGET_MACHINE" in
- # XXX disable go and java with musl
- *-musl) _langs="c,c++,objc,obj-c++,fortran,lto";;
- *) _langs="c,c++,objc,obj-c++,fortran,lto,go,java";;
+ *-musl) # Linking libgo.so is broken for musl libc
+ ;;
+ *) _langs+=",go"
+ ;;
esac
- _args+=" --build=${_triplet} --enable-java-gc=boehm --enable-fast-character"
+ _args+=" --build=${_triplet}"
+ _args+=" --enable-java-gc=boehm"
+ _args+=" --enable-fast-character"
fi
fi
@@ -143,34 +149,60 @@ do_configure() {
aarch64*|*-musl) _args+=" --disable-libsanitizer";;
esac
case "$XBPS_TARGET_MACHINE" in
- *-musl) _args+=" --disable-symvers libat_cv_have_ifunc=no";;
+ *-musl) _args+=" --disable-symvers"
+ _args+=" libat_cv_have_ifunc=no"
+ ;;
esac
export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}"
export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}"
- CONFIG_SHELL=/bin/bash \
- ./configure --prefix=/usr --mandir=/usr/share/man \
- --infodir=/usr/share/info --libexecdir=/usr/lib --libdir=/usr/lib \
- --enable-threads=posix --enable-__cxa_atexit --disable-multilib \
- --with-system-zlib --enable-shared --enable-lto \
- --enable-linker-build-id --disable-werror --disable-nls \
- --enable-checking=release --disable-libstdcxx-pch \
- --enable-cloog-backend=isl --with-linker-hash-style=$_hash \
- --enable-languages=${_langs} ${_args}
+ _args+=" --prefix=/usr"
+ _args+=" --mandir=/usr/share/man"
+ _args+=" --infodir=/usr/share/info"
+ _args+=" --libexecdir=/usr/lib"
+ _args+=" --libdir=/usr/lib"
+ _args+=" --enable-threads=posix"
+ _args+=" --enable-__cxa_atexit"
+ _args+=" --disable-multilib"
+ _args+=" --with-system-zlib"
+ _args+=" --enable-shared"
+ _args+=" --enable-lto"
+ _args+=" --enable-vtable-verify"
+ _args+=" --enable-linker-build-id"
+ _args+=" --enable-serial-configure"
+ _args+=" --disable-werror"
+ _args+=" --disable-nls"
+ _args+=" --enable-checking=release"
+ _args+=" --disable-libstdcxx-pch"
+ _args+=" --with-isl"
+ _args+=" --with-linker-hash-style=$_hash"
+ _args+=" --disable-libunwind-exceptions"
+ _args+=" --disable-target-libiberty"
+ _args+=" --with-default-libstdcxx-abi=gcc4-compatible"
+ _args+=" --enable-languages=${_langs}"
+
+ mkdir -p build
+ cd build
+ CONFIG_SHELL=/bin/bash ${wrksrc}/configure ${_args}
}
do_build() {
+ if [ -z "$CHROOT_READY" ]; then
+ export LD_LIBRARY_PATH="${XBPS_MASTERDIR}/usr/lib"
+ fi
+ cd build
make ${makejobs}
}
pre_install() {
if [ "$CROSS_BUILD" ]; then
# XXX otherwise links to host libpthread
- for f in $(find ${wrksrc}/${XBPS_CROSS_TRIPLET} -type f -name libtool); do
+ for f in $(find ${wrksrc}/build/${XBPS_CROSS_TRIPLET} -type f -name libtool); do
sed -e "s,add_dir=\"-L\$libdir\",add_dir=\"-L${XBPS_CROSS_BASE}\$libdir\",g" -i $f
done
fi
}
do_install() {
+ cd build
case "$XBPS_TARGET_MACHINE" in
x86_64*|aarch64*)
vmkdir usr/lib
@@ -325,7 +357,7 @@ gcc-fortran_package() {
}
gcc-objc++_package() {
lib32disabled=yes
- depends="gcc-c++>=${_majorver} gcc-objc>=${_majorver}"
+ depends="gcc-objc>=${_majorver}"
short_desc+=" - Objective-C++ support"
pkg_install() {
vmove usr/lib/gcc/${_triplet}/${_majorver}/cc1objplus
@@ -354,7 +386,7 @@ libgcj-devel_package() {
vmove "usr/lib/gcc/${_triplet}/${_majorver}/include/gcj*"
vmove "usr/lib/gcc/${_triplet}/${_majorver}/include/jvm*"
vmove "usr/lib/gcc/${_triplet}/${_majorver}/include/jawt*"
- vmove usr/lib/pkgconfig/libgcj-${_majorver}.pc
+ vmove usr/lib/pkgconfig/libgcj-${_majorver%.*}.pc
}
}
libgcj_package() {
@@ -374,7 +406,10 @@ libgfortran-devel_package() {
short_desc+=" - Fortran library - development files"
pkg_install() {
vmove usr/lib/libgfortran.a
- vmove usr/lib/gcc/${_triplet}/${_majorver}/libgfortranbegin.a
+ # This does not seem to exist anymore?
+ if [ -f usr/lib/gcc/${_triplet}/${_majorver}/libgfortranbegin.a ]; then
+ vmove usr/lib/gcc/${_triplet}/${_majorver}/libgfortranbegin.a
+ fi
}
}
libgfortran_package() {
@@ -391,6 +426,7 @@ libgo-devel_package() {
pkg_install() {
vmove usr/lib/libgo.a
vmove usr/lib/libgobegin.a
+ vmove usr/lib/libgo.so
}
}
libgo_package() {
@@ -529,6 +565,23 @@ libitm_package() {
vmove "usr/lib/libitm.so.*"
}
}
+libmpx-devel_package() {
+ depends="libmpx>=${_majorver}"
+ short_desc+=" - Intel MPX support - development files"
+ pkg_install() {
+ vmove usr/lib/libmpx.a
+ vmove usr/lib/libmpx.so
+ vmove usr/lib/libmpxwrappers.so
+ vmove usr/lib/libmpxwrappers.a
+ }
+}
+libmpx_package() {
+ short_desc+=" - Intel MPX support"
+ pkg_install() {
+ vmove usr/lib/libmpx.so.*
+ vmove usr/lib/libmpxwrappers.so.*
+ }
+}
libsanitizer-devel_package() {
depends="libsanitizer>=${_majorver}"
short_desc+=" - Sanitizer libraries - development files"
@@ -546,7 +599,7 @@ libsanitizer_package() {
}
}
libssp-devel_package() {
- depends="glibc-devel libssp>=${_majorver}"
+ depends="libssp>=${_majorver}"
short_desc+=" - SSP (StackSmashingProtection) library - development files"
pkg_install() {
vmove "usr/lib/libssp*.a"
@@ -576,15 +629,3 @@ libstdc++_package() {
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
}
}
-gcc-c++_package() {
- lib32disabled=yes
- depends="gcc>=${_majorver} libstdc++-devel>=${_majorver}"
- short_desc+=" - C++ support"
- pkg_install() {
- for f in g++ c++ ${_triplet}-g++ ${_triplet}-c++; do
- vmove usr/bin/${f}
- done
- vmove usr/lib/gcc/${_triplet}/${_majorver}/cc1plus
- vmove usr/share/man/man1/g++.1
- }
-}
diff --git a/srcpkgs/isl15-devel b/srcpkgs/isl15-devel
new file mode 120000
index 0000000..ff1d954
--- /dev/null
+++ b/srcpkgs/isl15-devel
@@ -0,0 +1 @@
+isl15
\ No newline at end of file
diff --git a/srcpkgs/isl15/template b/srcpkgs/isl15/template
new file mode 100644
index 0000000..bc2c349
--- /dev/null
+++ b/srcpkgs/isl15/template
@@ -0,0 +1,31 @@
+# Template file for 'isl15'
+pkgname=isl15
+version=0.16.1
+revision=1
+wrksrc="isl-${version}"
+bootstrap=yes
+build_style=gnu-configure
+makedepends="gmp-devel"
+short_desc="Integer Set Library"
+maintainer="Juan RP <xtraeme@voidlinux.eu>"
+homepage="http://freecode.com/projects/isl"
+license="LGPL-2.1"
+distfiles="http://isl.gforge.inria.fr/isl-${version}.tar.bz2"
+checksum=412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2
+
+post_install() {
+ # Remove gdb python files.
+ rm -f ${DESTDIR}/usr/lib/*.py
+}
+
+isl15-devel_package() {
+ depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
+ short_desc+=" - development files"
+ conflicts="isl-devel>=0"
+ pkg_install() {
+ vmove usr/include
+ vmove usr/lib/pkgconfig
+ vmove "usr/lib/*.a"
+ vmove "usr/lib/*.so"
+ }
+}
diff --git a/srcpkgs/kernel-libc-headers/template b/srcpkgs/kernel-libc-headers/template
index 8e8a7f3..1c39f88 100644
--- a/srcpkgs/kernel-libc-headers/template
+++ b/srcpkgs/kernel-libc-headers/template
@@ -1,6 +1,6 @@
# Template file for 'kernel-libc-headers'
pkgname=kernel-libc-headers
-version=4.1.15
+version=4.1.34
revision=1
bootstrap=yes
nostrip=yes
@@ -11,7 +11,7 @@ short_desc="The Linux API headers for userland development"
license="GPL-2"
homepage="http://www.kernel.org"
distfiles="http://www.kernel.org/pub/linux/kernel/v4.x/linux-${version}.tar.xz"
-checksum=472288cc966188c5d7c511c6be0f78682843c9ca2d5d6c4d67d77455680359a3
+checksum=412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af
if [ "$CHROOT_READY" ]; then
hostmakedepends="perl"
diff --git a/srcpkgs/libmpx b/srcpkgs/libmpx
new file mode 120000
index 0000000..b08d5af
--- /dev/null
+++ b/srcpkgs/libmpx
@@ -0,0 +1 @@
+gcc
\ No newline at end of file
diff --git a/srcpkgs/libmpx-devel b/srcpkgs/libmpx-devel
new file mode 120000
index 0000000..b08d5af
--- /dev/null
+++ b/srcpkgs/libmpx-devel
@@ -0,0 +1 @@
+gcc
\ No newline at end of file
diff --git a/srcpkgs/rr/template b/srcpkgs/rr/template
index 1fa6abf..4b8c989 100644
--- a/srcpkgs/rr/template
+++ b/srcpkgs/rr/template
@@ -16,7 +16,7 @@ checksum=b2b24a3f67df47576126421746cd2942a458d2825faa76e8bb3ca43edffa03d3
nopie=yes
case "$XBPS_MACHINE" in
- x86_64*) hostmakedepends+=" gcc-multilib gcc-c++-multilib" ;;
+ x86_64*) hostmakedepends+=" gcc-multilib" ;;
esac
pre_configure() {
diff --git a/srcpkgs/virtualbox-ose/template b/srcpkgs/virtualbox-ose/template
index 1908c5d..b8e52cf 100644
--- a/srcpkgs/virtualbox-ose/template
+++ b/srcpkgs/virtualbox-ose/template
@@ -22,7 +22,8 @@ makedepends="libressl-devel libcurl-devel libpng-devel libvpx-devel
xorg-server-devel device-mapper-devel docbook-xsl gsoap-devel"
if [ "$XBPS_MACHINE" = "x86_64" ]; then
- makedepends+=" gcc-c++-multilib"
+ # Is this required?
+ makedepends+=" gcc-multilib"
fi
depends="virtualbox-ose-dkms-${version}_${revision} hicolor-icon-theme desktop-file-utils dbus"
diff --git a/xbps-src b/xbps-src
index 03ac79d..87f3132 100755
--- a/xbps-src
+++ b/xbps-src
@@ -403,9 +403,9 @@ readonly XBPS_VERSION_REQ="0.46"
readonly XBPS_VERSION=$(xbps-uhelper -V|awk '{print $2}')
readonly XBPS_SRC_VERSION="113"
export XBPS_MACHINE=$(xbps-uhelper arch)
-readonly XBPS_GCC_VERSION_MAJOR=4
-readonly XBPS_GCC_VERSION_MINOR=9
-readonly XBPS_GCC_VERSION_BUILD=4
+readonly XBPS_GCC_VERSION_MAJOR=6
+readonly XBPS_GCC_VERSION_MINOR=2
+readonly XBPS_GCC_VERSION_BUILD=1
readonly XBPS_GCC_VERSION=${XBPS_GCC_VERSION_MAJOR}.${XBPS_GCC_VERSION_MINOR}.${XBPS_GCC_VERSION_BUILD}
#