diff --git a/srcpkgs/cross-arm-linux-gnueabihf/files/fix-glibc-2.26.patch b/srcpkgs/cross-arm-linux-gnueabihf/files/fix-glibc-2.26.patch
deleted file mode 120000
index 3f1aa57333c..00000000000
--- a/srcpkgs/cross-arm-linux-gnueabihf/files/fix-glibc-2.26.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/fix-glibc-2.26.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-gnueabihf/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-arm-linux-gnueabihf/files/libcpp-source_date_epoch.patch
deleted file mode 120000
index e1d4856827d..00000000000
--- a/srcpkgs/cross-arm-linux-gnueabihf/files/libcpp-source_date_epoch.patch
+++ /dev/null
@@ -1 +0,0 @@
-../../gcc/patches/libcpp-source_date_epoch.patch
\ No newline at end of file
diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template
index a33bd1ef3bf..3337480da41 100644
--- a/srcpkgs/cross-arm-linux-gnueabihf/template
+++ b/srcpkgs/cross-arm-linux-gnueabihf/template
@@ -1,7 +1,7 @@
 # Template build file for 'cross-arm-linux-gnueabihf'
 #
 _binutils_version=2.29
-_gcc_version=6.3.0
+_gcc_version=7.2.0
 _glibc_version=2.26
 _linux_version=4.9.8
 
@@ -11,20 +11,20 @@ _archflags="-march=armv6 -mfpu=vfp -mfloat-abi=hard"
 _sysroot="/usr/${_triplet}"
 
 pkgname=cross-${_triplet}
-version=0.23
-revision=3
+version=0.24
+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
+ ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
  ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz
  ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz"
 checksum="
  29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf
- f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f
+ 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a
  e54e0a934cd2bc94429be79da5e9385898d2306b9eaf3c92d5a77af96190f6bd
  150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45"
 
@@ -97,9 +97,7 @@ _gcc_bootstrap() {
 	[ -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}/fix-cxxflags-passing.patch
-	_apply_patch -p0 ${FILESDIR}/fix-glibc-2.26.patch
 
 	msg_normal "Building cross gcc bootstrap\n"
 
@@ -137,10 +135,15 @@ _gcc_bootstrap() {
 }
 
 _glibc_headers() {
-	local _args
+	local _args f
 
 	[ -f ${wrksrc}/.glibc_headers_done ] && return 0
 
+	cd ${wrksrc}/glibc-${_glibc_version}
+	for f in ${XBPS_SRCPKGDIR}/glibc/patches/*.patch; do
+		_apply_patch -p1 "$f"
+	done
+
 	cd ${wrksrc}
 	msg_normal "Building cross glibc headers\n"
 
@@ -243,6 +246,8 @@ _gcc_build() {
 	_args+=" --enable-linker-build-id"
 	_args+=" --enable-gnu-unique-object"
 	_args+=" --enable-lto"
+	_args+=" --enable-default-pie"
+	_args+=" --enable-default-ssp"
 	_args+=" --disable-libquadmath"
 	_args+=" --disable-libatomic"
 	_args+=" --disable-libssp"