From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 98590 invoked by alias); 31 Oct 2017 08:35:18 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 97765 invoked by uid 89); 31 Oct 2017 08:34:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=pose, HContent-type:multipart, HContent-type:boundary X-HELO: mailout2.w1.samsung.com Received: from mailout2.w1.samsung.com (HELO mailout2.w1.samsung.com) (210.118.77.12) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 31 Oct 2017 08:34:45 +0000 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20171031083441euoutp0248a2e3a764aa45c47bceb522806bf2db~ymqpX_LaK0754507545euoutp02z for ; Tue, 31 Oct 2017 08:34:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20171031083441euoutp0248a2e3a764aa45c47bceb522806bf2db~ymqpX_LaK0754507545euoutp02z Received: from eusmges3.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20171031083440eucas1p15eb3e8c50bf9a17c624a25d5e7ce06b5~ymqov0k9B3106831068eucas1p1b for ; Tue, 31 Oct 2017 08:34:40 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges3.samsung.com (EUCPMTA) with SMTP id AC.E2.12867.0A538F95; Tue, 31 Oct 2017 08:34:40 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20171031083439eucas1p2e55426af27afead2c468172ee273593d~ymqnkImNU0715007150eucas1p2H for ; Tue, 31 Oct 2017 08:34:39 +0000 (GMT) Received: from eusync4.samsung.com ( [203.254.199.214]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id E2.1F.20118.F9538F95; Tue, 31 Oct 2017 08:34:39 +0000 (GMT) Received: from [106.109.129.18] by eusync4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OYO00LPJIHQOF90@eusync4.samsung.com> for gcc-patches@gcc.gnu.org; Tue, 31 Oct 2017 08:34:39 +0000 (GMT) From: Maxim Ostapenko To: GCC Patches Subject: [PATCH v2] Fix Incorrect ASan global variables alignment on arm (PR sanitizer/81697) Message-id: <59F8359C.8070002@samsung.com> Date: Tue, 31 Oct 2017 09:18:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-version: 1.0 Content-type: multipart/mixed; boundary="------------010800000403020309050409" X-CMS-MailID: 20171031083439eucas1p2e55426af27afead2c468172ee273593d X-Msg-Generator: CA CMS-TYPE: 201P X-CMS-RootMailID: 20171031083439eucas1p2e55426af27afead2c468172ee273593d X-RootMTR: 20171031083439eucas1p2e55426af27afead2c468172ee273593d References: X-IsSubscribed: yes X-SW-Source: 2017-10/txt/msg02289.txt.bz2 This is a multi-part message in MIME format. --------------010800000403020309050409 Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: 7bit Content-length: 993 Hi, this is the second attempt to fix PR sanitizer/81697. For architectures that use section anchors there is a problem with asan_protect_global because it's involved in a circular dependency: 1) categorize_decl_for_section calls asan_protect_global that returns false because DECL_RTL is not set at this point and assigns decl to SECCAT_RODATA_MERGE_CONST section. 2) make_decl_rtl sets up SET_DECL_RTL (decl, x). 3) Following asan_protect_global calls (e.g. from asan_finish_file) will return true and we end up with mismatch between section and alignment requirements. Previous patch (https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00569.html) just disabled section anchors if ASan is enabled, but it was rejected. This patch just introduces an additional ignore_decl_rtl_set_p parameter for asan_protect_global to break dependence mentioned above. Tested on arm-linux-gnueabi, ppc64-unknown-linux-gnu and x86{, _64}-linux-gnu, bootstrapped on x86_64-unknown-linux-gnu. -Maxim --------------010800000403020309050409 Content-Type: text/x-diff; name="pr81697-2.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pr81697-2.diff" Content-length: 6141 Z2NjL0NoYW5nZUxvZzoNCg0KMjAxNy0xMC0zMSAgTWF4aW0gT3N0YXBlbmtv ICA8bS5vc3RhcGVua29Ac2Ftc3VuZy5jb20+DQoNCglQUiBzYW5pdGl6ZXIv ODE2OTcNCgkqIGFzYW4uYyAoYXNhbl9wcm90ZWN0X2dsb2JhbCk6IEFkZCBu ZXcgaWdub3JlX2RlY2xfcnRsX3NldF9wDQoJcGFyYW1ldGVyLiBSZXR1cm4g dHJ1ZSBpZiBpZ25vcmVfZGVjbF9ydGxfc2V0X3AgaXMgdHJ1ZSBhbmQgb3Ro ZXINCgljb25kaXRpb25zIGFyZSBzYXRpc2ZpZWQuDQoJKiBhc2FuLmggKGFz YW5fcHJvdGVjdF9nbG9iYWwpOiBBZGQgbmV3IHBhcmFtZXRlci4NCgkqIHZh cmFzbS5jIChjYXRlZ29yaXplX2RlY2xfZm9yX3NlY3Rpb24pOiBQYXNzIHRy dWUgYXMgc2Vjb25kIHBhcmFtZXRlcg0KCXRvIGFzYW5fcHJvdGVjdF9nbG9i YWwgY2FsbHMuDQoNCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KDQoyMDE3 LTEwLTMxICBNYXhpbSBPc3RhcGVua28gIDxtLm9zdGFwZW5rb0BzYW1zdW5n LmNvbT4NCg0KCVBSIHNhbml0aXplci84MTY5Nw0KCSogZysrLmRnL2FzYW4v Z2xvYmFsLWFsaWdubWVudC5DOiBOZXcgdGVzdC4NCg0KZGlmZiAtLWdpdCBh L2djYy9hc2FuLmMgYi9nY2MvYXNhbi5jDQppbmRleCBkNTEyOGFhLi43OGMz YjYwIDEwMDY0NA0KLS0tIGEvZ2NjL2FzYW4uYw0KKysrIGIvZ2NjL2FzYW4u Yw0KQEAgLTE2MDUsNyArMTYwNSw3IEBAIGlzX29kcl9pbmRpY2F0b3IgKHRy ZWUgZGVjbCkNCiAgICBBU0FOX1JFRF9aT05FX1NJWkUgYnl0ZXMuICAqLw0K IA0KIGJvb2wNCi1hc2FuX3Byb3RlY3RfZ2xvYmFsICh0cmVlIGRlY2wpDQor YXNhbl9wcm90ZWN0X2dsb2JhbCAodHJlZSBkZWNsLCBib29sIGlnbm9yZV9k ZWNsX3J0bF9zZXRfcCkNCiB7DQogICBpZiAoIUFTQU5fR0xPQkFMUykNCiAg ICAgcmV0dXJuIGZhbHNlOw0KQEAgLTE2MjcsNyArMTYyNywxMyBAQCBhc2Fu X3Byb3RlY3RfZ2xvYmFsICh0cmVlIGRlY2wpDQogICAgICAgfHwgREVDTF9U SFJFQURfTE9DQUxfUCAoZGVjbCkNCiAgICAgICAvKiBFeHRlcm5zIHdpbGwg YmUgcHJvdGVjdGVkIGVsc2V3aGVyZS4gICovDQogICAgICAgfHwgREVDTF9F WFRFUk5BTCAoZGVjbCkNCi0gICAgICB8fCAhREVDTF9SVExfU0VUX1AgKGRl Y2wpDQorICAgICAgLyogUFIgc2FuaXRpemVyLzgxNjk3OiBGb3IgYXJjaGl0 ZWN0dXJlcyB0aGF0IHVzZSBzZWN0aW9uIGFuY2hvcnMgZmlyc3QNCisJIGNh bGwgdG8gYXNhbl9wcm90ZWN0X2dsb2JhbCBtYXkgb2NjdXIgYmVmb3JlIERF Q0xfUlRMIChkZWNsKSBpcyBzZXQuDQorCSBXZSBzaG91bGQgaWdub3JlIERF Q0xfUlRMX1NFVF9QIHRoZW4sIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBmaXJz dCBjYWxsDQorCSB0byBhc2FuX3Byb3RlY3RfZ2xvYmFsIHdpbGwgcmV0dXJu IEZBTFNFIGFuZCB0aGUgZm9sbG93aW5nIGNhbGxzIG9uIHRoZQ0KKwkgc2Ft ZSBkZWNsIGFmdGVyIHNldHRpbmcgREVDTF9SVEwgKGRlY2wpIHdpbGwgcmV0 dXJuIFRSVUUgYW5kIHdlJ2xsIGVuZA0KKwkgdXAgd2l0aCBpbmNvbnNpc3Rl bmN5IGF0IHJ1bnRpbWUuICAqLw0KKyAgICAgIHx8ICghREVDTF9SVExfU0VU X1AgKGRlY2wpICYmICFpZ25vcmVfZGVjbF9ydGxfc2V0X3ApDQogICAgICAg LyogQ29tZGF0IHZhcnMgcG9zZSBhbiBBQkkgcHJvYmxlbSwgd2UgY2FuJ3Qg a25vdyBpZg0KIAkgdGhlIHZhciB0aGF0IGlzIHNlbGVjdGVkIGJ5IHRoZSBs aW5rZXIgd2lsbCBoYXZlDQogCSBwYWRkaW5nIG9yIG5vdC4gICovDQpAQCAt MTY1MSw2ICsxNjU3LDkgQEAgYXNhbl9wcm90ZWN0X2dsb2JhbCAodHJlZSBk ZWNsKQ0KICAgICAgIHx8IGlzX29kcl9pbmRpY2F0b3IgKGRlY2wpKQ0KICAg ICByZXR1cm4gZmFsc2U7DQogDQorICBpZiAoaWdub3JlX2RlY2xfcnRsX3Nl dF9wKQ0KKyAgICByZXR1cm4gdHJ1ZTsNCisNCiAgIHJ0bCA9IERFQ0xfUlRM IChkZWNsKTsNCiAgIGlmICghTUVNX1AgKHJ0bCkgfHwgR0VUX0NPREUgKFhF WFAgKHJ0bCwgMCkpICE9IFNZTUJPTF9SRUYpDQogICAgIHJldHVybiBmYWxz ZTsNCmRpZmYgLS1naXQgYS9nY2MvYXNhbi5oIGIvZ2NjL2FzYW4uaA0KaW5k ZXggYzgyZDRkOS4uODg1YjQ3ZSAxMDA2NDQNCi0tLSBhL2djYy9hc2FuLmgN CisrKyBiL2djYy9hc2FuLmgNCkBAIC0yNiw3ICsyNiw3IEBAIGV4dGVybiB2 b2lkIGFzYW5fZmluaXNoX2ZpbGUgKHZvaWQpOw0KIGV4dGVybiBydHhfaW5z biAqYXNhbl9lbWl0X3N0YWNrX3Byb3RlY3Rpb24gKHJ0eCwgcnR4LCB1bnNp Z25lZCBpbnQsDQogCQkJCQkgICAgIEhPU1RfV0lERV9JTlQgKiwgdHJlZSAq LCBpbnQpOw0KIGV4dGVybiBydHhfaW5zbiAqYXNhbl9lbWl0X2FsbG9jYXNf dW5wb2lzb24gKHJ0eCwgcnR4LCBydHhfaW5zbiAqKTsNCi1leHRlcm4gYm9v bCBhc2FuX3Byb3RlY3RfZ2xvYmFsICh0cmVlKTsNCitleHRlcm4gYm9vbCBh c2FuX3Byb3RlY3RfZ2xvYmFsICh0cmVlLCBib29sIGlnbm9yZV9kZWNsX3J0 bF9zZXRfcCA9IGZhbHNlKTsNCiBleHRlcm4gdm9pZCBpbml0aWFsaXplX3Nh bml0aXplcl9idWlsdGlucyAodm9pZCk7DQogZXh0ZXJuIHRyZWUgYXNhbl9k eW5hbWljX2luaXRfY2FsbCAoYm9vbCk7DQogZXh0ZXJuIGJvb2wgYXNhbl9l eHBhbmRfY2hlY2tfaWZuIChnaW1wbGVfc3RtdF9pdGVyYXRvciAqLCBib29s KTsNCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy5kZy9hc2FuL2ds b2JhbC1hbGlnbm1lbnQuQyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL2FzYW4v Z2xvYmFsLWFsaWdubWVudC5DDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMC4uODRkYWMzNw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nKysuZGcvYXNhbi9nbG9iYWwtYWxpZ25tZW50LkMNCkBA IC0wLDAgKzEsMTggQEANCisvKiB7IGRnLW9wdGlvbnMgIi1mbWVyZ2UtYWxs LWNvbnN0YW50cyIgfSAqLw0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQor LyogeyBkZy1za2lwLWlmICIiIHsgKi0qLSogfSB7ICItTzAiIH0geyAiIiB9 IH0gKi8NCisNCisjaW5jbHVkZSA8c3RyaW5nPg0KKyNpbmNsdWRlIDxtYXA+ DQorDQorY29uc3QgY2hhciBrUmVjb3ZlcnlJbnN0YWxsU3RyaW5nW10gPSAi TkVXIjsNCitjb25zdCBjaGFyIGtSZWNvdmVyeVVwZGF0ZVN0cmluZ1tdID0g IlVQREFURSI7DQorY29uc3QgY2hhciBrUmVjb3ZlcnlVbmluc3RhbGxhdGlv blN0cmluZ1tdID0gIlVOSU5TVEFMTCI7DQorDQorY29uc3Qgc3RkOjptYXA8 c3RkOjpzdHJpbmcsIGludD4ga1N0cmluZ1RvUmVxdWVzdE1hcCA9IHsNCisg IHtrUmVjb3ZlcnlJbnN0YWxsU3RyaW5nLCAwfSwNCisgIHtrUmVjb3ZlcnlV cGRhdGVTdHJpbmcsIDB9LA0KKyAge2tSZWNvdmVyeVVuaW5zdGFsbGF0aW9u U3RyaW5nLCAwfSwNCit9Ow0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7XC5zZWN0aW9uXHMrXC5yb2RhdGFcbig/Oig/IVwu c2VjdGlvbikuKSpcLlx3K1xzKyJORVd9IDEgfSB9ICovDQpkaWZmIC0tZ2l0 IGEvZ2NjL3ZhcmFzbS5jIGIvZ2NjL3ZhcmFzbS5jDQppbmRleCBhMTM5MTUx Li44NDllYWUwIDEwMDY0NA0KLS0tIGEvZ2NjL3ZhcmFzbS5jDQorKysgYi9n Y2MvdmFyYXNtLmMNCkBAIC02NTA4LDcgKzY1MDgsNyBAQCBjYXRlZ29yaXpl X2RlY2xfZm9yX3NlY3Rpb24gKGNvbnN0X3RyZWUgZGVjbCwgaW50IHJlbG9j KQ0KICAgZWxzZSBpZiAoVFJFRV9DT0RFIChkZWNsKSA9PSBTVFJJTkdfQ1NU KQ0KICAgICB7DQogICAgICAgaWYgKChmbGFnX3Nhbml0aXplICYgU0FOSVRJ WkVfQUREUkVTUykNCi0JICAmJiBhc2FuX3Byb3RlY3RfZ2xvYmFsIChDT05T VF9DQVNUX1RSRUUgKGRlY2wpKSkNCisJICAmJiBhc2FuX3Byb3RlY3RfZ2xv YmFsIChDT05TVF9DQVNUX1RSRUUgKGRlY2wpLCB0cnVlKSkNCiAgICAgICAv KiBvciAhZmxhZ19tZXJnZV9jb25zdGFudHMgKi8NCiAgICAgICAgIHJldHVy biBTRUNDQVRfUk9EQVRBOw0KICAgICAgIGVsc2UNCkBAIC02NTM2LDcgKzY1 MzYsNyBAQCBjYXRlZ29yaXplX2RlY2xfZm9yX3NlY3Rpb24gKGNvbnN0X3Ry ZWUgZGVjbCwgaW50IHJlbG9jKQ0KIAlyZXQgPSByZWxvYyA9PSAxID8gU0VD Q0FUX0RBVEFfUkVMX1JPX0xPQ0FMIDogU0VDQ0FUX0RBVEFfUkVMX1JPOw0K ICAgICAgIGVsc2UgaWYgKHJlbG9jIHx8IGZsYWdfbWVyZ2VfY29uc3RhbnRz IDwgMg0KIAkgICAgICAgfHwgKChmbGFnX3Nhbml0aXplICYgU0FOSVRJWkVf QUREUkVTUykNCi0JCSAgICYmIGFzYW5fcHJvdGVjdF9nbG9iYWwgKENPTlNU X0NBU1RfVFJFRSAoZGVjbCkpKSkNCisJCSAgICYmIGFzYW5fcHJvdGVjdF9n bG9iYWwgKENPTlNUX0NBU1RfVFJFRSAoZGVjbCksIHRydWUpKSkNCiAJLyog QyBhbmQgQysrIGRvbid0IGFsbG93IGRpZmZlcmVudCB2YXJpYWJsZXMgdG8g c2hhcmUgdGhlIHNhbWUNCiAJICAgbG9jYXRpb24uICAtZm1lcmdlLWFsbC1j b25zdGFudHMgYWxsb3dzIGV2ZW4gdGhhdCAoYXQgdGhlDQogCSAgIGV4cGVu c2Ugb2Ygbm90IGNvbmZvcm1pbmcpLiAgKi8NCg== --------------010800000403020309050409--