lkml.org 
[lkml]   [2009]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    SubjectRe: CONFIG_KPROBES=y build requires gawk
    Date
    Is there any reason not to apply the patch below, to allow more awk
    implementations to be used? After all, it's not like we're going to put
    non-ASCII characters into the map file...

    ===

    x86: Don't use POSIX character classes in gen-insn-attr-x86.awk

    Not all awk implementations (including the default awk in Ubuntu 9.10)
    support POSIX character classes. Since x86-opcode-map.txt is plain
    ASCII, we can just use explicit ranges for lower case, alphabetic, and
    alphanumeric characters instead.

    Signed-off-by: Roland Dreier <rolandd@cisco.com>
    ---
    arch/x86/tools/gen-insn-attr-x86.awk | 10 ++++------
    1 files changed, 4 insertions(+), 6 deletions(-)

    diff --git a/arch/x86/tools/gen-insn-attr-x86.awk b/arch/x86/tools/gen-insn-attr-x86.awk
    index 7a68506..eaf11f5 100644
    --- a/arch/x86/tools/gen-insn-attr-x86.awk
    +++ b/arch/x86/tools/gen-insn-attr-x86.awk
    @@ -6,8 +6,6 @@

    # 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 ""
    @@ -44,12 +42,12 @@ BEGIN {
    delete gtable
    delete atable

    - opnd_expr = "^[[:alpha:]/]"
    + opnd_expr = "^[A-Za-z/]"
    ext_expr = "^\\("
    sep_expr = "^\\|$"
    - group_expr = "^Grp[[:alnum:]]+"
    + group_expr = "^Grp[0-9A-Za-z]+"

    - imm_expr = "^[IJAO][[:lower:]]"
    + imm_expr = "^[IJAO][a-z]"
    imm_flag["Ib"] = "INAT_MAKE_IMM(INAT_IMM_BYTE)"
    imm_flag["Jb"] = "INAT_MAKE_IMM(INAT_IMM_BYTE)"
    imm_flag["Iw"] = "INAT_MAKE_IMM(INAT_IMM_WORD)"
    @@ -62,7 +60,7 @@ BEGIN {
    imm_flag["Ob"] = "INAT_MOFFSET"
    imm_flag["Ov"] = "INAT_MOFFSET"

    - modrm_expr = "^([CDEGMNPQRSUVW/][[:lower:]]+|NTA|T[012])"
    + modrm_expr = "^([CDEGMNPQRSUVW/][a-z]+|NTA|T[012])"
    force64_expr = "\\([df]64\\)"
    rex_expr = "^REX(\\.[XRWB]+)*"
    fpu_expr = "^ESC" # TODO

    \
     
     \ /
      Last update: 2009-12-17 02:43    [W:0.022 / U:72.136 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site