From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28681 invoked by alias); 5 Dec 2014 22:41:26 -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 28571 invoked by uid 89); 5 Dec 2014 22:41:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mail-ig0-f171.google.com Received: from mail-ig0-f171.google.com (HELO mail-ig0-f171.google.com) (209.85.213.171) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 05 Dec 2014 22:41:22 +0000 Received: by mail-ig0-f171.google.com with SMTP id z20so60598igj.16 for ; Fri, 05 Dec 2014 14:41:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc :content-type; bh=CnwgRfOnvW//kDu4+Bx3/HTMpwjAmhgqFwRXlg0kVNs=; b=HDgUO8nPBNeli/rCOAdD9HgM17ziC9f1IyHvO80ZnJSk8bomYomTjPxOBTEPinbAN/ iMtfajrJ6MbEj/X3qOvF1+5xyY74dqiBAotPR76TfWII+kFPFzjiT20lSyr4HcIAIR9p TE8nUcNpn7/V2WWG7l5yj2giYn0b5pn1rs44UEPHRe0JW0sxkg6VyK6x/XI05fita989 49LHg1J3lLQ2qnPtEu8UUrTBGl/u7RzgW5aZySusQrKVgoDWgqH97YbcmqNQcvx5iEek 7AbcEhS5iJuMom43jMR1np/qtuU6kzfvX/ktntpIgWMoL45fwUvernMU2dm3YJ94ZQkJ hDXg== X-Gm-Message-State: ALoCoQn7QXthEXGXdZFAJujWrLTC8yMPvNrdeLuW1IFhe7hpC7KKcbgRv0hv/kO0RZpmx8WqYx/F X-Received: by 10.42.4.201 with SMTP id 9mr17873061ict.23.1417819280248; Fri, 05 Dec 2014 14:41:20 -0800 (PST) MIME-Version: 1.0 Received: by 10.64.132.129 with HTTP; Fri, 5 Dec 2014 14:41:00 -0800 (PST) From: Caroline Tice Date: Fri, 05 Dec 2014 22:41:00 -0000 Message-ID: Subject: [PATCH] Fix size & type for cold partition names (hot-cold function partitioning) To: GCC Patches Cc: Caroline Tice Content-Type: multipart/mixed; boundary=001a11346bd28e493705097fc6ba X-IsSubscribed: yes X-SW-Source: 2014-12/txt/msg00562.txt.bz2 --001a11346bd28e493705097fc6ba Content-Type: text/plain; charset=UTF-8 Content-length: 1749 When hot/cold function splitting occurs, a symbol is generated for the cold partition, and gets output in the assembly & debug info, but the symbol currently gets a size of 0 and a type of NOTYPE, as in this example (on x86_64-linux) from the cold_partition_label test in the testsuite: $ readelf -sW cold_partition_label.x02 | grep foo 36: 0000000000400450 0 NOTYPE LOCAL DEFAULT 12 foo.cold.0 58: 0000000000400490 43 FUNC GLOBAL DEFAULT 12 foo $ This patch fixes this by calculating the right size for the partition, and outputing the size and type fo the cold partition symbol. After applying this patch and looking at the same test, I get: $ readelf -sW cold_partition_label.x02 | grep foo 36: 0000000000400450 29 FUNC LOCAL DEFAULT 12 foo.cold.0 58: 0000000000400490 43 FUNC GLOBAL DEFAULT 12 foo $ This patch has been tested by bootstrapping the compiler, running the dejagnu testsuite with no regressions, and checked as shown above that it fixes the original problem. Is this patch OK to commit to ToT? -- Caroline Tice cmtice@google.com 2014-12-05 Caroline Tice * final.c (final_scan_insn): Change 'cold_function_name' to 'cold_partition_name' and make it a global variable; also output assembly to give it a 'FUNC' type, if appropriate. * varasm.c (cold_partition_name): Declare and initialize global variable. (assemble_start_function): Re-set value for cold_partition_name. (assemble_end_function): Output assembly to calculate size of cold partition, and associate size with name, if appropriate. * varash.h (cold_partition_name): Add extern declaration for global variable. --001a11346bd28e493705097fc6ba Content-Type: text/x-patch; charset=US-ASCII; name="cold-partition-name.patch" Content-Disposition: attachment; filename="cold-partition-name.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i3c4x0770 Content-length: 3839 SW5kZXg6IGdjYy9maW5hbC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGdjYy9maW5hbC5jCShyZXZpc2lvbiAyMTg0MzQpCisrKyBnY2MvZmluYWwu Ywkod29ya2luZyBjb3B5KQpAQCAtMjIyMywxMCArMjIyMywxNiBAQAogCSAg ICAgc3VmZml4aW5nICJjb2xkIiB0byB0aGUgb3JpZ2luYWwgZnVuY3Rpb24n cyBuYW1lLiAgKi8KIAkgIGlmIChpbl9jb2xkX3NlY3Rpb25fcCkKIAkgICAg ewotCSAgICAgIHRyZWUgY29sZF9mdW5jdGlvbl9uYW1lCisJICAgICAgY29s ZF9wYXJ0aXRpb25fbmFtZQogCQk9IGNsb25lX2Z1bmN0aW9uX25hbWUgKGN1 cnJlbnRfZnVuY3Rpb25fZGVjbCwgImNvbGQiKTsKKyNpZmRlZiBBU01fREVD TEFSRV9GVU5DVElPTl9OQU1FCisJICAgICAgQVNNX0RFQ0xBUkVfRlVOQ1RJ T05fTkFNRSAoYXNtX291dF9maWxlLAorCQkJCQkgSURFTlRJRklFUl9QT0lO VEVSIChjb2xkX3BhcnRpdGlvbl9uYW1lKSwKKwkJCQkJIGN1cnJlbnRfZnVu Y3Rpb25fZGVjbCk7CisjZWxzZQogCSAgICAgIEFTTV9PVVRQVVRfTEFCRUwg KGFzbV9vdXRfZmlsZSwKLQkJCQlJREVOVElGSUVSX1BPSU5URVIgKGNvbGRf ZnVuY3Rpb25fbmFtZSkpOworCQkJCUlERU5USUZJRVJfUE9JTlRFUiAoY29s ZF9wYXJ0aXRpb25fbmFtZSkpOworI2VuZGlmCiAJICAgIH0KIAkgIGJyZWFr OwogCkluZGV4OiBnY2MvdmFyYXNtLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gZ2NjL3ZhcmFzbS5jCShyZXZpc2lvbiAyMTg0MzQpCisrKyBnY2Mv dmFyYXNtLmMJKHdvcmtpbmcgY29weSkKQEAgLTE3MSw2ICsxNzEsMTMgQEAK ICAgIGF0IHRoZSBjb2xkIHNlY3Rpb24uICAqLwogYm9vbCBpbl9jb2xkX3Nl Y3Rpb25fcDsKIAorLyogVGhlIGZvbGxvd2luZyBnbG9iYWwgaG9sZHMgdGhl IHBhcnRpdGlvbiBuYW1lIGZvciB0aGUgY29kZSBpbiB0aGUKKyAgIGNvbGQg c2VjdGlvbiBvZiBhIGZ1bmN0aW9uLCBpZiBob3QvY29sZCBmdW5jdGlvbiBz cGxpdHRpbmcgaXMgZW5hYmxlZAorICAgYW5kIHRoZXJlIHdhcyBhY3R1YWxs eSBjb2RlIHRoYXQgd2VudCBpbnRvIHRoZSBjb2xkIHNlY3Rpb24uICBBCisg ICBwc2V1ZG8gZnVuY3Rpb24gbmFtZSBpcyBuZWVkZWQgZm9yIHRoZSBjb2xk IHNlY3Rpb24gb2YgY29kZSBmb3Igc29tZQorICAgZGVidWdnaW5nIHRvb2xz IHRoYXQgcGVyZm9ybSBzeW1ib2xpemF0aW9uLiAqLwordHJlZSBjb2xkX3Bh cnRpdGlvbl9uYW1lID0gTlVMTF9UUkVFOworCiAvKiBBIGxpbmtlZCBsaXN0 IG9mIGFsbCB0aGUgdW5uYW1lZCBzZWN0aW9ucy4gICovCiBzdGF0aWMgR1RZ KCgpKSBzZWN0aW9uICp1bm5hbWVkX3NlY3Rpb25zOwogCkBAIC0xNzA4LDYg KzE3MTUsNyBAQAogICAgICAgQVNNX0dFTkVSQVRFX0lOVEVSTkFMX0xBQkVM ICh0bXBfbGFiZWwsICJMQ09MREUiLCBjb25zdF9sYWJlbG5vKTsKICAgICAg IGNydGwtPnN1YnNlY3Rpb25zLmNvbGRfc2VjdGlvbl9lbmRfbGFiZWwgPSBn Z2Nfc3RyZHVwICh0bXBfbGFiZWwpOwogICAgICAgY29uc3RfbGFiZWxubysr OworICAgICAgY29sZF9wYXJ0aXRpb25fbmFtZSA9IE5VTExfVFJFRTsKICAg ICB9CiAgIGVsc2UKICAgICB7CkBAIC0xODQzLDYgKzE4NTEsMTAgQEAKIAog ICAgICAgc2F2ZV90ZXh0X3NlY3Rpb24gPSBpbl9zZWN0aW9uOwogICAgICAg c3dpdGNoX3RvX3NlY3Rpb24gKHVubGlrZWx5X3RleHRfc2VjdGlvbiAoKSk7 CisgICAgICBpZiAoY29sZF9wYXJ0aXRpb25fbmFtZSAhPSBOVUxMX1RSRUUp CisJQVNNX0RFQ0xBUkVfRlVOQ1RJT05fU0laRSAoYXNtX291dF9maWxlLAor CQkJCSAgIElERU5USUZJRVJfUE9JTlRFUiAoY29sZF9wYXJ0aXRpb25fbmFt ZSksCisJCQkJICAgZGVjbCk7CiAgICAgICBBU01fT1VUUFVUX0xBQkVMIChh c21fb3V0X2ZpbGUsIGNydGwtPnN1YnNlY3Rpb25zLmNvbGRfc2VjdGlvbl9l bmRfbGFiZWwpOwogICAgICAgaWYgKGZpcnN0X2Z1bmN0aW9uX2Jsb2NrX2lz X2NvbGQpCiAJc3dpdGNoX3RvX3NlY3Rpb24gKHRleHRfc2VjdGlvbik7Cklu ZGV4OiBnY2MvdmFyYXNtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g Z2NjL3ZhcmFzbS5oCShyZXZpc2lvbiAyMTg0MzQpCisrKyBnY2MvdmFyYXNt LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwLDYgKzIwLDEzIEBACiAjaWZuZGVm IEdDQ19WQVJBU01fSAogI2RlZmluZSBHQ0NfVkFSQVNNX0gKIAorLyogVGhl IGZvbGxvd2luZyBnbG9iYWwgaG9sZHMgdGhlIHBhcnRpdGlvbiBuYW1lIGZv ciB0aGUgY29kZSBpbiB0aGUKKyAgIGNvbGQgc2VjdGlvbiBvZiBhIGZ1bmN0 aW9uLCBpZiBob3QvY29sZCBmdW5jdGlvbiBzcGxpdHRpbmcgaXMgZW5hYmxl ZAorICAgYW5kIHRoZXJlIHdhcyBhY3R1YWxseSBjb2RlIHRoYXQgd2VudCBp bnRvIHRoZSBjb2xkIHNlY3Rpb24uICBBCisgICBwc2V1ZG8gZnVuY3Rpb24g bmFtZSBpcyBuZWVkZWQgZm9yIHRoZSBjb2xkIHNlY3Rpb24gb2YgY29kZSBm b3Igc29tZQorICAgZGVidWdnaW5nIHRvb2xzIHRoYXQgcGVyZm9ybSBzeW1i b2xpemF0aW9uLiAqLworZXh0ZXJuIHRyZWUgY29sZF9wYXJ0aXRpb25fbmFt ZTsKKwogZXh0ZXJuIHRyZWUgdHJlZV9vdXRwdXRfY29uc3RhbnRfZGVmICh0 cmVlKTsKIGV4dGVybiB2b2lkIG1ha2VfZGVjbF9ydGwgKHRyZWUpOwogZXh0 ZXJuIHJ0eCBtYWtlX2RlY2xfcnRsX2Zvcl9kZWJ1ZyAodHJlZSk7Cg== --001a11346bd28e493705097fc6ba--