diff options
author | Nick Clifton <nickc@redhat.com> | 2018-08-01 14:46:43 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2018-08-01 14:46:43 +0100 |
commit | c25179e71fee952ace322ce26b3fe6b722ec77f9 (patch) | |
tree | 79d207607a68324af5793a941c681c43f2409354 /bfd/coff-rs6000.c | |
parent | 4a9f7d653c089fdd8ca66a51caab7c9687f50cd1 (diff) | |
download | gdb-c25179e71fee952ace322ce26b3fe6b722ec77f9.zip gdb-c25179e71fee952ace322ce26b3fe6b722ec77f9.tar.gz gdb-c25179e71fee952ace322ce26b3fe6b722ec77f9.tar.bz2 |
Suppress compile time warning message when compiling coff-rs6000.c with gcc v8.
* coff-rs6000.c (_bfd_xcoff_put_ldsymbol_name): Suppress warnings
about potentially truncated strncpy operations.
(_bfd_xcoff_put_symbol_name): Likewise.
Diffstat (limited to 'bfd/coff-rs6000.c')
-rw-r--r-- | bfd/coff-rs6000.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index 053ab18..ab282df 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -3506,6 +3506,23 @@ xcoff_ppc_relocate_section (bfd *output_bfd, return TRUE; } +/* gcc-8 warns (*) on all the strncpy calls in this function 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 static bfd_boolean _bfd_xcoff_put_ldsymbol_name (bfd *abfd ATTRIBUTE_UNUSED, struct xcoff_loader_info *ldinfo, @@ -3575,6 +3592,9 @@ _bfd_xcoff_put_symbol_name (struct bfd_link_info *info, } return TRUE; } +#if GCC_VERSION >= 8000 +# pragma GCC diagnostic pop +#endif static asection * xcoff_create_csect_from_smclas (bfd *abfd, |