From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id B460338432CD for ; Thu, 24 Nov 2022 17:48:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B460338432CD Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.96,190,1665475200"; d="diff'?scan'208";a="87718800" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 24 Nov 2022 09:48:08 -0800 IronPort-SDR: mmONhkihFXRMU3KLIqzQC0L72XCvl5GTtgH46qkZkIPWalNuTXo1yiZY2XxhVw9naIwqjGtOXB 51BcFlJz3+PCkIrfnLLgXmyH/rnUjXG9d2utP3RMF7CZ5m0j4FDAmsuNaQwMwS2w9+Lqt/vQlX W4OPyi6vA2qetivB+kugQ5hVbMyyMSWxrDY6mjPQl6uuFIP4Budq4YoY/ONGh+pHkoLPktB8OI 2Y/Yq580XR8MdM7STvKIYSSJnfR8kqtyXWNoOjNPFqQp/WnDQRD8cls7W5O+okRJoBwcmzAm9L PMI= Content-Type: multipart/mixed; boundary="------------g7idIEscG5vpWY2FiWPb0hZi" Message-ID: <64661eda-7f5f-da60-894f-00f90f1def04@codesourcery.com> Date: Thu, 24 Nov 2022 18:48:01 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Content-Language: en-US To: gcc-patches , Jakub Jelinek From: Tobias Burnus Subject: [Patch] libgomp: Add no-target-region rev offload test + fix plugin-nvptx X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-15.mgc.mentorg.com (139.181.222.15) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP 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: --------------g7idIEscG5vpWY2FiWPb0hZi Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable The nvptx reverse-offload code mishandled the case that there was a reverse offload function that isn't called inside a target region. In that case, the linker did not include GOMP_target_ext and the global variable it uses. But the plugin-nvptx.c code expected that the latter is present. Found via sollve_vv's tests/5.0/requires/test_requires_reverse_offload.c wh= ich is similar to the new testcase. (Albeit the 'if' and comments imply that the s= ollve_vv author did not intend this.) Solution: Handle it gracefully that the global variable does not exist - an= d do this check first - and only when successful allocate dev->rev_data. If n= ot, deallocate rev_fn_table to disable reverse offload handling. OK for mainline? Tobias PS: Admittedly, the nvptx code is not yet exercised as I still have to subm= it the libgomp/target.c code handling the reverse offload (+ enabling requires rev= erse_offload in plugin-nvptx.c). As it is obvious from this patch, the target.c patch is= nearly but not yet completely ready. - That patch passes the three sollve_vv testcases= and also the existing libgomp testcases, but some corner cases and more testcases ar= e missing. ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------g7idIEscG5vpWY2FiWPb0hZi Content-Type: text/x-patch; charset="UTF-8"; name="no-anch-rev-off.diff" Content-Disposition: attachment; filename="no-anch-rev-off.diff" Content-Transfer-Encoding: base64 bGliZ29tcDogQWRkIG5vLXRhcmdldC1yZWdpb24gcmV2IG9mZmxvYWQgdGVzdCArIGZpeCBw bHVnaW4tbnZwdHgKCk9wZW5NUCBwZXJtaXRzIHRoYXQgYSAndGFyZ2V0IGRldmljZShhbmNl c3RvcjoxKScgaXMgY2FsbGVkIHdpdGhvdXQgYmVpbmcKZW5jbG9zZWQgaW4gYSB0YXJnZXQg cmVnaW9uIC0gdXNpbmcgdGhlIGN1cnJlbnQgZGV2aWNlIChpLmUuIHRoZSBob3N0KSBpbgp0 aGF0IGNhc2UuICBUaGlzIGNvbW1pdCBhZGRzIGEgdGVzdGNhc2UgZm9yIHRoaXMuCgpJbiBj YXNlIG9mIG52cHR4LCB0aGUgbWlzc2luZyBvbi1kZXZpY2UgJ0dPTVBfdGFyZ2V0X2V4dCcg Y2FsbCBjYXVzZXMgdGhhdAppdCBhbmQgYWxzbyB0aGUgYXNzb2NpYXRlZCBvbi1kZXZpY2Ug R09NUF9SRVZfT0ZGTE9BRF9WQVIgdmFyaWFibGUgYXJlIG5vdApsaW5rZWQgaW4gZnJvbSBu dnB0eCdzIGxpYmdvbXAuYS4gVGh1cywgaGFuZGxlIHRoZSBmYWlsaW5nIGN1TW9kdWxlR2V0 R2xvYmFsCmdyYWNlZnVsbHkgYnkgZGlzYWJsaW5nIHJldmVyc2Ugb2ZmbG9hZCBhbmQgYXNz dW1pbmcgdGhhdCB0aGUgZmFpbHVyZSBpcyBmaW5lLgoKbGliZ29tcC9DaGFuZ2VMb2c6CgoJ KiBwbHVnaW4vcGx1Z2luLW52cHR4LmMgKEdPTVBfT0ZGTE9BRF9sb2FkX2ltYWdlKTogVXNl IHVuc2lnbmVkIGludAoJZm9yICdpJyB0byBtYXRjaCAnZm5fZW50cmllcyc7IHJlZ2FyZCBh YnNlbnQgR09NUF9SRVZfT0ZGTE9BRF9WQVIKCWFzIHZhbGlkIGFuZCB0aGUgY29kZSBoYXZp bmcgbm8gcmV2ZXJzZS1vZmZsb2FkIGNvZGUuCgkqIHRlc3RzdWl0ZS9saWJnb21wLmMtYysr LWNvbW1vbi9yZXZlcnNlLW9mZmxvYWQtMi5jOiBOZXcgdGVzdC4KCiBsaWJnb21wL3BsdWdp bi9wbHVnaW4tbnZwdHguYyAgICAgICAgICAgICAgICAgICAgICB8IDM2ICsrKysrKysrKyst LS0tLS0KIC4uLi9saWJnb21wLmMtYysrLWNvbW1vbi9yZXZlcnNlLW9mZmxvYWQtMi5jICAg ICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA3MyBp bnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJnb21wL3Bs dWdpbi9wbHVnaW4tbnZwdHguYyBiL2xpYmdvbXAvcGx1Z2luL3BsdWdpbi1udnB0eC5jCmlu ZGV4IDA3NjhmY2EzNTBiLi5lODAzZjA4MzU5MSAxMDA2NDQKLS0tIGEvbGliZ29tcC9wbHVn aW4vcGx1Z2luLW52cHR4LmMKKysrIGIvbGliZ29tcC9wbHVnaW4vcGx1Z2luLW52cHR4LmMK QEAgLTEzOTAsNyArMTM5MCw4IEBAIEdPTVBfT0ZGTE9BRF9sb2FkX2ltYWdlIChpbnQgb3Jk LCB1bnNpZ25lZCB2ZXJzaW9uLCBjb25zdCB2b2lkICp0YXJnZXRfZGF0YSwKICAgZWxzZSBp ZiAocmV2X2ZuX3RhYmxlKQogICAgIHsKICAgICAgIENVZGV2aWNlcHRyIHZhcjsKLSAgICAg IHNpemVfdCBieXRlcywgaTsKKyAgICAgIHNpemVfdCBieXRlczsKKyAgICAgIHVuc2lnbmVk IGludCBpOwogICAgICAgciA9IENVREFfQ0FMTF9OT0NIRUNLIChjdU1vZHVsZUdldEdsb2Jh bCwgJnZhciwgJmJ5dGVzLCBtb2R1bGUsCiAJCQkgICAgICIkb2ZmbG9hZF9mdW5jX3RhYmxl Iik7CiAgICAgICBpZiAociAhPSBDVURBX1NVQ0NFU1MpCkBAIC0xNDEzLDEyICsxNDE0LDEx IEBAIEdPTVBfT0ZGTE9BRF9sb2FkX2ltYWdlIChpbnQgb3JkLCB1bnNpZ25lZCB2ZXJzaW9u LCBjb25zdCB2b2lkICp0YXJnZXRfZGF0YSwKIAogICBpZiAocmV2X2ZuX3RhYmxlICYmICpy ZXZfZm5fdGFibGUgJiYgZGV2LT5yZXZfZGF0YSA9PSBOVUxMKQogICAgIHsKLSAgICAgIC8q IGN1TWVtSG9zdEFsbG9jIG1lbW9yeSBpcyBhY2Nlc3NpYmxlIG9uIHRoZSBkZXZpY2UsIGlm IHVuaWZpZWQtc2hhcmVkCi0JIGFkZHJlc3MgaXMgc3VwcG9ydGVkOyB0aGlzIGlzIGFzc3Vt ZWQgLSBzZWUgY29tbWVudCBpbgotCSBudnB0eF9vcGVuX2RldmljZSBmb3IgQ1VfREVWSUNF X0FUVFJJQlVURV9VTklGSUVEX0FERFJFU1NJTkcuICAgKi8KLSAgICAgIENVREFfQ0FMTF9B U1NFUlQgKGN1TWVtSG9zdEFsbG9jLCAodm9pZCAqKikgJmRldi0+cmV2X2RhdGEsCi0JCQlz aXplb2YgKCpkZXYtPnJldl9kYXRhKSwgQ1VfTUVNSE9TVEFMTE9DX0RFVklDRU1BUCk7Ci0g ICAgICBDVWRldmljZXB0ciBkcCA9IChDVWRldmljZXB0cikgZGV2LT5yZXZfZGF0YTsKKyAg ICAgIC8qIEdldCB0aGUgb24tZGV2aWNlIEdPTVBfUkVWX09GRkxPQURfVkFSIHZhcmlhYmxl LiAgSXQgc2hvdWxkIGJlCisJIGF2YWlsYWJsZSBidXQgaXQgbWlnaHQgYmUgbm90LiAgT25l IHJlYXNvbiBjb3VsZCBiZTogaWYgdGhlIHVzZXIgY29kZQorCSBoYXMgJ29tcCB0YXJnZXQg ZGV2aWNlKGFuY2VzdG9yOjEpJyBpbiBwdXJlIGhvc3Rjb2RlLCBHT01QX3RhcmdldF9leHQK KwkgaXMgbm90IGNhbGxlZCBvbiB0aGUgZGV2aWNlIGFuZCwgaGVuY2UsIGl0IGFuZCBHT01Q X1JFVl9PRkZMT0FEX1ZBUgorCSBhcmUgbm90IGxpbmtlZCBpbi4gICovCiAgICAgICBDVWRl dmljZXB0ciBkZXZpY2VfcmV2X29mZmxvYWRfdmFyOwogICAgICAgc2l6ZV90IGRldmljZV9y ZXZfb2ZmbG9hZF9zaXplOwogICAgICAgQ1VyZXN1bHQgciA9IENVREFfQ0FMTF9OT0NIRUNL IChjdU1vZHVsZUdldEdsb2JhbCwKQEAgLTE0MjYsMTEgKzE0MjYsMjMgQEAgR09NUF9PRkZM T0FEX2xvYWRfaW1hZ2UgKGludCBvcmQsIHVuc2lnbmVkIHZlcnNpb24sIGNvbnN0IHZvaWQg KnRhcmdldF9kYXRhLAogCQkJCSAgICAgICZkZXZpY2VfcmV2X29mZmxvYWRfc2l6ZSwgbW9k dWxlLAogCQkJCSAgICAgIFhTVFJJTkcgKEdPTVBfUkVWX09GRkxPQURfVkFSKSk7CiAgICAg ICBpZiAociAhPSBDVURBX1NVQ0NFU1MpCi0JR09NUF9QTFVHSU5fZmF0YWwgKCJjdU1vZHVs ZUdldEdsb2JhbCBlcnJvciAtIEdPTVBfUkVWX09GRkxPQURfVkFSOiAlcyIsIGN1ZGFfZXJy b3IgKHIpKTsKLSAgICAgIHIgPSBDVURBX0NBTExfTk9DSEVDSyAoY3VNZW1jcHlIdG9ELCBk ZXZpY2VfcmV2X29mZmxvYWRfdmFyLCAmZHAsCi0JCQkgICAgIHNpemVvZiAoZHApKTsKLSAg ICAgIGlmIChyICE9IENVREFfU1VDQ0VTUykKLQlHT01QX1BMVUdJTl9mYXRhbCAoImN1TWVt Y3B5SHRvRCBlcnJvcjogJXMiLCBjdWRhX2Vycm9yIChyKSk7CisJeworCSAgZnJlZSAoKnJl dl9mbl90YWJsZSk7CisJICAqcmV2X2ZuX3RhYmxlID0gTlVMTDsKKwl9CisgICAgICBlbHNl CisJeworCSAgLyogY3VNZW1Ib3N0QWxsb2MgbWVtb3J5IGlzIGFjY2Vzc2libGUgb24gdGhl IGRldmljZSwgaWYKKwkgICAgIHVuaWZpZWQtc2hhcmVkIGFkZHJlc3MgaXMgc3VwcG9ydGVk OyB0aGlzIGlzIGFzc3VtZWQgLSBzZWUgY29tbWVudAorCSAgICAgaW4gbnZwdHhfb3Blbl9k ZXZpY2UgZm9yIENVX0RFVklDRV9BVFRSSUJVVEVfVU5JRklFRF9BRERSRVNTSU5HLiAqLwor CSAgQ1VEQV9DQUxMX0FTU0VSVCAoY3VNZW1Ib3N0QWxsb2MsICh2b2lkICoqKSAmZGV2LT5y ZXZfZGF0YSwKKwkJCSAgICBzaXplb2YgKCpkZXYtPnJldl9kYXRhKSwgQ1VfTUVNSE9TVEFM TE9DX0RFVklDRU1BUCk7CisJICBDVWRldmljZXB0ciBkcCA9IChDVWRldmljZXB0cikgZGV2 LT5yZXZfZGF0YTsKKwkgIHIgPSBDVURBX0NBTExfTk9DSEVDSyAoY3VNZW1jcHlIdG9ELCBk ZXZpY2VfcmV2X29mZmxvYWRfdmFyLCAmZHAsCisJCQkJIHNpemVvZiAoZHApKTsKKwkgIGlm IChyICE9IENVREFfU1VDQ0VTUykKKwkgICAgR09NUF9QTFVHSU5fZmF0YWwgKCJjdU1lbWNw eUh0b0QgZXJyb3I6ICVzIiwgY3VkYV9lcnJvciAocikpOworCX0KICAgICB9CiAKICAgbnZw dHhfc2V0X2Nsb2NrdGljayAobW9kdWxlLCBkZXYpOwpkaWZmIC0tZ2l0IGEvbGliZ29tcC90 ZXN0c3VpdGUvbGliZ29tcC5jLWMrKy1jb21tb24vcmV2ZXJzZS1vZmZsb2FkLTIuYyBiL2xp YmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy1jKystY29tbW9uL3JldmVyc2Utb2ZmbG9hZC0y LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjMzYmQzODQ4MWJi Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jLWMrKy1j b21tb24vcmV2ZXJzZS1vZmZsb2FkLTIuYwpAQCAtMCwwICsxLDQ5IEBACisvKiB7IGRnLWRv IHJ1biB9ICAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mb2ZmbG9hZC1vcHRp b25zPW52cHR4LW5vbmU9LW1pc2E9c21fMzUiIHsgdGFyZ2V0IHsgb2ZmbG9hZF90YXJnZXRf bnZwdHggfSB9IH0gKi8KKworI3ByYWdtYSBvbXAgcmVxdWlyZXMgcmV2ZXJzZV9vZmZsb2Fk CisKK2ludAorbWFpbiAoKQoreworICBpbnQgQVsxMF07CisgIGludCB5OworCisgIGZvciAo aW50IGkgPSAwOyBpIDwgMTA7IGkrKykKKyAgICBBW2ldID0gMippOworCisgIHkgPSA0MjsK KworICAvKiBQb2ludGxlc3NseSBjb3B5IHRvIHRoZSBkZWZhdWx0IGRldmljZS4gICovCisg ICNwcmFnbWEgb21wIHRhcmdldCBkYXRhIG1hcCh0bzogQSkKKyAgeworICAgIC8qIE5vdCBl bmNsb3NlZCBpbiBhIHRhcmdldCByZWdpb24gKD0gaS5lLiBydW5uaW5nIG9uIHRoZSBob3N0 KTsgdGhlCisgICAgICAgZm9sbG93aW5nIGlzIHZhbGlkIC0gaXQgcnVucyBvbiB0aGUgY3Vy cmVudCBkZXZpY2UgKD0gaG9zdCkuICAqLworICAgICNwcmFnbWEgb21wIHRhcmdldCBkZXZp Y2UgKCBhbmNlc3RvcjoxICkgZmlyc3Rwcml2YXRlKHkpIG1hcCh0bzogQSkKKyAgICB7Cisg ICAgICBpZiAoeSAhPSA0MikKKwlfX2J1aWx0aW5fYWJvcnQgKCk7CisgICAgICBmb3IgKGlu dCBpID0gMDsgaSA8IDEwOyBpKyspCisJaWYgKEFbaV0gIT0gMippKQorCSAgX19idWlsdGlu X2Fib3J0ICgpOworICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKQorCWlmIChB W2ldICE9IDIqaSkKKwkgIEFbaV0gPSA0Kmk7CisgICAgICB5ID0gMzE7CisgICAgfQorCisg ICAgaWYgKHkgIT0gNDIpCisgICAgICBfX2J1aWx0aW5fYWJvcnQgKCk7CisgICAgZm9yIChp bnQgaSA9IDA7IGkgPCAxMDsgaSsrKQorICAgICAgaWYgKEFbaV0gIT0gMippKQorCV9fYnVp bHRpbl9hYm9ydCAoKTsKKyAgfQorCisgIGlmICh5ICE9IDQyKQorICAgIF9fYnVpbHRpbl9h Ym9ydCAoKTsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKQorICAgIGlmIChBW2ld ICE9IDIqaSkKKyAgICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKKworICByZXR1cm4gMDsKK30K --------------g7idIEscG5vpWY2FiWPb0hZi--