lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 16 Sep 2020 13:34:49 +0200
From:   Borislav Petkov <>
To:     Arvind Sankar <>
Cc:     Nick Desaulniers <>,
        Josh Poimboeuf <>,
        Rong Chen <>,
        kernel test robot <>,
        "Li, Philip" <>, x86-ml <>,
        LKML <>,
        clang-built-linux <>,
        Marco Elver <>
Subject: Re: [tip:x86/seves] BUILD SUCCESS WITH WARNING

On Tue, Sep 15, 2020 at 05:50:54PM -0400, Arvind Sankar wrote:
> On Tue, Sep 15, 2020 at 10:49:12PM +0200, Borislav Petkov wrote:
> > 
> > (Btw, clang doesn't need to add that "xor %eax,%eax" - panic() should not be
> >  returning, ever. :-))
> > 
> I think this is because panic() is varargs, and clang doesn't support
> gcc's -mskip-rax-setup. The normal ABI requires the caller to set RAX to
> the number of arguments in vector registers.

Ah, good point. Found this in the ABI doc:

"For calls that may call functions that use varargs or stdargs
(prototype-less calls or calls to functions containing ellipsis (...) in
the declaration) %al is used as hidden argument to specify the number of
vector registers used. The contents of %al do not need to match exactly
the number of registers, but must be an upper bound on the number of
vector registers used and is in the range 0–8 inclusive."



Powered by blists - more mailing lists