From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 60265 invoked by alias); 16 Mar 2018 21:57:45 -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 60244 invoked by uid 89); 16 Mar 2018 21:57:45 -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 autolearn=ham version=3.3.2 spammy= X-HELO: sessmg22.ericsson.net Received: from sessmg22.ericsson.net (HELO sessmg22.ericsson.net) (193.180.251.58) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 16 Mar 2018 21:57:42 +0000 Received: from ESESSHC020.ericsson.se (Unknown_Domain [153.88.183.78]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 7D.42.26548.3DD3CAA5; Fri, 16 Mar 2018 22:57:39 +0100 (CET) Received: from ESESSMB504.ericsson.se (153.88.183.165) by ESESSHC020.ericsson.se (153.88.183.78) with Microsoft SMTP Server (TLS) id 14.3.382.0; Fri, 16 Mar 2018 22:57:38 +0100 Received: from ESESSMB504.ericsson.se (153.88.183.122) by ESESSMB504.ericsson.se (153.88.183.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26; Fri, 16 Mar 2018 22:57:38 +0100 Received: from NAM01-SN1-obe.outbound.protection.outlook.com (153.88.183.157) by ESESSMB504.ericsson.se (153.88.183.165) 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; Fri, 16 Mar 2018 22:57:38 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [142.133.61.117] (192.75.88.130) by SN6PR1501MB2016.namprd15.prod.outlook.com (2603:10b6:805:e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.567.18; Fri, 16 Mar 2018 21:57:36 +0000 Subject: Re: [PATCH 2/3] Testsuite: Rename "end()" to avoid libinproctrace C++ symbol clash To: Andreas Arnez CC: References: <1521043903-18837-1-git-send-email-arnez@linux.vnet.ibm.com> <1521043903-18837-3-git-send-email-arnez@linux.vnet.ibm.com> <5431d374-f1a4-65e0-82ee-a1758aa037a1@ericsson.com> From: Simon Marchi Message-ID: Date: Fri, 16 Mar 2018 21:57: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: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BN6PR21CA0017.namprd21.prod.outlook.com (2603:10b6:404:8e::27) To SN6PR1501MB2016.namprd15.prod.outlook.com (2603:10b6:805:e::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bec89cef-ad7b-4370-5175-08d58b88ee1f X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:SN6PR1501MB2016; X-Microsoft-Exchange-Diagnostics: 1;SN6PR1501MB2016;3:TtAl2JOYkN7/oZaaEVKWKYZEwjZitL8T81A8fhKdl8fJAfQzA0/Vq7Nmirh1y+fdj0w8vxT5d3n1W1Yl3UTG4c3B38yOFKSKzkw8DDTuo6iCdE+94gvD4Z6g34v6ePgWo8AQDbIsySEhwTzG/bpTj/VKofS3EasmDx2QBGL2opciLyll6rXKaWdd2FTd350Czz9P73/kSMRomy9J9aFkieShHowfBMfK2tq8YtDvgT26+KM/i9bqiECPDZBO4xL+;25:cy2Z0GQTmKuSMxgn5SvUIwq6lb1+6/Yqg/28fpoYV7vOtOvfcBtdV5hA3TvDDVm1ARiygh9unaIR8rGNglpTGWb2Ng9RVXQJgoOL/ZmnkvcVWjPXvwvz97QoEgBtNMfKWciW1VIo7esoX9V4DleYagK7uw8VkvQlOYBOL2EDtCaauSziSGhBPQeNG28MO1HcexKYI7Eem7w0FJ6Ut8gK/2plvwfNPqbafFMjPoma8lrUIR/q5wb7jadexRkMer4Fy4Im0eoDissQ3CUXowL/6IM9Qsh1ZyGFJ5QP8T9Dxn6APQ+Ck++arv/ppCuQoDGn1LzVl0WlPVqyXBWfNm1pFQ==;31:Srt1z0aCH5gamydmqPKMD8q/fSZIQRIka+9hwguBlZSASi5Jk1PzcHjO+tZ+i0nBfX6JFz3HqbJwPgOQq8bRtTh5odrLTvGUy2wWspqGSdZUEXSuI6It12UTgfHRa+/LLlgLKd/OnN7/MHYxdk4LAYsdcvykYZYUZCKssdkm09aQ56ppCUujwmWBWZLuHd2hx0lhZ0AwPhoWwQjZOiFXHsSdi3NI8tLw+TGJgeGVrZI= X-MS-TrafficTypeDiagnostic: SN6PR1501MB2016: X-Microsoft-Exchange-Diagnostics: 1;SN6PR1501MB2016;20:/9ctejNmEwiHbB0rIWgj0T8WAr+PrlfADhStbHUTRrGCtM21QgdSjSlN1NDrj79JuPDVzM9MUrvp4PmH6AoFEJ4QX8dxlqAkcGipwuuBpwSdg/iSOXUHO6r2+Mj1CsXnSFpm4qDng3J2n3B/BlbXkm8tue4uGQEFVyH/M6OQsULC0mlQ+Gpc2QajBbqGQC/n+SsIkZGooique1DQGxnziiWTbM8B5iD+mrDJvCTVSbnhSwoN2eVF2QVRGKzt4WiViRrwkcTh+JbbYUrZ/CJciDuVnKFcFjH6WAZTxuqTd4i/XIXtzQFu+1C9q9DOkZidIELtCHpWCeVEsDZj2WkmVvjUNAWLamnE9qp3D1anSS/7g4Z9AepoFSXFACf4pFfoxwmvkwxRpOhZJSC4YzDXu5azKaQF1joyp0ev5OPggoliF2fcb59g0Erp4nfROKQY+zwchmuS6DozplcqDCeXT+O5OzuJ6dHp9FJZzqa9hFXAMLvq92nzmZhXudvbx17H;4:kFBZTLXI7g0yYODtL6XysWxrnsteoCkRQ6F6S+M4CTL88M7rZQqj5YXyYeG5ZiQFzdVStPqYMpOKIpkGTNy+2/CPs1i4ww79/p2hcfiZFPrXSegSZLidmRx34VDXc4vOA80RvXuwM2M9Adt7WHmPnBGvO2Nq+0c+APRvVbNaiY7JwWmRxZDxFaAdlHbvDsSZnWWwglxoC3D2+PlNvX7Ds1FuMOS0TzxiCm8i7wI3K00nayO/qkeOr9KOdT4Kje9MostIu5FTRUMIcGrSk08zxg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231221)(944501244)(52105095)(93006095)(93001095)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(20161123562045)(20161123564045)(6072148)(201708071742011);SRVR:SN6PR1501MB2016;BCL:0;PCL:0;RULEID:;SRVR:SN6PR1501MB2016; X-Forefront-PRVS: 0613912E23 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(396003)(346002)(376002)(366004)(39380400002)(39860400002)(54534003)(377424004)(189003)(199004)(66066001)(31686004)(478600001)(16576012)(6916009)(305945005)(36756003)(2950100002)(6666003)(3846002)(7736002)(31696002)(6116002)(4326008)(25786009)(64126003)(81156014)(50466002)(8936002)(8676002)(81166006)(230700001)(186003)(97736004)(16526019)(26005)(105586002)(316002)(386003)(53546011)(49976009)(93886005)(52116002)(65826007)(2486003)(23676004)(106356001)(5660300001)(58126008)(47776003)(52146003)(229853002)(53936002)(59450400001)(65956001)(65806001)(6246003)(2906002)(6486002)(86362001)(76176011)(68736007)(78286006);DIR:OUT;SFP:1101;SCL:1;SRVR:SN6PR1501MB2016;H:[142.133.61.117];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjZQUjE1MDFNQjIwMTY7MjM6R0pRbU44M29jNzVPeWhJVmhHcnduWGZk?= =?utf-8?B?cHVwdnNKZ1VMcFppMmduSFhDRTB6bTdKc1J3TG5MNE90dWlzKzhWS1RSSFVo?= =?utf-8?B?eDFvbnFCd1NWV0hjdnYyQW93TVk1T0lpeTkrVjBJL0hqUEN1NmxzU0tHZmNu?= =?utf-8?B?eHJpSGU5ZG9WaDhkeWxCZFoyaUtBMDZQSE9tVFhLSGd2T21BWTlpZHR2NlV0?= =?utf-8?B?Q1I1SVJPcHdJOEZwUGdLbXQzcFJHSG1rQ3ZwT0dFbjczS2JlaWlmYlRZK1JB?= =?utf-8?B?cFpPUVFoTlhaNXViLzFFMUxoNzcybVRBMGE1V295OHRhNk85SklNN1F6dlo1?= =?utf-8?B?bUI3Y2w5NFVneGNud1ZXUGwvK0ptQnlvTlVVYkdUaTlnWUllOHRtNDg5Znlw?= =?utf-8?B?TlBjb2RkbHY1M2NkVXcwVTlCZlhkbzB4NS9DT1hjZlFtRVdVUTdJcW9SMkhj?= =?utf-8?B?NWVTTHdiek82RHFLVFVjc2RadmYyUnJtWHVCMXJoRTVYanNqNmhMS3EvT2gr?= =?utf-8?B?UXljN0ovVDhpUitWT3lrcGhkUE5wbmNqOWxkWllxRmEvQlg5VjA5UjZzSWF6?= =?utf-8?B?bDFhbnlNNmRYN0FYU3YrenlOOXB3bEhqYnY4WkdZL2c1SDdGbGd3Q2dPSzY1?= =?utf-8?B?U3VzNHpqTVRGMEJQZVlodUVXa3U3MVlCRDZ2STdyaFpzcHlvU0FxUWZqWHhH?= =?utf-8?B?eUc2M3lNL2tDc1FxUC8vTWRpVHZjMDNNdmRQSGg3OTVoZDFJV285N3dwRERG?= =?utf-8?B?Rnp2cysvcWJOQ1B2RUdNaVFmbFllWGdUb1dMVFNSbjNsNDA2T01UdCtCeEk0?= =?utf-8?B?RHQ2YW9GeGh1Q0JZSDlRUmpEVGFHVmJXZUgxQjJvQkd0MGh2SEcxWTZwcTdk?= =?utf-8?B?SGs3M2M2cGZNZmszV29YVk9PeFVwK0piM3FoT2NYd3lsc0IzYlhKTzZGdVJN?= =?utf-8?B?ekhBdDg1ejlQZjVHUCsvMEtlM1h5MWJITTUrRkNlRXNSSDJkK3VLR05aNlQ5?= =?utf-8?B?S1cxT1pHV0pxTTdFck1wbkcxYmRZUzhObjVwemV2MnRLR1RVYTdyTHdNQjh3?= =?utf-8?B?U3d6eDZiRklvWXFmVEZ1amNqRXVkV0IreXljUWhXZG5kVXBuY0ZmS1ZZeXo5?= =?utf-8?B?UFlYTCtPOHpvdG1JRUlBSXhKYUR6Qlp3U3EwR3pvOUhLMW02NXg2SzdsVm1t?= =?utf-8?B?Z1dhZXBraDNlRFRtR29abGVqNW5WTzZDajdlZDZuSGkvZ0V3TVlZcS8xOU1H?= =?utf-8?B?dE5XRVZOWTZIcGx3RC8xeVdBdm91S3VzS0NNSnZza1dyRDh2Y2JHM0YvZzhy?= =?utf-8?B?NU9INk8yQmphNU0rSHpqR0dWd1diekVKZzExMFMzRkpnYXFwRzZGZjJCQTF1?= =?utf-8?B?UG1JbEx1amJEeHNHZFRjN1lpcW5CdldFNnZUSGloUG8zL2wzWWVuR1VSekoy?= =?utf-8?B?OHNCd3B1K3NaQ1pmRjJtdHR0UUVaMk12ZXdja1RLUTRRNmpSRTJNaXU4R2k4?= =?utf-8?B?VHlYT3VHUkdQNE9iZkxuZmNrWHk0MmZMWEdtc2JwY3Q1dTZkSDlXNCtOOWdN?= =?utf-8?B?UXNiTkhUamNreXptMWNaZnlVcEd2Rm8wVXlnKzVvS3FNMFVqK3ZMeFJFUkUz?= =?utf-8?B?ZW83WG1MQ0s1SzUwUlFYVFVrUm52MStNNlJBanJvOXdLdkZPN0U3SVZrUFRm?= =?utf-8?B?NTh5bFl2V2pseE5VRi9nUk5MTXZUMjRkYkxlZkJiWUJWMVM2NWlBUHpXc3dh?= =?utf-8?B?V29ONjBEN1laNTN5QW1uQ3BDTkZUeDM1dWU0UXJOVmhEamVOdTFFcG5ONE5i?= =?utf-8?B?K1VBYVNPUDdQQ1M4SUhCcXJTT1I2eDBqVEl3ZXg5ak1XT0Rmem9PM0ZRRlRF?= =?utf-8?B?bHpkK1hRWUN2OWlZVVNybE9PRWxQM1JvRW5mWWFkY3JEeGgyT1daUUl5NzVk?= =?utf-8?Q?ZTbSZKyCDnU/aY7t5lV9aVwT1eltsQYg=3D?= X-Microsoft-Antispam-Message-Info: eYbUXKR+5f1PCklKIG+uWCOBmfGuznFIV1RSFMFglshnSrdkHBhsXODDWCVpRGpucksWBc860FXNFsN9awx4apBn/Ncq61IPAeNTjJjQ5HHWwkhYRktRH1jG5T3/pOPis5y2ELL3q6anuk42u75+AvAKis6clJmB+IQnbc0sioP/EU1kw1sDxhNFdWZCEE1Z X-Microsoft-Exchange-Diagnostics: 1;SN6PR1501MB2016;6:Ri3/dAHNGXTo2GP5SLb9bFJWkCqrd5GLPcF/Hw3gKnSz3ZxQmfOpmoU/PeF3tXbbSOklGI6cpolTNcv0UL6q7vyb9eP9uf7ktXtYNy6FqL0XqOpOmvcdh7QuF3qnnZIN4IRKPlNuFXQfyffJAMiiiB7VN7/6Y1TptFukmqaRW0j2hqsSAjvL5Ifb1+KvwwVmmea1Hs4PLwwT5D1Oxe2FLcZdf4lwem0oAjzp4EfGZ64ZdTv7TVCPVmH7fmcPdIr1fbc9ajNGpEQ0uEEYxDV6eexYjjy2SETX5o8YSHle24d/u22sMzqBL8mz30n6HegxwwAXUGhpty6lnQBQ1z3xMD+1XnIEmYUE1D/l8EyfiJU=;5:lSm9/qWjGseKn+rlN7os1C+wKpjQCkWfBD1Jrw01ODVjPAsdv/tdbkQZx4BqNqDwXkJn9Z8kyd5OJCv5eYqRY6FNAS1W4FJFjqZ+FLsPj3S2XmUntMJ/UFGh0r1Gx8rmmknqcej56si8yTJJVmNmtOW3fKtcbNnYIDdWIPvOKbQ=;24:SvPxhJ73TbmsnJKJvf3rsInM4K/VnNwHInvdU96r8j1pD7mst7/AaOnB03Ug8xRxYPiEwOWrzvQq4RbMGu+kkcao7XY/oSWKGJEM3QPitHA=;7:P0cvTkJaZck8Zj6vRM+YBWPx43KLHysgyB2WoTNdp26PtqPzxrwvAQAb1FUTTLWkFsRK1C56ejKJNOlLz/fBqx+l4GYvZ7r0NdHmy36xC/E+qEK6RVC6Issq9m9rshJJJCdGT17FQRvCMNQg1VSEHN+auTVYBvBOOVM1tMillW1USrepUqWiPabvbb5WxhI7C68tNToZOJMLGeH12nGrUFnJdwVD0vZx4Yn/2DG/V3lykSnXr5VxavCJb05iMR8g SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2018 21:57:36.7136 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bec89cef-ad7b-4370-5175-08d58b88ee1f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR1501MB2016 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00330.txt.bz2 On 2018-03-16 03:47 PM, Andreas Arnez wrote: > On Thu, Mar 15 2018, Simon Marchi wrote: > >> On 2018-03-14 12:11 PM, Andreas Arnez wrote: >>> Some of GDB's trace test cases define a function end() and place a >>> breakpoint there with "break end". However, when libinproctrace is linked >>> to the binary, there are multiple methods named "end", such as >>> std::string::end() from the C++ library or format_pieces::end() from >>> common/format.h. GDB then creates multiple breakpoints instead of just a >>> single one, and some FAILs result, such as these: >>> >>> FAIL: gdb.trace/trace-mt.exp: ftrace on: break end >>> FAIL: gdb.trace/trace-mt.exp: ftrace off: break end >>> >>> This is fixed by renaming end() to my_end(). For consistency, where end() >>> was paired with a previous begin(), the latter is renamed to my_begin() as >>> well. >>> >>> gdb/testsuite/ChangeLog: >>> >>> * gdb.trace/trace-break.c (end): Rename to... >>> (my_end): ...this. >>> (main): Adjust call. >>> * gdb.trace/trace-mt.c (end): Rename to... >>> (my_end): ...this. >>> (main): Adjust call. >>> * gdb.trace/unavailable.cc (begin): Rename to... >>> (my_begin): ...this. >>> (end): Rename to... >>> (my_end): ...this. >>> (main): Adjust calls. >>> * gdb.trace/trace-break.exp: Reflect function name change. >>> * gdb.trace/trace-mt.exp: Likewise. >>> * gdb.trace/unavailable.exp: Likewise. >> >> Hi Andreas, >> >> Another way would have been to pass "-qualified" to the break command, >> or use gdb_breakpoint and pass the "qualified" arg. There are also >> other instances of the same "problem" in tests that don't check the >> output of the break command at all... >> >> gdb_test "break end" ".*" "" >> >> In any case, this patch LGTM. > > Hm, actually the use of "-qualified" is a good point. I'd rather go > with that. How about the patch below? > > -- > Andreas > > -- >8 -- > Subject: [PATCH] Testsuite: Fix ambiguous "break" due to libinproctrace > > Some of GDB's trace test cases define a function end() and place a > breakpoint there with "break end". However, when libinproctrace is linked > to the binary, there are multiple methods named "end", such as > std::string::end() from the C++ library or format_pieces::end() from > common/format.h. GDB then creates multiple breakpoints instead of just a > single one, and some FAILs result, such as these: > > FAIL: gdb.trace/trace-mt.exp: ftrace on: break end > FAIL: gdb.trace/trace-mt.exp: ftrace off: break end > > Fix this by adding the "-qualified" option to the break commands. For > consistency, change all occurrences of "break end" (and similar) in all > trace test cases, even if the current behavior does not cause problems. > Also, consequently use the gdb_breakpoint convenience proc. > > gdb/testsuite/ChangeLog: > > * gdb.trace/actions-changed.exp: Call gdb_breakpoint with the > "qualified" option when setting breakpoints. > * gdb.trace/backtrace.exp: Likewise. > * gdb.trace/circ.exp: Likewise. > * gdb.trace/collection.exp: Likewise. > * gdb.trace/disconnected-tracing.exp: Likewise. > * gdb.trace/ftrace-lock.exp: Likewise. > * gdb.trace/ftrace.exp: Likewise. > * gdb.trace/infotrace.exp: Likewise. > * gdb.trace/packetlen.exp: Likewise. > * gdb.trace/passc-dyn.exp: Likewise. > * gdb.trace/qtro.exp: Likewise. > * gdb.trace/read-memory.exp: Likewise. > * gdb.trace/report.exp: Likewise. > * gdb.trace/signal.exp: Likewise. > * gdb.trace/status-stop.exp: Likewise. > * gdb.trace/strace.exp: Likewise. > * gdb.trace/tfind.exp: Likewise. > * gdb.trace/trace-break.exp: Likewise. > * gdb.trace/trace-condition.exp: Likewise. > * gdb.trace/trace-mt.exp: Likewise. > * gdb.trace/tstatus.exp: Likewise. > * gdb.trace/tsv.exp: Likewise. > * gdb.trace/unavailable-dwarf-piece.exp: Likewise. > * gdb.trace/unavailable.exp: Likewise. > * gdb.trace/while-dyn.exp: Likewise. Hi Andreas, Since the gdb_breakpoint proc accepts the multi-location printout, we may not even need the "qualified", just using gdb_breakpoint would be sufficient. But I think it's not bad either to use "qualified", as it makes the test more robust. It makes sure the test doesn't stop on another random end function/method. So this LGTM, thanks. Simon