mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 19:09:31 +08:00
Silence gcc-8 warnings
This seems to work with gcc-8 and a bunch of prior gcc versions I tested. * elf-linux-core.h: Disable gcc-8 string truncation warning. * elf.c (elfcore_write_prpsinfo): Likewise.
This commit is contained in:
@ -1,4 +1,9 @@
|
|||||||
2018-04-35 Alan Modra <amodra@gmail.com>
|
2018-04-25 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* elf-linux-core.h: Disable gcc-8 string truncation warning.
|
||||||
|
* elf.c (elfcore_write_prpsinfo): Likewise.
|
||||||
|
|
||||||
|
2018-04-25 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* Makefile.am: Remove arm-aout and arm-coff support.
|
* Makefile.am: Remove arm-aout and arm-coff support.
|
||||||
* config.bfd: Likewise.
|
* config.bfd: Likewise.
|
||||||
|
@ -21,6 +21,25 @@
|
|||||||
#ifndef ELF_LINUX_CORE_H
|
#ifndef ELF_LINUX_CORE_H
|
||||||
#define ELF_LINUX_CORE_H
|
#define ELF_LINUX_CORE_H
|
||||||
|
|
||||||
|
/* gcc-8 warns (*) on all the strncpy calls in this file about
|
||||||
|
possible string truncation. The "truncation" is not a bug. We
|
||||||
|
have an external representation of structs with fields that are not
|
||||||
|
necessarily NULL terminated and corresponding internal
|
||||||
|
representation fields that are one larger so that they can always
|
||||||
|
be NULL terminated.
|
||||||
|
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.
|
||||||
|
gcc-5, gcc-6 and gcc-7 warn that -Wstringop-truncation is unknown,
|
||||||
|
unless you also add #pragma GCC diagnostic ignored "-Wpragma".
|
||||||
|
(*) Depending on your system header files! */
|
||||||
|
|
||||||
|
#if GCC_VERSION >= 8000
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wstringop-truncation"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* External 32-bit structure for PRPSINFO. This structure is
|
/* External 32-bit structure for PRPSINFO. This structure is
|
||||||
ABI-defined, thus we choose to use char arrays here in order to
|
ABI-defined, thus we choose to use char arrays here in order to
|
||||||
avoid dealing with different types in different architectures.
|
avoid dealing with different types in different architectures.
|
||||||
@ -231,4 +250,8 @@ swap_linux_prpsinfo64_ugid16_out
|
|||||||
strncpy (to->pr_psargs, from->pr_psargs, sizeof (to->pr_psargs));
|
strncpy (to->pr_psargs, from->pr_psargs, sizeof (to->pr_psargs));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if GCC_VERSION >= 8000
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -10508,6 +10508,10 @@ elfcore_write_note (bfd *abfd,
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if GCC_VERSION >= 8000
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wstringop-truncation"
|
||||||
|
#endif
|
||||||
char *
|
char *
|
||||||
elfcore_write_prpsinfo (bfd *abfd,
|
elfcore_write_prpsinfo (bfd *abfd,
|
||||||
char *buf,
|
char *buf,
|
||||||
@ -10566,6 +10570,9 @@ elfcore_write_prpsinfo (bfd *abfd,
|
|||||||
free (buf);
|
free (buf);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
#if GCC_VERSION >= 8000
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
char *
|
char *
|
||||||
elfcore_write_linux_prpsinfo32
|
elfcore_write_linux_prpsinfo32
|
||||||
|
Reference in New Issue
Block a user