[v2] x86/disasm: do not use format string without format specifiers

Message ID 20260524030619.1313131-1-hawkinsw@obs.cr
State New
Headers
Series [v2] x86/disasm: do not use format string without format specifiers |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-arm fail Patch failed to apply
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 fail Patch failed to apply

Commit Message

Will Hawkins May 24, 2026, 3:06 a.m. UTC
  Fixes build failure with -Werror=format-security on i686.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34168

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
---
 v2: Update commit message to reference Bugzilla

 opcodes/i386-dis.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Comments

H.J. Lu May 24, 2026, 3:57 a.m. UTC | #1
On Sun, May 24, 2026 at 11:06 AM Will Hawkins <hawkinsw@obs.cr> wrote:
>
> Fixes build failure with -Werror=format-security on i686.

Drop on i686.   It should fail with -Werror=format-security on all platforms.

> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34168

I don't know if this commit log will show up in the but report.  Please
mention this fixes PR binutils/34168.

> Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
> ---
>  v2: Update commit message to reference Bugzilla
>
>  opcodes/i386-dis.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
> index 1faf1fa7785..db1e4f7a7d5 100644
> --- a/opcodes/i386-dis.c
> +++ b/opcodes/i386-dis.c
> @@ -10375,7 +10375,7 @@ print_insn (bfd_vma pc, disassemble_info *info, int intel_syntax)
>    for (i = 0; i < MAX_OPERANDS; i++)
>      if (ins.op_index[i] != -1 && ins.op_riprel[i])
>        {
> -       i386_dis_printf (info, dis_style_comment_start, sep);
> +       i386_dis_printf (info, dis_style_comment_start, "%s", sep);
>         sep = ", ";
>         (*info->print_address_func)
>           ((bfd_vma)(ins.start_pc + (ins.codep - ins.start_codep)
> @@ -10384,11 +10384,11 @@ print_insn (bfd_vma pc, disassemble_info *info, int intel_syntax)
>        }
>      else if (*ins.cm_out[i])
>        {
> -       i386_dis_printf (info, dis_style_comment_start, sep);
> +       i386_dis_printf (info, dis_style_comment_start, "%s", sep);
>         sep = ", ";
>         i386_dis_printf (info, dis_style_symbol, "%s", ins.cm_out[i]);
>        }
> -
> +

Please rebase.   This one isn't needed anymore.

>    ret = ins.codep - priv.the_buffer;
>   out:
>    info->private_data = NULL;
> --
> 2.49.0
>
  
Will Hawkins May 24, 2026, 4:07 a.m. UTC | #2
On Sat, May 23, 2026 at 11:58 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Sun, May 24, 2026 at 11:06 AM Will Hawkins <hawkinsw@obs.cr> wrote:
> >
> > Fixes build failure with -Werror=format-security on i686.
>
> Drop on i686.   It should fail with -Werror=format-security on all platforms.
>

Agree and will do!

> > Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34168
>
> I don't know if this commit log will show up in the but report.  Please
> mention this fixes PR binutils/34168.

Okay! I was just following previous examples and thought I was doing
the right thing. Sorry!

Will

>
> > Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
> > ---
> >  v2: Update commit message to reference Bugzilla
> >
> >  opcodes/i386-dis.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
> > index 1faf1fa7785..db1e4f7a7d5 100644
> > --- a/opcodes/i386-dis.c
> > +++ b/opcodes/i386-dis.c
> > @@ -10375,7 +10375,7 @@ print_insn (bfd_vma pc, disassemble_info *info, int intel_syntax)
> >    for (i = 0; i < MAX_OPERANDS; i++)
> >      if (ins.op_index[i] != -1 && ins.op_riprel[i])
> >        {
> > -       i386_dis_printf (info, dis_style_comment_start, sep);
> > +       i386_dis_printf (info, dis_style_comment_start, "%s", sep);
> >         sep = ", ";
> >         (*info->print_address_func)
> >           ((bfd_vma)(ins.start_pc + (ins.codep - ins.start_codep)
> > @@ -10384,11 +10384,11 @@ print_insn (bfd_vma pc, disassemble_info *info, int intel_syntax)
> >        }
> >      else if (*ins.cm_out[i])
> >        {
> > -       i386_dis_printf (info, dis_style_comment_start, sep);
> > +       i386_dis_printf (info, dis_style_comment_start, "%s", sep);
> >         sep = ", ";
> >         i386_dis_printf (info, dis_style_symbol, "%s", ins.cm_out[i]);
> >        }
> > -
> > +
>
> Please rebase.   This one isn't needed anymore.
>
> >    ret = ins.codep - priv.the_buffer;
> >   out:
> >    info->private_data = NULL;
> > --
> > 2.49.0
> >
>
>
> --
> H.J.
  

Patch

diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 1faf1fa7785..db1e4f7a7d5 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -10375,7 +10375,7 @@  print_insn (bfd_vma pc, disassemble_info *info, int intel_syntax)
   for (i = 0; i < MAX_OPERANDS; i++)
     if (ins.op_index[i] != -1 && ins.op_riprel[i])
       {
-	i386_dis_printf (info, dis_style_comment_start, sep);
+	i386_dis_printf (info, dis_style_comment_start, "%s", sep);
 	sep = ", ";
 	(*info->print_address_func)
 	  ((bfd_vma)(ins.start_pc + (ins.codep - ins.start_codep)
@@ -10384,11 +10384,11 @@  print_insn (bfd_vma pc, disassemble_info *info, int intel_syntax)
       }
     else if (*ins.cm_out[i])
       {
-	i386_dis_printf (info, dis_style_comment_start, sep);
+	i386_dis_printf (info, dis_style_comment_start, "%s", sep);
 	sep = ", ";
 	i386_dis_printf (info, dis_style_symbol, "%s", ins.cm_out[i]);
       }
-  
+
   ret = ins.codep - priv.the_buffer;
  out:
   info->private_data = NULL;