Skip to contentSkip to conversation

gcc: bump 7.x series to 7.2.0

PATCH New Thomas Petazzoni 4 participants 7 messages Aug 16, 2017 – Aug 21, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gcc: bump 7.x series to 7.2.0

All patches continue to apply with no changes. 7.2.0 is a bugfix release of the 7.x branch.

The only change that is not a simple bump is that the 7.2.0 tarball is now available xz-compressed instead of bz2-compressed.

---
I'm not sure whether we want this for master or next. I've built 71 toolchains with GCC 7.2.0 for toolchains.free-electrons.com, the vast majority of them being then used to build and boot a Linux kernel + minimal userspace under Qemu.

Unfortunately, the tag gcc-7_2_0-release has still not appeared in
git://gcc.gnu.org/git/gcc.git, so it's hard to see the amount of changes between gcc 7.1.0 and gcc 7.2.0.

According to the release e-mail at
https://gcc.gnu.org/ml/gcc/2017-08/msg00129.html:

"""
GCC 7.2 is a bug-fix release from the GCC 7 branch containing important fixes for regressions and serious bugs in GCC 6.1 with more than 95 bugs fixed since the previous release. """

Perhaps the safest is to take this in next.

---
 package/gcc/{7.1.0 => 7.2.0}/0100-uclibc-conf.patch                 | 0
 package/gcc/{7.1.0 => 7.2.0}/0810-arm-softfloat-libgcc.patch        | 0
 .../gcc/{7.1.0 => 7.2.0}/0860-cilk-fix-build-without-wchar.patch    | 0
 package/gcc/{7.1.0 => 7.2.0}/0891-fix-m68k-uclinux.patch            | 0
 package/gcc/{7.1.0 => 7.2.0}/0892-microblaze-Revert.patch           | 0
 package/gcc/{7.1.0 => 7.2.0}/0900-remove-selftests.patch            | 0
 package/gcc/Config.in.host                                          | 2 +-
 package/gcc/gcc.hash                                                | 4 ++--
 package/gcc/gcc.mk                                                  | 6 +++---
 9 files changed, 6 insertions(+), 6 deletions(-)
 rename package/gcc/{7.1.0 => 7.2.0}/0100-uclibc-conf.patch (100%)
 rename package/gcc/{7.1.0 => 7.2.0}/0810-arm-softfloat-libgcc.patch (100%)
 rename package/gcc/{7.1.0 => 7.2.0}/0860-cilk-fix-build-without-wchar.patch (100%)
 rename package/gcc/{7.1.0 => 7.2.0}/0891-fix-m68k-uclinux.patch (100%)
 rename package/gcc/{7.1.0 => 7.2.0}/0892-microblaze-Revert.patch (100%)
 rename package/gcc/{7.1.0 => 7.2.0}/0900-remove-selftests.patch (100%)
package/gcc/7.2.0/0100-uclibc-conf.patch renamed from package/gcc/7.1.0/0100-uclibc-conf.patch +0 -0
similarity index 100%
rename from package/gcc/7.1.0/0100-uclibc-conf.patch
rename to package/gcc/7.2.0/0100-uclibc-conf.patch
package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch renamed from package/gcc/7.1.0/0810-arm-softfloat-libgcc.patch +0 -0
similarity index 100%
rename from package/gcc/7.1.0/0810-arm-softfloat-libgcc.patch
rename to package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch
package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch renamed from package/gcc/7.1.0/0860-cilk-fix-build-without-wchar.patch +0 -0
similarity index 100%
rename from package/gcc/7.1.0/0860-cilk-fix-build-without-wchar.patch
rename to package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch
package/gcc/7.2.0/0891-fix-m68k-uclinux.patch renamed from package/gcc/7.1.0/0891-fix-m68k-uclinux.patch +0 -0
similarity index 100%
rename from package/gcc/7.1.0/0891-fix-m68k-uclinux.patch
rename to package/gcc/7.2.0/0891-fix-m68k-uclinux.patch
package/gcc/7.2.0/0892-microblaze-Revert.patch renamed from package/gcc/7.1.0/0892-microblaze-Revert.patch +0 -0
similarity index 100%
rename from package/gcc/7.1.0/0892-microblaze-Revert.patch
rename to package/gcc/7.2.0/0892-microblaze-Revert.patch
package/gcc/7.2.0/0900-remove-selftests.patch renamed from package/gcc/7.1.0/0900-remove-selftests.patch +0 -0
similarity index 100%
rename from package/gcc/7.1.0/0900-remove-selftests.patch
rename to package/gcc/7.2.0/0900-remove-selftests.patch
package/gcc/Config.in.host +1 -1
index a2e02d7..b33dc60 100644
@@ -93,7 +93,7 @@ config BR2_GCC_VERSION
 	default "4.9.4"     if BR2_GCC_VERSION_4_9_X
 	default "5.4.0"     if BR2_GCC_VERSION_5_X
 	default "6.4.0"     if BR2_GCC_VERSION_6_X
