Messages in this thread | | | From | Nick Desaulniers <> | Date | Wed, 22 Apr 2020 11:47:27 -0700 | Subject | Re: [PATCH v2] x86: fix early boot crash on gcc-10 |
| |
On Wed, Apr 22, 2020 at 9:53 AM Borislav Petkov <bp@alien8.de> wrote: > > On Wed, Apr 22, 2020 at 04:16:53PM +0200, Martin Liška wrote: > > And as I talked to Boris, I would recommend to come up with a "configure" check > > that a compiler does not optimize the key code sequence: > > > > $ cat asm-detect.c > > int foo(int a); > > int bar(int a) > > { > > int r = foo(a); > > asm (""); > > return r; > > } > > > > $ gcc -O2 -c asm-detect.c -S -o/dev/stdout | grep jmp > > [no output] > > That is a good test to run at the beginning of the compilation I guess. > > Without the asm("") it produces: > > bar: > .LFB0: > .cfi_startproc > jmp foo@PLT > .cfi_endproc > > I'd like for LLVM folks to confirm that this is a good test for LLVM too > Trying that here with clang gives: > > bar: # @bar > .cfi_startproc > # %bb.0: > jmp foo # TAILCALL > .Lfunc_end0: > > so this *looks* like it would work with LLVM too but I might be missing > something...
LGTM https://godbolt.org/z/ExtHx7 -- Thanks, ~Nick Desaulniers
| |