]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
IA-64/GAS: Work around format truncation compilation errors
authorMaciej W. Rozycki <macro@orcam.me.uk>
Mon, 6 Oct 2025 20:37:27 +0000 (21:37 +0100)
committerMaciej W. Rozycki <macro@orcam.me.uk>
Mon, 6 Oct 2025 20:37:27 +0000 (21:37 +0100)
Work around compilation errors:

.../gas/config/tc-ia64.c: In function 'declare_register_set':
.../gas/config/tc-ia64.c:5375:41: error: '%u' directive output may be truncated writing between 1 and 10 bytes into a region of size 8 [-Werror=format-truncation=]
 5375 |       snprintf (name, sizeof (name), "%s%u", prefix, i);
      |                                         ^~
.../gas/config/tc-ia64.c:5375:38: note: directive argument in the range [0, 4294967294]
 5375 |       snprintf (name, sizeof (name), "%s%u", prefix, i);
      |                                      ^~~~~~
.../gas/config/tc-ia64.c:5375:7: note: 'snprintf' output 2 or more bytes (assuming 11) into a destination of size 8
 5375 |       snprintf (name, sizeof (name), "%s%u", prefix, i);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

observed with GCC 10.  Pick 16 for a round 64-bit stack frame size.

gas/config/tc-ia64.c

index 58e2c7158fa8efb9c3cddd8af358d72a4dff5440..fe33e3cb5e7e237b785f0f967ffc469cdefcbc60 100644 (file)
@@ -5367,7 +5367,7 @@ declare_register_set (const char *prefix,
                      unsigned int num_regs,
                      unsigned int base_regnum)
 {
-  char name[8];
+  char name[16];
   unsigned int i;
 
   for (i = 0; i < num_regs; ++i)