[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