From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8191 invoked by alias); 21 Jan 2019 15:52:21 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 8049 invoked by uid 89); 21 Jan 2019 15:52:20 -0000 Authentication-Results: sourceware.org; auth=none 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,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=tll, ta, allowing X-HELO: EUR02-VE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr20064.outbound.protection.outlook.com (HELO EUR02-VE1-obe.outbound.protection.outlook.com) (40.107.2.64) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 21 Jan 2019 15:52:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=N6ds7VCmaZ/GdWYg3mfBv+3c9U2hmP+yHtx13uRSdRM=; b=R6hsn5f/hbnnDAQeisggiIg0B03eyVnpiiFqQGlOa8iyc2xKMsy46n6Bfkpv39Xjl7ouerKzB9gW7P+YgfKh0fMGoLc67hhfNlkvnJ3HA+746aHVrDY++RzGiTbQgHQxC+4GA0vr9VXiT769gxwIqAneaTC8aonvl2LzkHBlyU4= Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com (10.172.227.22) by DB6PR0802MB2357.eurprd08.prod.outlook.com (10.172.228.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1537.24; Mon, 21 Jan 2019 15:52:11 +0000 Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::acd7:a958:2aaa:562e]) by DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::acd7:a958:2aaa:562e%5]) with mapi id 15.20.1537.031; Mon, 21 Jan 2019 15:52:11 +0000 From: Alan Hayward To: Pedro Alves CC: "gdb-patches@sourceware.org" , nd Subject: Re: [PATCH 1/2] AArch64 AAPCS: Empty structs have non zero size in C++ Date: Mon, 21 Jan 2019 15:52:00 -0000 Message-ID: <018D8C19-1A45-4012-BAC6-90ACDA074740@arm.com> References: <20190116155734.53824-1-alan.hayward@arm.com> <20190116155734.53824-2-alan.hayward@arm.com> <386a4a7f-f7df-e1da-42b8-b0724e1e36b2@redhat.com> <5255A57D-0F2C-4A3B-816A-6F46C0B0C2B1@arm.com> In-Reply-To: <5255A57D-0F2C-4A3B-816A-6F46C0B0C2B1@arm.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2019-01/txt/msg00450.txt.bz2 UHVzaGVkIHdpdGggY2hhbmdlcyBzdWdnZXN0ZWQsIGluY2x1ZGluZyBhbGwg eHBhc3MgbWF0Y2hlcy4NCg0KQWxhbi4NCg0KDQpkaWZmIC0tZ2l0IGEvZ2Ri L2FhcmNoNjQtdGRlcC5jIGIvZ2RiL2FhcmNoNjQtdGRlcC5jDQppbmRleCBi MDUxNTYzOTM3Li43YzVkNzQ4NThkIDEwMDY0NA0KLS0tIGEvZ2RiL2FhcmNo NjQtdGRlcC5jDQorKysgYi9nZGIvYWFyY2g2NC10ZGVwLmMNCkBAIC0xMjMy LDYgKzEyMzIsMTQgQEAgYWFwY3NfaXNfdmZwX2NhbGxfb3JfcmV0dXJuX2Nh bmRpZGF0ZV8xIChzdHJ1Y3QgdHlwZSAqdHlwZSwNCiAgICAgICAgICAgICAg cmV0dXJuIC0xOw0KICAgICAgICAgICAgY291bnQgKz0gc3ViX2NvdW50Ow0K ICAgICAgICAgIH0NCisNCisgICAgICAgLyogRW5zdXJlIHRoZXJlIGlzIG5v IHBhZGRpbmcgYmV0d2VlbiB0aGUgZmllbGRzIChhbGxvd2luZyBmb3IgZW1w dHkNCisgICAgICAgICAgemVybyBsZW5ndGggc3RydWN0cykgICovDQorICAg ICAgIGludCBmdHlwZV9sZW5ndGggPSAoKmZ1bmRhbWVudGFsX3R5cGUgPT0g bnVsbHB0cikNCisgICAgICAgICAgICAgICAgICAgICAgICAgID8gMCA6IFRZ UEVfTEVOR1RIICgqZnVuZGFtZW50YWxfdHlwZSk7DQorICAgICAgIGlmIChj b3VudCAqIGZ0eXBlX2xlbmd0aCAhPSBUWVBFX0xFTkdUSCAodHlwZSkpDQor ICAgICAgICAgcmV0dXJuIC0xOw0KKw0KICAgICAgICByZXR1cm4gY291bnQ7 DQogICAgICAgfQ0KDQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9pbmZjYWxsLW5lc3RlZC1zdHJ1Y3RzLmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvaW5mY2FsbC1uZXN0ZWQtc3RydWN0cy5leHANCmluZGV4 IGIwNGQ5YWFhODQuLmQ3ZDFlM2UwMGQgMTAwNjQ0DQotLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2luZmNhbGwtbmVzdGVkLXN0cnVjdHMuZXhwDQor KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZmNhbGwtbmVzdGVkLXN0 cnVjdHMuZXhwDQpAQCAtMjQsNiArMjQsMjAgQEAgaWYgW3RhcmdldF9pbmZv IGV4aXN0cyBnZGIsY2Fubm90X2NhbGxfZnVuY3Rpb25zXSB7DQogICAgIGNv bnRpbnVlDQogfQ0KDQorIyBPbmx5IHRlc3QgQysrIGlmIHdlIGFyZSBhYmxl LiAgQWx3YXlzIHVzZSBDLg0KK2lmIHsgW3NraXBfY3BsdXNfdGVzdHNdIHx8 IFtnZXRfY29tcGlsZXJfaW5mbyAiYysrIl0gfSB7DQorICAgIHNldCBsYW5n IHtjfQ0KK30gZWxzZSB7DQorICAgIHNldCBsYW5nIHtjIGMrK30NCit9DQor DQorZm9yZWFjaCBsICRsYW5nIHsNCisgICAgc2V0IGRpciAiJGwiDQorICAg IHJlbW90ZV9leGVjIGhvc3QgInJtIC1yZiBbc3RhbmRhcmRfb3V0cHV0X2Zp bGUgJHtkaXJ9XSINCisgICAgcmVtb3RlX2V4ZWMgaG9zdCAibWtkaXIgLXAg W3N0YW5kYXJkX291dHB1dF9maWxlICR7ZGlyfV0iDQorfQ0KKw0KKw0KIHNl dCBpbnRfdHlwZXMgeyB0YyB0cyB0aSB0bCB0bGwgfQ0KIHNldCBmbG9hdF90 eXBlcyB7IHRmIHRkIHRsZCB9DQogc2V0IGNvbXBsZXhfdHlwZXMgeyB0ZmMg dGRjIHRsZGMgfQ0KQEAgLTMxLDYgKzQ1LDcgQEAgc2V0IGNvbXBsZXhfdHlw ZXMgeyB0ZmMgdGRjIHRsZGMgfQ0KIHNldCBjb21waWxlX2ZsYWdzIHtkZWJ1 Z30NCiBpZiBbc3VwcG9ydF9jb21wbGV4X3Rlc3RzXSB7DQogICAgIGxhcHBl bmQgY29tcGlsZV9mbGFncyAiYWRkaXRpb25hbF9mbGFncz0tRFRFU1RfQ09N UExFWCINCisgICAgbGFwcGVuZCBjb21waWxlX2ZsYWdzICJhZGRpdGlvbmFs X2ZsYWdzPS1Xbm8tcHNhYmkiDQogfQ0KDQogIyBHaXZlbiBOICgwLi4yNSks IHJldHVybiB0aGUgY29ycmVzcG9uZGluZyBhbHBoYWJldGljIGxldHRlciBp biB1cHBlcg0KQEAgLTQ0LDcgKzU5LDcgQEAgcHJvYyBJMkEgeyBuIH0gew0K ICMgdHlwZXMgb2YgdGhlIHN0cnVjdCBmaWVsZHMgd2l0aGluIHRoZSBzb3Vy Y2UuICBSdW4gdXAgdG8gbWFpbi4NCiAjIEFsc28gdXBkYXRlcyB0aGUgZ2xv YmFsICJ0ZXN0ZmlsZSIgdG8gcmVmbGVjdCB0aGUgbW9zdCByZWNlbnQgYnVp bGQuDQoNCi1wcm9jIHN0YXJ0X25lc3RlZF9zdHJ1Y3RzX3Rlc3QgeyB0eXBl cyB9IHsNCitwcm9jIHN0YXJ0X25lc3RlZF9zdHJ1Y3RzX3Rlc3QgeyBsYW5n IHR5cGVzIH0gew0KICAgICBnbG9iYWwgdGVzdGZpbGUNCiAgICAgZ2xvYmFs IHNyY2ZpbGUNCiAgICAgZ2xvYmFsIGJpbmZpbGUNCkBAIC01Myw5ICs2OCwx MSBAQCBwcm9jIHN0YXJ0X25lc3RlZF9zdHJ1Y3RzX3Rlc3QgeyB0eXBlcyB9 IHsNCiAgICAgZ2xvYmFsIGNvbXBpbGVfZmxhZ3MNCg0KICAgICBzdGFuZGFy ZF90ZXN0ZmlsZSAuYw0KKyAgICBzZXQgZGlyICIkbGFuZyINCg0KICAgICAj IENyZWF0ZSB0aGUgYWRkaXRpb25hbCBmbGFncw0KICAgICBzZXQgZmxhZ3Mg JGNvbXBpbGVfZmxhZ3MNCisgICAgbGFwcGVuZCBmbGFncyAkbGFuZw0KDQog ICAgIGZvciB7c2V0IG4gMH0geyRuPFtsbGVuZ3RoICR7dHlwZXN9XX0ge2lu Y3Igbn0gew0KICAgICAgICBzZXQgbSBbSTJBICR7bn1dDQpAQCAtNjQsNyAr ODEsNyBAQCBwcm9jIHN0YXJ0X25lc3RlZF9zdHJ1Y3RzX3Rlc3QgeyB0eXBl cyB9IHsNCiAgICAgICAgYXBwZW5kIHRlc3RmaWxlICItIiAiJHQiDQogICAg IH0NCg0KLSAgICBzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUg JHt0ZXN0ZmlsZX1dDQorICAgIHNldCBiaW5maWxlIFtzdGFuZGFyZF9vdXRw dXRfZmlsZSAke2Rpcn0vJHt0ZXN0ZmlsZX1dDQogICAgIGlmICB7IFtnZGJf Y29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHti aW5maWxlfSIgZXhlY3V0YWJsZSAiJHtmbGFnc30iXSAhPSAiIiB9IHsNCiAg ICAgICAgdW5yZXNvbHZlZCAiZmFpbGVkIHRvIGNvbXBpbGUiDQogICAgICAg IHJldHVybiAwDQpAQCAtOTksMTMgKzExNiwyMSBAQCBwcm9jIHN0YXJ0X25l c3RlZF9zdHJ1Y3RzX3Rlc3QgeyB0eXBlcyB9IHsNCiAjIEFzc3VtaW5nIEdE QiBpcyBzdG9wcGVkIGF0IG1haW4gd2l0aGluIGEgdGVzdCBiaW5hcnksIHJ1 biBzb21lIHRlc3RzDQogIyBwYXNzaW5nIHN0cnVjdHVyZXMsIGFuZCByZWFk aW5nIHJldHVybiB2YWx1ZSBzdHJ1Y3R1cmVzLg0KDQotcHJvYyBydW5fdGVz dHMge30gew0KK3Byb2MgcnVuX3Rlc3RzIHsgbGFuZyB0eXBlcyB9IHsNCiAg ICAgZ2xvYmFsIGdkYl9wcm9tcHQNCg0KICAgICBmb3JlYWNoIHtuYW1lfSB7 c3RydWN0XzAxXzAxIHN0cnVjdF8wMV8wMiBzdHJ1Y3RfMDFfMDMgc3RydWN0 XzAxXzA0DQogICAgICAgICAgICAgICAgICAgICBzdHJ1Y3RfMDJfMDEgc3Ry dWN0XzAyXzAyIHN0cnVjdF8wMl8wMyBzdHJ1Y3RfMDJfMDQNCiAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdF8wNF8wMSBzdHJ1Y3RfMDRfMDIgc3RydWN0 XzA0XzAzIHN0cnVjdF8wNF8wNA0KICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0XzA1XzAxIHN0cnVjdF8wNV8wMiBzdHJ1Y3RfMDVfMDMgc3RydWN0XzA1 XzA0fSB7DQorDQorICAgICAgIGlmIHsgKCAkbGFuZyA9PSAiYysrIg0KKyAg ICAgICAgICAgICAgJiYgKCAoIFtyZWdleHAgInN0cnVjdF8wMV8wKDF8Mnwz KSIgJG5hbWUgbWF0Y2hdICYmIFtyZWdleHAgIl50eXBlcy0odGQoJHwtKXx0 bCh8bCkofC10ZnwtdGR8LXRsZCkkKSIgJHR5cGVzIG1hdGNoXSApDQorICAg ICAgICAgICAgICAgICAgIHx8ICggJG5hbWUgPT0gInN0cnVjdF8wMV8wMiIg JiYgJHR5cGVzID09ICJ0eXBlcy10ZmMiICkNCisgICAgICAgICAgICAgICAg ICAgfHwgKCAkbmFtZSA9PSAic3RydWN0XzAxXzA0IiAmJiBbcmVnZXhwICJe dHlwZXMtKHRmKCR8LSl8dGkofC10ZnwtdGR8LXRsZCkkKSIgJHR5cGVzIG1h dGNoXSApDQorICAgICAgICAgICAgICAgICAgIHx8ICggJG5hbWUgPT0gInN0 cnVjdF8wMl8wMSIgJiYgW3JlZ2V4cCAiXnR5cGVzLXRmLXQoY3xzfGkpIiAk dHlwZXMgbWF0Y2hdICkgKSApIH0gew0KKyAgICAgICAgICAgc2V0dXBfeGZh aWwgZ2RiLzI0MTA0ICJ4ODZfNjQtKi1saW51eCoiDQorICAgICAgIH0NCiAg ICAgICAgZ2RiX3Rlc3QgInAvZCBjaGVja19hcmdfJHtuYW1lfSAocmVmX3Zh bF8ke25hbWV9KSIgIj0gMSINCg0KICAgICAgICBzZXQgcmVmdmFsIFsgZ2V0 X3ZhbHVlb2YgIiIgInJlZl92YWxfJHtuYW1lfSIgIiIgXQ0KQEAgLTExMyw4 ICsxMzgsMTMgQEAgcHJvYyBydW5fdGVzdHMge30gew0KDQogICAgICAgIHNl dCB0ZXN0ICJjaGVjayByZXR1cm4gdmFsdWUgJHtuYW1lfSINCiAgICAgICAg aWYgeyAke3JlZnZhbH0gIT0gIiIgfSB7DQorDQogICAgICAgICAgICBzZXQg YW5zd2VyIFsgZ2V0X3ZhbHVlb2YgIiIgInJ0bl9zdHJfJHtuYW1lfSAoKSIg IlhYWFgiXQ0KICAgICAgICAgICAgdmVyYm9zZSAtbG9nICJBbnN3ZXI6ICR7 YW5zd2VyfSINCisNCisgICAgICAgICAgIGlmIHsgKCRsYW5nID09ICJjKysi ICYmICRuYW1lID09ICJzdHJ1Y3RfMDJfMDEiICYmIFtyZWdleHAgIl50eXBl cy0odGYtdChjfHN8aSl8dChjfHN8aSktdGYpIiAkdHlwZXMgbWF0Y2hdICkg fSB7DQorICAgICAgICAgICAgICAgc2V0dXBfeGZhaWwgZ2RiLzI0MTA0ICJ4 ODZfNjQtKi1saW51eCoiDQorICAgICAgICAgICB9DQogICAgICAgICAgICBn ZGJfYXNzZXJ0IFtzdHJpbmcgZXEgJHthbnN3ZXJ9ICR7cmVmdmFsfV0gJHt0 ZXN0fQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgdW5yZXNvbHZl ZCAkdGVzdA0KQEAgLTEyNSw0OCArMTU1LDUwIEBAIHByb2MgcnVuX3Rlc3Rz IHt9IHsNCiAjIFNldCB1cCBhIHRlc3QgcHJlZml4LCBjb21waWxlIHRoZSB0 ZXN0IGJpbmFyeSwgcnVuIHRvIG1haW4sIGFuZCB0aGVuDQogIyBydW4gc29t ZSB0ZXN0cy4NCg0KLXByb2Mgc3RhcnRfZ2RiX2FuZF9ydW5fdGVzdHMgeyB0 eXBlcyB9IHsNCitwcm9jIHN0YXJ0X2dkYl9hbmRfcnVuX3Rlc3RzIHsgbGFu ZyB0eXBlcyB9IHsNCiAgICAgc2V0IHByZWZpeCAidHlwZXMiDQoNCiAgICAg Zm9yZWFjaCB0ICR0eXBlcyB7DQogICAgICAgIGFwcGVuZCBwcmVmaXggIi0i ICIke3R9Ig0KICAgICB9DQoNCi0gICAgd2l0aF90ZXN0X3ByZWZpeCAkcHJl Zml4IHsNCi0gICAgICAgaWYgeyBbc3RhcnRfbmVzdGVkX3N0cnVjdHNfdGVz dCAkdHlwZXNdIH0gew0KLSAgICAgICAgICAgcnVuX3Rlc3RzDQorICAgIGZv cmVhY2hfd2l0aF9wcmVmaXggbCAkbGFuZyB7DQorICAgICAgIHdpdGhfdGVz dF9wcmVmaXggJHByZWZpeCB7DQorICAgICAgICAgICBpZiB7IFtzdGFydF9u ZXN0ZWRfc3RydWN0c190ZXN0ICRsICR0eXBlc10gfSB7DQorICAgICAgICAg ICAgICAgcnVuX3Rlc3RzICRsICRwcmVmaXgNCisgICAgICAgICAgIH0NCiAg ICAgICAgfQ0KICAgICB9DQogfQ0KDQogZm9yZWFjaCB0YSAkaW50X3R5cGVz IHsNCi0gICAgc3RhcnRfZ2RiX2FuZF9ydW5fdGVzdHMgJHRhDQorICAgIHN0 YXJ0X2dkYl9hbmRfcnVuX3Rlc3RzICRsYW5nICR0YQ0KIH0NCg0KIGlmIFtz dXBwb3J0X2NvbXBsZXhfdGVzdHNdIHsNCiAgICAgZm9yZWFjaCB0YSAkY29t cGxleF90eXBlcyB7DQotICAgICAgIHN0YXJ0X2dkYl9hbmRfcnVuX3Rlc3Rz ICR0YQ0KKyAgICAgICBzdGFydF9nZGJfYW5kX3J1bl90ZXN0cyAkbGFuZyAk dGENCiAgICAgfQ0KIH0NCg0KIGlmICFbZ2RiX3NraXBfZmxvYXRfdGVzdF0g ew0KICAgICBmb3JlYWNoIHRhICRmbG9hdF90eXBlcyB7DQotICAgICAgIHN0 YXJ0X2dkYl9hbmRfcnVuX3Rlc3RzICR0YQ0KKyAgICAgICBzdGFydF9nZGJf YW5kX3J1bl90ZXN0cyAkbGFuZyAkdGENCiAgICAgfQ0KDQogICAgIGZvcmVh Y2ggdGEgJGludF90eXBlcyB7DQogICAgICAgIGZvcmVhY2ggdGIgJGZsb2F0 X3R5cGVzIHsNCi0gICAgICAgICAgIHN0YXJ0X2dkYl9hbmRfcnVuX3Rlc3Rz IFtsaXN0ICR0YSAkdGJdDQorICAgICAgICAgICBzdGFydF9nZGJfYW5kX3J1 bl90ZXN0cyAkbGFuZyBbbGlzdCAkdGEgJHRiXQ0KICAgICAgICB9DQogICAg IH0NCg0KICAgICBmb3JlYWNoIHRhICRmbG9hdF90eXBlcyB7DQogICAgICAg IGZvcmVhY2ggdGIgJGludF90eXBlcyB7DQotICAgICAgICAgICBzdGFydF9n ZGJfYW5kX3J1bl90ZXN0cyBbbGlzdCAkdGEgJHRiXQ0KKyAgICAgICAgICAg c3RhcnRfZ2RiX2FuZF9ydW5fdGVzdHMgJGxhbmcgW2xpc3QgJHRhICR0Yl0N CiAgICAgICAgfQ0KDQogICAgICAgIGZvcmVhY2ggdGIgJGZsb2F0X3R5cGVz IHsNCi0gICAgICAgICAgIHN0YXJ0X2dkYl9hbmRfcnVuX3Rlc3RzIFtsaXN0 ICR0YSAkdGJdDQorICAgICAgICAgICBzdGFydF9nZGJfYW5kX3J1bl90ZXN0 cyAkbGFuZyBbbGlzdCAkdGEgJHRiXQ0KICAgICAgICB9DQogICAgIH0NCiB9 DQoNCj4gT24gMTggSmFuIDIwMTksIGF0IDEwOjM0LCBBbGFuIEhheXdhcmQg PEFsYW4uSGF5d2FyZEBhcm0uY29tPiB3cm90ZToNCj4gDQo+IChUaGFua3Ms IHdvdWxkIGhhdmUgcHVzaGVkLCBidXQgb3V0c3RhbmRpbmcgcXVlc3Rpb24g YmVsb3cp4oCmDQo+IA0KPiANCj4+IE9uIDE3IEphbiAyMDE5LCBhdCAxNzow OCwgUGVkcm8gQWx2ZXMgPHBhbHZlc0ByZWRoYXQuY29tPiB3cm90ZToNCj4+ IA0KPj4gT24gMDEvMTYvMjAxOSAwMzo1NyBQTSwgQWxhbiBIYXl3YXJkIHdy b3RlOg0KPj4+IFdoZW4gZ2RiLmJhc2UvaW5mY2FsbC1uZXN0ZWQtc3RydWN0 cy5jIGlzIGNvbXBsaWVkIGFzIEMrKywgdGhlIHN0cnVjdHMNCj4+PiBjb250 YWluaW5nIGVtcHR5IHN0cnVjdHMgYXJlIG5vIGxvbmdlciBwYXNzZWQgdmlh IGZsb2F0IGFyZ3VtZW50cy4NCj4+IA0KPj4gVGhpcyByZWFkcyBhIGJpdCBh bWJpZ3VvdXNseS4gIFdoaWNoIGlzIGl0Pw0KPj4gDQo+PiAjMSAtIE5vIGxv bmdlciBwYXNzZWQgYnkgR0NDLCBidXQgR0RCIHN0aWxsIHBhc3Nlcy4NCj4+ ICMyIC0gTm8gbG9uZ2VyIHBhc3NlZCBieSBHREIsIGJ1dCBHQ0Mgc3RpbGwg cGFzc2VzLg0KPj4gDQo+Pj4gVGhpcyBpcyBiZWNhdXNlIHN0cnVjdHMgaW4g QysrIGhhdmUgYSBtaW5pbXVtIHNpemUgb2YgMS4gIFRoaXMgY2FuIHRoZW4N Cj4+PiBjYXVzZSBwYWRkaW5nIGluIHRoZSBzdHJ1Y3QsIHdoaWNoIGlzIGRp c2FsbG93ZWQgZm9yIEFBUENTLg0KPj4gDQo+PiBEb2VzIHRoaXMgImRpc2Fs bG93ZWQiIG1lYW4gdGhhdCBzdHJ1Y3RzIHdpdGggcGFkZGluZyBhcmUNCj4+ IG5vdCBhbGxvd2VkIHRvIGJlIHBhc3NlZCB2aWEgZmxvYXQgYXJndW1lbnRz PyAgVG9vayBtZSBhIHdoaWxlIHRvDQo+PiBncm9rIHRoYXQuDQo+PiANCj4+ IEl0J2QgYmUgZ29vZCB0byBjbGFyaWZ5IHRoZSBjb21taXQgbG9nLg0KPiAN Cj4gSeKAmWxsIGNoYW5nZSB0bzoNCj4gV2hlbiBnZGIuYmFzZS9pbmZjYWxs LW5lc3RlZC1zdHJ1Y3RzLmMgaXMgY29tcGxpZWQgYXMgQysrLCB0aGUgY29t cGlsZXINCj4gd2lsbCBub3QgcGFzcyBzdHJ1Y3RzIGNvbnRhaW5pbmcgZW1w dHkgc3RydWN0cyB2aWEgZmxvYXQgYXJndW1lbnRzLg0KPiBUaGlzIGlzIGJl Y2F1c2Ugc3RydWN0cyBpbiBDKysgaGF2ZSBhIG1pbmltdW0gc2l6ZSBvZiAx LCBjYXVzaW5nIHBhZGRpbmcNCj4gaW4gdGhlIHN0cnVjdC4gIFRoZSBBQVBD UyBkb2VzIG5vdCBhbGxvdyBzdHJ1Y3RzIHdpdGggcGFkZGluZyB0byBiZQ0K PiBwYXNzZWQgaW4gZmxvYXQgYXJndW1lbnRzLg0KPiANCj4+PiArZm9yZWFj aCBsICRsYW5nIHsNCj4+PiArICAgIHNldCBkaXIgIiRsIg0KPj4+ICsgICAg cmVtb3RlX2V4ZWMgYnVpbGQgInJtIC1yZiBbc3RhbmRhcmRfb3V0cHV0X2Zp bGUgJHtkaXJ9XSINCj4+PiArICAgIHJlbW90ZV9leGVjIGJ1aWxkICJta2Rp ciAtcCBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHtkaXJ9XSINCj4+IA0KPj4g SSB0aGluayB0aGVzZSBzaG91bGQgYmUNCj4+IA0KPj4gIHJlbW90ZV9leGVj IGhvc3QNCj4+IA0KPj4gbm90ICJidWlsZCIgPw0KPj4gDQo+PiBGb3IgcmVt b3RlLWhvc3QgdGVzdGluZywgd2hlcmUgdGhlIGNvbXBpbGVyIGFuZCBkZWJ1 Z2dlciBydW4gb24gdGhlDQo+PiBob3N0IG1hY2hpbmUuDQo+PiANCj4gDQo+ IFRoaXMgd2FzIGR1ZSB0byBjb3B5aW5nIGZyb20gYW5vdGhlciB0ZXN0IC0g SeKAmWxsIHJhaXNlIGEgcXVpY2sNCj4gcGF0Y2ggdG8gZml4IHRob3NlIHVw IHRvby4NCj4gDQo+IA0KPj4gQ291bGQgeW91IHBsZWFzZSBmaWxlIGEgYnVn IGZvciB0aGUgeDg2IGludGVybmFsIGVycm9ycywgYW5kDQo+PiBrZmFpbCB0 aGUgdGVzdCBmb3IgeDg2Pw0KPj4gDQo+IA0KPiBXaWxsIHJhaXNlIGEgYnVn Lg0KPiANCj4gVGhlIHBhdHRlcm4gZm9yIHdoaWNoIHRlc3RzIHBhc3MgYW5k IGZhaWwgaXMgbm90IHRoYXQgc2ltcGxlLg0KPiBFYWNoIHN0cnVjdHVyZSBn ZXRzIHRlc3RlZCA0OSB0aW1lcyBvbiBjKysgKHdpdGggZGlmZmVyZW50IHR5 cGVzKS4NCj4gRWc6IEZvciBzdHJ1Y3RfMDFfMDEsIDE3IG9mIHRoZW0gZmFp bCwgYnV0IGZvciBzdHJ1Y3RfMDFfMDQgb25seQ0KPiAxMyBmYWlsLg0KPiAN Cj4gSXMgaXQgb2sgdG8gYmUgb3ZlciBjYXV0aW91cyAoYW5kIGhhdmUgc29t ZSBYUEFTUyByZXN1bHRzKQ0KPiBvciBkbyB3ZSByZWFsbHkgbmVlZCBhIGxh cmdlIG1lc3N5IGlmIHN0YXRlbWVudCB3aXRoIGFsbCB0aGUNCj4gZXhhY3Qg bWF0Y2hlcz8NCj4gDQo+IA0KPj4gT3RoZXJ3aXNlIGxvb2tzIGZpbmUgdG8g bWUuDQo+PiANCj4+IFRoYW5rcywNCj4+IFBlZHJvIEFsdmVzDQo+PiANCj4+ PiArfQ0KPj4+ICsNCj4+PiArDQo+Pj4gc2V0IGludF90eXBlcyB7IHRjIHRz IHRpIHRsIHRsbCB9DQo+Pj4gc2V0IGZsb2F0X3R5cGVzIHsgdGYgdGQgdGxk IH0NCj4+PiBzZXQgY29tcGxleF90eXBlcyB7IHRmYyB0ZGMgdGxkYyB9DQo+ Pj4gQEAgLTQ0LDcgKzU4LDcgQEAgcHJvYyBJMkEgeyBuIH0gew0KPj4+ICMg dHlwZXMgb2YgdGhlIHN0cnVjdCBmaWVsZHMgd2l0aGluIHRoZSBzb3VyY2Uu ICBSdW4gdXAgdG8gbWFpbi4NCj4+PiAjIEFsc28gdXBkYXRlcyB0aGUgZ2xv YmFsICJ0ZXN0ZmlsZSIgdG8gcmVmbGVjdCB0aGUgbW9zdCByZWNlbnQgYnVp bGQuDQo+Pj4gDQo+Pj4gLXByb2Mgc3RhcnRfbmVzdGVkX3N0cnVjdHNfdGVz dCB7IHR5cGVzIH0gew0KPj4+ICtwcm9jIHN0YXJ0X25lc3RlZF9zdHJ1Y3Rz X3Rlc3QgeyBsYW5nIHR5cGVzIH0gew0KPj4+ICAgIGdsb2JhbCB0ZXN0Zmls ZQ0KPj4+ICAgIGdsb2JhbCBzcmNmaWxlDQo+Pj4gICAgZ2xvYmFsIGJpbmZp bGUNCj4+PiBAQCAtNTMsOSArNjcsMTEgQEAgcHJvYyBzdGFydF9uZXN0ZWRf c3RydWN0c190ZXN0IHsgdHlwZXMgfSB7DQo+Pj4gICAgZ2xvYmFsIGNvbXBp bGVfZmxhZ3MNCj4+PiANCj4+PiAgICBzdGFuZGFyZF90ZXN0ZmlsZSAuYw0K Pj4+ICsgICAgc2V0IGRpciAiJGxhbmciDQo+Pj4gDQo+Pj4gICAgIyBDcmVh dGUgdGhlIGFkZGl0aW9uYWwgZmxhZ3MNCj4+PiAgICBzZXQgZmxhZ3MgJGNv bXBpbGVfZmxhZ3MNCj4+PiArICAgIGxhcHBlbmQgZmxhZ3MgJGxhbmcNCj4+ PiANCj4+PiAgICBmb3Ige3NldCBuIDB9IHskbjxbbGxlbmd0aCAke3R5cGVz fV19IHtpbmNyIG59IHsNCj4+PiAJc2V0IG0gW0kyQSAke259XQ0KPj4+IEBA IC02NCw3ICs4MCw3IEBAIHByb2Mgc3RhcnRfbmVzdGVkX3N0cnVjdHNfdGVz dCB7IHR5cGVzIH0gew0KPj4+IAlhcHBlbmQgdGVzdGZpbGUgIi0iICIkdCIN Cj4+PiAgICB9DQo+Pj4gDQo+Pj4gLSAgICBzZXQgYmluZmlsZSBbc3RhbmRh cmRfb3V0cHV0X2ZpbGUgJHt0ZXN0ZmlsZX1dDQo+Pj4gKyAgICBzZXQgYmlu ZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHtkaXJ9LyR7dGVzdGZpbGV9 XQ0KPj4+ICAgIGlmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3Vi ZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSAiJHtm bGFnc30iXSAhPSAiIiB9IHsNCj4+PiAJdW5yZXNvbHZlZCAiZmFpbGVkIHRv IGNvbXBpbGUiDQo+Pj4gCXJldHVybiAwDQo+Pj4gQEAgLTEyNSw0OCArMTQx LDUwIEBAIHByb2MgcnVuX3Rlc3RzIHt9IHsNCj4+PiAjIFNldCB1cCBhIHRl c3QgcHJlZml4LCBjb21waWxlIHRoZSB0ZXN0IGJpbmFyeSwgcnVuIHRvIG1h aW4sIGFuZCB0aGVuDQo+Pj4gIyBydW4gc29tZSB0ZXN0cy4NCj4+PiANCj4+ PiAtcHJvYyBzdGFydF9nZGJfYW5kX3J1bl90ZXN0cyB7IHR5cGVzIH0gew0K Pj4+ICtwcm9jIHN0YXJ0X2dkYl9hbmRfcnVuX3Rlc3RzIHsgbGFuZyB0eXBl cyB9IHsNCj4+IA0KPj4+ICAgIHNldCBwcmVmaXggInR5cGVzIg0KPj4+IA0K Pj4+ICAgIGZvcmVhY2ggdCAkdHlwZXMgew0KPj4+IAlhcHBlbmQgcHJlZml4 ICItIiAiJHt0fSINCj4+PiAgICB9DQo+Pj4gDQo+Pj4gLSAgICB3aXRoX3Rl c3RfcHJlZml4ICRwcmVmaXggew0KPj4+IC0JaWYgeyBbc3RhcnRfbmVzdGVk X3N0cnVjdHNfdGVzdCAkdHlwZXNdIH0gew0KPj4+IC0JICAgIHJ1bl90ZXN0 cw0KPj4+ICsgICAgZm9yZWFjaF93aXRoX3ByZWZpeCBsICRsYW5nIHsNCj4+ PiArCXdpdGhfdGVzdF9wcmVmaXggJHByZWZpeCB7DQo+Pj4gKwkgICAgaWYg eyBbc3RhcnRfbmVzdGVkX3N0cnVjdHNfdGVzdCAkbCAkdHlwZXNdIH0gew0K Pj4+ICsJCXJ1bl90ZXN0cw0KPj4+ICsJICAgIH0NCj4+PiAJfQ0KPj4+ICAg IH0NCj4+PiB9DQo+Pj4gDQo+Pj4gZm9yZWFjaCB0YSAkaW50X3R5cGVzIHsN Cj4+PiAtICAgIHN0YXJ0X2dkYl9hbmRfcnVuX3Rlc3RzICR0YQ0KPj4+ICsg ICAgc3RhcnRfZ2RiX2FuZF9ydW5fdGVzdHMgJGxhbmcgJHRhDQo+Pj4gfQ0K Pj4+IA0KPj4+IGlmIFtzdXBwb3J0X2NvbXBsZXhfdGVzdHNdIHsNCj4+PiAg ICBmb3JlYWNoIHRhICRjb21wbGV4X3R5cGVzIHsNCj4+PiAtCXN0YXJ0X2dk Yl9hbmRfcnVuX3Rlc3RzICR0YQ0KPj4+ICsJc3RhcnRfZ2RiX2FuZF9ydW5f dGVzdHMgJGxhbmcgJHRhDQo+Pj4gICAgfQ0KPj4+IH0NCj4+PiANCj4+PiBp ZiAhW2dkYl9za2lwX2Zsb2F0X3Rlc3RdIHsNCj4+PiAgICBmb3JlYWNoIHRh ICRmbG9hdF90eXBlcyB7DQo+Pj4gLQlzdGFydF9nZGJfYW5kX3J1bl90ZXN0 cyAkdGENCj4+PiArCXN0YXJ0X2dkYl9hbmRfcnVuX3Rlc3RzICRsYW5nICR0 YQ0KPj4+ICAgIH0NCj4+PiANCj4+PiAgICBmb3JlYWNoIHRhICRpbnRfdHlw ZXMgew0KPj4+IAlmb3JlYWNoIHRiICRmbG9hdF90eXBlcyB7DQo+Pj4gLQkg ICAgc3RhcnRfZ2RiX2FuZF9ydW5fdGVzdHMgW2xpc3QgJHRhICR0Yl0NCj4+ PiArCSAgICBzdGFydF9nZGJfYW5kX3J1bl90ZXN0cyAkbGFuZyBbbGlzdCAk dGEgJHRiXQ0KPj4+IAl9DQo+Pj4gICAgfQ0KPj4+IA0KPj4+ICAgIGZvcmVh Y2ggdGEgJGZsb2F0X3R5cGVzIHsNCj4+PiAJZm9yZWFjaCB0YiAkaW50X3R5 cGVzIHsNCj4+PiAtCSAgICBzdGFydF9nZGJfYW5kX3J1bl90ZXN0cyBbbGlz dCAkdGEgJHRiXQ0KPj4+ICsJICAgIHN0YXJ0X2dkYl9hbmRfcnVuX3Rlc3Rz ICRsYW5nIFtsaXN0ICR0YSAkdGJdDQo+Pj4gCX0NCj4+PiANCj4+PiAJZm9y ZWFjaCB0YiAkZmxvYXRfdHlwZXMgew0KPj4+IC0JICAgIHN0YXJ0X2dkYl9h bmRfcnVuX3Rlc3RzIFtsaXN0ICR0YSAkdGJdDQo+Pj4gKwkgICAgc3RhcnRf Z2RiX2FuZF9ydW5fdGVzdHMgJGxhbmcgW2xpc3QgJHRhICR0Yl0NCj4+PiAJ fQ0KPj4+ICAgIH0NCj4+PiB9DQo+Pj4gDQo+PiANCj4gDQoNCg== >From gdb-patches-return-153561-listarch-gdb-patches=sources.redhat.com@sourceware.org Mon Jan 21 15:59:56 2019 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 121645 invoked by alias); 21 Jan 2019 15:59:55 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 121625 invoked by uid 89); 21 Jan 2019 15:59:55 -0000 Authentication-Results: sourceware.org; auth=none 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,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: gateway30.websitewelcome.com Received: from gateway30.websitewelcome.com (HELO gateway30.websitewelcome.com) (192.185.145.3) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 21 Jan 2019 15:59:52 +0000 Received: from cm13.websitewelcome.com (cm13.websitewelcome.com [100.42.49.6]) by gateway30.websitewelcome.com (Postfix) with ESMTP id 8059510270 for ; Mon, 21 Jan 2019 09:59:51 -0600 (CST) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id lbzLgOLyQYTGMlbzLg7HBy; Mon, 21 Jan 2019 09:59:51 -0600 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=AZr3Yi7wBHl3lKKP9h6bqbnzbEw9mInde9ftKwkIXEA=; b=t7LSBEQK9p0qpb2StPLKaG8bSV Fq6EpazwjHxYidnGV+O5sZISeyaohEgCwQCuHJfeM4iynx2TSfFJM6Hn2HT7SeBSh3/bY3QlNJFqg dwF3xV+jXI3gaPYhugOUpjXhM; Received: from 75-166-72-210.hlrn.qwest.net ([75.166.72.210]:57474 helo=pokyo) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1glbzL-0044tG-8g; Mon, 21 Jan 2019 09:59:51 -0600 From: Tom Tromey To: Philippe Waroquiers Cc: gdb-patches@sourceware.org Subject: Re: [RFA] Fix leak detected in GDB test gdb.base/macscp.exp References: <20190119172923.25343-1-philippe.waroquiers@skynet.be> Date: Mon, 21 Jan 2019 15:59:00 -0000 In-Reply-To: <20190119172923.25343-1-philippe.waroquiers@skynet.be> (Philippe Waroquiers's message of "Sat, 19 Jan 2019 18:29:23 +0100") Message-ID: <87zhru6lxl.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2019-01/txt/msg00451.txt.bz2 Content-length: 2174 >>>>> "Philippe" == Philippe Waroquiers writes: Philippe> libiberty/ChangeLog Philippe> 2019-01-19 Philippe Waroquiers Philippe> * splay-tree.c (splay_tree_remove): Call sp->delete_key. Philippe> (splay_tree_new_typed_alloc): Update comment. Like I mentioned before, I didn't see this before sending my own patch to gcc. I'm checking in the appended to binutils-gdb now. I looked at all splay_tree_new* calls in binutils-gdb and the only one impacted is the one in gdb that causes the leak. Tom commit 33ee267e434ae4b7acb44537f8be5a6663f3b70f Author: Tom Tromey Date: Fri Jan 18 14:19:55 2019 -0700 Fix leak in splay-tree Philippe Waroquiers noticed a memory leak in gdb, which he tracked down to a bug in splay-tree. splay_tree_remove does not call the `delete_key' function when it removes the old node; but it should. I looked at every splay tree in GCC and there is only one that passes a non-NULL delete function -- the one in lto.c. That file does not call splay_tree_remove. So, I think this is safe to check in. I re-ran the LTO tests to double check. libiberty/ * splay-tree.c (splay_tree_remove): Delete the key if necessary. diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index bcc0227bdd8..1eb25f928f2 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,7 @@ +2019-01-18 Tom Tromey + + * splay-tree.c (splay_tree_remove): Delete the key if necessary. + 2019-01-14 Tom Honermann * cp-demangle.c (cplus_demangle_builtin_types) diff --git a/libiberty/splay-tree.c b/libiberty/splay-tree.c index 920e68db2cb..21d23c38dfc 100644 --- a/libiberty/splay-tree.c +++ b/libiberty/splay-tree.c @@ -425,6 +425,8 @@ splay_tree_remove (splay_tree sp, splay_tree_key key) right = sp->root->right; /* Delete the root node itself. */ + if (sp->delete_key) + (*sp->delete_key) (sp->root->key); if (sp->delete_value) (*sp->delete_value) (sp->root->value); (*sp->deallocate) (sp->root, sp->allocate_data);