Date: Thu, 21 Apr 2022 18:31:43 -0700 From: Mark Millard <marklmi@yahoo.com> To: Free BSD <freebsd-arm@freebsd.org>, freebsd-ports@freebsd.org Cc: Emmanuel Vadot <manu@freebsd.org>, toolchain@freebsd.org Subject: Re: It looks like devel/aarch64-none-elf-gcc and other aarch64 */gcc* 's suffer from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101723 Message-ID: <0F6C9A98-21DC-4AA4-9DDC-CAB0E0154E59@yahoo.com> In-Reply-To: <DB8CAC13-CC31-452A-9926-30E9C1B498A9@yahoo.com> References: <C91744CC-ACB1-49C5-A4AF-9B71CD7BCB78@yahoo.com> <DB8CAC13-CC31-452A-9926-30E9C1B498A9@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2022-Apr-18, at 14:10, Mark Millard <marklmi@yahoo.com> wrote: > On 2022-Apr-18, at 12:36, Mark Millard <marklmi@yahoo.com> wrote: >=20 >> In doing some experiments, it looks like I've run into: >>=20 >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D101723 >>=20 >> which had fixes applied to gcc9 , gcc10, and gcc11 in very >> late 2021-July into Aug (all after the most recent tagged >> release). gcc8 was already out of support or it would have >> had a commit too. ( aarch64-none-elf-gcc is currently at >> 8.4.0 .) >>=20 >> The specific issue is that for compiles with -march=3Darmv8-a+crc >> specified the result is as if the +crc had not been specified. >> In my context: >>=20 >> {standard input}: Assembler messages: >> {standard input}:37: Error: selected processor does not support = `crc32b w0,w0,w4' >>=20 >> The description of the fixes starts with: >>=20 >> QUOTE >> A change to the way gas interprets the .fpu directive in = binutils-2.34 >> means that issuing .fpu will clear any features set by = .arch_extension >> that apply to the floating point or simd units. This unfortunately >> causes problems for more recent versions of the architecture = because >> we currently emit .arch, .arch_extension and .fpu directives at >> different times and try to suppress redundant changes. >> . . . >> END QUOTE >>=20 >> So seeing the problem or not also depends on the vintage of gas >> in use, possibly explaining this not having been noticed before. >>=20 >> This was reported separately in: >>=20 >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D104439 >>=20 >> for 11.2.0 and more and specifically for crc32b messages, but was >> classified as a duplicate of the earlier one listed above. >>=20 >> As far as I can tell no tagged gcc release has the fix yet: >>=20 >> releases/gcc-11.2.0 (2021-Jul-27, so close: 29th commit) >> releases/gcc-9.4.0 (2021-Jun-01) >> releases/gcc-10.3.0 (2021-Apr-08) >>=20 >> This interfere with experimenting with an updated U-Boot for >> aarch64. >>=20 >=20 > I looked around and found: >=20 > = https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dcommit;h=3Dc1cdabe3aab817d95a8db0= 0a8b5e9f6bcdea936f >=20 > arm: reorder assembler architecture directives [PR101723] > author Richard Earnshaw <rearnsha@arm.com>=09 > Thu, 29 Jul 2021 10:00:31 +0000 (11:00 +0100) > committer Richard Earnshaw <rearnsha@arm.com>=09 > Thu, 5 Aug 2021 11:51:14 +0000 (12:51 +0100) > commit c1cdabe3aab817d95a8db00a8b5e9f6bcdea936f > tree 2e3b5461af89619f316ecefa9d46564aa7514d33 tree > parent 6a37d0331c25f23628d4308e5a75624005c223b2 commit | = diff >=20 > As well as the refs/heads/releases/gcc-* related commits . . . >=20 >=20 > = https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dcommit;h=3Dc21ba5e57e49b870f16079= 44c0742e78feb7bc8d > [Wed, 18 Aug 2021 15:22:38 +0000 (16:22 +0100)] >=20 > via = https://gcc.gnu.org/git?p=3Dgcc.git;a=3Dshortlog;h=3Drefs/heads/releases/g= cc-11 >=20 >=20 > = https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dcommit;h=3D02d5a1988247207da46f25= ce8b58515e25c1f250 > [Mon, 23 Aug 2021 14:31:16 +0000 (15:31 +0100)] >=20 > via = https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dshortlog;h=3Drefs/heads/releases/= gcc-10 >=20 >=20 > = https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dcommit;h=3D04c568961e793a1d7ad862= 48b4ca929fc84acf8d > [Mon, 23 Aug 2021 14:39:20 +0000 (15:39 +0100)] >=20 > via = https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dshortlog;h=3Drefs/heads/releases/= gcc-9 >=20 >=20 > So possibly anything based on more recent snapshots than those > refs/heads/releases/gcc-* related commits have the commit in > place already. >=20 I looked and gcc 11.3.0 has source code from the fix. So, for lang/gcc* (non -devel), git: 06b81ba6804c - main - lang/gcc11: upgrade to 11.3.0 Piotr Kubaj looks to bee the first (and so-far only) lang/gcc* (non -devel) to contain the fix. The content of the other versions predate the fix (so far). A simple bugzilla search of what had been fixed in 11.3 did not list PR 101723 but looking at the likes of = https://github.com/gcc-mirror/gcc/blob/releases/gcc-11.3.0/gcc/config/arm/= arm.c showed a history entry for the fix and code from the fix. =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0F6C9A98-21DC-4AA4-9DDC-CAB0E0154E59>