public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Sunil Pandey <skpgkp2@gmail.com>
To: "H.J. Lu" <hjl.tools@gmail.com>
Cc: Michael Matz <matz@suse.de>, Jan Beulich <jbeulich@suse.com>,
	binutils@sourceware.org
Subject: Re: [PATCH] x86: Warn .insn instruction with length > 15 bytes
Date: Wed, 7 Feb 2024 22:26:07 -0800	[thread overview]
Message-ID: <CAMAf5_eSHQMVBbAifurDoUUFxEo5HPw5fTOwZoEBMu3UR+H8RA@mail.gmail.com> (raw)
In-Reply-To: <CAMe9rOroVHznT1dURbbAbTCWGGw9V28fHBie_4wBPDDH0gRXjw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2531 bytes --]

On Tue, Feb 6, 2024 at 8:30 AM H.J. Lu <hjl.tools@gmail.com> wrote:

> On Tue, Feb 6, 2024 at 7:48 AM Michael Matz <matz@suse.de> wrote:
> >
> > Hello,
> >
> > On Tue, 6 Feb 2024, H.J. Lu wrote:
> >
> > > > > > > It is an error on both Intel and AMD processors.   There is no
> > > > > > > valid reason not to be an error at the moment.
> > > > > >
> > > > > > Jan gave you one.  I would prefer for the assembler to not be
> anally
> > > > >
> > > > > That is not a valid reason.
> > > >
> > > > Yes it is.
> > > >
> > > > > There is no such processor in the foreseeable future.
> > > >
> > > > Doesn't matter.
> > > >
> > >
> > > When a warning is given, a decodable instruction should still
> > > be generated.
> >
> > A software library can decode such instruction just fine.  A human as
> well.
> >
> > > Assembler shouldn't generate something which
> > > can't be decoded by default.
> >
> > That's the important words: "by default".  Here's the documentation for
> > as_bad and as_warn:
> >
> >    as_bad() is used to mark errors that result in what we
> >    presume to be a useless object file.  Say, we ignored
> >    something that might have been vital.
> >    ...
> >
> >    as_warn() is used when we have an error from which we
> >    have a plausible error recovery.  eg, masking the top
> >    bits of a constant that is longer than will fit in the
> >    destination.  In this case we will continue to assemble
> >    the source, although we may have made a bad assumption,
> >    and we will produce an object file and return normal exit
> >    status (ie, no error).
> >    ...
> >
> > It's obvious to me that just continuing to assemble the over-long
> > instruction is a "plausible error recovery".  It's even more plausible
> > than "masking the top bits of a constant".  Certainly an object file
> > containing a byte sequence correspending to the overlong instruction is
> > not "useless".
>
> With as_bad, assembler will continue to assemble, just not generate
> an object file.   We ran into this with APX.  Not everyone checks
> assembler warnings closely.  It led to mysterious crashes.   I am
> not against it if someone else implements an assembler option to
> turn this error into a warning.
>
>

IMO, most people check error at first glance not warning.

Making it error by default with proper error message will

save precious debugging time for assembler users, especially

if it can avoid mysterious crashes down the road.

  parent reply	other threads:[~2024-02-08  6:26 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-05 20:00 H.J. Lu
2024-02-06  8:19 ` Jan Beulich
2024-02-06 11:36   ` H.J. Lu
2024-02-06 11:41     ` Jan Beulich
2024-02-06 12:26       ` H.J. Lu
2024-02-06 14:43         ` Michael Matz
2024-02-06 14:49           ` H.J. Lu
2024-02-06 15:04             ` Michael Matz
2024-02-06 15:34               ` H.J. Lu
2024-02-06 15:48                 ` Michael Matz
2024-02-06 16:28                   ` H.J. Lu
2024-02-06 17:05                     ` Jan Beulich
2024-02-06 18:06                       ` H.J. Lu
2024-02-07  7:51                         ` Jan Beulich
2024-02-07 15:24                           ` H.J. Lu
2024-02-07 15:32                             ` Jan Beulich
2024-02-07 16:53                               ` H.J. Lu
2024-02-07 16:59                                 ` Jan Beulich
2024-02-07 17:03                                   ` H.J. Lu
2024-02-08  4:09                                     ` Jiang, Haochen
2024-02-08  4:47                                       ` Hongyu Wang
2024-02-08  8:15                                         ` Jan Beulich
2024-02-08  8:23                                     ` Jan Beulich
2024-02-08 11:38                                       ` H.J. Lu
2024-02-08  6:26                     ` Sunil Pandey [this message]
2024-02-08  6:41                   ` Cui, Lili
2024-02-08  8:18                     ` Jan Beulich
2024-02-08 11:31                       ` H.J. Lu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMAf5_eSHQMVBbAifurDoUUFxEo5HPw5fTOwZoEBMu3UR+H8RA@mail.gmail.com \
    --to=skpgkp2@gmail.com \
    --cc=binutils@sourceware.org \
    --cc=hjl.tools@gmail.com \
    --cc=jbeulich@suse.com \
    --cc=matz@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).