From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2240 invoked by alias); 26 Jan 2018 17:16:10 -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 2225 invoked by uid 89); 26 Jan 2018 17:16:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,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; Fri, 26 Jan 2018 17:16:08 +0000 Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.183.33]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 42.DA.31026.5526B6A5; Fri, 26 Jan 2018 18:16:05 +0100 (CET) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.33) with Microsoft SMTP Server (TLS) id 14.3.352.0; Fri, 26 Jan 2018 18:16:04 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [142.133.62.3] (192.75.88.130) by BL0PR1501MB2001.namprd15.prod.outlook.com (2603:10b6:207:31::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Fri, 26 Jan 2018 17:16:01 +0000 Subject: Re: [RFA/linespec] wrong line number in breakpoint location To: Joel Brobecker , Simon Marchi CC: , Keith Seitz , Xavier Roirand References: <1513565091-118926-1-git-send-email-brobecker@adacore.com> <20171219092405.n2dql5ji52qhjilj@adacore.com> <206d75d6b1f14e55b6a0dff523d8c722@polymtl.ca> <20171221113127.ijqv6dnzjfifwfnb@adacore.com> <20171221113214.hezwvaatnbd4yzfq@adacore.com> From: Simon Marchi Message-ID: <5bc2ff63-7341-4000-8ec4-d56c87779c3d@ericsson.com> Date: Fri, 26 Jan 2018 17:16:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20171221113214.hezwvaatnbd4yzfq@adacore.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MWHPR2201CA0066.namprd22.prod.outlook.com (2603:10b6:301:5e::19) To BL0PR1501MB2001.namprd15.prod.outlook.com (2603:10b6:207:31::31) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 402a1db6-46ff-4ac4-91ad-08d564e079cf X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:BL0PR1501MB2001; X-Microsoft-Exchange-Diagnostics: 1;BL0PR1501MB2001;3:yQ3/LXIKF6oq3PZ+/FJXoOsCapc5rR2px1mKfNrkzeqcYI5ckvTS/9v72PT2PlZDKKQtd64sGTyXlvtb4ZTIs0lDNuGtCU3UkMgfbwcD+N7//HMJ2MlnpaACaTb7CMy6eChMr2r6V53FcKIdOJrQJvigvGtqegsw3hq1Dy6xVwU4X1kCbxOUYolMpK/ZSIDeWtbP8bruflp6Awifdj13OoiJ9/CeoKxbi42aCZxdobE9GigG8rRtBtxlMMJ0VjF1;25:eqemm/RGJzXm5B3ND37d/i4LcwTGHpoxiAX8nNW+I6Od2Hgw7QbRF49nksGkjqDRV6b9CXpi+PrDjW+HFgxdp0pxUNTrNFv4RZEAkOLxsV+8PLSwmKpYbueNCjR8T/5IyukTgV0TzVqXZ6R2F2wAImrRq4NLJfUFUmMjDujFY/O9VyrK18BLTzjZvA3D5rLD7wJfiXSvKBT0C7kr/7MK3rGKX9xk220woPYo38IoNJu3nEbPRSDfxnrw4sdWJvDuUxKhlz9ymVee168ddagH0yCYUt4w9n9LCngL8k8WX57Y0Hg8pZZQ8FxjclUYj+k35rVq5ou+teHkjtq1vy4cHg==;31:0jsn6ul0bpkQkK7t03wgR94gX9fQHNrRiZzK2y+TwOh6kuY3hF3ppXve38rNRKAmv9sVRN2qsAu+bz1N9TcA2ZlzAZelaxBKCGw7OUVy98Z2iMBNiMDPIfseootyQni5ZW7SlzkzRi5KVjSwxbVCg9HWNYVsy8M3ZnWt2YC5KNkkJCyZZ/VCCVtTCkvE9O8iOuUZv1t3M7FJRRvb2Y2coPVNMjA+HVLdpBXLct1yFus= X-MS-TrafficTypeDiagnostic: BL0PR1501MB2001: X-Microsoft-Exchange-Diagnostics: 1;BL0PR1501MB2001;20:/YOzYZx8rritisd3Vi74sgaFFkDnwkhLAGyne5LiDRJfp49HkbZJmOKMW9IkuocvQECoe8pWSXF+6+Cr9HGR8bxDnCMBNsvTxQKslibwK66QA9MQ5NFViXVoVC0AqV4CFoN7WX9a3UuHv9bTuNyrCIxb+gtAPoQ6D055ipt4DqhqNra6z+bePIEiF+1fpPJbYxju8UWD3cVWoUJ+jbkNZsSI70Oej2AcnQlH29DUCarzaNn8+1EtQJLz5VUNRnY6qsHlSRW2ytGZEXSrjo1zsNPeIW01c6YASLpPP0DGcuNj7jgV+NCgULeS/uSUbuGafRQB+PbAfWGFIMHEzifXIJJ+bKL7r+2SCxP0WLTTkRzs7z0ny9WTioPPkUjdd8FKUeoN/nfl0nRU3mtcV+DmVSosMp2ilmNH23p5LeLAQ3mYWBD47mD9PS6WgaHBGnXIp/Btah4gPCk5wt7rPvDDxIlNoh5bO7L3Zl+sc0FvI7/lge0XqaoD7jJ7cXiVeycc;4:16+mZ454NB0kb3SFUsALo1fFicQNHWwFUm2q0O6lVCaQx24uEfEWI1gq2bF3B1msNhzHeCIdI70gTXVEMxZXBHRRJ3mrAW+9y11LsbQw8F+oAUYojmj4m4kPUS8DB2jAf2dg3OkKA3gE88+AUeRhD6RgW9HqsHjpnnUzgSmaFV1EZrLyj/Yhlpe8ioP9fqjMC/9/AnfDfOuC3lQ5AJV637tl+8IDZgXlvu6n+0iEl6d0j2Kzs49iskBO9BIR7EHjBqlK9KOseWGi4LD7R96p3A== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040501)(2401047)(5005006)(8121501046)(10201501046)(3002001)(3231074)(2400081)(944501161)(93006095)(93001095)(6041288)(20161123558120)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:BL0PR1501MB2001;BCL:0;PCL:0;RULEID:;SRVR:BL0PR1501MB2001; X-Forefront-PRVS: 05641FD966 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(39380400002)(366004)(39860400002)(396003)(346002)(376002)(377424004)(54534003)(199004)(189003)(47776003)(86362001)(4326008)(53936002)(478600001)(305945005)(26005)(386003)(53546011)(31696002)(8676002)(66066001)(68736007)(81166006)(81156014)(105586002)(6246003)(93886005)(106356001)(52116002)(54906003)(16526019)(25786009)(229853002)(65956001)(65806001)(230700001)(186003)(316002)(6486002)(7736002)(49976009)(110136005)(58126008)(83506002)(76176011)(59450400001)(16576012)(2906002)(3846002)(6116002)(23746002)(50466002)(5660300001)(65826007)(2950100002)(64126003)(6666003)(4001150100001)(97736004)(36756003)(8936002)(31686004)(78286006);DIR:OUT;SFP:1101;SCL:1;SRVR:BL0PR1501MB2001;H:[142.133.62.3];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: =?Windows-1252?Q?1;BL0PR1501MB2001;23:yNAmblEbnX0Oj4r7WHYgDYmALeT6Qp+rTwg?= =?Windows-1252?Q?NhyHC6jPn4GtOAcpwEujij4ijJaiaXNqFQc3JZwm5RZxRzl1mH5fvIZ7?= =?Windows-1252?Q?ScP+0ibsRAJLoWYOiJQUR80iJcEuOQHO4GUzTMq++0dClcx+8eLsTwBY?= =?Windows-1252?Q?3FKY+lmnQBAMxj9GGuiqGLhdzLLoZf3LDf7wZemAY/ndnIXbOSUEsoGS?= =?Windows-1252?Q?26baqRv7GsbXe5rjDwKpnU5RDxtScLOTPq6dbF1WEt/m6ANkl/quplgw?= =?Windows-1252?Q?qezLUbKKQ4QhJX6SDHmDYz+EVKHzQJew4r/ttldTra+/KTo1A+NbeFO9?= =?Windows-1252?Q?/pdGC2r3fLCsFB3ghhtnhwfFPfGL0JOLCfaUwRXk7T8t6Vgk0kIpbnK+?= =?Windows-1252?Q?e9TqYXv+lYnGKxtSuB8bE1gIK1xLMQMRfkOLZUtyOFf4owYME3US/60B?= =?Windows-1252?Q?dLf5t/sydvO+ZSqy9YMV0R7dxLO/OuXnv1V/2RCxxfJUP9TGxcEZ91fM?= =?Windows-1252?Q?j2OMkVqQt34t/pLsFmNuPPvFRAKkq9A1xO/4mFu5kfmA2ATqnJWEpe+t?= =?Windows-1252?Q?YLLlBamZoPcsVLM8H2J8pQl1YuX6vTzHMq8mOvWyQ0wj9p0Qy9JomlU3?= =?Windows-1252?Q?96aBdXiaMcDvFi73nY3zTpYVINoVzjtRwjd0dtPEYy7zflIviQp/umWs?= =?Windows-1252?Q?yYfBBAQyqhJvHaJIirs++4ZXjXUflIwWArd6bdZHtI1Nj+PRJih8Zva8?= =?Windows-1252?Q?LHCnBFR4c4r6/7ugyrcDmi3liJwR7p6+gwU4JOLeeTgIZJeUkUEB1BcQ?= =?Windows-1252?Q?khTZKULNye69EX6Otj4edqpVyPAQceGlS1oX1iLeEw3TLIlUoJL/qtNH?= =?Windows-1252?Q?5I++0KApFjGA3IcX5KfM73YnU2spm1EKkoYpkFJoC0z7LAyjHMu5bbp9?= =?Windows-1252?Q?gWXJ+3Aczn/+ohnSerVdaCJxxlkj17z+lrDwkrwoTaoMJ5JDmWwxhCa9?= =?Windows-1252?Q?bx8Mbmed8mZG4cyraKdIhVpdpRBeT9i5YVhVI6DO2iwjBYnTilidoZ2K?= =?Windows-1252?Q?jf6H+T9ENKL74F5K5aLnGPNYsmPlYikonFbVxyL5yOfwaMh/+crcTQvo?= =?Windows-1252?Q?U195lo7tfo4ZNU6uka+iSw48enxkwLKbVRNikGr9TNMVo5+WB+S5EO3+?= =?Windows-1252?Q?hs6okh1/nx/DcIbi50j5yPajfSIlFaw8cM/G/uIZkxLkBmXOFYjXeugg?= =?Windows-1252?Q?W7OD26lgnlmFitZugRE9DDcUVgp4V33Y045dZnyHeOWti0XCkVE0+sae?= =?Windows-1252?Q?f/jHbj9IaB35uw/c/EEVffi0e3mBx9cBjjEzHGECHseR1MHh4fG6r2tz?= =?Windows-1252?Q?J8ul49FpSV500XesCZ7BVboSoInaUanX/O3sOqK4rGZzWiwaz3Zsfghp?= =?Windows-1252?Q?ngRzYlncuUjQiua6tlKihiLv9ZwNDuR/yZRX8Du9ptHsJ/2k6AJDixlG?= =?Windows-1252?Q?YNb5suudBi1mocHFApNVHr1+dU5HmxtbyU1mzCEERs1NZVS694eJ8d6H?= =?Windows-1252?Q?PVSEyGl3Juw4M2ZYHWR01Stv5MV+KnXP1oHLk94MHpTPu8KSKqO5JUqm?= =?Windows-1252?Q?jmA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BL0PR1501MB2001;6:gs29xiTDu9EyUZ/wQDjjgn5rbdhTqzLe/rQNwGIK9Dy/wRHi5F6EDue8+1wBw/kdeAnP8awqjWjfbRvD6uuze5T1ijHUdIuw6+kPff8Y9Hh7W/LzCagnCetKLNOLabBT9okvaGJJNx6SE3M74oixzp17eP8tZtOCutmuBg72JCPCrZsAW+UaWi1QBTGn6vlhjo2BIqg4TPPEIVHPezLV5EQrLHVimUlTK22KvsDf3+iQLhFMjcku+mqEOt8Z1WlLncffE7V3GztORneOQq5hdfsDSZJYqYWtE9RPrtbouwSM4gSAGZKbmz9UfmMS56ScVaT6J0vDkUlqKclfZnMXm5z9ECCH/zNwFQC+3uPvFMQ=;5:wIRI08posf/fg/BO2ZmCI9Z9ckndZIFHHEMiU2HjbEVrSrY6HRGln2j+egBTYWH/OwLksGZkC+kDkkS1jMGWPj4RVff7K0Wz7KbtlkoJJKIonrwYiC/hCBwQyJkye3fWe9BBnmzbZlpTv9guAr8MLzlIcDuCcKH7i5iL7XgOh/g=;24:+aBGWNVJ+Ae+98P4zqo3YiQ0cMDKWPdPJfquKiFsIUbZOad3P3fhU/El2ZCK4AENhfEdexb7Ru0S5+Be24QuX7op8VzglQSGsChBSjWvXks=;7:xK+j59R0QVjhpdkfgOUX60MzNnY+YnykvpBm2RvDD1M9xiLWW2DQnnJpqdgp3HRiuHrULYR0s4y6ASRVDgNEU0JGVgKxrSfetzwseLjoGYmvU30p8MDEDMG37NXwipYlsdES7rI1faYzi1I24Zn6/YNcDGpb2oGivtL4Lm3R/mmQbqS/XcI0a1PFefqwTE6I/LaaZDaKSMDXPRn+uu3yEvXjj7CAuvGV6pHx4C+XKsEJ8rO/lBGj08eqpRJKKw7f SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2018 17:16:01.0797 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 402a1db6-46ff-4ac4-91ad-08d564e079cf X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR1501MB2001 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2018-01/txt/msg00564.txt.bz2 On 2017-12-21 06:32 AM, Joel Brobecker wrote: > [with the patch, this time...] > > On Thu, Dec 21, 2017 at 03:31:27PM +0400, Joel Brobecker wrote: >>>> /* The following function's implementation starts by including a file >>>> (break-include.inc) which contains a copyright header followed by >>>> a single C statement. When we break on the line where the function >>> >>> I would say "place a breakpoint" instead of break. For me "to break" is the >>> action of the program stopping on a breakpoint (though maybe it >> >> Sounds good. >> >> Here is a new version :). I also noticed I forgot the gdb.base/ >> subdir in the name of the new files in the testsuite, so I fixed >> that up too. >> >> gdb/ChangeLog: >> >> * linespec.c (create_sals_line_offset): Remove code that preserved >> the symtab_and_line's line number. >> >> gdb/testsuite/ChangeLog: >> >> * gdb.base/break-include.c, gdb.base/break-include.inc, >> gdb.base/break-include.exp: New files. >> * gdb.base/ending-run.exp: Minor adaptations due to the breakpoint's >> line number now being the actual line number where the breakpoint >> was inserted. >> * gdb.mi/mi-break.exp: Likewise. >> * gdb.mi/mi-reverse.exp: Likewise. >> * gdb.mi/mi-simplerun.exp: Ditto. >> >> Thanks, >> -- >> Joel > Hi Joel, I started seeing a failure with this patch: FAIL: gdb.base/break.exp: verify that they were cleared Here is the test code: 40 int 41 main (int argc, char **argv, char **envp) 42 { 43 if (argc == 12345) { /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */ 44 fprintf (stderr, "usage: factorial \n"); 45 return 1; 46 } 47 printf ("%d\n", factorial (atoi ("6"))); /* set breakpoint 1 here */ 48 /* set breakpoint 12 here */ 49 marker1 (); /* set breakpoint 11 here */ 50 marker2 (43); /* set breakpoint 20 here */ What happens is that we build a binary with optimization, set a breakpoint on line 47, and expect "info break" to show it at line 47. In reality, everything about line 47 has been inlined and there's no address associated to line 47. The following location in that file that has generated code associated to it is line 49, so that's where the breakpoint is placed in reality. With this patch, "info break" therefore now shows line 49. This particular test isn't really about testing with optimized code, it's about checking if we can clear breakpoint commands. So we should probably test that against a non-optimized binary. I am using Ubuntu 16.04's default compiler, gcc 5.4.0 (the outcome of the test probably depends on the particular compiler used). When I try on my Arch Linux machine and gcc 7.2.1, the test passes (the generated address/line mapping is different, and there's an address associated to line 47). Simon