Re: linux-next: Tree for Oct 31 (vboxguest)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Yamada,
>On Fri, Nov 02, 2018 at 05:25:00PM +0900, Masahiro Yamada wrote:
>[...]
> > > >
> > > > diff --git a/drivers/virt/vboxguest/vboxguest_core.c
> > > > b/drivers/virt/vboxguest/vboxguest_core.c
> > > > index 3093655c7b92..1475ed5ffcde 100644
> > > > --- a/drivers/virt/vboxguest/vboxguest_core.c
> > > > +++ b/drivers/virt/vboxguest/vboxguest_core.c
> > > > @@ -1312,7 +1312,7 @@ static int vbg_ioctl_hgcm_call(struct vbg_dev *gdev,
> > > >                 return -EINVAL;
> > > >         }
> > > >
> > > > -       if (f32bit)
> > > > +       if (IS_ENABLED(CONFIG_COMPAT) && f32bit)
> > > >                 ret = vbg_hgcm_call32(gdev, client_id,
> > > >                                       call->function, call->timeout_ms,
> > > >                                       VBG_IOCTL_HGCM_CALL_PARMS32(call),
> > >
> > > Right, but adding the CONFIG_COMPAT guard to both the caller and the callee
> > > looks a bit redundant...
> > >
> > >
> > > I think most cases causing this kind of problem
> > > rely on the assumption that 'static' functions are inlined.
> > >
> > > We can force the compiler to do so
> > > by replacing 'static' with 'static __always_inline'
> > >
> > Declaring it as normal 'inline' is enough. The inline functions are
> > still inlined by gcc. Thanks.
> 
> 
> How about clang?
> 
> For clang, -Og might be equivalent to -O1 at this moment, but I am not sure.
> 
> In my understanding, Clang does not inline functions marked with 'static inline'
> for -Og (or -O1) optimization level.
> 
> Theoretically, 'inline' keyword is a just hint for the compiler, after all.
> 
I only verified it with GCC. But on my machine, clang does not work since it
lacks 'asm-goto' feature. Is clang linux completed?

changbin@acer:~/Desktop/work/linux$ make HOSTCC=clang CC=clang
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --syncconfig Kconfig
Compiler lacks asm-goto support.
arch/x86/Makefile:308: recipe for target 'checkbin' failed
make: *** [checkbin] Error 1
changbin@acer:~/Desktop/work/linux$ clang -v
clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0
Candidate multilib: .;@m64
Selected multilib: .;@m64

> 
> -- 
> Best Regards
> Masahiro Yamada

-- 
Thanks,
Changbin Du



[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux