forked from Imagelibrary/binutils-gdb
Silence gcc-8 warnings
All of these warnings were false positives. -Wstringop-truncation is particularly annoying when it warns about strncpy used quite correctly. bfd/ * elf-linux-core.h (swap_linux_prpsinfo32_ugid32_out): Disable gcc-8 string truncation warning. (swap_linux_prpsinfo32_ugid16_out): Likewise. (swap_linux_prpsinfo64_ugid32_out): Likewise. (swap_linux_prpsinfo64_ugid16_out): Likewise. * elf.c (elfcore_write_prpsinfo): Likewise. gas/ * stabs.c (generate_asm_file): Use memcpy rather than strncpy. Remove call to strlen inside loop. * config/tc-cr16.c (getreg_image): Warning fix. * config/tc-crx.c (getreg_image): Warning fix.
This commit is contained in:
@@ -1,3 +1,12 @@
|
||||
2018-04-23 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* elf-linux-core.h (swap_linux_prpsinfo32_ugid32_out): Disable
|
||||
gcc-8 string truncation warning.
|
||||
(swap_linux_prpsinfo32_ugid16_out): Likewise.
|
||||
(swap_linux_prpsinfo64_ugid32_out): Likewise.
|
||||
(swap_linux_prpsinfo64_ugid16_out): Likewise.
|
||||
* elf.c (elfcore_write_prpsinfo): Likewise.
|
||||
|
||||
2018-04-20 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 22978
|
||||
|
||||
@@ -69,8 +69,12 @@ swap_linux_prpsinfo32_ugid32_out
|
||||
bfd_put_32 (obfd, from->pr_ppid, to->pr_ppid);
|
||||
bfd_put_32 (obfd, from->pr_pgrp, to->pr_pgrp);
|
||||
bfd_put_32 (obfd, from->pr_sid, to->pr_sid);
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
||||
#pragma GCC diagnostic ignored "-Wstringop-truncation"
|
||||
strncpy (to->pr_fname, from->pr_fname, sizeof (to->pr_fname));
|
||||
strncpy (to->pr_psargs, from->pr_psargs, sizeof (to->pr_psargs));
|
||||
#pragma GCC diagnostic pop
|
||||
}
|
||||
|
||||
/* External 32-bit structure for PRPSINFO. This structure is
|
||||
@@ -121,8 +125,12 @@ swap_linux_prpsinfo32_ugid16_out
|
||||
bfd_put_32 (obfd, from->pr_ppid, to->pr_ppid);
|
||||
bfd_put_32 (obfd, from->pr_pgrp, to->pr_pgrp);
|
||||
bfd_put_32 (obfd, from->pr_sid, to->pr_sid);
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
||||
#pragma GCC diagnostic ignored "-Wstringop-truncation"
|
||||
strncpy (to->pr_fname, from->pr_fname, sizeof (to->pr_fname));
|
||||
strncpy (to->pr_psargs, from->pr_psargs, sizeof (to->pr_psargs));
|
||||
#pragma GCC diagnostic pop
|
||||
}
|
||||
|
||||
/* External 64-bit structure for PRPSINFO. This structure is
|
||||
@@ -174,8 +182,12 @@ swap_linux_prpsinfo64_ugid32_out
|
||||
bfd_put_32 (obfd, from->pr_ppid, to->pr_ppid);
|
||||
bfd_put_32 (obfd, from->pr_pgrp, to->pr_pgrp);
|
||||
bfd_put_32 (obfd, from->pr_sid, to->pr_sid);
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
||||
#pragma GCC diagnostic ignored "-Wstringop-truncation"
|
||||
strncpy (to->pr_fname, from->pr_fname, sizeof (to->pr_fname));
|
||||
strncpy (to->pr_psargs, from->pr_psargs, sizeof (to->pr_psargs));
|
||||
#pragma GCC diagnostic pop
|
||||
}
|
||||
|
||||
/* External 64-bit structure for PRPSINFO. This structure is
|
||||
@@ -227,8 +239,12 @@ swap_linux_prpsinfo64_ugid16_out
|
||||
bfd_put_32 (obfd, from->pr_ppid, to->pr_ppid);
|
||||
bfd_put_32 (obfd, from->pr_pgrp, to->pr_pgrp);
|
||||
bfd_put_32 (obfd, from->pr_sid, to->pr_sid);
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
||||
#pragma GCC diagnostic ignored "-Wstringop-truncation"
|
||||
strncpy (to->pr_fname, from->pr_fname, sizeof (to->pr_fname));
|
||||
strncpy (to->pr_psargs, from->pr_psargs, sizeof (to->pr_psargs));
|
||||
#pragma GCC diagnostic pop
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -10549,8 +10549,12 @@ elfcore_write_prpsinfo (bfd *abfd,
|
||||
#endif
|
||||
|
||||
memset (&data, 0, sizeof (data));
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
||||
#pragma GCC diagnostic ignored "-Wstringop-truncation"
|
||||
strncpy (data.pr_fname, fname, sizeof (data.pr_fname));
|
||||
strncpy (data.pr_psargs, psargs, sizeof (data.pr_psargs));
|
||||
#pragma GCC diagnostic pop
|
||||
return elfcore_write_note (abfd, buf, bufsiz,
|
||||
"CORE", note_type, &data, sizeof (data));
|
||||
}
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
2018-04-23 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* stabs.c (generate_asm_file): Use memcpy rather than strncpy.
|
||||
Remove call to strlen inside loop.
|
||||
* config/tc-cr16.c (getreg_image): Warning fix.
|
||||
* config/tc-crx.c (getreg_image): Warning fix.
|
||||
|
||||
2018-04-20 Kito Cheng <kito.cheng@gmail.com>
|
||||
|
||||
* config/tc-riscv.c (options): Add OPTION_RELAX and
|
||||
|
||||
@@ -1124,8 +1124,7 @@ getreg_image (reg r)
|
||||
/* Issue a error message when register is illegal. */
|
||||
#define IMAGE_ERR \
|
||||
as_bad (_("Illegal register (`%s') in Instruction: `%s'"), \
|
||||
reg_name, ins_parse); \
|
||||
break;
|
||||
reg_name, ins_parse);
|
||||
|
||||
switch (rreg->type)
|
||||
{
|
||||
@@ -1134,6 +1133,7 @@ getreg_image (reg r)
|
||||
return rreg->image;
|
||||
else
|
||||
IMAGE_ERR;
|
||||
break;
|
||||
|
||||
case CR16_P_REGTYPE:
|
||||
return rreg->image;
|
||||
@@ -1141,6 +1141,7 @@ getreg_image (reg r)
|
||||
|
||||
default:
|
||||
IMAGE_ERR;
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -1135,8 +1135,7 @@ getreg_image (reg r)
|
||||
/* Issue a error message when register is illegal. */
|
||||
#define IMAGE_ERR \
|
||||
as_bad (_("Illegal register (`%s') in instruction: `%s'"), \
|
||||
reg_name, ins_parse); \
|
||||
break;
|
||||
reg_name, ins_parse);
|
||||
|
||||
switch (rreg->type)
|
||||
{
|
||||
@@ -1145,18 +1144,21 @@ getreg_image (reg r)
|
||||
return rreg->image;
|
||||
else
|
||||
IMAGE_ERR;
|
||||
break;
|
||||
|
||||
case CRX_CFG_REGTYPE:
|
||||
if (is_procreg)
|
||||
return rreg->image;
|
||||
else
|
||||
IMAGE_ERR;
|
||||
break;
|
||||
|
||||
case CRX_R_REGTYPE:
|
||||
if (! is_procreg)
|
||||
return rreg->image;
|
||||
else
|
||||
IMAGE_ERR;
|
||||
break;
|
||||
|
||||
case CRX_C_REGTYPE:
|
||||
case CRX_CS_REGTYPE:
|
||||
@@ -1165,6 +1167,7 @@ getreg_image (reg r)
|
||||
|
||||
default:
|
||||
IMAGE_ERR;
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -543,12 +543,12 @@ generate_asm_file (int type, const char *file)
|
||||
while (tmp < file_endp)
|
||||
{
|
||||
const char *bslash = strchr (tmp, '\\');
|
||||
size_t len = (bslash) ? (size_t) (bslash - tmp + 1) : strlen (tmp);
|
||||
size_t len = bslash != NULL ? bslash - tmp + 1 : file_endp - tmp;
|
||||
|
||||
/* Double all backslashes, since demand_copy_C_string (used by
|
||||
s_stab to extract the part in quotes) will try to replace them as
|
||||
escape sequences. backslash may appear in a filespec. */
|
||||
strncpy (bufp, tmp, len);
|
||||
memcpy (bufp, tmp, len);
|
||||
|
||||
tmp += len;
|
||||
bufp += len;
|
||||
|
||||
Reference in New Issue
Block a user