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.
This commit is contained in:
parent
54fc457388
commit
ce69d08114
@ -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"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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`
|
||||
|
@ -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`
|
||||
|
Loading…
x
Reference in New Issue
Block a user