From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 88162 invoked by alias); 21 Aug 2018 16:28:40 -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 88141 invoked by uid 89); 21 Aug 2018 16:28:39 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sesbmg23.ericsson.net Received: from sesbmg23.ericsson.net (HELO sesbmg23.ericsson.net) (193.180.251.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 21 Aug 2018 16:28:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801; c=relaxed/simple; q=dns/txt; i=@ericsson.com; t=1534868915; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=vHWaGdfSZHmKdx73i4kPU5s4pWAuNsZHpUaBBrjVJ3k=; b=CuZYXasv0vwoNsOLiAToUTMBk212XvEl0ot50l8Tm+PogXGTJEM/P1wkpfwjmZpN SDmKs0/201UI72fSzUvvx1aLOa1CZl+sCMZkqw0NQSc6JE+1U/hzLeLkk5LikUgD L/CWX2FrN4LnpbiYZdKMkkMFydcjpKhqbFohu/9alz0=; Received: from ESESBMB505.ericsson.se (Unknown_Domain [153.88.183.118]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 55.B1.05037.3BD3C7B5; Tue, 21 Aug 2018 18:28:35 +0200 (CEST) Received: from ESESBMB501.ericsson.se (153.88.183.168) by ESESBMB505.ericsson.se (153.88.183.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Tue, 21 Aug 2018 18:28:35 +0200 Received: from NAM01-BN3-obe.outbound.protection.outlook.com (153.88.183.157) by ESESBMB501.ericsson.se (153.88.183.168) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3 via Frontend Transport; Tue, 21 Aug 2018 18:28:34 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c+5lIr06O+jgVnZEWIpvXT5L//9wzM01MGXaqO7UyLk=; b=jvo0l+5K/U0E3+5Aq7tF4LfkXWSRntlsdso0DMYwRYJnN4/lIC33157suIDS668FRqbC8sO1yxmICzCQOgekAvJZf2feH3wN3b67A3Z/FRH40kvT7I20/QLgLn054FWdlpRc8Nt++Tdv1aNxqzl83qvpVmw80aoPvLXp1LWVgBM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [142.133.61.8] (192.75.88.130) by BYAPR15MB2390.namprd15.prod.outlook.com (2603:10b6:a02:8c::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1059.19; Tue, 21 Aug 2018 16:28:32 +0000 Subject: Re: [PATCH v3 8/8] Test case for functions with non-contiguous ranges To: Kevin Buettner , References: <20180820152512.671a7dc7@pinnacle.lan> <20180820154824.7f974d4e@pinnacle.lan> From: Simon Marchi Message-ID: Date: Tue, 21 Aug 2018 16:28:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20180820154824.7f974d4e@pinnacle.lan> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-Path: simon.marchi@ericsson.com Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-IsSubscribed: yes X-SW-Source: 2018-08/txt/msg00496.txt.bz2 Still LGTM, just some nits and one thing that looks a bit fishy. > + program { > + {DW_LNE_set_address $main_start} > + {DW_LNS_advance_line [expr [gdb_get_line_number "main prologue"] - 1]} > + {DW_LNS_copy} > + {DW_LNE_set_address main_label} > + {DW_LNS_advance_line [expr [gdb_get_line_number "main foo call"] - [gdb_get_line_number "main prologue"]]} > + {DW_LNS_copy} > + {DW_LNE_set_address main_label2} > + {DW_LNS_advance_line [expr [gdb_get_line_number "main return"] - [gdb_get_line_number "main foo call"]]} > + {DW_LNS_copy} > + {DW_LNE_set_address $main_start+$main_len} Define and use main_end? > + {DW_LNS_advance_line [expr [gdb_get_line_number "main end"] - [gdb_get_line_number "main return"] + 1]} > + {DW_LNS_copy} > + {DW_LNE_end_sequence} > + > + {DW_LNE_set_address $foo_start} > + {DW_LNS_advance_line [expr [gdb_get_line_number "foo prologue"] - 1] } > + {DW_LNS_copy} > + {DW_LNE_set_address foo_label} > + {DW_LNS_advance_line [expr [gdb_get_line_number "foo bar call"] - [gdb_get_line_number "foo prologue"]]} > + {DW_LNS_copy} > + {DW_LNE_set_address foo_label2} > + {DW_LNS_advance_line [expr [gdb_get_line_number "foo foo_low call"] - [gdb_get_line_number "foo bar call"]]} > + {DW_LNS_copy} > + {DW_LNE_set_address foo_label3} > + {DW_LNS_advance_line [expr [gdb_get_line_number "foo end"] - [gdb_get_line_number "foo foo_low call"]]} > + {DW_LNS_copy} > + {DW_LNE_set_address $foo_start+$foo_len} foo_end? > + {DW_LNS_advance_line 1} > + {DW_LNS_copy} > + {DW_LNE_end_sequence} > + > + {DW_LNE_set_address $bar_start} > + {DW_LNS_advance_line [expr [gdb_get_line_number "bar end"] - 1]} > + {DW_LNS_copy} > + {DW_LNS_advance_pc $bar_len} > + {DW_LNS_advance_line 1} > + {DW_LNS_copy} > + {DW_LNE_end_sequence} > + > + {DW_LNE_set_address $baz_start} > + {DW_LNS_advance_line [expr [gdb_get_line_number "baz end"] - 1]} > + {DW_LNS_copy} > + {DW_LNS_advance_pc $baz_len} > + {DW_LNS_advance_line 1} > + {DW_LNS_copy} > + {DW_LNE_end_sequence} > + > + {DW_LNE_set_address $foo_low_start} > + {DW_LNS_advance_line [expr [gdb_get_line_number "foo_low prologue"] - 1]} > + {DW_LNS_copy} > + {DW_LNE_set_address foo_low_label} > + {DW_LNS_advance_line [expr [gdb_get_line_number "foo_low baz call"] - [gdb_get_line_number "foo_low prologue"]]} > + {DW_LNS_copy} > + {DW_LNE_set_address foo_low_label2} > + {DW_LNS_advance_line [expr [gdb_get_line_number "foo_low end"] - [gdb_get_line_number "foo_low baz call"]]} > + {DW_LNS_copy} > + {DW_LNE_set_address $foo_low_start$foo_low_len} Is this concatenation intended? > + {DW_LNS_advance_line 1} > + {DW_LNS_copy} > + {DW_LNE_end_sequence} > + } > + } > + > + # Generate ranges data. > + ranges {is_64 [is_64_target]} { > + func_ranges_label: sequence { > + {range {$foo_start } $foo_end} > + {range {$foo_low_start} $foo_low_end} > + } > + cu_ranges_label: sequence { > + {range {$foo_start } $foo_end} > + {range {$foo_low_start} $foo_low_end} > + {range {$main_start} $main_start + $main_len} > + {range {$bar_start} $bar_start + $bar_len} > + {range {$baz_start} $baz_start + $baz_len} Use the _end variants? Simon