From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2080.outbound.protection.outlook.com [40.107.215.80]) by sourceware.org (Postfix) with ESMTPS id 4693D3858D33 for ; Tue, 6 Jun 2023 15:10:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4693D3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=siemens.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n5jf6ACG99BCygeD+tyL83IsB/m+RiPzbGrb8q2bA6KvEOctifei6BMVdNd6ac6wkUl4SogilLRTjpQZz31pmWnrXbGsenfrHmkTqhT30GfmMr8LlGL+nrTAXR2qr8j5wVIddKFRPDCMlJXNuOT4rrsSQ33G9itaXW1++Iod4dOWGz7g1sT47nVRfg9w1YKhHbjAEE9kGr2+nWnrkL6Eh3gV6Si+rT99CH9Ey28Y+xp1wc/rjKxO/7IsbRLVQ/at9Tm73KQ18sBtQC4LhkIwFtbmqeUHesnGtej8biHrMIEKKG4NsZP30/DAbTt9doTDUvqZ+tdt4U+zAmTdemGTkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MmQk+nCvcfIxrGFyL4Yp7B8/zahq+uu/GJ48+4LSm3M=; b=RTLVNkMRz+jyRhGoY8ZOJHHQon6ltP0B6AsPiLmzYTv/PEGnjqTHhDdNW0J6hzI0Lt+p/ZuETII7TwMkLFTFB1+HuyPCeEVxGCjziVJrSdcJliPjc8iLXuCdoiPSNNpIgUus6EbUeCz5GBdLFyzaJ10G9eIHPqjb5kDCXIohKrWpMOt2NHEKQvIogACD7H8Irbqsr1DUjzxOU/fqSY/g64DIAF2RJlhQxgP6sRp+qvQ80hugRkEeDE6+FJqH1vv/PzZsDmKF8oFBagTT4VhH/42/mksuH+ch8WvxcZm/dm57rVgKJMEXp4ZZK4nx6lYgsd3b3m0Eg5fZb6JABjwoEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MmQk+nCvcfIxrGFyL4Yp7B8/zahq+uu/GJ48+4LSm3M=; b=LdywNWbwRsy0izY7yL9r1om1ZuB1UXEhR8jQpKfLK+3Zj0jpslOrg5t/VQjGP8LkpouTqGNIIRgvLQ7zDMCU3g9Iv++0zB0jA9Fz2jrVg9rQxXCqwMzWdanHVdeRwqVdOkjEH5u9X3Iz0hCONPtrASiZUQyT+7ebsOEmTQS60W2KpJbZRerA8t+s1XNDzcvocsds6g7SQxx2Ig3jbYRDle60wnqzQpc/6DkoNEl8dyHmSYmwwKR7I2YSKAVQ0VhBGwtvI3k9PsBXgRnSZSOzJJxJTSsCRoz1pRr/Pijsn2/Hkdecmhh4ULEDCbhrJYlJl7HTQkqdYOwHEvbXFRviZw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from SG2PR06MB5430.apcprd06.prod.outlook.com (2603:1096:4:1ba::14) by TYZPR06MB5975.apcprd06.prod.outlook.com (2603:1096:400:33e::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 15:10:44 +0000 Received: from SG2PR06MB5430.apcprd06.prod.outlook.com ([fe80::d15a:aa6e:dd53:4fc5]) by SG2PR06MB5430.apcprd06.prod.outlook.com ([fe80::d15a:aa6e:dd53:4fc5%3]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 15:10:42 +0000 Content-Type: multipart/mixed; boundary="------------0lagzF8Jin2NRLz0yB6TTLWd" Message-ID: <3be2222f-48ae-12a1-a83b-415360e0a506@siemens.com> Date: Tue, 6 Jun 2023 23:10:37 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.11.2 Content-Language: en-US From: Chung-Lin Tang Subject: [PATCH, OpenACC 2.7] Implement host_data must have use_device clause requirement To: gcc-patches , Thomas Schwinge , Catherine Moore X-ClientProxiedBy: TYWPR01CA0044.jpnprd01.prod.outlook.com (2603:1096:400:17f::11) To SG2PR06MB5430.apcprd06.prod.outlook.com (2603:1096:4:1ba::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SG2PR06MB5430:EE_|TYZPR06MB5975:EE_ X-MS-Office365-Filtering-Correlation-Id: 057b0357-cfa9-4dee-36ee-08db66a031cd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mRw8d6L+vc3BZXLbJM4TMZSu9O9KhFEVFq9x9rYpkxjoMaxA8FIiLt74L6xQMe3eIAnuHE0roJ4+/BNAZShsoYl1vyJUwxMpl3NR+wk26wIe/fulqPTUoabZD5lP5enVy/iRphkugDVnvAp3q31plJRLvvrIqL2seSJOgMJBxRuaVuybmGqK75j5GH0DGr9cior5sr4FnImkgGipWoDZE03vxURwi/uN+vRRUzYsMCnq+3sf2HFnBKLSVrhpVGDkB6/LlXNFx2mW1Fm3r0t+VHc3Hp7Rggg+72VXyzsE09ElTnq0EQwDn83wyDDRZCit5PK2SnLKILBlhkZGMZDgNG8jYwdJwB9ZGAbRKZUZlghXGFlILuYQ6dNobGvwWECvieCpN9XHPHzwG34A143w5vIhRr5K39BC7VvptDyRR5bmPAyYMl5WBAHBwBcP9YANDHVJFr+FKFOnExvlN9JG8Ln1feBpWECV+Q0xsD4lj6VrkzYEQt62JAU897dWN48HloM02dqEUHt+hKtziWaDIinFqLWiIeTbKBt9m6ruWH8rCmIEbDfy3pqnCuqW1YOUZSsn3cX8TGOhiNOYvQcdlPv0hr7O6SZ4oiagZES3tiVVYWuJ3SvU9XWXeuLvevDzNxISSAJVMN6AGQ479CvUbw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SG2PR06MB5430.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(366004)(396003)(39860400002)(136003)(346002)(451199021)(83380400001)(110136005)(82960400001)(478600001)(8676002)(8936002)(41300700001)(66476007)(235185007)(316002)(66946007)(66556008)(31696002)(38100700002)(5660300002)(86362001)(6486002)(33964004)(6666004)(36756003)(2906002)(6512007)(26005)(84970400001)(186003)(6506007)(31686004)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eEhsVEdOQlFUN0xoSnRyd1FhUlZ0bDUrdll3aVJvQjZlTHNmRXBLUzFMZVJY?= =?utf-8?B?TXE4REZLQnJaNXBWbE44MHNoVXBzQUM1MFJqN0NoRkNvOGVIMk9McndPZzgx?= =?utf-8?B?cC9reUk5TW1qdzJoaXN0WDE3UTFwYk1mRXFHakdxdTgrQkpxZENJRk9waDNx?= =?utf-8?B?V2J3NkJIN01UOHloUVdBNC84eGY2MWl5ejNDTFNsVDh4clRVRDJRUGU4cHNK?= =?utf-8?B?ZExNNW5SbkpKR2pGWEx2ZkVBV1ZYazN1Z2UzaE5kWVY1Zmlmc1ZhZGVsanJh?= =?utf-8?B?b0VRaGxqQ05pUjFSenduS1VtMFVoZHMzMjlTMmt6OG9abkh5dVZoOXJBVFpu?= =?utf-8?B?bjNBK2IrZWR2YWRpb1UxdWV4Q3VBRFk1VFJzUzZXR3RhY1ZxMW9xczJ5S3VY?= =?utf-8?B?WUpvdGFOQ2w1ZUp4czdRaFRNSFpFeUdNdHRNMUNpM3N3ajNlYkliQTdRUy82?= =?utf-8?B?QmdUSVViZFBaV2llMXIxTFljakpmNU9yOXVtMjVuUjRiSUZ0MHFScERyeXJr?= =?utf-8?B?TXArWjdXeVFyemx4UTRrMGhCcHpTVGMydlVXV0JnVkpTTklLRHl2UUFWV3ZH?= =?utf-8?B?MGVwZDlCSkdabDB3cWk1Zm9qUVY2RThUTWNud0Q0VzBuNVQ1a05NcWVIMUov?= =?utf-8?B?MHF6ZTFodWkzdkY5RFhhUVFxNGVKeGJnU0txa3VrOXdFVStSSzZGTSsrbnEv?= =?utf-8?B?eHhJclJNRFZhb0x3ZDVyN0JXK3NSWGxVcnpES0hGaTZzTUFieWtaZWJTYjRM?= =?utf-8?B?UmsvcHVyOUdjQlc3dzU1SzZ6MmxDQ1RBZjRSU2xzeEJ6K3JNSzIxanNRSUJv?= =?utf-8?B?cVQ5KzBockNWTXRDYW5KRk1iU1c1QWcvSUVkZHZQeFlaV05kVTg2Qmc0SW4z?= =?utf-8?B?SGF0T251UVR6Q09LWEtDeWtlWUNVRU9SWjFZUjVIc3dySnpNdnlMWXhRTjk3?= =?utf-8?B?N1IveDZISFEyY2FydUx1SENVZms4SGhjL1JFMC9lTG42M2J4UFZFQTJEaHZH?= =?utf-8?B?YmlTMHByUUxwd0VLUFRJcXQxSnRZM1dpZldFV1piQ2xDTTdtZlFkODNSMVB0?= =?utf-8?B?bUIxNUY0RW1OVzFxdXRndDFOUUFzUDZWak5aTnBXazJYaU5oWUtTTEM4UWNy?= =?utf-8?B?WTNSRWpFM0RKM0dpWk1nQTEzaW83dzQxSkNSdjQ2enpxN1p0c2ZQOWV5bUdL?= =?utf-8?B?eUxPdHYrTk1WZjMvSmZrdUd3a2FCQWc0b0tGMTNOU1ZDeVowTURpMjlRNU5B?= =?utf-8?B?OVN6U2l2TDJYWUdtbXpJT3ROTDBjMStHcEpTeDdnVEtDMGVRRkdzeS90MVZm?= =?utf-8?B?TWg2eUw0aEtDalpadW4vMmZLeTNMRVMxSFl5cEJ6clpVOUU3Y2FtV0pzYTBu?= =?utf-8?B?VEY5Q1pxZlRXRWphdUx2M0RsS3FYM3JBajV5WG81N0QybEZHNktDdytGVXBY?= =?utf-8?B?L2NrTW52QjhyZjE0OXFnNm90cUR2YTVaOU94RnlwMUZtWVdWb1BuNElua1NN?= =?utf-8?B?M0FLYksrVW1PazFGbHpER2tXYjQvSm50cy8yUVZrY2t6S2JIVVlxaUlxdnp5?= =?utf-8?B?VkdxQlpORWtKTEZabDMrRHhTdXpwQVo1bXpJaXh6cTkwRDRvcDF5UStxS2tC?= =?utf-8?B?azlJN0gvUURha09zQ1JXUHlCakpVZ1BLOXlVdDYyZVpiT2trMXdqRWNNWFZi?= =?utf-8?B?b09JSnFaT3RkY0ozLzhCak5vY0pQSWN4QVBaRGpTNTh5QnJDb3QwaU5XenJ3?= =?utf-8?B?RVZ6N3ViTlE4VTJndzlKclBRRll5WStjYjduTHhEVk5VaHRNRzN0MWYzV1Za?= =?utf-8?B?aEc5UVJiUktST2JpTXorR2NhRlJzSStkb3NFR1h5WFpoRWZ3VHAxQjcxck1H?= =?utf-8?B?TXRQMC9BZHFSdEhEc1hHUERNYURUV2wvdkdGNm55eUZUdEJEMzNXYnIzblFO?= =?utf-8?B?K0xKN3pJeUhKU0hkSzl5QzRtaFBEOTFBYTlycjgxT2JuMlZHVWFZS1dDOFNo?= =?utf-8?B?WWJqNlFtb0RTOTNvQzVTdXFwSHhCSG1iVEpVNVlqT1JmcHZTVkNtaWdwOUdR?= =?utf-8?B?aS9VN01NcmJ4ZWgwb2d3UDRPUnJ3Ull1T1R4SFRBbE1HSXVSMXdrN1RIbUJP?= =?utf-8?B?bG12emh2czF5ajBhcm0zVnB6ZFlTWU9YY010Ukl5L2ZZVXR6bndlZVV6UEFv?= =?utf-8?B?cXc9PQ==?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 057b0357-cfa9-4dee-36ee-08db66a031cd X-MS-Exchange-CrossTenant-AuthSource: SG2PR06MB5430.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 15:10:42.1481 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TltmL5HY4hqyZExJYSQfSA3n4hg/FWsA0X2XWQg7SYiwjM0fLFSxVzYnpulXdscgxqdakkj8STmB8qZrEJpXMCpgj5tByylzrV65cxIjtKE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR06MB5975 X-Spam-Status: No, score=-8.1 required=5.0 tests=BAYES_00,DKIMWL_WL_MED,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --------------0lagzF8Jin2NRLz0yB6TTLWd Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi Thomas, this patch implements the OpenACC 2.7 change requiring the host_data construct to have at least one use_device clause. This patch started out with a simple check during gimplify (much smaller patch), but turned out that front-ends removed use_device clauses when they have error, and the gimplify check started to echo a "no use_device clause" message in such cases, which seem confusing for the user. So ended up adding the check in each front-end instead. Tested on powerpc64le-linux/nvptx, x86_64-linux/amdgcn tests in progress (expect no surprises). Is this okay for trunk? Thanks, Chung-Lin gcc/c/ChangeLog: * c-parser.cc (c_parser_oacc_host_data): Add checking requiring OpenACC host_data construct to have an use_device clause. gcc/cp/ChangeLog: * parser.cc (cp_parser_oacc_host_data): Add checking requiring OpenACC host_data construct to have an use_device clause. gcc/fortran/ChangeLog: * trans-openmp.cc (gfc_trans_oacc_construct): Add checking requiring OpenACC host_data construct to have an use_device clause. gcc/testsuite/ChangeLog: * c-c++-common/goacc/host_data-2.c: Adjust testcase. * gfortran.dg/goacc/host_data-error.f90: New testcase. * gfortran.dg/goacc/pr71704.f90: Adjust testcase. --------------0lagzF8Jin2NRLz0yB6TTLWd Content-Type: text/plain; charset=UTF-8; name="0001-OpenACC-2.7-host_data-must-have-use_device-clause-re.patch" Content-Disposition: attachment; filename*0="0001-OpenACC-2.7-host_data-must-have-use_device-clause-re.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAwZDE3YjhkMjRmYTYwNzlkNmMyODkzMDVlOTY0NGMzZmVjZDQyOWYxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHVuZy1MaW4gVGFuZyA8Y2x0YW5nQGNvZGVzb3VyY2VyeS5j b20+CkRhdGU6IFR1ZSwgNiBKdW4gMjAyMyAwMzoxOTozMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0gg MS8yXSBPcGVuQUNDIDIuNzogaG9zdF9kYXRhIG11c3QgaGF2ZSB1c2VfZGV2aWNlIGNsYXVzZQog cmVxdWlyZW1lbnQKClRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGUgT3BlbkFDQyAyLjcgY2hhbmdl IHJlcXVpcmluZyB0aGUgaG9zdF9kYXRhIGNvbnN0cnVjdAp0byBoYXZlIGF0IGxlYXN0IG9uZSB1 c2VfZGV2aWNlIGNsYXVzZS4KCmdjYy9jL0NoYW5nZUxvZzoKCgkqIGMtcGFyc2VyLmNjIChjX3Bh cnNlcl9vYWNjX2hvc3RfZGF0YSk6IEFkZCBjaGVja2luZyByZXF1aXJpbmcgT3BlbkFDQwoJaG9z dF9kYXRhIGNvbnN0cnVjdCB0byBoYXZlIGFuIHVzZV9kZXZpY2UgY2xhdXNlLgoKZ2NjL2NwL0No YW5nZUxvZzoKCgkqIHBhcnNlci5jYyAoY3BfcGFyc2VyX29hY2NfaG9zdF9kYXRhKTogQWRkIGNo ZWNraW5nIHJlcXVpcmluZyBPcGVuQUNDCglob3N0X2RhdGEgY29uc3RydWN0IHRvIGhhdmUgYW4g dXNlX2RldmljZSBjbGF1c2UuCgpnY2MvZm9ydHJhbi9DaGFuZ2VMb2c6CgoJKiB0cmFucy1vcGVu bXAuY2MgKGdmY190cmFuc19vYWNjX2NvbnN0cnVjdCk6IEFkZCBjaGVja2luZyByZXF1aXJpbmcK CU9wZW5BQ0MgaG9zdF9kYXRhIGNvbnN0cnVjdCB0byBoYXZlIGFuIHVzZV9kZXZpY2UgY2xhdXNl LgoKZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CgoJKiBjLWMrKy1jb21tb24vZ29hY2MvaG9zdF9k YXRhLTIuYzogQWRqdXN0IHRlc3RjYXNlLgoJKiBnZm9ydHJhbi5kZy9nb2FjYy9ob3N0X2RhdGEt ZXJyb3IuZjkwOiBOZXcgdGVzdGNhc2UuCgkqIGdmb3J0cmFuLmRnL2dvYWNjL3ByNzE3MDQuZjkw OiBBZGp1c3QgdGVzdGNhc2UuCi0tLQogZ2NjL2MvYy1wYXJzZXIuY2MgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDkgKysrKysrKy0tCiBnY2MvY3AvcGFyc2VyLmNjICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKystLQogZ2NjL2ZvcnRy YW4vdHJhbnMtb3Blbm1wLmNjICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKysrCiBn Y2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb2FjYy9ob3N0X2RhdGEtMi5jICAgICAgfCAgNyAr KysrKystCiBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvYWNjL2hvc3RfZGF0YS1lcnJvci5m OTAgfCAgNiArKysrKysKIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29hY2MvcHI3MTcwNC5m OTAgICAgICAgICB8ICA1ICsrKy0tCiA2IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyks IDcgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9nb2FjYy9ob3N0X2RhdGEtZXJyb3IuZjkwCgpkaWZmIC0tZ2l0IGEvZ2NjL2MvYy1wYXJz ZXIuY2MgYi9nY2MvYy9jLXBhcnNlci5jYwppbmRleCA1YmFhNTAxZGJlZS4uYjYxYWVmOGIxYTIg MTAwNjQ0Ci0tLSBhL2djYy9jL2MtcGFyc2VyLmNjCisrKyBiL2djYy9jL2MtcGFyc2VyLmNjCkBA IC0xODM5OCw4ICsxODM5OCwxMyBAQCBjX3BhcnNlcl9vYWNjX2hvc3RfZGF0YSAobG9jYXRpb25f dCBsb2MsIGNfcGFyc2VyICpwYXJzZXIsIGJvb2wgKmlmX3ApCiAgIHRyZWUgc3RtdCwgY2xhdXNl cywgYmxvY2s7CiAKICAgY2xhdXNlcyA9IGNfcGFyc2VyX29hY2NfYWxsX2NsYXVzZXMgKHBhcnNl ciwgT0FDQ19IT1NUX0RBVEFfQ0xBVVNFX01BU0ssCi0JCQkJICAgICAgICIjcHJhZ21hIGFjYyBo b3N0X2RhdGEiKTsKLQorCQkJCSAgICAgICAiI3ByYWdtYSBhY2MgaG9zdF9kYXRhIiwgZmFsc2Up OworICBpZiAoIW9tcF9maW5kX2NsYXVzZSAoY2xhdXNlcywgT01QX0NMQVVTRV9VU0VfREVWSUNF X1BUUikpCisgICAgeworICAgICAgZXJyb3JfYXQgKGxvYywgIiU8aG9zdF9kYXRhJT4gY29uc3Ry dWN0IHJlcXVpcmVzICU8dXNlX2RldmljZSU+IGNsYXVzZSIpOworICAgICAgcmV0dXJuIGVycm9y X21hcmtfbm9kZTsKKyAgICB9CisgIGNsYXVzZXMgPSBjX2ZpbmlzaF9vbXBfY2xhdXNlcyAoY2xh dXNlcywgQ19PUlRfQUNDKTsKICAgYmxvY2sgPSBjX2JlZ2luX29tcF9wYXJhbGxlbCAoKTsKICAg YWRkX3N0bXQgKGNfcGFyc2VyX29tcF9zdHJ1Y3R1cmVkX2Jsb2NrIChwYXJzZXIsIGlmX3ApKTsK ICAgc3RtdCA9IGNfZmluaXNoX29hY2NfaG9zdF9kYXRhIChsb2MsIGNsYXVzZXMsIGJsb2NrKTsK ZGlmZiAtLWdpdCBhL2djYy9jcC9wYXJzZXIuY2MgYi9nY2MvY3AvcGFyc2VyLmNjCmluZGV4IDFj OWFhNjcxODUxLi5kZDc2MzhmMWM5MyAxMDA2NDQKLS0tIGEvZ2NjL2NwL3BhcnNlci5jYworKysg Yi9nY2MvY3AvcGFyc2VyLmNjCkBAIC00NTc5OCw4ICs0NTc5OCwxNSBAQCBjcF9wYXJzZXJfb2Fj Y19ob3N0X2RhdGEgKGNwX3BhcnNlciAqcGFyc2VyLCBjcF90b2tlbiAqcHJhZ21hX3RvaywgYm9v bCAqaWZfcCkKICAgdW5zaWduZWQgaW50IHNhdmU7CiAKICAgY2xhdXNlcyA9IGNwX3BhcnNlcl9v YWNjX2FsbF9jbGF1c2VzIChwYXJzZXIsIE9BQ0NfSE9TVF9EQVRBX0NMQVVTRV9NQVNLLAotCQkJ CQkiI3ByYWdtYSBhY2MgaG9zdF9kYXRhIiwgcHJhZ21hX3Rvayk7Ci0KKwkJCQkJIiNwcmFnbWEg YWNjIGhvc3RfZGF0YSIsIHByYWdtYV90b2ssCisJCQkJCWZhbHNlKTsKKyAgaWYgKCFvbXBfZmlu ZF9jbGF1c2UgKGNsYXVzZXMsIE9NUF9DTEFVU0VfVVNFX0RFVklDRV9QVFIpKQorICAgIHsKKyAg ICAgIGVycm9yX2F0IChwcmFnbWFfdG9rLT5sb2NhdGlvbiwKKwkJIiU8aG9zdF9kYXRhJT4gY29u c3RydWN0IHJlcXVpcmVzICU8dXNlX2RldmljZSU+IGNsYXVzZSIpOworICAgICAgcmV0dXJuIGVy cm9yX21hcmtfbm9kZTsKKyAgICB9CisgIGNsYXVzZXMgPSBmaW5pc2hfb21wX2NsYXVzZXMgKGNs YXVzZXMsIENfT1JUX0FDQyk7CiAgIGJsb2NrID0gYmVnaW5fb21wX3BhcmFsbGVsICgpOwogICBz YXZlID0gY3BfcGFyc2VyX2JlZ2luX29tcF9zdHJ1Y3R1cmVkX2Jsb2NrIChwYXJzZXIpOwogICBj cF9wYXJzZXJfc3RhdGVtZW50IChwYXJzZXIsIE5VTExfVFJFRSwgZmFsc2UsIGlmX3ApOwpkaWZm IC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vdHJhbnMtb3Blbm1wLmNjIGIvZ2NjL2ZvcnRyYW4vdHJhbnMt b3Blbm1wLmNjCmluZGV4IDQyYjYwOGYzZDM2Li41ZTAwNzljY2U3NiAxMDA2NDQKLS0tIGEvZ2Nj L2ZvcnRyYW4vdHJhbnMtb3Blbm1wLmNjCisrKyBiL2djYy9mb3J0cmFuL3RyYW5zLW9wZW5tcC5j YwpAQCAtNDY3Nyw2ICs0Njc3LDEyIEBAIGdmY190cmFuc19vYWNjX2NvbnN0cnVjdCAoZ2ZjX2Nv ZGUgKmNvZGUpCiAJYnJlYWs7CiAgICAgICBjYXNlIEVYRUNfT0FDQ19IT1NUX0RBVEE6CiAJY29u c3RydWN0X2NvZGUgPSBPQUNDX0hPU1RfREFUQTsKKwlpZiAoY29kZS0+ZXh0Lm9tcF9jbGF1c2Vz LT5saXN0c1tPTVBfTElTVF9VU0VfREVWSUNFXSA9PSBOVUxMKQorCSAgeworCSAgICBlcnJvcl9h dCAoZ2ZjX2dldF9sb2NhdGlvbiAoJmNvZGUtPmxvYyksCisJCSAgICAgICIlPGhvc3RfZGF0YSU+ IGNvbnN0cnVjdCByZXF1aXJlcyAlPHVzZV9kZXZpY2UlPiBjbGF1c2UiKTsKKwkgICAgcmV0dXJu IE5VTExfVFJFRTsKKwkgIH0KIAlicmVhazsKICAgICAgIGRlZmF1bHQ6CiAJZ2NjX3VucmVhY2hh YmxlICgpOwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29hY2MvaG9z dF9kYXRhLTIuYyBiL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvYWNjL2hvc3RfZGF0YS0y LmMKaW5kZXggYjMwOTNlNTc1ZmYuLjg2MmE3NjRlYjNhIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1 aXRlL2MtYysrLWNvbW1vbi9nb2FjYy9ob3N0X2RhdGEtMi5jCisrKyBiL2djYy90ZXN0c3VpdGUv Yy1jKystY29tbW9uL2dvYWNjL2hvc3RfZGF0YS0yLmMKQEAgLTgsNyArOCw5IEBAIHZvaWQKIGYg KHZvaWQpCiB7CiAgIGludCB2MiA9IDM7Ci0jcHJhZ21hIGFjYyBob3N0X2RhdGEgY29weSh2Mikg LyogeyBkZy1lcnJvciAiLmNvcHkuIGlzIG5vdCB2YWxpZCBmb3IgLi5wcmFnbWEgYWNjIGhvc3Rf ZGF0YS4iIH0gKi8KKyNwcmFnbWEgYWNjIGhvc3RfZGF0YSBjb3B5KHYyKQorICAvKiB7IGRnLWVy cm9yICIuY29weS4gaXMgbm90IHZhbGlkIGZvciAuLnByYWdtYSBhY2MgaG9zdF9kYXRhLiIgIiIg eyB0YXJnZXQgKi0qLSogfSAuLTEgfSAqLworICAvKiB7IGRnLWVycm9yICIuaG9zdF9kYXRhLiBj b25zdHJ1Y3QgcmVxdWlyZXMgLnVzZV9kZXZpY2UuIGNsYXVzZSIgIiIgeyB0YXJnZXQgKi0qLSog fSAuLTIgfSAqLwogICA7CiAKICNwcmFnbWEgYWNjIGhvc3RfZGF0YSB1c2VfZGV2aWNlKHYyKQpA QCAtMjAsNiArMjIsOSBAQCBmICh2b2lkKQogICAvKiB7IGRnLWVycm9yICIudXNlX2RldmljZV9w dHIuIHZhcmlhYmxlIGlzIG5laXRoZXIgYSBwb2ludGVyIG5vciBhbiBhcnJheSIgIiIgeyB0YXJn ZXQgYyB9IC4tMSB9ICovCiAgIC8qIHsgZGctZXJyb3IgIi51c2VfZGV2aWNlX3B0ci4gdmFyaWFi bGUgaXMgbmVpdGhlciBhIHBvaW50ZXIsIG5vciBhbiBhcnJheSBub3IgcmVmZXJlbmNlIHRvIHBv aW50ZXIgb3IgYXJyYXkiICIiIHsgdGFyZ2V0IGMrKyB9IC4tMiB9ICovCiAgIDsKKworI3ByYWdt YSBhY2MgaG9zdF9kYXRhIC8qIHsgZGctZXJyb3IgIi5ob3N0X2RhdGEuIGNvbnN0cnVjdCByZXF1 aXJlcyAudXNlX2RldmljZS4gY2xhdXNlIiB9ICovCisgIDsKIH0KIAogCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvYWNjL2hvc3RfZGF0YS1lcnJvci5mOTAgYi9nY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvYWNjL2hvc3RfZGF0YS1lcnJvci5mOTAKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjc0N2EyYjIwMWU3Ci0tLSAvZGV2L251bGwK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb2FjYy9ob3N0X2RhdGEtZXJyb3IuZjkw CkBAIC0wLDAgKzEsNiBAQAorISB7IGRnLWRvIGNvbXBpbGUgfQorCitzdWJyb3V0aW5lIGZvbyAo KQorISRhY2MgaG9zdF9kYXRhICEgeyBkZy1lcnJvciAiJ2hvc3RfZGF0YScgY29uc3RydWN0IHJl cXVpcmVzICd1c2VfZGV2aWNlJyBjbGF1c2UiIH0KKyEkYWNjIGVuZCBob3N0X2RhdGEKK2VuZApk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb2FjYy9wcjcxNzA0LmY5MCBi L2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29hY2MvcHI3MTcwNC5mOTAKaW5kZXggMDIzNWU4 NWQ0MmEuLjMxNzI0YzhiMDQ2IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2dvYWNjL3ByNzE3MDQuZjkwCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29hY2Mv cHI3MTcwNC5mOTAKQEAgLTQ3LDggKzQ3LDkgQEAgcmVhbCBmdW5jdGlvbiBmOCAoKQogICBmOCA9 IDEKIGVuZAogCi1yZWFsIGZ1bmN0aW9uIGY5ICgpCi0hJGFjYyBob3N0X2RhdGEKK3JlYWwgZnVu Y3Rpb24gZjkgKGEpCisgIGludGVnZXIgYSg6KQorISRhY2MgaG9zdF9kYXRhIHVzZV9kZXZpY2Uo YSkKICEkYWNjIGVuZCBob3N0X2RhdGEKICAgZjggPSAxCiBlbmQKLS0gCjIuMjcuMAoK --------------0lagzF8Jin2NRLz0yB6TTLWd--