Thanks, applied to master and branch-2.3.
On Fri, Apr 03, 2015 at 04:15:01PM -0700, Alex Wang wrote: > Thx for fixing this !!!~ > > Acked-by: Alex Wang <al...@nicira.com> > > On Fri, Apr 3, 2015 at 3:11 PM, Ben Pfaff <b...@nicira.com> wrote: > > > Lately our internal build system has been seeing intermittent failures that > > I can't explain. With old glibc versions, the "configure" time check will > > pass, but the equivalent (almost identical) "make check" test will fail. > > One possibility, I guess, is that occasionally address space randomization > > will put valid data at the 0xc0ffee address that the test assumes will > > segfault, and another is that some change in compiler optimization flags > > is making a difference. At any rate, I think it's safe to just always > > assume that this strtok_r() bug is present whenever glibc before 2.8 is > > in use. > > > > Specifically we've seen this happen intermittently when building against > > the XenServer DDK 5.6.100 build 39265, which uses glibc 2.5. > > > > Reported-by: Alex Wang <al...@nicira.com> > > Signed-off-by: Ben Pfaff <b...@nicira.com> > > --- > > acinclude.m4 | 11 +++++++++-- > > 1 file changed, 9 insertions(+), 2 deletions(-) > > > > diff --git a/acinclude.m4 b/acinclude.m4 > > index 479da2e..b09f2f2 100644 > > --- a/acinclude.m4 > > +++ b/acinclude.m4 > > @@ -1,6 +1,6 @@ > > # -*- autoconf -*- > > > > -# Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc. > > +# Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Nicira, > > Inc. > > # > > # Licensed under the Apache License, Version 2.0 (the "License"); > > # you may not use this file except in compliance with the License. > > @@ -494,7 +494,13 @@ AC_DEFUN([OVS_CHECK_STRTOK_R], > > [AC_LANG_PROGRAM([#include <stdio.h> > > #include <string.h> > > ], > > - [[char string[] = ":::"; > > + [[#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 > > + /* Assume bug is present, because relatively > > minor > > + changes in compiler settings (e.g. > > optimization > > + level) can make it crop up. */ > > + return 1; > > + #else > > + char string[] = ":::"; > > char *save_ptr = (char *) 0xc0ffee; > > char *token1, *token2; > > token1 = strtok_r(string, ":", &save_ptr); > > @@ -502,6 +508,7 @@ AC_DEFUN([OVS_CHECK_STRTOK_R], > > freopen ("/dev/null", "w", stdout); > > printf ("%s %s\n", token1, token2); > > return 0; > > + #endif > > ]])], > > [ovs_cv_strtok_r_bug=no], > > [ovs_cv_strtok_r_bug=yes], > > -- > > 1.7.10.4 > > > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev