Displaying 14 results from an estimated 14 matches for "__x86_indirect_thunk_".
Did you mean:
__x86_indirect_thunk
2018 Feb 03
2
retpoline mitigation and 6.0
...nsequence, DSOs built with two versions of LLVM
(or LLVM and GCC) with different thunk behavior and each will find the
correct thunk. That was a specific part of the design.
While you *can* export your external thunk, that's a choice of the code
defining the thunk.
>
> You can even use __x86_indirect_thunk_\reg for *now* and reserve the
> right to use a different name if you ever do revise the ABI.
>
Maybe I don't understand, but I'm surprised that there is a significant
burden to having aliases for now instead?
-------------- next part --------------
An HTML attachment was scrubbed......
2018 Feb 07
2
retpoline mitigation and 6.0
...reat. Alternatively, Guenter or
> > someone else here can help.
>
> Hm, please could we also have the %V asm constraint modifier? That
> allows us to emit calls to the thunks from inline asm using the
> register that the compiler chose for us:
>
> asm volatile ("call __x86_indirect_thunk_%V[thunk_target]" : :
> [thunk_target] "r" (the_function));
>
> Other than that, I get the following errors with LLVM+Clang master, and
> my tree at
> http://git.infradead.org/users/dwmw2/linux-retpoline.git/shortlog/refs/heads/ibpb
>
I tried ToT clang with Lin...
2018 Feb 03
0
retpoline mitigation and 6.0
...#39;. There's not a lot of scope for a
'v2' of that, surely?
I could live with the command-line divergence, although it's
suboptimal. But *please* since these things also need to be symbols
exported to loadable modules, can't we keep the thunk names identical?
You can even use __x86_indirect_thunk_\reg for *now* and reserve the
right to use a different name if you ever do revise the ABI.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5213 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail...
2018 Feb 03
0
retpoline mitigation and 6.0
...> code defining the thunk.
The driving force in the kernel is to be able to runtime patch the
thunks away, when running on a CPU or in a mode that doesn't need them.
We really want to have central implementations and have everything use
them.
> >
> >
> > You can even use __x86_indirect_thunk_\reg for *now* and reserve the
> >
> > right to use a different name if you ever do revise the ABI.> > Maybe I don't understand, but I'm surprised that there is a significant burden to having aliases for now instead?
>
You can make that work within the kernel image i...
2018 Feb 08
2
retpoline mitigation and 6.0
...'s this for a test?
; RUN: llc < %s -mtriple=i686-- -no-integrated-as | FileCheck -check-prefix=X86 %s
; RUN: llc < %s -mtriple=x86_64-- -no-integrated-as | FileCheck -check-prefix=X64 %s
; If the target does not have 64-bit integer registers, emit 32-bit register
; names.
; X86: calll __x86_indirect_thunk_e{{[abcd]}}x
; X64: callq __x86_indirect_thunk_r
define void @q_modifier(i32* %p) {
entry:
tail call void asm sideeffect "call __x86_indirect_thunk_${0:V}", "r,~{dirflag},~{fpsr},~{flags}"(i32* %p)
ret void
}
-------------- next part --------------
A non-text attachment was...
2018 Feb 07
0
retpoline mitigation and 6.0
..., 2018 at 10:49:25AM +0000, David Woodhouse wrote:
> > Hm, please could we also have the %V asm constraint modifier? That
> > allows us to emit calls to the thunks from inline asm using the
> > register that the compiler chose for us:
> >
> > asm volatile ("call __x86_indirect_thunk_%V[thunk_target]" : :
> > [thunk_target] "r" (the_function));
> >
> > Other than that, I get the following errors with LLVM+Clang master, and
> > my tree at
> > http://git.infradead.org/users/dwmw2/linux-retpoline.git/shortlog/refs/heads/ibpb
> >...
2018 Feb 03
4
retpoline mitigation and 6.0
On Fri, Feb 2, 2018 at 4:03 PM David Woodhouse <dwmw2 at infradead.org> wrote:
> On Thu, 2018-02-01 at 10:10 +0100, Hans Wennborg via llvm-dev wrote:
> >
> > I saw the retpoline mitigation landed in r323155. Are we ready to
> > merge this to 6.0, or are there any open issues that we're waiting
> > for? Also, were there any followups I should know about? Also,
2018 Feb 07
0
retpoline mitigation and 6.0
I'll save you a review iteration. This is updated to match llvm coding
style. Capital camel case variable names and uses LLVM_FALLTHROUGH instead
of the comment.
static bool printAsmMRegister(X86AsmPrinter &P, const MachineOperand &MO,
char Mode, raw_ostream &O) {
unsigned Reg = MO.getReg();
+ bool EmitPercent = true;
+
switch (Mode) {
2018 Feb 07
0
retpoline mitigation and 6.0
...u're up for that, it would be great. Alternatively, Guenter or
> someone else here can help.
Hm, please could we also have the %V asm constraint modifier? That
allows us to emit calls to the thunks from inline asm using the
register that the compiler chose for us:
asm volatile ("call __x86_indirect_thunk_%V[thunk_target]" : :
[thunk_target] "r" (the_function));
Other than that, I get the following errors with LLVM+Clang master, and
my tree at
http://git.infradead.org/users/dwmw2/linux-retpoline.git/shortlog/refs/heads/ibpb
I haven't paid much attention to llvmlinux for a whil...
2018 Feb 07
2
retpoline mitigation and 6.0
On Wed, 2018-02-07 at 23:30 +0000, Chandler Carruth wrote:
> This should go to llvm-commits as a proper review. Do you want to do
> that David? Want someone on our end to pick it up?
I'll attempt to add some test cases...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5213 bytes
Desc: not available
2018 Feb 08
0
retpoline mitigation and 6.0
...-mtriple=i686-- -no-integrated-as | FileCheck
> -check-prefix=X86 %s
> ; RUN: llc < %s -mtriple=x86_64-- -no-integrated-as | FileCheck
> -check-prefix=X64 %s
>
> ; If the target does not have 64-bit integer registers, emit 32-bit
> register
> ; names.
>
> ; X86: calll __x86_indirect_thunk_e{{[abcd]}}x
> ; X64: callq __x86_indirect_thunk_r
>
> define void @q_modifier(i32* %p) {
> entry:
> tail call void asm sideeffect "call __x86_indirect_thunk_${0:V}",
> "r,~{dirflag},~{fpsr},~{flags}"(i32* %p)
> ret void
> }
-------------- next part --...
2018 Feb 07
6
retpoline mitigation and 6.0
I've landed the patch in r324449.
Before we merge this into two different Clang release branches and almost
immediately release one of them, I would really like someone to confirm
that this patch works well with the Linux kernel. David, if you're up for
that, it would be great. Alternatively, Guenter or someone else here can
help.
On Tue, Feb 6, 2018 at 5:59 PM Chandler Carruth
2018 Feb 03
2
retpoline mitigation and 6.0
...s ABI however it wants.
For our other users, they specifically don't want this in the ABI (because
they actually have DSOs and other junk being linked together). And yes, we
actually have a decent number of users of this in userspace and outside the
kernel. =/
>
>
> You can even use __x86_indirect_thunk_\reg for *now* and reserve the
> right to use a different name if you ever do revise the ABI.
>
>
> Maybe I don't understand, but I'm surprised that there is a significant
> burden to having aliases for now instead?
>
>
> You can make that work within the kernel image...
2018 Feb 07
3
retpoline mitigation and 6.0
...0, David Woodhouse wrote:
> > > Hm, please could we also have the %V asm constraint modifier? That
> > > allows us to emit calls to the thunks from inline asm using the
> > > register that the compiler chose for us:
> > >
> > > asm volatile ("call __x86_indirect_thunk_%V[thunk_target]" : :
> > > [thunk_target] "r" (the_function));
> > >
> > > Other than that, I get the following errors with LLVM+Clang master, and
> > > my tree at
> > > http://git.infradead.org/users/dwmw2/linux-retpoline.git/shortlog...