X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=acinclude.m4;h=42949209755d4702ce8d614a0cdd279527fca108;hb=e7f327ff6bd90bb0ce695ca71054d17829a16888;hp=f16bbf4bc68455865315acf297315d4f5933edac;hpb=8833d73dea713cc86d0bc94d3d02e663067f3f9e;p=openvswitch diff --git a/acinclude.m4 b/acinclude.m4 index f16bbf4b..42949209 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -2,17 +2,17 @@ # Copyright (c) 2008, 2009 Nicira Networks. # -# Permission to use, copy, modify, and/or distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: # -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. dnl Checks for --disable-userspace. AC_DEFUN([OVS_CHECK_USERSPACE], @@ -154,6 +154,37 @@ AC_DEFUN([OVS_CHECK_IF_PACKET], [Define to 1 if net/if_packet.h is available.]) fi]) +dnl Checks for buggy strtok_r. +dnl +dnl Some versions of glibc 2.7 has a bug in strtok_r when compiling +dnl with optimization that can cause segfaults: +dnl +dnl http://sources.redhat.com/bugzilla/show_bug.cgi?id=5614. +AC_DEFUN([OVS_CHECK_STRTOK_R], + [AC_CACHE_CHECK( + [whether strtok_r macro segfaults on some inputs], + [ovs_cv_strtok_r_bug], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([#include + #include + ], + [[char string[] = ":::"; + char *save_ptr = (char *) 0xc0ffee; + char *token1, *token2; + token1 = strtok_r(string, ":", &save_ptr); + token2 = strtok_r(NULL, ":", &save_ptr); + printf ("%s %s\n", token1, token2); + return 0; + ]])], + [ovs_cv_strtok_r_bug=no], + [ovs_cv_strtok_r_bug=yes], + [ovs_cv_strtok_r_bug=yes])]) + if test $ovs_cv_strtok_r_bug = yes; then + AC_DEFINE([HAVE_STRTOK_R_BUG], [1], + [Define if strtok_r macro segfaults on some inputs]) + fi +]) + dnl ---------------------------------------------------------------------- dnl These macros are from GNU PSPP, with the following original license: dnl Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.