[lttng-dev] Debian specific userspace RCU configure override

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri May 23 09:59:27 EDT 2014


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.

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.

Thoughts ?

Thanks,

Mathieu

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list