Browse Source

add patch fixing broken microblaze gcc on 32-bit hosts

bogus use PRIx64 with unsigned long (assumption of 64-bit host) in
gcc. older gcc versions are also affected, I think, but not yet fixed.
Rich Felker 8 năm trước cách đây
mục cha
commit
7db01153a2
1 tập tin đã thay đổi với 20 bổ sung0 xóa
  1. 20 0
      patches/gcc-6.3.0/0013-microblaze-pr65649.diff

+ 20 - 0
patches/gcc-6.3.0/0013-microblaze-pr65649.diff

@@ -0,0 +1,20 @@
+--- gcc-6.3.0/gcc/config/microblaze/microblaze.c.orig	2017-01-02 15:07:18.924082703 -0500
++++ gcc-6.3.0/gcc/config/microblaze/microblaze.c	2017-01-02 15:08:06.362438573 -0500
+@@ -2364,7 +2364,7 @@
+ 	  unsigned long value_long;
+ 	  REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (op),
+ 				       value_long);
+-	  fprintf (file, HOST_WIDE_INT_PRINT_HEX, value_long);
++	  fprintf (file, "0x%lx", value_long);
+ 	}
+       else
+ 	{
+@@ -2423,7 +2423,7 @@
+       print_operand_address (file, XEXP (op, 0));
+     }
+   else if (letter == 'm')
+-    fprintf (file, HOST_WIDE_INT_PRINT_DEC, (1L << INTVAL (op)));
++    fprintf (file, "%ld", (1L << INTVAL (op)));
+   else
+     output_addr_const (file, op);
+ }