[Committed] S/390: Suppress string diagnostics for pre-release GCC

Message ID 20180723084957.24489-1-krebbel@linux.ibm.com
State New
Headers show
Series
  • [Committed] S/390: Suppress string diagnostics for pre-release GCC
Related show

Commit Message

Andreas Krebbel July 23, 2018, 8:49 a.m.
From: Andreas Krebbel <krebbel@linux.vnet.ibm.com>


Building for S/390 currently fails when using a GCC 8.1 pre-release
version like 8.0.1 (as it is used by F28).  Fixed with the attached patch.

bfd/ChangeLog:

2018-07-23  Andreas Krebbel  <krebbel@linux.ibm.com>

	* elf32-s390.c (elf_s390_write_core_note): Make GCC version 8.0 to
	be covered by the check as well.
	* elf64-s390.c (elf_s390_write_core_note): Likewise.
---
 bfd/elf32-s390.c | 4 ++--
 bfd/elf64-s390.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

-- 
2.9.1

Comments

Alan Modra July 25, 2018, 2:45 a.m. | #1
On Mon, Jul 23, 2018 at 10:49:57AM +0200, Andreas Krebbel wrote:
> From: Andreas Krebbel <krebbel@linux.vnet.ibm.com>

> 

> Building for S/390 currently fails when using a GCC 8.1 pre-release

> version like 8.0.1 (as it is used by F28).  Fixed with the attached patch.

> 

> bfd/ChangeLog:

> 

> 2018-07-23  Andreas Krebbel  <krebbel@linux.ibm.com>

> 

> 	* elf32-s390.c (elf_s390_write_core_note): Make GCC version 8.0 to

> 	be covered by the check as well.

> 	* elf64-s390.c (elf_s390_write_core_note): Likewise.


Extends commit 898ade12ee8 to cover other targets.

	* elf32-arm.c (elf32_arm_nabi_write_core_note): Disable
	-Wstringop-truncation warning for gcc-8.0 too.
	* elf32-ppc.c (ppc_elf_write_core_note): Likewise.
	* elf64-ppc.c (ppc64_elf_write_core_note): Likewise.
	* elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
	* elf32-s390.c (elf_s390_write_core_note): Comment fix.
	* elf64-s390.c (elf_s390_write_core_note): Likewise.

diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index c5077a5308..2c321bbcb6 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -2174,16 +2174,16 @@ elf32_arm_nabi_write_core_note (bfd *abfd, char *buf, int *bufsiz,
 	va_start (ap, note_type);
 	memset (data, 0, sizeof (data));
 	strncpy (data + 28, va_arg (ap, const char *), 16);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_PUSH;
-	/* GCC 8.1 warns about 80 equals destination size with
+	/* GCC 8.0 and 8.1 warn about 80 equals destination size with
 	   -Wstringop-truncation:
 	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
 	 */
 	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
 #endif
 	strncpy (data + 44, va_arg (ap, const char *), 80);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_POP;
 #endif
 	va_end (ap);
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 5e9251bdb9..1ddfc6c1f4 100644
--- a/bfd/elf32-ppc.c
+++ b/bfd/elf32-ppc.c
@@ -2411,16 +2411,16 @@ ppc_elf_write_core_note (bfd *abfd, char *buf, int *bufsiz, int note_type, ...)
 	va_start (ap, note_type);
 	memset (data, 0, sizeof (data));
 	strncpy (data + 32, va_arg (ap, const char *), 16);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_PUSH;
-	/* GCC 8.1 warns about 80 equals destination size with
+	/* GCC 8.0 and 8.1 warn about 80 equals destination size with
 	   -Wstringop-truncation:
 	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
 	 */
 	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
 #endif
 	strncpy (data + 48, va_arg (ap, const char *), 80);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_POP;
 #endif
 	va_end (ap);
diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c
index c47bbabc2c..448c64dcfc 100644
--- a/bfd/elf32-s390.c
+++ b/bfd/elf32-s390.c
@@ -3953,7 +3953,7 @@ elf_s390_write_core_note (bfd *abfd, char *buf, int *bufsiz,
 	strncpy (data + 28, fname, 16);
 #if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_PUSH;
-	/* GCC 8.1 warns about 80 equals destination size with
+	/* GCC 8.0 and 8.1 warn about 80 equals destination size with
 	   -Wstringop-truncation:
 	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
 	 */
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 45d81777eb..6b293ce5fd 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -3041,16 +3041,16 @@ ppc64_elf_write_core_note (bfd *abfd, char *buf, int *bufsiz, int note_type,
 	va_start (ap, note_type);
 	memset (data, 0, sizeof (data));
 	strncpy (data + 40, va_arg (ap, const char *), 16);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_PUSH;
-	/* GCC 8.1 warns about 80 equals destination size with
+	/* GCC 8.0 and 8.1 warn about 80 equals destination size with
 	   -Wstringop-truncation:
 	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
 	 */
 	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
 #endif
 	strncpy (data + 56, va_arg (ap, const char *), 80);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_POP;
 #endif
 	va_end (ap);
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
index 16a62a3d7c..91b76bcc8a 100644
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -3787,7 +3787,7 @@ elf_s390_write_core_note (bfd *abfd, char *buf, int *bufsiz,
 	strncpy (data + 40, fname, 16);
 #if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_PUSH;
-	/* GCC 8.1 warns about 80 equals destination size with
+	/* GCC 8.0 and 8.1 warn about 80 equals destination size with
 	   -Wstringop-truncation:
 	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
 	 */
diff --git a/bfd/elfxx-aarch64.c b/bfd/elfxx-aarch64.c
index af02f2e48e..b8a541a9dd 100644
--- a/bfd/elfxx-aarch64.c
+++ b/bfd/elfxx-aarch64.c
@@ -640,16 +640,16 @@ _bfd_aarch64_elf_write_core_note (bfd *abfd, char *buf, int *bufsiz, int note_ty
 	va_start (ap, note_type);
 	memset (data, 0, sizeof (data));
 	strncpy (data + 40, va_arg (ap, const char *), 16);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_PUSH;
-	/* GCC 8.1 warns about 80 equals destination size with
+	/* GCC 8.0 and 8.1 warn about 80 equals destination size with
 	   -Wstringop-truncation:
 	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
 	 */
 	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
 #endif
 	strncpy (data + 56, va_arg (ap, const char *), 80);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_POP;
 #endif
 	va_end (ap);

-- 
Alan Modra
Australia Development Lab, IBM

Patch

diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c
index 56008a1..c47bbab 100644
--- a/bfd/elf32-s390.c
+++ b/bfd/elf32-s390.c
@@ -3951,7 +3951,7 @@  elf_s390_write_core_note (bfd *abfd, char *buf, int *bufsiz,
 	va_end (ap);
 
 	strncpy (data + 28, fname, 16);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_PUSH;
 	/* GCC 8.1 warns about 80 equals destination size with
 	   -Wstringop-truncation:
@@ -3960,7 +3960,7 @@  elf_s390_write_core_note (bfd *abfd, char *buf, int *bufsiz,
 	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
 #endif
 	strncpy (data + 44, psargs, 80);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_POP;
 #endif
 	return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type,
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
index 0a9bfe4..16a62a3 100644
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -3785,7 +3785,7 @@  elf_s390_write_core_note (bfd *abfd, char *buf, int *bufsiz,
 	va_end (ap);
 
 	strncpy (data + 40, fname, 16);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_PUSH;
 	/* GCC 8.1 warns about 80 equals destination size with
 	   -Wstringop-truncation:
@@ -3794,7 +3794,7 @@  elf_s390_write_core_note (bfd *abfd, char *buf, int *bufsiz,
 	DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
 #endif
 	strncpy (data + 56, psargs, 80);
-#if GCC_VERSION == 8001
+#if GCC_VERSION == 8000 || GCC_VERSION == 8001
 	DIAGNOSTIC_POP;
 #endif
 	return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type,