-	default "7.1.0"     if BR2_GCC_VERSION_7_X
+	default "7.2.0"     if BR2_GCC_VERSION_7_X
 	default "arc-2017.03" if BR2_GCC_VERSION_ARC
 	default "musl-5.4.0" if BR2_GCC_VERSION_OR1K
 
package/gcc/gcc.hash +2 -2
index c3e5ffb..f35a2e2 100644
@@ -4,8 +4,8 @@ sha512  93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683
 sha512  2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d1ef16ea39def408a644ba48f97519ec7a7dd37d260c3e9423514265b  gcc-5.4.0.tar.bz2
 # From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.4.0/sha512.sum
 sha512  02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bbfc4bc527a863c0cccc025150a34740a9e29badb02d4b48e56a8aba90  gcc-6.4.0.tar.xz
-# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.1.0/sha512.sum
-sha512  b5d952be9a10f0e0926bb2868877d10544039d6d2f35ba0a08f51231dd622a007650764a03e173194701467547789ad7d2d9cbc10adcdf118d619cdedbd14aec  gcc-7.1.0.tar.bz2
+# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.2.0/sha512.sum
+sha512  f853cd6530b4055d8d8289da74687cb4c6d5f363598d386332d31852b581bac76c3adb7d61889edec3b779f63d8646f0122840f12965ce4a4389ba535dbbb6e1  gcc-7.2.0.tar.xz
 
 # Locally calculated (fetched from Github)
 sha512  282f76b8b63372f5b4426092b80d36da96cd0bda2a8588405b9ec22806c69fafb696b0e0df65bc36c3c3aa8ce5befc24246fd5c6ddb21dcde01f45f7b11ff7c4  gcc-arc-2017.03.tar.gz
package/gcc/gcc.mk +3 -3
index 6ee840e..49ccccf 100644
@@ -18,9 +18,9 @@ GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION))
 GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz
 else
 GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION)
-# From version 6.4.0 a bz2 release tarball is not provided anymore. Use the xz
-# tarball instead.
-ifeq ($(BR2_GCC_VERSION_6_X),y)
+# From version 6.4.0 and 7.2.0 a bz2 release tarball is not provided
+# anymore. Use the xz tarball instead.
+ifeq ($(BR2_GCC_VERSION_6_X)$(BR2_GCC_VERSION_7_X),y)
 GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz
 else
 GCC_SOURCE = gcc-$(GCC_VERSION).tar.bz2
Signature · 1 line
2.9.4
#1 lore raw

PATCH 1/1 gcc: bump 7.x series to 7.2.0

Hi Thomas,

Quoted 8 lines · Thomas Petazzoni

I'm not sure whether we want this for master or next. I've built 71 toolchains with GCC 7.2.0 for toolchains.free-electrons.com, the vast majority of them being then used to build and boot a Linux kernel + minimal userspace under Qemu.

Unfortunately, the tag gcc-7_2_0-release has still not appeared in
git://gcc.gnu.org/git/gcc.git, so it's hard to see the amount of changes between gcc 7.1.0 and gcc 7.2.0.

