Blob Blame History Raw
diff -rup binutils-2.25.1.orig/bfd/ihex.c binutils-2.25.1/bfd/ihex.c
--- binutils-2.25.1.orig/bfd/ihex.c	2015-08-04 17:10:24.766693094 +0100
+++ binutils-2.25.1/bfd/ihex.c	2015-08-04 17:10:44.824807881 +0100
@@ -219,7 +219,7 @@ ihex_bad_byte (bfd *abfd, unsigned int l
       char buf[10];
 
       if (! ISPRINT (c))
-	sprintf (buf, "\\%03o", (unsigned int) c);
+	sprintf (buf, "\\%03o", (unsigned int) c & 0xff);
       else
 	{
 	  buf[0] = c;
@@ -276,7 +276,7 @@ ihex_scan (bfd *abfd)
       else
 	{
 	  file_ptr pos;
-	  char hdr[8];
+	  unsigned char hdr[8];
 	  unsigned int i;
 	  unsigned int len;
 	  bfd_vma addr;
@@ -553,7 +553,7 @@ ihex_read_section (bfd *abfd, asection *
   error = FALSE;
   while ((c = ihex_get_byte (abfd, &error)) != EOF)
     {
-      char hdr[8];
+      unsigned char hdr[8];
       unsigned int len;
       unsigned int type;
       unsigned int i;
diff -rup binutils-2.25.1.orig/bfd/srec.c binutils-2.25.1/bfd/srec.c
--- binutils-2.25.1.orig/bfd/srec.c	2015-08-04 17:10:24.774693139 +0100
+++ binutils-2.25.1/bfd/srec.c	2015-08-04 17:10:44.824807881 +0100
@@ -249,7 +249,7 @@ srec_bad_byte (bfd *abfd,
       char buf[40];
 
       if (! ISPRINT (c))
-	sprintf (buf, "\\%03o", (unsigned int) c);
+	sprintf (buf, "\\%03o", (unsigned int) c & 0xff);
       else
 	{
 	  buf[0] = c;
diff -rup binutils-2.25.1.orig/binutils/readelf.c binutils-2.25.1/binutils/readelf.c
--- binutils-2.25.1.orig/binutils/readelf.c	2015-08-04 17:10:24.856693609 +0100
+++ binutils-2.25.1/binutils/readelf.c	2015-08-04 17:10:44.829807910 +0100
@@ -13838,7 +13838,7 @@ process_mips_specific (FILE * file)
 	      len = sizeof (* eopt);
 	      while (len < option->size)
 		{
-		  char datum = * ((char *) eopt + offset + len);
+		  unsigned char datum = * ((unsigned char *) eopt + offset + len);
 
 		  if (ISPRINT (datum))
 		    printf ("%c", datum);
Only in binutils-2.25.1/binutils: readelf.c.orig