From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-4.2 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 5AFDF1F4B4 for ; Fri, 22 Jan 2021 18:11:59 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4B4E8398B842; Fri, 22 Jan 2021 18:11:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4B4E8398B842 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1611339118; bh=AB7OAi5YhKuucmjJNd2v56HcPzWi/voIlhq49RjilcU=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=t1ftZBZsqhhPvLdl/010EAcaLCvTtgVB23YexFIwanggP2WGu10p4SWN+le/Ar0tG E/If7Jhr81cOKYvKfBFhW4pcH5Ib8LIxGoEsvE25uobz4+GgL+3GWSeRhplywOdqfO zMLKqSw3aRB9siyjHIEDWh71gvJ6uj6kRN/GzJcg= Received: from mail-oi1-x232.google.com (mail-oi1-x232.google.com [IPv6:2607:f8b0:4864:20::232]) by sourceware.org (Postfix) with ESMTPS id E657F3861030 for ; Fri, 22 Jan 2021 18:11:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E657F3861030 Received: by mail-oi1-x232.google.com with SMTP id 15so6936273oix.8 for ; Fri, 22 Jan 2021 10:11:55 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=AB7OAi5YhKuucmjJNd2v56HcPzWi/voIlhq49RjilcU=; b=cifex5eZHNDnOeOajZ6EdkF9lM1yipjpRNKJY2QEoGp/rTVbLyqDyH2E0XeZrFpUBG NWwZGJmaWHezYsavGBdTPj5JpbLoiA7B6N16a06friJIcA1Z3NxAlBs9JD9SVvo2BH1V O9afUYoeSuVnVVyWlSdSHX2+BS7zUPRSD8eyTxKmh7NqhmNWqcC+eeCq47DdnCgCUe2r VPTcziaykmSOi2P9UdZ/sTDUo7PtLaoShdmmNvziOBwLqJVgho2wduw4GM/g67Sa9+gD 3IuCFkwsVN33YJV8lJpwwRyhgEFfgOSjM3cuhcL+suWrYc71GJdPQ4HJCiLBYZ0bvxQU aivg== X-Gm-Message-State: AOAM530SM+l0w0pMNiSroqyadHqjhhsmcsJEYu4v3RXOTZs9zIxMF6sY 0m8W61YdTJ2CPqTgH9gQfb1wzF6Z/jm6xObHkc8= X-Google-Smtp-Source: ABdhPJykE5Ej/Yaqr0ThwmuKMIdolzDUGVyapGQF+C7JWZuiobHyRZLgG86VlhSjHsTPj7Zg0uG3wmghSjSlCUIkz4c= X-Received: by 2002:aca:c693:: with SMTP id w141mr4090714oif.58.1611339115311; Fri, 22 Jan 2021 10:11:55 -0800 (PST) MIME-Version: 1.0 References: <20210121194740.2786158-1-hjl.tools@gmail.com> <9c8d88ef-13c3-144f-d6eb-0cf0463f54d8@linaro.org> In-Reply-To: <9c8d88ef-13c3-144f-d6eb-0cf0463f54d8@linaro.org> Date: Fri, 22 Jan 2021 10:11:19 -0800 Message-ID: Subject: Re: [PATCH] x86: Properly match CPU feature [BZ #27222] To: Adhemerval Zanella Content-Type: multipart/mixed; boundary="00000000000094d92305b9811f17" X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: "H.J. Lu via Libc-alpha" Reply-To: "H.J. Lu" Cc: GNU C Library Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" --00000000000094d92305b9811f17 Content-Type: text/plain; charset="UTF-8" On Fri, Jan 22, 2021 at 8:56 AM Adhemerval Zanella via Libc-alpha wrote: > > > > On 22/01/2021 12:01, H.J. Lu via Libc-alpha wrote: > > On Thu, Jan 21, 2021 at 11:47 AM H.J. Lu wrote: > >> > >> /proc/cpuinfo has > >> > >> flags : fpu vme de pse ... ssse3 ... > >> > >> SSE3 in /proc/cpuinfo is displaced as "pni". Search "pni" instead of > >> "sse3" for SSE3. After finding a match for a string, verify the previous > >> character is space and the next character is space or null byte to avoid > >> matching "XXXYYYXXX" with "YYY". > >> --- > >> sysdeps/x86/tst-cpu-features-cpuinfo.c | 9 +++++++-- > >> 1 file changed, 7 insertions(+), 2 deletions(-) > >> > >> diff --git a/sysdeps/x86/tst-cpu-features-cpuinfo.c b/sysdeps/x86/tst-cpu-features-cpuinfo.c > >> index 771771c959..9308349869 100644 > >> --- a/sysdeps/x86/tst-cpu-features-cpuinfo.c > >> +++ b/sysdeps/x86/tst-cpu-features-cpuinfo.c > >> @@ -64,7 +64,12 @@ check_proc (const char *proc_name, int flag, int usable, const char *name) > >> return 0; > >> } > >> printf (" %s: %d\n", name, flag); > >> - if (strstr (cpu_flags, proc_name) != NULL) > >> + char *str = strstr (cpu_flags, proc_name); > >> + size_t len = strlen (proc_name); > >> + /* Don't match "ssse3" with "sse3". */ > >> + if (str != NULL > >> + && str[-1] == ' ' > >> + && (str[len] == ' ' || str[len] == '\0')) > >> found = 1; > >> printf (" cpuinfo (%s): %d\n", proc_name, found); > >> > >> @@ -206,7 +211,7 @@ do_test (int argc, char **argv) > >> fails += CHECK_PROC (ssbd, SSBD); > >> fails += CHECK_PROC (sse, SSE); > >> fails += CHECK_PROC (sse2, SSE2); > >> - fails += CHECK_PROC (sse3, SSE3); > >> + fails += CHECK_PROC (pni, SSE3); > >> fails += CHECK_PROC (sse4_1, SSE4_1); > >> fails += CHECK_PROC (sse4_2, SSE4_2); > >> fails += CHECK_PROC (sse4a, SSE4A); > >> -- > >> 2.29.2 > >> > > > > I am checking it in. > > > > Ok for 2.33. I am checking in this different variant. -- H.J. --00000000000094d92305b9811f17 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-x86-Properly-match-CPU-features-in-proc-cpuinfo-BZ-2.patch" Content-Disposition: attachment; filename="0001-x86-Properly-match-CPU-features-in-proc-cpuinfo-BZ-2.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kk8lnuo10 RnJvbSAyNzkzMjQyOGUxMTZkOWNhOWQ5NDkzMDVkODgwYzkyMTg0NzlhZmEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IFRodSwgMjEgSmFuIDIwMjEgMTE6MTI6MzAgLTA4MDAKU3ViamVjdDogW1BBVENIXSB4ODY6IFBy b3Blcmx5IG1hdGNoIENQVSBmZWF0dXJlcyBpbiAvcHJvYy9jcHVpbmZvIFtCWiAjMjcyMjJdCgpT ZWFyY2ggIiBZWVkgIiBhbmQgIiBZWVlcbiIsIGluc3RlYWQgb2YgIllZWSIsIHRvIGF2b2lkIG1h dGNoaW5nCiJYWFhZWVlaWloiIHdpdGggIllZWSIuCgpVcGRhdGUgL3Byb2MvY3B1aW5mbyBDUFUg ZmVhdHVyZSBuYW1lczoKCi9wcm9jL2NwdWluZm8gICAgICAgICAgICAgICAgICAgICBnbGliYwot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KYXZ4NTEydmJt aSAgICAgICAgICAgICAgICAgICAgICAgIEFWWDUxMl9WQk1JCmR0cyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBEUwpwbmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1NFMwp0 c2NfZGVhZGxpbmVfdGltZXIgICAgICAgICAgICAgICAgVFNDX0RFQURMSU5FCi0tLQogc3lzZGVw cy94ODYvdHN0LWNwdS1mZWF0dXJlcy1jcHVpbmZvLmMgfCA0MyArKysrKysrKysrKysrKysrKyst LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2L3RzdC1jcHUtZmVhdHVyZXMtY3B1aW5mby5jIGIv c3lzZGVwcy94ODYvdHN0LWNwdS1mZWF0dXJlcy1jcHVpbmZvLmMKaW5kZXggNzcxNzcxYzk1OS4u ZjM4YTBmNmFmNiAxMDA2NDQKLS0tIGEvc3lzZGVwcy94ODYvdHN0LWNwdS1mZWF0dXJlcy1jcHVp bmZvLmMKKysrIGIvc3lzZGVwcy94ODYvdHN0LWNwdS1mZWF0dXJlcy1jcHVpbmZvLmMKQEAgLTUz LDMwICs1Myw0NyBAQCBnZXRfY3B1aW5mbyAodm9pZCkKIH0KIAogaW50Ci1jaGVja19wcm9jIChj b25zdCBjaGFyICpwcm9jX25hbWUsIGludCBmbGFnLCBpbnQgdXNhYmxlLCBjb25zdCBjaGFyICpu YW1lKQorY2hlY2tfcHJvYyAoY29uc3QgY2hhciAqcHJvY19uYW1lLCBjb25zdCBjaGFyICpzZWFy Y2hfbmFtZSwgaW50IGZsYWcsCisJICAgIGludCB1c2FibGUsIGNvbnN0IGNoYXIgKm5hbWUpCiB7 CiAgIGludCBmb3VuZCA9IDA7CiAKICAgcHJpbnRmICgiQ2hlY2tpbmcgJXM6XG4iLCBuYW1lKTsK LSAgaWYgKCF1c2FibGUpCisgIHByaW50ZiAoIiAgJXM6ICVkXG4iLCBuYW1lLCBmbGFnKTsKKyAg Y2hhciAqc3RyID0gc3Ryc3RyIChjcHVfZmxhZ3MsIHNlYXJjaF9uYW1lKTsKKyAgaWYgKHN0ciA9 PSBOVUxMKQogICAgIHsKLSAgICAgIHByaW50ZiAoIiAgJXM6IGluc3VmZmljaWVudCB1c2FibGUg aW5mbywgc2tpcHBlZFxuIiwgbmFtZSk7Ci0gICAgICByZXR1cm4gMDsKKyAgICAgIC8qIElmIHNl YXJjaGluZyBmb3IgIiBYWFggIiBmYWlsZWQsIHRyeSAiIFhYWFxuIi4gICovCisgICAgICBzaXpl X3QgbGVuID0gc3RybGVuIChzZWFyY2hfbmFtZSk7CisgICAgICBjaGFyIGJ1ZmZlcls4MF07Cisg ICAgICBpZiAobGVuID49IHNpemVvZiBidWZmZXIpCisJYWJvcnQgKCk7CisgICAgICBtZW1jcHkg KGJ1ZmZlciwgc2VhcmNoX25hbWUsIGxlbiArIDEpOworICAgICAgYnVmZmVyW2xlbiAtIDFdID0g J1xuJzsKKyAgICAgIHN0ciA9IHN0cnN0ciAoY3B1X2ZsYWdzLCBidWZmZXIpOwogICAgIH0KLSAg cHJpbnRmICgiICAlczogJWRcbiIsIG5hbWUsIGZsYWcpOwotICBpZiAoc3Ryc3RyIChjcHVfZmxh Z3MsIHByb2NfbmFtZSkgIT0gTlVMTCkKKyAgaWYgKHN0ciAhPSBOVUxMKQogICAgIGZvdW5kID0g MTsKICAgcHJpbnRmICgiICBjcHVpbmZvICglcyk6ICVkXG4iLCBwcm9jX25hbWUsIGZvdW5kKTsK IAogICBpZiAoZm91bmQgIT0gZmxhZykKLSAgICBwcmludGYgKCIgKioqIGZhaWx1cmUgKioqXG4i KTsKKyAgICB7CisgICAgICBpZiAoZm91bmQgfHwgdXNhYmxlKQorCXByaW50ZiAoIiAqKiogZmFp bHVyZSAqKipcbiIpOworICAgICAgZWxzZQorCXsKKwkgIHByaW50ZiAoIiAqKiogbWlzc2luZyBp biAvcHJvYy9jcHVpbmZvICoqKlxuIik7CisJICByZXR1cm4gMDsKKwl9CisgICAgfQogCiAgIHJl dHVybiAoZm91bmQgIT0gZmxhZyk7CiB9CiAKICNkZWZpbmUgQ0hFQ0tfUFJPQyhzdHIsIG5hbWUp IFwKLSAgY2hlY2tfcHJvYyAoI3N0ciwgSEFTX0NQVV9GRUFUVVJFIChuYW1lKSwgQ1BVX0ZFQVRV UkVfVVNBQkxFIChuYW1lKSwgXAotCSAgICAgICJIQVNfQ1BVX0ZFQVRVUkUgKCIgI25hbWUgIiki KTsKKyAgY2hlY2tfcHJvYyAoI3N0ciwgIiAiI3N0ciIgIiwgSEFTX0NQVV9GRUFUVVJFIChuYW1l KSwgXAorCSAgICAgIENQVV9GRUFUVVJFX1VTQUJMRSAobmFtZSksIFwKKwkgICAgICAiQ1BVX0ZF QVRVUkVfVVNBQkxFICgiICNuYW1lICIpIikKIAogc3RhdGljIGludAogZG9fdGVzdCAoaW50IGFy Z2MsIGNoYXIgKiphcmd2KQpAQCAtOTksNyArMTE2LDcgQEAgZG9fdGVzdCAoaW50IGFyZ2MsIGNo YXIgKiphcmd2KQogICBmYWlscyArPSBDSEVDS19QUk9DIChhdng1MTJfYmYxNiwgQVZYNTEyX0JG MTYpOwogICBmYWlscyArPSBDSEVDS19QUk9DIChhdng1MTJfYml0YWxnLCBBVlg1MTJfQklUQUxH KTsKICAgZmFpbHMgKz0gQ0hFQ0tfUFJPQyAoYXZ4NTEyaWZtYSwgQVZYNTEyX0lGTUEpOwotICBm YWlscyArPSBDSEVDS19QUk9DIChhdng1MTJfdmJtaSwgQVZYNTEyX1ZCTUkpOworICBmYWlscyAr PSBDSEVDS19QUk9DIChhdng1MTJ2Ym1pLCBBVlg1MTJfVkJNSSk7CiAgIGZhaWxzICs9IENIRUNL X1BST0MgKGF2eDUxMl92Ym1pMiwgQVZYNTEyX1ZCTUkyKTsKICAgZmFpbHMgKz0gQ0hFQ0tfUFJP QyAoYXZ4NTEyX3ZubmksIEFWWDUxMl9WTk5JKTsKICAgZmFpbHMgKz0gQ0hFQ0tfUFJPQyAoYXZ4 NTEyX3ZwMmludGVyc2VjdCwgQVZYNTEyX1ZQMklOVEVSU0VDVCk7CkBAIC0xMjUsNyArMTQyLDcg QEAgZG9fdGVzdCAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICBmYWlscyArPSBDSEVDS19QUk9D IChkY2EsIERDQSk7CiAgIGZhaWxzICs9IENIRUNLX1BST0MgKGRlLCBERSk7CiAgIGZhaWxzICs9 IENIRUNLX1BST0MgKHplcm9fZmNzX2ZkcywgREVQUl9GUFVfQ1NfRFMpOwotICBmYWlscyArPSBD SEVDS19QUk9DIChkcywgRFMpOworICBmYWlscyArPSBDSEVDS19QUk9DIChkdHMsIERTKTsKICAg ZmFpbHMgKz0gQ0hFQ0tfUFJPQyAoZHNfY3BsLCBEU19DUEwpOwogICBmYWlscyArPSBDSEVDS19Q Uk9DIChkdGVzNjQsIERURVM2NCk7CiAgIGZhaWxzICs9IENIRUNLX1BST0MgKGVzdCwgRUlTVCk7 CkBAIC0yMDYsNyArMjIzLDcgQEAgZG9fdGVzdCAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICBm YWlscyArPSBDSEVDS19QUk9DIChzc2JkLCBTU0JEKTsKICAgZmFpbHMgKz0gQ0hFQ0tfUFJPQyAo c3NlLCBTU0UpOwogICBmYWlscyArPSBDSEVDS19QUk9DIChzc2UyLCBTU0UyKTsKLSAgZmFpbHMg Kz0gQ0hFQ0tfUFJPQyAoc3NlMywgU1NFMyk7CisgIGZhaWxzICs9IENIRUNLX1BST0MgKHBuaSwg U1NFMyk7CiAgIGZhaWxzICs9IENIRUNLX1BST0MgKHNzZTRfMSwgU1NFNF8xKTsKICAgZmFpbHMg Kz0gQ0hFQ0tfUFJPQyAoc3NlNF8yLCBTU0U0XzIpOwogICBmYWlscyArPSBDSEVDS19QUk9DIChz c2U0YSwgU1NFNEEpOwpAQCAtMjIzLDcgKzI0MCw3IEBAIGRvX3Rlc3QgKGludCBhcmdjLCBjaGFy ICoqYXJndikKICAgZmFpbHMgKz0gQ0hFQ0tfUFJPQyAoaW50ZWxfcHQsIFRSQUNFKTsKICAgZmFp bHMgKz0gQ0hFQ0tfUFJPQyAodHNjLCBUU0MpOwogICBmYWlscyArPSBDSEVDS19QUk9DICh0c2Nf YWRqdXN0LCBUU0NfQURKVVNUKTsKLSAgZmFpbHMgKz0gQ0hFQ0tfUFJPQyAodHNjX2RlYWRsaW5l LCBUU0NfREVBRExJTkUpOworICBmYWlscyArPSBDSEVDS19QUk9DICh0c2NfZGVhZGxpbmVfdGlt ZXIsIFRTQ19ERUFETElORSk7CiAgIGZhaWxzICs9IENIRUNLX1BST0MgKHRzeGxkdHJrLCBUU1hM RFRSSyk7CiAgIGZhaWxzICs9IENIRUNLX1BST0MgKHVtaXAsIFVNSVApOwogICBmYWlscyArPSBD SEVDS19QUk9DICh2YWVzLCBWQUVTKTsKLS0gCjIuMjkuMgoK --00000000000094d92305b9811f17--