From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 78592 invoked by alias); 10 Apr 2015 18:25: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 77042 invoked by uid 89); 10 Apr 2015 18:25:17 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Fri, 10 Apr 2015 18:25:16 +0000 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id EBE958F303 for ; Fri, 10 Apr 2015 18:25:14 +0000 (UTC) Received: from reynosa.quesejoda.com (vpn-61-146.rdu2.redhat.com [10.10.61.146]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t3AIPDDY030779 for ; Fri, 10 Apr 2015 14:25:14 -0400 Message-ID: <55281589.9010209@redhat.com> Date: Fri, 10 Apr 2015 18:25:00 -0000 From: Aldy Hernandez User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: gcc-patches Subject: [debug-early] handle objects containing variable-length members Content-Type: multipart/mixed; boundary="------------040300010405050904010307" X-SW-Source: 2015-04/txt/msg00464.txt.bz2 This is a multi-part message in MIME format. --------------040300010405050904010307 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1255 The attached patch handles late dwarf annotations to objects containing variable-length members. It fixes the following regressions in the gdb testsuite: > FAIL: gdb.base/vla-datatypes.exp: print vla_struct_object > FAIL: gdb.base/vla-datatypes.exp: print vla_union_object > FAIL: gdb.base/vla-datatypes.exp: ptype vla_struct_object > FAIL: gdb.base/vla-datatypes.exp: ptype vla_union_object > FAIL: gdb.base/vla-datatypes.exp: size of vla_struct_object > FAIL: gdb.base/vla-datatypes.exp: size of vla_union_object I am not convinced this is the last patch to variable-length variables, so it may require further refining, but it does get us down to ZERO gdb regressions which is A Good Thing (TM). The only differences I see for trunk and the debug-early branch wrt gdb regressions are: < KFAIL: gdb.cp/oranking.exp: p foo4(&a) (PRMS: gdb/12098) --- > KPASS: gdb.cp/oranking.exp: p foo4(&a) (PRMS gdb/12098) 20065c20065 < KFAIL: gdb.cp/oranking.exp: p foo101("abc") (PRMS: gdb/12098) --- > KPASS: gdb.cp/oranking.exp: p foo101("abc") (PRMS gdb/12098) 28222c28222 Plus some noise regarding threads. I don't know what KFAIL/KPASS are, having lived in GCC land too long, but I will take a look at those next. Committed to branch. Aldy --------------040300010405050904010307 Content-Type: text/plain; charset=UTF-8; name="curr" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="curr" Content-length: 3534 Y29tbWl0IGI3Y2M0MDU0NjU0NTkxYTUzZTdkY2M2YTMzZjFlYzM1YTNjNWE3 ZjkKQXV0aG9yOiBBbGR5IEhlcm5hbmRleiA8YWxkeWhAcmVkaGF0LmNvbT4K RGF0ZTogICBGcmkgQXByIDEwIDExOjE2OjQ2IDIwMTUgLTA3MDAKCiAgICBI YW5kbGUgbGF0ZSBkd2FyZiBhbm5vdGF0aW9ucyB0byBvYmplY3RzIGNvbnRh aW5pbmcgdmFyaWFibGUtbGVuZ3RoCiAgICBtZW1iZXJzLgoKZGlmZiAtLWdp dCBhL2djYy9kd2FyZjJvdXQuYyBiL2djYy9kd2FyZjJvdXQuYwppbmRleCAx OTI4ODQ2Li4wOTc2NDE1IDEwMDY0NAotLS0gYS9nY2MvZHdhcmYyb3V0LmMK KysrIGIvZ2NjL2R3YXJmMm91dC5jCkBAIC0yMDQ3MCw2ICsyMDQ3MCwxNiBA QCBzdGF0aWMgdm9pZAogZ2VuX3N0cnVjdF9vcl91bmlvbl90eXBlX2RpZSAo dHJlZSB0eXBlLCBkd19kaWVfcmVmIGNvbnRleHRfZGllLAogCQkJCWVudW0g ZGVidWdfaW5mb191c2FnZSB1c2FnZSkKIHsKKyAgLyogRmlsbCBpbiB0aGUg c2l6ZSBvZiB2YXJpYWJsZSBsZW5ndGhlZCBmaWVsZHMgaW4gbGF0ZSBkd2Fy Zi4gICovCisgIGlmIChUUkVFX0FTTV9XUklUVEVOICh0eXBlKQorICAgICAg JiYgIWVhcmx5X2R3YXJmX2R1bXBpbmcpCisgICAgeworICAgICAgdHJlZSBt ZW1iZXI7CisgICAgICBmb3IgKG1lbWJlciA9IFRZUEVfRklFTERTICh0eXBl KTsgbWVtYmVyOyBtZW1iZXIgPSBERUNMX0NIQUlOIChtZW1iZXIpKQorCWZp bGxfdmFyaWFibGVfYXJyYXlfYm91bmRzIChUUkVFX1RZUEUgKG1lbWJlcikp OworICAgICAgcmV0dXJuOworICAgIH0KKwogICBkd19kaWVfcmVmIHR5cGVf ZGllID0gbG9va3VwX3R5cGVfZGllICh0eXBlKTsKICAgZHdfZGllX3JlZiBz Y29wZV9kaWUgPSAwOwogICBpbnQgbmVzdGVkID0gMDsKQEAgLTIwNjc2LDEz ICsyMDY4NiwxNSBAQCBnZW5fdGFnZ2VkX3R5cGVfZGllICh0cmVlIHR5cGUs CiAgICAgICB8fCAhaXNfdGFnZ2VkX3R5cGUgKHR5cGUpKQogICAgIHJldHVy bjsKIAorICBpZiAoVFJFRV9BU01fV1JJVFRFTiAodHlwZSkpCisgICAgbmVl ZF9wb3AgPSAwOwogICAvKiBJZiB0aGlzIGlzIGEgbmVzdGVkIHR5cGUgd2hv c2UgY29udGFpbmluZyBjbGFzcyBoYXNuJ3QgYmVlbiB3cml0dGVuCiAgICAg IG91dCB5ZXQsIHdyaXRpbmcgaXQgb3V0IHdpbGwgY292ZXIgdGhpcyBvbmUs IHRvby4gIFRoaXMgZG9lcyBub3QgYXBwbHkKICAgICAgdG8gaW5zdGFudGlh dGlvbnMgb2YgbWVtYmVyIGNsYXNzIHRlbXBsYXRlczsgdGhleSBuZWVkIHRv IGJlIGFkZGVkIHRvCiAgICAgIHRoZSBjb250YWluaW5nIGNsYXNzIGFzIHRo ZXkgYXJlIGdlbmVyYXRlZC4gIEZJWE1FOiBUaGlzIGh1cnRzIHRoZQogICAg ICBpZGVhIG9mIGNvbWJpbmluZyB0eXBlIGRlY2xzIGZyb20gbXVsdGlwbGUg VFVzLCBzaW5jZSB3ZSBjYW4ndCBwcmVkaWN0CiAgICAgIHdoYXQgc2V0IG9m IHRlbXBsYXRlIGluc3RhbnRpYXRpb25zIHdlJ2xsIGdldC4gICovCi0gIGlm IChUWVBFX0NPTlRFWFQgKHR5cGUpCisgIGVsc2UgaWYgKFRZUEVfQ09OVEVY VCAodHlwZSkKICAgICAgICYmIEFHR1JFR0FURV9UWVBFX1AgKFRZUEVfQ09O VEVYVCAodHlwZSkpCiAgICAgICAmJiAhIFRSRUVfQVNNX1dSSVRURU4gKFRZ UEVfQ09OVEVYVCAodHlwZSkpKQogICAgIHsKQEAgLTIwODEwLDExICsyMDgy MiwxNCBAQCBnZW5fdHlwZV9kaWVfd2l0aF91c2FnZSAodHJlZSB0eXBlLCBk d19kaWVfcmVmIGNvbnRleHRfZGllLAogCiAgIGlmIChUUkVFX0FTTV9XUklU VEVOICh0eXBlKSkKICAgICB7Ci0gICAgICAvKiBWYXJpYWJsZWQtbGVuZ3Ro ZWQgdHlwZXMgbWF5IGJlIGluY29tcGxldGUgZXZlbiBpZgorICAgICAgLyog VmFyaWFibGUtbGVuZ3RoIHR5cGVzIG1heSBiZSBpbmNvbXBsZXRlIGV2ZW4g aWYKIAkgVFJFRV9BU01fV1JJVFRFTi4gIEZvciBzdWNoIHR5cGVzLCBmYWxs IHRocm91Z2ggdG8KIAkgZ2VuX2FycmF5X3R5cGVfZGllKCkgYW5kIHBvc3Np Ymx5IGZpbGwgaW4KIAkgRFdfQVRfe3VwcGVyLGxvd2VyfV9ib3VuZCBhdHRy aWJ1dGVzLiAgKi8KLSAgICAgIGlmIChUUkVFX0NPREUgKHR5cGUpICE9IEFS UkFZX1RZUEUKKyAgICAgIGlmICgoVFJFRV9DT0RFICh0eXBlKSAhPSBBUlJB WV9UWVBFCisJICAgJiYgVFJFRV9DT0RFICh0eXBlKSAhPSBSRUNPUkRfVFlQ RQorCSAgICYmIFRSRUVfQ09ERSAodHlwZSkgIT0gVU5JT05fVFlQRQorCSAg ICYmIFRSRUVfQ09ERSAodHlwZSkgIT0gUVVBTF9VTklPTl9UWVBFKQogCSAg fHwgKFRZUEVfU0laRSAodHlwZSkKIAkgICAgICAmJiBUUkVFX0NPREUgKFRZ UEVfU0laRSAodHlwZSkpID09IElOVEVHRVJfQ1NUKSkKIAlyZXR1cm47CkBA IC0yMDg3MCw5ICsyMDg4NSw2IEBAIGdlbl90eXBlX2RpZV93aXRoX3VzYWdl ICh0cmVlIHR5cGUsIGR3X2RpZV9yZWYgY29udGV4dF9kaWUsCiAgICAgICBi cmVhazsKIAogICAgIGNhc2UgQVJSQVlfVFlQRToKLSAgICAgIGdlbl9hcnJh eV90eXBlX2RpZSAodHlwZSwgY29udGV4dF9kaWUpOwotICAgICAgYnJlYWs7 Ci0KICAgICBjYXNlIFZFQ1RPUl9UWVBFOgogICAgICAgZ2VuX2FycmF5X3R5 cGVfZGllICh0eXBlLCBjb250ZXh0X2RpZSk7CiAgICAgICBicmVhazsK --------------040300010405050904010307--