svn commit: r283025 - head/cddl/contrib/opensolaris/lib/libdtrace/common

Mark Johnston markj at FreeBSD.org
Sun May 17 03:59:09 UTC 2015


Author: markj
Date: Sun May 17 03:59:08 2015
New Revision: 283025
URL: https://svnweb.freebsd.org/changeset/base/283025

Log:
  As dtrace(1) processes D libraries under /usr/lib/dtrace, the compiler may
  return an error if one of the depends_on directives in a library is not
  satisfied. In this case, libdtrace is supposed to ignore the library and
  carry on. However, the remainder of the library may still be buffered by
  the lexer, causing libdtrace to erroneously continue processing it on the
  next call to yyparse(). Fix this by explicitly flushing the input buffer
  each time the compiler state is reset.
  
  MFC after:	3 weeks

Modified:
  head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l

Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l
==============================================================================
--- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l	Sun May 17 03:50:42 2015	(r283024)
+++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l	Sun May 17 03:59:08 2015	(r283025)
@@ -743,6 +743,7 @@ yyinit(dt_pcb_t *pcb)
 #ifdef illumos
 	yysptr = yysbuf;
 #endif
+	YY_FLUSH_BUFFER;
 }
 
 /*


More information about the svn-src-all mailing list