mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 10:03:47 +08:00
Fix diagnostic errors
Fixes a number of build errors like the following .../elf32-arm.c: In function 'elf32_arm_nabi_write_core_note': .../elf32-arm.c:2177: error: #pragma GCC diagnostic not allowed inside functions .../elf32-arm.c:2186: error: #pragma GCC diagnostic not allowed inside functions See the comment in diagnostics.h. include/ * diagnostics.h: Comment on macro usage. bfd/ * elf32-arm.c (elf32_arm_nabi_write_core_note): Don't use DIAGNOTIC_PUSH and DIAGNOSTIC_POP unconditionally. * elf32-ppc.c (ppc_elf_write_core_note): Likewise. * elf32-s390.c (elf_s390_write_core_note): Likewise. * elf64-ppc.c (ppc64_elf_write_core_note): Likewise. * elf64-s390.c (elf_s390_write_core_note): Likewise. * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
This commit is contained in:
parent
724436fccb
commit
fe75810f8e
@ -1,3 +1,13 @@
|
||||
2018-07-06 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* elf32-arm.c (elf32_arm_nabi_write_core_note): Don't use
|
||||
DIAGNOTIC_PUSH and DIAGNOSTIC_POP unconditionally.
|
||||
* elf32-ppc.c (ppc_elf_write_core_note): Likewise.
|
||||
* elf32-s390.c (elf_s390_write_core_note): Likewise.
|
||||
* elf64-ppc.c (ppc64_elf_write_core_note): Likewise.
|
||||
* elf64-s390.c (elf_s390_write_core_note): Likewise.
|
||||
* elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
|
||||
|
||||
2018-07-05 Jim Wilson <jimw@sifive.com>
|
||||
|
||||
* config.bfd (riscv32*-*-*): Renamed from riscv32-*-*.
|
||||
|
@ -2174,16 +2174,18 @@ 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
|
||||
DIAGNOSTIC_PUSH;
|
||||
/* GCC 8.1 warns about 80 equals destination size with
|
||||
-Wstringop-truncation:
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
|
||||
*/
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
|
||||
#endif
|
||||
strncpy (data + 44, va_arg (ap, const char *), 80);
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_POP;
|
||||
#endif
|
||||
va_end (ap);
|
||||
|
||||
return elfcore_write_note (abfd, buf, bufsiz,
|
||||
|
@ -2411,16 +2411,18 @@ 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
|
||||
DIAGNOSTIC_PUSH;
|
||||
/* GCC 8.1 warns about 80 equals destination size with
|
||||
-Wstringop-truncation:
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
|
||||
*/
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
|
||||
#endif
|
||||
strncpy (data + 48, va_arg (ap, const char *), 80);
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_POP;
|
||||
#endif
|
||||
va_end (ap);
|
||||
return elfcore_write_note (abfd, buf, bufsiz,
|
||||
"CORE", note_type, data, sizeof (data));
|
||||
|
@ -3951,16 +3951,18 @@ elf_s390_write_core_note (bfd *abfd, char *buf, int *bufsiz,
|
||||
va_end (ap);
|
||||
|
||||
strncpy (data + 28, fname, 16);
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_PUSH;
|
||||
/* GCC 8.1 warns about 80 equals destination size with
|
||||
-Wstringop-truncation:
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
|
||||
*/
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
|
||||
#endif
|
||||
strncpy (data + 44, psargs, 80);
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_POP;
|
||||
#endif
|
||||
return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type,
|
||||
&data, sizeof (data));
|
||||
}
|
||||
|
@ -3041,16 +3041,18 @@ 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
|
||||
DIAGNOSTIC_PUSH;
|
||||
/* GCC 8.1 warns about 80 equals destination size with
|
||||
-Wstringop-truncation:
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
|
||||
*/
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
|
||||
#endif
|
||||
strncpy (data + 56, va_arg (ap, const char *), 80);
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_POP;
|
||||
#endif
|
||||
va_end (ap);
|
||||
return elfcore_write_note (abfd, buf, bufsiz,
|
||||
"CORE", note_type, data, sizeof (data));
|
||||
|
@ -3760,16 +3760,18 @@ elf_s390_write_core_note (bfd *abfd, char *buf, int *bufsiz,
|
||||
va_end (ap);
|
||||
|
||||
strncpy (data + 40, fname, 16);
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_PUSH;
|
||||
/* GCC 8.1 warns about 80 equals destination size with
|
||||
-Wstringop-truncation:
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
|
||||
*/
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
|
||||
#endif
|
||||
strncpy (data + 56, psargs, 80);
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_POP;
|
||||
#endif
|
||||
return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type,
|
||||
&data, sizeof (data));
|
||||
}
|
||||
|
@ -640,16 +640,18 @@ _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
|
||||
DIAGNOSTIC_PUSH;
|
||||
/* GCC 8.1 warns about 80 equals destination size with
|
||||
-Wstringop-truncation:
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
|
||||
*/
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION;
|
||||
#endif
|
||||
strncpy (data + 56, va_arg (ap, const char *), 80);
|
||||
#if GCC_VERSION == 8001
|
||||
DIAGNOSTIC_POP;
|
||||
#endif
|
||||
va_end (ap);
|
||||
|
||||
return elfcore_write_note (abfd, buf, bufsiz, "CORE",
|
||||
|
@ -1,3 +1,7 @@
|
||||
2018-07-06 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* diagnostics.h: Comment on macro usage.
|
||||
|
||||
2018-07-05 Simon Marchi <simon.marchi@polymtl.ca>
|
||||
|
||||
* diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS):
|
||||
|
@ -16,6 +16,20 @@
|
||||
#ifndef DIAGNOSTICS_H
|
||||
#define DIAGNOSTICS_H
|
||||
|
||||
/* If at all possible, fix the source rather than using these macros
|
||||
to silence warnings. If you do use these macros be aware that
|
||||
you'll need to condition their use on particular compiler versions,
|
||||
which can be done for gcc using ansidecl.h's GCC_VERSION macro.
|
||||
|
||||
gcc versions between 4.2 and 4.6 do not allow pragma control of
|
||||
diagnostics inside functions, giving a hard error if you try to use
|
||||
the finer control available with later versions.
|
||||
gcc prior to 4.2 warns about diagnostic push and pop.
|
||||
|
||||
The other macros have restrictions too, for example gcc-5, gcc-6
|
||||
and gcc-7 warn that -Wstringop-truncation is unknown, unless you
|
||||
also add DIAGNOSTIC_IGNORE ("-Wpragma"). */
|
||||
|
||||
#ifdef __GNUC__
|
||||
# define DIAGNOSTIC_PUSH _Pragma ("GCC diagnostic push")
|
||||
# define DIAGNOSTIC_POP _Pragma ("GCC diagnostic pop")
|
||||
|
Loading…
Reference in New Issue
Block a user