Thanks, I pushed this.
On Mon, Jul 11, 2011 at 04:08:52PM -0700, Ethan Jackson wrote: > Looks fine to me. > > Ethan > > On Mon, Jul 11, 2011 at 13:58, Ben Pfaff <b...@nicira.com> wrote: > > The "cgcc" script included with sparse guesses the target architecture > > based on the host architecture instead of based on the GCC architecture. > > This means that it often guesses wrong on biarch systems, e.g. my Linux > > kernel is x86_64 but userspace is i686 and thus GCC targets i686 by > > default. > > > > This fixes the problem by passing an explicit "-target=i86" to cgcc if > > GCC targets x86 or "-target=x86_64" if GCC targets x86_64. > > > > Bug #6312. > > Reported-by: Ethan Jackson <et...@nicira.com> > > --- > > ?acinclude.m4 | ? 24 ++++++++++++++++++++++-- > > ?1 files changed, 22 insertions(+), 2 deletions(-) > > > > diff --git a/acinclude.m4 b/acinclude.m4 > > index 1618a43..b379489 100644 > > --- a/acinclude.m4 > > +++ b/acinclude.m4 > > @@ -409,10 +409,30 @@ EOF > > ? ? ? fi]) > > ? ?AS_IF([test $ovs_cv_gnu_make_if = yes], [$1], [$2])]) > > > > +dnl OVS_CHECK_SPARSE_TARGET > > +dnl > > +dnl The "cgcc" script from "sparse" isn't very good at detecting the > > +dnl target for which the code is being built. ?This helps it out. > > +AC_DEFUN([OVS_CHECK_SPARSE_TARGET], > > + ?[AC_CACHE_CHECK( > > + ? ?[target hint for cgcc], > > + ? ?[ac_cv_sparse_target], > > + ? ?[AS_CASE([`$CC -dumpmachine 2>/dev/null`], > > + ? ? ? [i?86-* | athlon-*], [ac_cv_sparse_target=x86], > > + ? ? ? [x86_64-*], [ac_cv_sparse_target=x86_64], > > + ? ? ? [ac_cv_sparse_target=other])]) > > + ? AS_CASE([$ac_cv_sparse_target], > > + ? ? [x86], [SPARSEFLAGS= CGCCFLAGS=-target=i86], > > + ? ? [x86_64], [SPARSEFLAGS=-m64 CGCCFLAGS=-target=x86_64], > > + ? ? [SPARSEFLAGS= CGCCFLAGS=]) > > + ? AC_SUBST([SPARSEFLAGS]) > > + ? AC_SUBST([CGCCFLAGS])]) > > + > > ?dnl OVS_ENABLE_SPARSE > > ?AC_DEFUN([OVS_ENABLE_SPARSE], > > - ?[OVS_MAKE_HAS_IF( > > + ?[AC_REQUIRE([OVS_CHECK_SPARSE_TARGET]) > > + ? OVS_MAKE_HAS_IF( > > ? ? ?[AC_CONFIG_COMMANDS_PRE( > > ? ? ? ? [: ${SPARSE=sparse} > > ? ? ? ? ?AC_SUBST([SPARSE]) > > - ? ? ? ? CC='$(if $(C),REAL_CC="'"$CC"'" CHECK="$(SPARSE) -I > > $(top_srcdir)/include/sparse" cgcc,'"$CC"')'])])]) > > + ? ? ? ? CC='$(if $(C),REAL_CC="'"$CC"'" CHECK="$(SPARSE) -I > > $(top_srcdir)/include/sparse $(SPARSEFLAGS)" cgcc > > $(CGCCFLAGS),'"$CC"')'])])]) > > -- > > 1.7.4.4 > > > > _______________________________________________ > > dev mailing list > > dev@openvswitch.org > > http://openvswitch.org/mailman/listinfo/dev > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev