• Peter Zijlstra's avatar
    x86/boot: Avoid using Intel mnemonics in AT&T syntax asm · 7c6dd961
    Peter Zijlstra authored
    With 'GNU assembler (GNU Binutils for Debian) 2.39.90.20221231' the
    build now reports:
    
      arch/x86/realmode/rm/../../boot/bioscall.S: Assembler messages:
      arch/x86/realmode/rm/../../boot/bioscall.S:35: Warning: found `movsd'; assuming `movsl' was meant
      arch/x86/realmode/rm/../../boot/bioscall.S:70: Warning: found `movsd'; assuming `movsl' was meant
    
      arch/x86/boot/bioscall.S: Assembler messages:
      arch/x86/boot/bioscall.S:35: Warning: found `movsd'; assuming `movsl' was meant
      arch/x86/boot/bioscall.S:70: Warning: found `movsd'; assuming `movsl' was meant
    
    Which is due to:
    
      PR gas/29525
    
      Note that with the dropped CMPSD and MOVSD Intel Syntax string insn
      templates taking operands, mixed IsString/non-IsString template groups
      (with memory operands) cannot occur anymore. With that
      maybe_adjust_templates() becomes unnecessary (and is hence being
      removed).
    
    More details: https://sourceware.org/bugzilla/show_bug.cgi?id=29525
    
    Borislav Petkov further explains:
    
      " the particular problem here is is that the 'd' suffix is
        "conflicting" in the sense that you can have SSE mnemonics like movsD %xmm...
        and the same thing also for string ops (which is the case here) so apparently
        the agreement in binutils land is to use the always accepted suffixes 'l' or 'q'
        and phase out 'd' slowly... "
    
    Fixes: 7a734e7d ("x86, setup: "glove box" BIOS calls -- infrastructure")
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    Acked-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
    Link: https://lore.kernel.org/r/Y71I3Ex2pvIxMpsP@hirez.programming.kicks-ass.net
    7c6dd961
bioscall.S 1.39 KB