I suspect this fixes real issues I've seen, including inability to build systemd due to a GCC7 bug
(https://bugs.busybox.net/show_bug.cgi?id=10136) and some other GCC7 issues I've seen internally. I'll rebuild with this applied and verify and then comment on the systemd build bug.

#2 lore raw

PATCH 1/1 gcc: bump 7.x series to 7.2.0

In reply to Thomas Petazzoni

Hello,

Quoted 12 lines · Thomas Petazzoni

I'm not sure whether we want this for master or next. I've built 71 toolchains with GCC 7.2.0 for toolchains.free-electrons.com, the vast majority of them being then used to build and boot a Linux kernel + minimal userspace under Qemu.

Unfortunately, the tag gcc-7_2_0-release has still not appeared in
git://gcc.gnu.org/git/gcc.git, so it's hard to see the amount of changes between gcc 7.1.0 and gcc 7.2.0.

According to the release e-mail at
https://gcc.gnu.org/ml/gcc/2017-08/msg00129.html:

Quoted 7 lines

"""
GCC 7.2 is a bug-fix release from the GCC 7 branch containing important fixes for regressions and serious bugs in GCC 6.1 with more than 95 bugs fixed since the previous release. """

Perhaps the safest is to take this in next.

Rethinking this: gcc 7.x is not the default gcc version currently used in Buildroot, so I think bumping the 7.x series to 7.2.0 is quite safe for the 2017.08 release.

However, I don't really mind, so I'll let others give their opinion on this.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#3 lore raw

PATCH 1/1 gcc: bump 7.x series to 7.2.0

Am Thu, 17 Aug 2017 19:44:25 +0200 schrieb Thomas Petazzoni:

Quoted 2 lines

However, I don't really mind, so I'll let others give their opinion on this.

Hi Thomas,

building this Kodi defconfig with your patch works:

BR2_x86_64=y
BR2_x86_core_avx2=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_GCC_VERSION_7_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_INIT_NONE=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_KODI=y
BR2_PACKAGE_KODI_ALSA_LIB=y
BR2_PACKAGE_KODI_BLUEZ=y
BR2_PACKAGE_KODI_LIBBLURAY=y
BR2_PACKAGE_KODI_LIBCEC=y
BR2_PACKAGE_KODI_LIBVA=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y

Imho you can commit your patch to the master branch.

Regards, Bernd

#4 lore raw

PATCH 1/1 gcc: bump 7.x series to 7.2.0

In reply to Thomas Petazzoni
Quoted 7 lines · Thomas Petazzoni

All patches continue to apply with no changes. 7.2.0 is a bugfix release of the 7.x branch.

The only change that is not a simple bump is that the 7.2.0 tarball is now available xz-compressed instead of bz2-compressed.

Quoted 2 lines

---
I'm not sure whether we want this for master or next.

master is fine for me.

[snip]

package/gcc/gcc.mk GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION)) · line 23

Quoted 10 lines
package/gcc/gcc.mk +3 -3
@@ -18,9 +18,9 @@ GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION))
 GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz
 else
 GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION)
-# From version 6.4.0 a bz2 release tarball is not provided anymore. Use the xz
-# tarball instead.
-ifeq ($(BR2_GCC_VERSION_6_X),y)
+# From version 6.4.0 and 7.2.0 a bz2 release tarball is not provided
+# anymore. Use the xz tarball instead.
+ifeq ($(BR2_GCC_VERSION_6_X)$(BR2_GCC_VERSION_7_X),y)

This is not maintainable, at some point we'll have to change it into
BR2_TOOLCHAIN_GCC_AT_LEAST_6.

Regards,
Arnout

Quoted 4 lines
package/gcc/gcc.mk +0 -0
 GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz
 else
 GCC_SOURCE = gcc-$(GCC_VERSION).tar.bz2
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#5 lore raw

PATCH 1/1 gcc: bump 7.x series to 7.2.0

Hello,

Quoted 5 lines · Arnout Vandecappelle
Quoted 5 lines
package/gcc/gcc.mk +0 -1
@@ -18,9 +18,9 @@ GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION))
 GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz
 else
 GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION)
-# From version 6.4.0 a bz2 release tarball is not provided anymore. Use the xz
Quoted 8 lines

package/gcc/gcc.mk GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION)) · line 23

Quoted 5 lines
package/gcc/gcc.mk +3 -2
-# tarball instead.
-ifeq ($(BR2_GCC_VERSION_6_X),y)
+# From version 6.4.0 and 7.2.0 a bz2 release tarball is not provided
+# anymore. Use the xz tarball instead.
+ifeq ($(BR2_GCC_VERSION_6_X)$(BR2_GCC_VERSION_7_X),y)  

This is not maintainable, at some point we'll have to change it into
BR2_TOOLCHAIN_GCC_AT_LEAST_6.

Agreed, but I've kept that for a future change. In the future, most gcc tarballs will be .tar.xz, so what we'll have to special case are the older versions, not the newer ones :)

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
author Applied
#6 lore raw

PATCH 1/1 gcc: bump 7.x series to 7.2.0

In reply to Thomas Petazzoni

Hello,

Quoted 6 lines · Thomas Petazzoni

All patches continue to apply with no changes. 7.2.0 is a bugfix release of the 7.x branch.

The only change that is not a simple bump is that the 7.2.0 tarball is now available xz-compressed instead of bz2-compressed.

Quoted 6 lines

---
I'm not sure whether we want this for master or next. I've built 71 toolchains with GCC 7.2.0 for toolchains.free-electrons.com, the vast majority of them being then used to build and boot a Linux kernel + minimal userspace under Qemu.

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com