public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
* [binutils-gdb] x86: i386_cons_align() badly affects diagnostics
@ 2023-12-01  7:30 Jan Beulich
  0 siblings, 0 replies; only message in thread
From: Jan Beulich @ 2023-12-01  7:30 UTC (permalink / raw)
  To: bfd-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ce69d08114bbd64ba0bec60ba1e51438abbd45d6

commit ce69d08114bbd64ba0bec60ba1e51438abbd45d6
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Dec 1 08:28:45 2023 +0100

    x86: i386_cons_align() badly affects diagnostics
    
    Warning without knowing what's going to follow isn't useful, the more
    that appropriate warnings are emitted elsewhere in all cases. Not
    updating state (file/line in particular) also isn't helpful, as it's
    always the last directive ahead of a construct potentially needing
    fiddling with that's "guilty" in that fiddling being suppressed.

Diff:
---
 gas/config/tc-i386.c                        | 13 +------------
 gas/testsuite/gas/i386/lfence-byte.e        |  5 +----
 gas/testsuite/gas/i386/x86-64-lfence-byte.e |  5 +----
 3 files changed, 3 insertions(+), 20 deletions(-)

diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index f2f1e3b9f64..e984923ec35 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -15491,22 +15491,11 @@ i386_cons_align (int ignore ATTRIBUTE_UNUSED)
   struct last_insn *last_insn
     = &seg_info(now_seg)->tc_segment_info_data.last_insn;
 
-  if (last_insn->kind != last_insn_directive
-      && (bfd_section_flags (now_seg) & SEC_CODE))
+  if (bfd_section_flags (now_seg) & SEC_CODE)
     {
       last_insn->kind = last_insn_directive;
       last_insn->name = "constant directive";
       last_insn->file = as_where (&last_insn->line);
-      if (lfence_before_ret != lfence_before_ret_none)
-	{
-	  if (lfence_before_indirect_branch != lfence_branch_none)
-	    as_warn (_("constant directive skips -mlfence-before-ret "
-		       "and -mlfence-before-indirect-branch"));
-	  else
-	    as_warn (_("constant directive skips -mlfence-before-ret"));
-	}
-      else if (lfence_before_indirect_branch != lfence_branch_none)
-	as_warn (_("constant directive skips -mlfence-before-indirect-branch"));
     }
 }
 
diff --git a/gas/testsuite/gas/i386/lfence-byte.e b/gas/testsuite/gas/i386/lfence-byte.e
index e9475f40a95..cd3218e52f6 100644
--- a/gas/testsuite/gas/i386/lfence-byte.e
+++ b/gas/testsuite/gas/i386/lfence-byte.e
@@ -1,9 +1,6 @@
 .*: Assembler messages:
 .*:5: Warning: `rep` skips -mlfence-before-ret on `ret`
 .*:7: Warning: `rep` skips -mlfence-before-ret on `ret`
-.*:10: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch
 .*:13: Warning: `rep` skips -mlfence-before-ret on `ret`
-.*:17: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch
-.*:17: Warning: `constant directive` skips -mlfence-before-ret on `ret`
-.*:20: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch
+.*:18: Warning: `constant directive` skips -mlfence-before-ret on `ret`
 .*:20: Warning: `constant directive` skips -mlfence-before-indirect-branch on `call`
diff --git a/gas/testsuite/gas/i386/x86-64-lfence-byte.e b/gas/testsuite/gas/i386/x86-64-lfence-byte.e
index e9475f40a95..cd3218e52f6 100644
--- a/gas/testsuite/gas/i386/x86-64-lfence-byte.e
+++ b/gas/testsuite/gas/i386/x86-64-lfence-byte.e
@@ -1,9 +1,6 @@
 .*: Assembler messages:
 .*:5: Warning: `rep` skips -mlfence-before-ret on `ret`
 .*:7: Warning: `rep` skips -mlfence-before-ret on `ret`
-.*:10: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch
 .*:13: Warning: `rep` skips -mlfence-before-ret on `ret`
-.*:17: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch
-.*:17: Warning: `constant directive` skips -mlfence-before-ret on `ret`
-.*:20: Warning: constant directive skips -mlfence-before-ret and -mlfence-before-indirect-branch
+.*:18: Warning: `constant directive` skips -mlfence-before-ret on `ret`
 .*:20: Warning: `constant directive` skips -mlfence-before-indirect-branch on `call`

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-12-01  7:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-01  7:30 [binutils-gdb] x86: i386_cons_align() badly affects diagnostics Jan Beulich

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).