From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 108363 invoked by alias); 27 Mar 2018 20:22:38 -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 107959 invoked by uid 89); 27 Mar 2018 20:22:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.6 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sessmg23.ericsson.net Received: from sessmg23.ericsson.net (HELO sessmg23.ericsson.net) (193.180.251.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 27 Mar 2018 20:22:35 +0000 Received: from ESESSHC009.ericsson.se (Unknown_Domain [153.88.183.45]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 02.8E.21824.808AABA5; Tue, 27 Mar 2018 22:22:32 +0200 (CEST) Received: from ESESSMB504.ericsson.se (153.88.183.165) by ESESSHC009.ericsson.se (153.88.183.45) with Microsoft SMTP Server (TLS) id 14.3.382.0; Tue, 27 Mar 2018 22:22:21 +0200 Received: from ESESSMB505.ericsson.se (153.88.183.166) by ESESSMB504.ericsson.se (153.88.183.192) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26; Tue, 27 Mar 2018 22:22:21 +0200 Received: from NAM01-SN1-obe.outbound.protection.outlook.com (153.88.183.157) by ESESSMB505.ericsson.se (153.88.183.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26 via Frontend Transport; Tue, 27 Mar 2018 22:22:21 +0200 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [142.133.49.63] (192.75.88.130) by MW2PR1501MB2009.namprd15.prod.outlook.com (2603:10b6:302:b::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.609.10; Tue, 27 Mar 2018 20:22:17 +0000 Subject: Re: [RFA 1/2] Make line tables independent of progspace To: Tom Tromey CC: Simon Marchi , References: <20180321171809.13115-1-tom@tromey.com> <20180321171809.13115-2-tom@tromey.com> <87zi2uw3uc.fsf@tromey.com> <87vadiw24a.fsf@tromey.com> From: Simon Marchi Message-ID: Date: Tue, 27 Mar 2018 20:22:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <87vadiw24a.fsf@tromey.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MWHPR15CA0041.namprd15.prod.outlook.com (2603:10b6:300:ad::27) To MW2PR1501MB2009.namprd15.prod.outlook.com (2603:10b6:302:b::33) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d72c1134-3445-4a9a-d95e-08d594206fbb X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:MW2PR1501MB2009; X-Microsoft-Exchange-Diagnostics: 1;MW2PR1501MB2009;3:BI2CvvyQ5F3xn/74nxegpilMa7cpEL34OUwulS0YeBqVYl8CwKjVhwr+TY2pTMt2vMAjjogk8Tb/seaaEgF74CXFUol+7SmXQOXD4uxKrVf2VrfMhP1i09STnz0rHlCosEcCB5JFoWipsvXxI5eYGA3SyeLcEPfDZ/qBygFf6cvuwZm88jt7YUoV4o2eRVF8XiYAPvVDyxIQfSCVxHayOILvz4mCE68NKzGt8XngyJnC/HUdAiCm4mUhqBVsU/dP;25:f7p1XZKUEqpAXdr/gNNo/RO6A6NwSR+W397/+Z0dOmCPpuB97sxRA5YIpR1nPxVkshIyFYIHbtm6x/bnRdtfFkXB2qSAFSAFR49MVGZBNIz0LrBQ20ZVgf6GzeDZb9JREhIS5RlI2ymfcC+nOeZ81qvasmTSK88X48nUl3XVX2PDQEOb1kGjJTWluG04wr2I8yJq9rTjNrFa6CS9618p1s8vYblNXKocq2aMvIm7/wjvSA+xb9MzJ5Yyw+pGlnKgx8VI3Vz4C95B2q79Y6St/Tdh7LKTRrpc39hALaRkiC4cM1hXEEC545rRex5+6o4fri6qsY6zVIfo7C8fZMLpxw==;31:wBTgfqcnEMUl9P2COqB6qhjRqcyoQIOYH03QbVljcY0R0NcLj+PTjcZMOOeh5sOki2LmJOHwyEqZbhNgH9cgB1r38LrZsF3y70cWzlFCAUEIw57Zlr/IYUWEu5Rk6a0dg8RljQKJaiFXIhxbZk4eQBWsFcP1WmVEdOoc3MFSoalLHKWg9Heo97KbNSyCajgLEfmqsHjtDpNMXr54mbu2mCl2FEKeP4zkdaWNhO6rWno= X-MS-TrafficTypeDiagnostic: MW2PR1501MB2009: X-Microsoft-Exchange-Diagnostics: 1;MW2PR1501MB2009;20:DetlDQCbfJzeW+yfe6jgBiGMptVqQdFuWV8il7AplMqbaAlnM3MbbpIztkS6W+NwUzpSgQWFp4/CsWhcqDJvrp4c/xT4ISBAl5iH2EUyo0Ady3qa+cslA9DI5VLae4L9bu4ADjCCcs6qtNAziavpCuStINludCzO84w1zpSOU8eU0GIbhO6fwevAe66RG2YdeMU8GOLchDr33aBN+YmoRHXYqXxArytbckQRVbD4PelpIlbw70viCCKYxT1CeEn28wq8jVQsUoe1zirYN9CZqPm7khXqHddQjcnBkKqKjAVD2cSa4mvNRZ2WgIYLty1PMQ2RZ1Sh6k9fGp92nzwxdEiYQNgLT0WiFX7B1oKIv9nwaUW+7IWBxXl08mbeJFKJnjTnD7wdRzMpuWslAKvfABHUukz4LnE+8us799sjy+apN9tVQc65U6N6gXSzDcPxC3BXuJWGoxyHoc4+xDclHB1wCGzY60AKoAa7jNFu1qhB8lqpzDr9DZcLqSWyw827;4:TpDJjw2C7xdKehaPxZJ9wd0pZpc9+oBj0Jtx32XsY9ApoN8dnwL5m7uCXNPm3Rj0t1j5hajCP+OLJ9RtNHZ7bomx0Z5/lNNLH4kz/kAQ2lrk1qLaZfv/BVMHaOAJlNRoM3H5Ya+xiTMYxilIra9oM4pNlgkXkTowQQ+Ln96IVgYVsBkRDSxLQ8AHBJE0CBCpFuEo5XYxSL3Nd/MYECWso67E4w0JsP0yj3tZ36YBJN5yFtNjXkkhh8KFA0ruePk5tnq1VLp4WW8ABm3gFK4XRg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231221)(944501327)(52105095)(10201501046)(3002001)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011);SRVR:MW2PR1501MB2009;BCL:0;PCL:0;RULEID:;SRVR:MW2PR1501MB2009; X-Forefront-PRVS: 0624A2429E X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(366004)(39860400002)(39380400002)(396003)(346002)(376002)(199004)(189003)(377424004)(54534003)(97736004)(47776003)(4326008)(31696002)(52146003)(3846002)(478600001)(93886005)(65806001)(106356001)(229853002)(65826007)(6116002)(36756003)(52116002)(486005)(31686004)(230700001)(486005)(6666003)(76176011)(65956001)(386003)(2486003)(23676004)(6246003)(66066001)(59450400001)(53546011)(6916009)(86362001)(25786009)(49976009)(81156014)(8676002)(11346002)(446003)(64126003)(956004)(16576012)(105586002)(8936002)(81166006)(2616005)(50466002)(316002)(305945005)(2906002)(186003)(58126008)(6486002)(68736007)(7736002)(16526019)(5660300001)(476003)(26005)(53936002)(78286006)(369524004)(357404004);DIR:OUT;SFP:1101;SCL:1;SRVR:MW2PR1501MB2009;H:[142.133.49.63];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNVzJQUjE1MDFNQjIwMDk7MjM6N3RTdWJKZlpZOElDbjIwT2x6RTNnaGdh?= =?utf-8?B?d0psYWpPYzJwLzI1SEM0SlhFVGQyWjdqVVdyUWRxT0k5YmNYRDBQMmNYM0li?= =?utf-8?B?TFQ4RnBYRHFLRmJqVkRNb0RjNXN4emR6RWMwaHF2eWg3YWxOdEpOUEFvUWR4?= =?utf-8?B?L0FldzFVUXNRZy91RmJSOVZyNGpaVTI1WUxQbm54bjNwOGdOSFBjb3lmQUw3?= =?utf-8?B?cEE1K3M4TGphU2JSQ1dnS0RFcTVsQVNveE9pY1lTMFhzR2F4K2NqVlQ0ZTBl?= =?utf-8?B?a2dzdVNWeXVDeGpvS3hybGpPMHlVOXlzS3VFbUZ2L1hXYW1CeEU5UHI0bW93?= =?utf-8?B?eGU0VnA5S09lT21waUlwdDRwQXBXaGVoY0EvYVdFNWxmZGRhQTRZbjJHVm9v?= =?utf-8?B?bkovT0ZmbDJPVGhqemIxSkVrOFdoQW9WZ3NaOUYxRFQ3NFZ0eGtIaDBldHJQ?= =?utf-8?B?N2hqTCt1M05HV29qckJrc2QvRWFsNHh2T29zZXQ1SHdFcVBZQ2NGTjE0b2h4?= =?utf-8?B?U09UUG1VWTA5OU9McGYxT0N1QVBMK0dlSjN6aHhVNUdZZXovSngvUTAzUDY5?= =?utf-8?B?VWVrMzV6SnQ0MGFFV0pXYlJ0TVhSMmtxYUhydXBGUjNPNnJVMzhoZXcwZ3VN?= =?utf-8?B?eTVLbXZuTzRIUGN3OUdteGtneGNydkpxTDRFYWRTbkF6bDM0Vk5Wc09GMmdI?= =?utf-8?B?NDYrc0w2OGhXTU9XZHlQdXZ5QzFXdDd0NklodlE0MFBNenBtZ2NnNVRnZGJl?= =?utf-8?B?TStyVFZoR3NBNTRDdWkvei9nUTdwaVZTcmN0QTY3cldTSnpPRWhzVExER1Vh?= =?utf-8?B?M3V6aU40bzN6alYzT1RUMlBkdDR3RGxKLzZhU2I3NmZiVXdPRGh5ajNxUFhH?= =?utf-8?B?RGZ6YW1Qa2Jxb0N3RTNQOGNFbS9oeWc0cCtyTDBiNHRxdFhnWWI0UE1SeTFX?= =?utf-8?B?MjJ4V0p6RGZyZC91SVlGSm0xMG1SNFY5UW84WVRUV1VhRlhFSnFqQUROU3BX?= =?utf-8?B?Wm5PQUJPNFc1WWVZOHhDTHNpMHZBQnlseXlQTzgwL3lwQk1kclU2b1hMcGVP?= =?utf-8?B?Yi9TbDJUNEYvWkEvMjIwbnVEZWJ5cHZwaEtZaUV4QlFJL3N3cTljeDhQMVdI?= =?utf-8?B?Y3I3dGdvL3dseExKR0hKQ3hzMWIxcW03bDJwcnhZZUlEYmZjb0hTT0pGS2pC?= =?utf-8?B?U3Q3NWNvdmhsY0VIUVMxRjdqRW9vQ2o1aXA2L01FT1lVN2xkUmRXZGV1TFAr?= =?utf-8?B?NGorQ1FxNVJIKzY5Ri90L21QQkNkb3FVbkRYbnA5WjgwOFJaYTduSEJZREwy?= =?utf-8?B?NHVZd3pYaWhEZytRbDV2K0dnTzBQaE52YkhwTWdZclRRNWYrREUyS2d6Skha?= =?utf-8?B?b2tqRms3Nmtzd3BLTjlieTJDOWRGNXVoQUdGWE5qRDR4Y2l3UXR5YmdvckZ3?= =?utf-8?B?L0JuVnFRV0xhUHV1b2FxMEg1ODM5N1h5ZFhMVURMWkFxZ1Q1eGJ4SjhjU1gv?= =?utf-8?B?QUgrc054M0ZON1JCRU1oY0VHdHpuZzVvNzdDempZQlZmYmZrMDdocEVvSis5?= =?utf-8?B?UlZSOVcvMG5FT3ZhUDFpYjdhb041NFhYTFYrdjZVZGRLNnBPUE0vL2dKeHgy?= =?utf-8?B?c0FBQ3NHQThqU2xnNENxVVh3RUdiV1hjbkhrUmRhSFordnZ1b3FlSlUzdmp5?= =?utf-8?B?REljSFRBSW42SUhzSVltYzBlZkovNWtLUkU4bkRzSmh5dUxiTHdFV1FWODdK?= =?utf-8?B?Y3ZTWEVoOTlkbDkvWEl5d3ppdE5tV2Y1RWdhQ1FuR3YvRHhiV05lSm9ROUFI?= =?utf-8?B?eE9XVWNOK2Nza0VEem55OXBrZ3VOYUVPTEIvZm4zL1A2OURQdUViZ2NhQlFw?= =?utf-8?B?d0hWdEwzRG5Ram5nQ0xZQTJ6ck13Zjl3VEZteXVXSGp4MHlCTlF0K1VrUFNn?= =?utf-8?B?VjZiWDhSSW05aFVVeDJnSEhHRG5PTU93MHovUlhnbUFwUnRLVG5rVUdrbFND?= =?utf-8?B?WEVDUVJDZ1FmRWdSZ3pMQWY0ZFFaOExzZzdBREZmRVpsenllbnRQNW5vQUVt?= =?utf-8?B?ME8rRE1JZUIvVTdSZEFXQzVqNGh4Mk13ejhQdmVoNmZILzhsMzNZT1NycVlS?= =?utf-8?Q?bIwVd5pOUeJqZkOVNZ8p3B6hx48B8m6pXkxeOQ3BggwE9H?= X-Microsoft-Antispam-Message-Info: cfYjpGYIAoGwB0vPFzeHiBT9pzjIYnVzmlhvp/To9/eqbv4Pfzo0egmd2hZQtaymB84q7a+CNLnLVlKIMXz03CQOWmgKVF3Y++o6ls84nD9cZn0BimR19E469ia+VTMYw/BKUkKES8B4RvzuzR3IJ/fgEkb+Tb9SzN48v91tyTQ1C1K4KBGy7DrMIkd0vFYh X-Microsoft-Exchange-Diagnostics: 1;MW2PR1501MB2009;6:P7xPW+P3ioDulmYYls0XzvlfjwGu14Wf8oSKMlM1og/pL61yWJ06hhVMywrmYneVyD0qSvKO9Bcqht4iSQ8WzEOYgiCvULTf9ujDIY9xEnbrAa2z8lD+VcoNmzDy8MVFfharMJ7Fl8+I+XvvEisJEYhDlxJyPx1ApX2htjDxL3hdH4GQT3pGsbBNjolTSA8amyMb5yqj+B4x621QXL+qEybvnMS1bSHASakqKppo38JKxXis2beD00rNxoP6vFp1cX5RoL8OWhxf9gwnPKAqqq+f31nZhkhtknhWd0Q+iyC05c+4kmKEn+KfCJt4wmxdc7W8I/1yRQ0N8abHSPlh5Ocf6h6ua6fY5awB+4/L0XN0MFw83l7jSSptsek4xGP7N7kS0QTvs8jvT1IAu6pR5qdHb3ni8oVtuYORqGRek/KASXGvtEcmef8bVGcAyOK1BCCXke6YXbqGowwBiwE7wA==;5:2OkZPCnSqaB5K3qeQt6mXsT3i0KIF9iDAkIPELsZto8LwqFrxJFczg12HEhhMXPWAx6qVOoJ9s9USm3SPWNulYlw9ENSnOSEoJxDGWLWDOusC4hNygITpNnmDxXbmTbvjFmC+j5A2ZsaGH36QR3F42W8t658N/oth/hScJUqKK4=;24:VMbaqeeQ5ehfdBHX2DaO6+ssqPtFCX4KtIIy20jajOnOfs9RIUrG6cazT2b3UI2sUb7SBu3bMbCSAH6mL+dj7Rqs1OBkjFfpJBQkA/Iwu7Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MW2PR1501MB2009;7:RzyBqjomfjQVGDxs7nURrOkqvW38HRDWhPBdN2Ur2VDgfXMUyWW2MEzoq8DNsDATmK56ZfiOSSrVqly5LURaXtlAidZVswSqZRZeZDVxk6YtXZxx4uiBoYW6NMxnKvE3d/i5/+s0jLECc03EmjyAhzWC6S4svWgnVlmNRBeXAxP5Zxa1//7BHzKepZMF5OTWaMOy/aaMQa8PAEIYCcJUCDqRh1GTSWayF6aNfu32UxJqCk8A/lf8eco8G0sCh45P X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2018 20:22:17.3489 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d72c1134-3445-4a9a-d95e-08d594206fbb X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR1501MB2009 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00576.txt.bz2 On 2018-03-27 12:53 AM, Tom Tromey wrote: > Tom> I've run the new patch through the buildbot. I'll resubmit it soon, I > Tom> just have to update the ChangeLog and rewrite the commit message. > > Here it is. Let me reiterate that this probably requires careful review > as the buildbot may not test some of these paths. > > Tom Hi Tom, I had a first quick look, enough to familiarize myself with the problem. Conceptually, the approach looks ok to me, but I'd like to have a closer look later (unless someone else reviews it in the mean time). Here are two small comments I noted. > @@ -517,10 +522,12 @@ do_mixed_source_and_assembly (struct gdbarch *gdbarch, > first_le = NULL; > > /* Skip all the preceding functions. */ > - for (i = 0; i < nlines && le[i].pc < low; i++) > - continue; > + for (i = 0; > + i < nlines - 1 && le[i].address (main_symtab) < low; I don't understand why "i < nlines" becomes "i < nlines - 1" here. > diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c > index 8c707aa8fe..880d87436e 100644 > --- a/gdb/xcoffread.c > +++ b/gdb/xcoffread.c > @@ -420,7 +420,11 @@ compare_lte (const void *lte1p, const void *lte2p) > struct linetable_entry *lte1 = (struct linetable_entry *) lte1p; > struct linetable_entry *lte2 = (struct linetable_entry *) lte2p; > > - return lte1->pc - lte2->pc; > + if (lte1->raw_address () < lte2->raw_address ()) > + return -1; > + if (lte1->raw_address () > lte2->raw_address ()) > + return -1; > + return 0; > } Both branches return -1 here. I don't mind the "left - right", I see that often. Especially when you want to sort by multiple fields, it's short and clear (IMO) to do if (left->foo != right->foo) return left->foo - right->foo; return left->bar - right->bar; Simon