From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id 250523858C54 for ; Fri, 12 May 2023 12:46:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 250523858C54 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.99,269,1677571200"; d="diff'?scan'208";a="5045733" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 12 May 2023 04:46:26 -0800 IronPort-SDR: UlQPo+HQS584e7SG0nOhd9WEiU8vztzILBYntvc7t6Sd2EsuKGRMM5IjHjtVi7zHNslSyVBHjc 8cpmiVi8Ox89DdsymyBHw18QbWz/dMT5vGvTNDWA9q2plT3GMr/uBGjXXYxYvBagWY1GDEsbnL 9CI1bsV9SqlcrHHaa5qoAtyqCQ3hatDsNomT8/q7Iar5Aw4sut+rjZ5B6e8Whvo4kmzLUcO/zv oVN+HMxMDsE8cIFpuqHYY0PZz/MDlvB5FYUGotrt0V88pZuBXhHF5/C5e+iJDSzSLw8+7k7ELa KRI= Content-Type: multipart/mixed; boundary="------------nGIGlKy09pidf2E42ABeHqiv" Message-ID: <74555a9a-8eb8-14ac-a5bd-d0ab15c9acc1@codesourcery.com> Date: Fri, 12 May 2023 14:46:21 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Content-Language: en-US To: gcc-patches , Richard Biener From: Tobias Burnus Subject: [Patch] LTO: Fix writing of toplevel asm with offloading [PR109816] X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,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: --------------nGIGlKy09pidf2E42ABeHqiv Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable Long standing issue but as top-level 'asm' statement were rare, it did not = show up. However, the fix for PR108969 in commit r14-321-g9a41d2cdbcd added code +#elif defined(_GLIBCXX_SYMVER_GNU) + __extension__ __asm (".globl _ZSt21ios_base_library_initv"); q libstdc++-v3/include/std/iostream. This was then duly written by the offloa= ding-device lto1 for digestion by the device-target assembler. While the llvm-mc linker= user by GCN did accept .globl, nvptx's ptxas did choke on it. Additionally, as the assembly was already written for offloading, the outpu= t was lost on the host when using LTO for not only for offload but for real (i.e.= with -flto). Has someone an idea how to check whether the offloading-code assembler does= not contain the _ZSt21ios_base_library_initv while the host-side (before or aft= er LTO) should contain it, but only with _GLIBCXX_SYMVER_GNU? Otherwise, the testcase tests only and at least whether it breaks with nvpt= x as ptxas does not like the symbol. * * * Tested (manually + running the OvO and sollve-testsuite) on x86-64-gnu-linu= x with nvptx offloading and with "make check -k" on x86-64-gnu-linux, albeit without off= loading configured. The installed-build regtesting of "make check-target-libgomp" seems to be c= urrently broken as it does run all checking code (check_effective_target...) but does not s= eem to find any actual testcase to be run, probably a side effect of the recent testsui= te changes. OK for mainline and GCC 13? Tobias ----------------- 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 --------------nGIGlKy09pidf2E42ABeHqiv Content-Type: text/x-patch; charset="UTF-8"; name="fix-toplevel-asm.diff" Content-Disposition: attachment; filename="fix-toplevel-asm.diff" Content-Transfer-Encoding: base64 TFRPOiBGaXggd3JpdGluZyBvZiB0b3BsZXZlbCBhc20gd2l0aCBvZmZsb2FkaW5nIFtQUjEw OTgxNl0KCldoZW4gb2ZmbG9hZGluZyB3YXMgZW5hYmxlZCwgdG9wLWxldmVsICdhc20nIHdl cmUgYWRkZWQgdG8gdGhlIG9mZmxvYWRpbmcgc2VjdGlvbiwKY29uZnVzaW5nIGFzc2VtYmxl cnMgd2hpY2ggZGlkIG5vdCBzdXBwb3J0IHRoZSBzeW50YXguIEFkZGl0aW9uYWxseSwgd2l0 aCBvZmZsb2FkaW5nCmFuZCAtZmx0bywgdGhlIHRvcC1sZXZlbCBhc3NlbWJsZXIgY29kZSBk aWQgbm90IGVuZCB1cCBpbiB0aGUgaG9zdCBmaWxlcy4KCkFzIHIxNC0zMjEtZzlhNDFkMmNk YmNkIGFkZGVkIHRvcC1sZXZlbCAnYXNtJyB0byBzb21lIGxpYnN0ZGMrKyBoZWFkZXIgZmls ZXMsIHRoZSBpc3N1ZSBiZWNhbWUKbW9yZSBhcHBhcmVudCwgY2F1c2luZyBmYWlscyB3aXRo IG52cHR4IGZvciBDKysgdGVzdGNhc2VzLgoKCVBSIGxpYnN0ZGMrKy8xMDk4MTYKCmdjYy9D aGFuZ2VMb2c6CgkqIGx0by1jZ3JhcGguY2MgKG91dHB1dF9zeW10YWIpOiBHdWFyZCBsdG9f b3V0cHV0X3RvcGxldmVsX2FzbXMgYnkKCSchbHRvX3N0cmVhbV9vZmZsb2FkX3AnLgoKbGli Z29tcC9DaGFuZ2VMb2c6CgoJKiB0ZXN0c3VpdGUvbGliZ29tcC5jKysvdGFyZ2V0LW1hcC1j bGFzcy0xLkM6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvbGliZ29tcC5jKysvdGFyZ2V0LW1h cC1jbGFzcy0yLkM6IE5ldyB0ZXN0LgoKIGdjYy9sdG8tY2dyYXBoLmNjICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYmdvbXAvdGVzdHN1aXRlL2xpYmdv bXAuYysrL3RhcmdldC1tYXAtY2xhc3MtMS5DIHwgOTggKysrKysrKysrKysrKysrKysrKysr KwogbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jKysvdGFyZ2V0LW1hcC1jbGFzcy0yLkMg fCAgNiArKwogMyBmaWxlcyBjaGFuZ2VkLCAxMDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2djYy9sdG8tY2dyYXBoLmNjIGIvZ2NjL2x0by1jZ3JhcGgu Y2MKaW5kZXggODA1Yzc4NS4uYWVkNWU5ZCAxMDA2NDQKLS0tIGEvZ2NjL2x0by1jZ3JhcGgu Y2MKKysrIGIvZ2NjL2x0by1jZ3JhcGguY2MKQEAgLTEwMjAsNyArMTAyMCw3IEBAIG91dHB1 dF9zeW10YWIgKHZvaWQpCiAgICAgIFdoZW4gZG9pbmcgV1BBIHdlIG11c3Qgb3V0cHV0IGV2 ZXJ5IGFzbSBqdXN0IG9uY2UuICBTaW5jZSB3ZSBkbyBub3QgcGFydGl0aW9uIGFzbQogICAg ICBub2RlcyBhdCBhbGwsIG91dHB1dCB0aGVtIHRvIGZpcnN0IG91dHB1dC4gIFRoaXMgaXMg a2luZCBvZiBoYWNrLCBidXQgc2hvdWxkIHdvcmsKICAgICAgd2VsbC4gICovCi0gIGlmICgh YXNtX25vZGVzX291dHB1dCkKKyAgaWYgKCFhc21fbm9kZXNfb3V0cHV0ICYmICFsdG9fc3Ry ZWFtX29mZmxvYWRfcCkKICAgICB7CiAgICAgICBhc21fbm9kZXNfb3V0cHV0ID0gdHJ1ZTsK ICAgICAgIGx0b19vdXRwdXRfdG9wbGV2ZWxfYXNtcyAoKTsKZGlmZiAtLWdpdCBhL2xpYmdv bXAvdGVzdHN1aXRlL2xpYmdvbXAuYysrL3RhcmdldC1tYXAtY2xhc3MtMS5DIGIvbGliZ29t cC90ZXN0c3VpdGUvbGliZ29tcC5jKysvdGFyZ2V0LW1hcC1jbGFzcy0xLkMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQ0ODAyZAotLS0gL2Rldi9udWxsCisrKyBi L2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYysrL3RhcmdldC1tYXAtY2xhc3MtMS5DCkBA IC0wLDAgKzEsOTggQEAKKy8qIFBSIG1pZGRsZS1lbmQvMTA5ODE2ICAqLworCisvKiBUaGlz IHZhcmlhbnQ6IHdpdGhvdXQgLWZsdG8sIHNlZSB0YXJnZXQtbWFwLWNsYXNzLTIuQyBmb3Ig LWZsdG8uICovCisKKy8qIGlvc3RyZWFtLmggYWRkcyAnZ2xvYmwgX1pTdDIxaW9zX2Jhc2Vf bGlicmFyeV9pbml0dicgd2l0aCBfR0xJQkNYWF9TWU1WRVJfR05VLAorICAgYnV0IGl0IHNo b3VsZG4ndCBlbmQgdXAgaW4gdGhlIG9mZmxvYWQgYXNzZW1ibHkgYnV0IG9ubHkgaW4gdGhl IGhvc3QgYXNzZW1ibHkuICovCisKKy8qIEV4YW1wbGUgYmFzZWQgb24gc29sbHZlX3Z2J3Mg dGVzdF90YXJnZXRfZGF0YV9tYXBfY2xhc3Nlcy5jcHA7IGhvd2V2ZXIsCisgICByZWxldmFu dCBpcyBvbmx5IHRoZSAnaW5jbHVkZScgYW5kIG5vdCB0aGUgYWN0dWFsIGV4ZWN1dGFibGUg Y29kZS4gICovCisKKyNpbmNsdWRlIDxpb3N0cmVhbT4KKyNpbmNsdWRlIDxvbXAuaD4KKwor dXNpbmcgbmFtZXNwYWNlIHN0ZDsKKworI2RlZmluZSBOIDEwMDAKKworc3RydWN0IEEKK3sK KyAgaW50ICpoX2FycmF5OworICBpbnQgc2l6ZSwgc3VtOworCisgIEEgKGludCAqYXJyYXks IGNvbnN0IGludCBzKSA6IGhfYXJyYXkoYXJyYXkpLCBzaXplKHMpLCBzdW0oMCkgeyB9Cisg IH5BKCkgeyBoX2FycmF5ID0gTlVMTDsgfQorfTsKKwordm9pZAordGVzdF9tYXBfdG9mcm9t X2NsYXNzX2hlYXAgKCkKK3sKKyAgaW50ICphcnJheSA9IG5ldyBpbnRbTl07CisgIEEgKm9i aiA9IG5ldyBBIChhcnJheSwgTik7CisKKyAgI3ByYWdtYSBvbXAgdGFyZ2V0IG1hcChmcm9t OiBhcnJheVs6Tl0pIG1hcCh0b2Zyb206IG9ials6MV0pCisgICAgeworICAgICAgaW50ICp0 bXBfaF9hcnJheSA9IG9iai0+aF9hcnJheTsKKyAgICAgIG9iai0+aF9hcnJheSA9IGFycmF5 OworICAgICAgaW50IHRtcCA9IDA7CisgICAgICBmb3IgKGludCBpID0gMDsgaSA8IE47ICsr aSkKKwl7CisJICBvYmotPmhfYXJyYXlbaV0gPSA0Kmk7CisJICB0bXAgKz0gMzsKKwl9Cisg ICAgICBvYmotPmhfYXJyYXkgPSB0bXBfaF9hcnJheTsKKyAgICAgIG9iai0+c3VtID0gdG1w OworICAgIH0KKworICBmb3IgKGludCBpID0gMDsgaSA8IE47ICsraSkKKyAgICBpZiAob2Jq LT5oX2FycmF5W2ldICE9IDQqaSkKKyAgICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKKworICBp ZiAoMypOICE9IG9iai0+c3VtKQorICAgIHsKKyAgICAgIHN0ZDo6Y291dCA8PCAic3VtOiAi IDw8IG9iai0+c3VtIDw8IHN0ZDo6ZW5kbDsKKyAgICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsK KyAgICB9CisKKyAgZGVsZXRlIG9iajsKKyAgZGVsZXRlW10gYXJyYXk7Cit9CisKK3ZvaWQK K3Rlc3RfbWFwX3RvZnJvbV9jbGFzc19zdGFjayAoKQoreworICBpbnQgYXJyYXlbTl07Cisg IEEgb2JqKGFycmF5LCBOKTsKKworICAjcHJhZ21hIG9tcCB0YXJnZXQgbWFwKGZyb206IGFy cmF5WzpOXSkgbWFwKHRvZnJvbTogb2JqKQorICAgIHsKKyAgICAgIGludCAqdG1wX2hfYXJy YXkgPSBvYmouaF9hcnJheTsKKyAgICAgIG9iai5oX2FycmF5ID0gYXJyYXk7CisgICAgICBp bnQgdG1wID0gMDsKKyAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgKytpKQorCXsKKwkg IG9iai5oX2FycmF5W2ldID0gNyppOworCSAgdG1wICs9IDU7CisJfQorICAgICAgb2JqLmhf YXJyYXkgPSB0bXBfaF9hcnJheTsKKyAgICAgIG9iai5zdW0gPSB0bXA7CisgICAgfQorCisg IGZvciAoaW50IGkgPSAwOyBpIDwgTjsgKytpKQorICAgIGlmIChvYmouaF9hcnJheVtpXSAh PSA3KmkpCisgICAgICBfX2J1aWx0aW5fYWJvcnQgKCk7CisKKyAgaWYgKDUqTiAhPSBvYmou c3VtKQorICAgIHsKKyAgICAgIHN0ZDo6Y291dCA8PCAic3VtOiAiIDw8IG9iai5zdW0gPDwg c3RkOjplbmRsOworICAgICAgX19idWlsdGluX2Fib3J0ICgpOworICAgIH0KK30KKworaW50 CittYWluKCkKK3sKKyAgdGVzdF9tYXBfdG9mcm9tX2NsYXNzX2hlYXAoKTsKKyAgdGVzdF9t YXBfdG9mcm9tX2NsYXNzX3N0YWNrKCk7CisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEv bGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jKysvdGFyZ2V0LW1hcC1jbGFzcy0yLkMgYi9s aWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMrKy90YXJnZXQtbWFwLWNsYXNzLTIuQwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWYyMGY3Ci0tLSAvZGV2L251bGwK KysrIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jKysvdGFyZ2V0LW1hcC1jbGFzcy0y LkMKQEAgLTAsMCArMSw2IEBACisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZsdG8i IH0gICovCisvKiBQUiBtaWRkbGUtZW5kLzEwOTgxNiAgKi8KKworLyogVGhpcyB2YXJpYW50 OiB3aXRoIC1mbHRvLCBzZWUgdGFyZ2V0LW1hcC1jbGFzcy0xLkMgZm9yIHdpdGhvdXQgLWZs dG8uICovCisKKyNpbmNsdWRlICJ0YXJnZXQtbWFwLWNsYXNzLTEuQyIK --------------nGIGlKy09pidf2E42ABeHqiv--