* Mathieu Desnoyers <[email protected]> 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 _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
