lkml.org 
[lkml]   [2009]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH tracing/kprobes 2/4] x86: Check awk features before generating inat-tables.c
    Date
    Check some awk features which old mawk doesn't support.

    Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
    Cc: Jim Keniston <jkenisto@us.ibm.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
    Cc: Avi Kivity <avi@redhat.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Cc: Frank Ch. Eigler <fche@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Jason Baron <jbaron@redhat.com>
    Cc: K.Prasad <prasad@linux.vnet.ibm.com>
    Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
    Cc: Li Zefan <lizf@cn.fujitsu.com>
    Cc: Przemysław Pawełczyk <przemyslaw@pawelczyk.it>
    Cc: Roland McGrath <roland@redhat.com>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Tom Zanussi <tzanussi@gmail.com>
    Cc: Vegard Nossum <vegard.nossum@gmail.com>
    ---
    arch/x86/tools/gen-insn-attr-x86.awk | 20 ++++++++++++++++++++
    1 files changed, 20 insertions(+), 0 deletions(-)
    diff --git a/arch/x86/tools/gen-insn-attr-x86.awk b/arch/x86/tools/gen-insn-attr-x86.awk
    index 93b62c9..19ba096 100644
    --- a/arch/x86/tools/gen-insn-attr-x86.awk
    +++ b/arch/x86/tools/gen-insn-attr-x86.awk
    @@ -4,7 +4,25 @@
    #
    # Usage: awk -f gen-insn-attr-x86.awk x86-opcode-map.txt > inat-tables.c

    +# Awk implementation sanity check
    +function check_awk_implement() {
    + if (!match("abc", "[[:lower:]]+"))
    + return "Your awk doesn't support charactor-class."
    + if (sprintf("%x", 0) != "0")
    + return "Your awk has a printf-format problem."
    + return ""
    +}
    +
    BEGIN {
    + # Implementation error checking
    + awkchecked = check_awk_implement()
    + if (awkchecked != "") {
    + print "Error: " awkchecked > "/dev/stderr"
    + print "Please try to use gawk." > "/dev/stderr"
    + exit 1
    + }
    +
    + # Setup generating tables
    print "/* x86 opcode map generated from x86-opcode-map.txt */"
    print "/* Do not change this code. */"
    ggid = 1
    @@ -293,6 +311,8 @@ function convert_operands(opnd, i,imm,mod)
    }

    END {
    + if (awkchecked != "")
    + exit 1
    # print escape opcode map's array
    print "/* Escape opcode map array */"
    print "const insn_attr_t const *inat_escape_tables[INAT_ESC_MAX + 1]" \

    --
    Masami Hiramatsu

    Software Engineer
    Hitachi Computer Products (America), Inc.
    Software Solutions Division

    e-mail: mhiramat@redhat.com
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2009-08-21 21:43    [from the cache]
    ©2003-2014 Jasper Spaans. hosted at Digital Ocean