From 7a468d6812f50294c34dbda4ed696d95e7ecb124 Mon Sep 17 00:00:00 2001 From: fche Date: Tue, 26 Feb 2008 00:28:42 +0000 Subject: PR5792: wildcard support for %( kernel/arch %) preprocessor operands 2008-02-25 Frank Ch. Eigler PR5792. * parse.cxx (eval_pp_conditional): Support wildcards in %( kernel_v/kernel_vr/arch ==/!= "*foo?" %) operands. * NEWS, stap.1.in: Document this. 2008-02-25 Frank Ch. Eigler PR5792. * systemtap.base/preprocessor.exp: New test. --- stap.1.in | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'stap.1.in') diff --git a/stap.1.in b/stap.1.in index 05eecda2..51ba6380 100644 --- a/stap.1.in +++ b/stap.1.in @@ -224,6 +224,15 @@ version of the target kernel (as optionally overridden by the option) compares to the given version string. The comparison is performed by the glibc function .BR strverscmp . +As a special case, if the operator is for simple equality +.RB ( == ), +or inequality +.RB ( != ), +and the third part contains any wildcard characters +.RB ( * " or " ? " or " [ ")," +then the expression is treated as a wildcard (mis)match as evaluated +by +.BR fnmatch . .PP If, on the other hand, the first part is the identifier .BR arch @@ -231,7 +240,7 @@ to refer to the processor architecture, then the second part then the second part is one of the two string comparison operators .BR == " or " != , and the third part is a string literal for matching it. This -comparison is simple string (in)equality. +comparison is a wildcard (mis)match. .PP Otherwise, the CONDITION is expected to be a comparison between two string literals or two numeric literals. In this case, the arguments are the only -- cgit