Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/gpl3/gcc/dist/gcc/config/rs6000 Fix regression intr...



details:   https://anonhg.NetBSD.org/src/rev/964499e1caef
branches:  trunk
changeset: 378535:964499e1caef
user:      rin <rin%NetBSD.org@localhost>
date:      Fri Apr 16 02:18:04 2021 +0000

description:
Fix regression introduced to GCC10, by which inline assembler codes for
403/405 are miscompiled.

Redundant .machine directive introduced by upstream commit
2d94f7dea9c73ef3c116a0ddc722724578a860fe:

        https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=2d94f7dea9c73ef3c116a0ddc722724578a860fe

clobbers CPU flags passed to assembler. This results in miscompile for
inline assembler codes specific to 403/405 processors, at least.

Therefore, revert this commit locally.

The problem has been reported as 100107 to upstream:

        https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100107

OK mrg

diffstat:

 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c |  4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diffs (14 lines):

diff -r 60bc195943ba -r 964499e1caef external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c
--- a/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c Fri Apr 16 02:12:00 2021 +0000
+++ b/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c Fri Apr 16 02:18:04 2021 +0000
@@ -5644,7 +5644,9 @@ rs6000_file_start (void)
 
 #ifdef USING_ELFOS_H
   rs6000_machine = rs6000_machine_from_flags ();
-  emit_asm_machine ();
+  if (!(rs6000_default_cpu && rs6000_default_cpu[0])
+       && !global_options_set.x_rs6000_cpu_index)
+    emit_asm_machine ();
 #endif
 
   if (DEFAULT_ABI == ABI_ELFv2)



Home | Main Index | Thread Index | Old Index