[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

vogt at linux dot vnet.ibm.com gcc-bugzilla@gcc.gnu.org
Fri May 22 11:35:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215

--- Comment #11 from Dominik Vogt <vogt at linux dot vnet.ibm.com> ---
(In reply to Jakub Jelinek from comment #10)
> As for the hotpatch testcases, have you tested them also with
> -fno-dwarf2-cfi-asm (as they seem to contain .cfi directives in the regexps)?

Not yet.  I'll add another test case for that.  The regexp is supposed to skip
all lines with .cfi_... or labels matching .L*:, so -fno-dwarf2-cfi-asm should
not matter, but testing is besser than guessing.

> And for the main patch, the change will revert the order of 2, 4 and 6 byte
> nops post-label

The order is the same because the patch never updates "insn".  The order would
be reversed if I had written "insn = emit_before_insn (...)", keeping the
assignment.  The tests indirectly verify that the order is correct.  For
example, hotpatch-5.c tests that with -mhotpatch=...,4 the first instruction
after the comment is a 6-byte-NOP:

hp1:
        # post-label NOPs for hotpatch (4 halfwords)
.LFB0:
        .cfi_startproc
        brcl    0, 0
        nopr    %r7
        stmg    %r11,%r15,88(%r15)

> is that ok?

No, that would be incorrect.  It is important that the largest NOP comes first



More information about the Gcc-bugs mailing list