[lttng-dev] Debian specific userspace RCU configure override

Jon Bernard jbernard at debian.org
Fri May 23 18:21:24 EDT 2014


* Mathieu Desnoyers <mathieu.desnoyers at efficios.com> wrote:
> Hi,
> 
> I recently stumbled on this patch:
> 
> http://sprunge.us/jYcJ
> 
> It overrides the generated config.h to ensure the
> "dmb" instruction is not used.
> 
> However, the proper checks seems to be in place within
> configure.ac to automatically detect whether to use dmb
> or not:
> 
> # ARM-specific checks
> AS_IF([test "x$ARCHTYPE" = "xarm"],[
>         AC_MSG_CHECKING([for dmb instruction])
>         AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
>                                 int main()
>                                 {
>                                         asm volatile("dmb":::"memory");
>                                         return 0;
>                                 }
>                 ]])
>         ],[
>                 AC_MSG_RESULT([yes])
>                 AC_DEFINE([CONFIG_RCU_ARM_HAVE_DMB], [1])
>         ],[
>                 AC_MSG_RESULT([no])
>         ])
> ])
> 
> My thinking here is that perhaps inappropriate compiler flags
> are used when the compiler is invoked from within "configure",
> which leads it to think that it targets an ARMv7+ with dmb.
> The Debian "armel" architecture AFAIU needs to target older
> ARM architectures.

I also wonder if there are some differences between of the arm build
machines.  I don't have shell access to the machine on which urcu was
built so I cannot check, but perhaps that particular machine has dmb.

> It would be much better to fix the compiler flags passed to
> configure and let urcu autodetection do what it is intended
> to do rather than override the generated file.

I'll gather and post the compiler flags used for urcu and we'll see.

-- 
Jon



More information about the lttng-dev mailing list