From patchwork Sat Jan 6 17:08:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 25252 Received: (qmail 64920 invoked by alias); 6 Jan 2018 17:09:10 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 62491 invoked by uid 89); 6 Jan 2018 17:09:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3 autolearn=ham version=3.3.2 spammy=D*ericsson.com 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; Sat, 06 Jan 2018 17:09:06 +0000 Received: from ESESSHC006.ericsson.se (Unknown_Domain [153.88.183.36]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 45.81.13339.FA2015A5; Sat, 6 Jan 2018 18:09:04 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.36) with Microsoft SMTP Server (TLS) id 14.3.352.0; Sat, 6 Jan 2018 18:09:03 +0100 Received: from [100.94.228.101] (129.192.64.65) by AM3PR07MB305.eurprd07.prod.outlook.com (2a01:111:e400:881b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.1; Sat, 6 Jan 2018 17:09:00 +0000 Subject: Re: [PATCH 1/2 master/8.1] Fix GDB build failure when $development is false To: Yao Qi , References: <1515148494-21578-1-git-send-email-yao.qi@linaro.org> From: Simon Marchi Message-ID: <84552133-c6d7-3fd8-de88-bdbf5f7d6e1f@ericsson.com> Date: Sat, 6 Jan 2018 12:08:47 -0500 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: <1515148494-21578-1-git-send-email-yao.qi@linaro.org> X-ClientProxiedBy: CO2PR18CA0045.namprd18.prod.outlook.com (2603:10b6:104:2::13) To AM3PR07MB305.eurprd07.prod.outlook.com (2a01:111:e400:881b::13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ddd141e3-6a19-4ae1-b698-08d555282ea9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020020)(5600026)(4604075)(4534040)(4602075)(4627136)(201703031133081)(201702281549075)(2017052603307)(7153060)(7193020); SRVR:AM3PR07MB305; X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB305; 3:qsKYBr94epgzEHirH28uTep/DqGqd4lL2ZsKmCCrpjZ2WHT3RGN3g6G1shkiwsli6Rbc3EMEtBcu5TTF1ktVUB4ngOXssan8rhINIjmT5fyz9WaHvAoN58ye45qdsB0mJvIDkfV32dwdXBQN2SfKmT3U8fGeOvCS+VJ3bnTEnFs5jd40V/g/4SACVYyfCjsO03TSeCbow3n8TusGxbVnJdjQHigj0h7fGIwpheG+i6ogOph8W5SauYumsUsPAlNF; 25:FTlMbAE5UVc4hEd9JfxShHJm75l8QHbl0GlOrL5xN5hlB+Hl9eOwcpFR4uD1I1SqGD2wx2fMxrDf/v2UGAeBC9CmlBFzr8KQHI3QHjWo+Nv/Zr5q5HnakeOB6sBsdKdtYQQ79+8jyokc7yO7jBxzJ7Akshj/ug1+PelIzhCqJ5FTD1M0fznkbp8QvOHJnn8Dt0ygKTeX5hHdFZ+pdWoNREH10xKI+3zfPMIAt/sUJErqJ/MTqgvSdRpnYYNNrrcbWs/R25HQp6KHmcYc+rfiGs7phgjnAyNZJmuJa65jqlyCosOJfHo5k4E9rnyX3enSwxTPfx9ipt7d/JUUzTkUnQ==; 31:We2a4VrRx4UGZ1PdLfhEIdXE7fb+Aaq9CkkRYaANFupOl/tpcnvbV3191TMocmHThAciTpPd1qYjNBaocBsofmt5l+k8cIxoOvDylvCzG1HVoA65tM3msLlYsmFrLnaJa914tt3NJBPE8VvQzL73urHBgpF1YlsE31/F/m+D4RZeO4iz93x+tqyWtt9RdJYq03KgWgIuOEWrN3XAJRqGj6/mNdsEgtWSkOaLmw9AsvY= X-MS-TrafficTypeDiagnostic: AM3PR07MB305: X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB305; 20:ABzIs5hRnzZ59X26rth8dcEpV+6cpc5s6urlXrLL4ePpA00W9GHbxtOaFwo38gAhXdV20CvCpO/qoMPko+mfTEErrFtTWzAxaFNUGkksszrsB8Tu+/4zgoNQRn2jvOijkUmqp9gdUjhks7GqZihUypNWyUMItwkc1H4coVb8GSjUwNzJnZs6b9rSLFxho1an/rL8TwGEPowAEqDNLY5qSPGIyCgbYrN0j8/QzEX74CLp/mspaA3zv3I4Rk/3JXXQ+3wJnBDIXCf5NZ2c0iUUtCoOgL/g2J1PvgELQpHy+8CtoI9aTOQ3Is8rqRV2NiR1/3msA7KmI5OTmssTraI12Fb3NgLHQ33uPySb/SeVI8b0FIGfJXgO/0aB4eezYw4hkDrnRNLEiHrJjQf10eEfpbX3/8hVUOhUk2s1SkRQa5rOonRwnIZjr1bS2sbGUUMzM/wLFFbAQo2Zd3LhTJq+VpKsiJ50WBkJdjbxSZSnASwUQTUI4KnmjgBZNkwXHizp; 4:1EdmfUO52eSE1xpM1xv554+BFAaCZkAC9UtsY7W9JZkzU/2Q+e5rCv0Dj10WMydvtJ4nC8+e5rIjFNNeV3gdGy5YQyu2WwKrim1+bpMwWNKDvtIPrbyM7sM8ERE9hVoHxmxVY1hJloHiumMDlVoEikhFrImcas0ENQWDXqIRG5W9gqOVpLHSA/d29eNYuUJ9zXHw0QLvteyfpZ/VQeDD3tDcUmeNPIOACQCqhVb7AhMuS/go00KX87nQ1RqNqZu6u676ag1PdnpYdamb0FVWhS+j9DMOCr4e3GGZxhqbAEdGcMC4eCvydGzJrvcju4w0ivBjObSiYwsEO2l4NhmnAgWs8S+dGqCHGsxz9MEV6rI= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(37575265505322)(211171220733660); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(3231023)(944501075)(3002001)(93006095)(93001095)(10201501046)(6041268)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:AM3PR07MB305; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:AM3PR07MB305; X-Forefront-PRVS: 0544D934E1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(39860400002)(39380400002)(366004)(376002)(346002)(396003)(377424004)(24454002)(199004)(189003)(36756003)(49976009)(2950100002)(65826007)(105586002)(6666003)(16526018)(8676002)(31686004)(52146003)(52116002)(5660300001)(478600001)(76176011)(53546011)(386003)(53936002)(64126003)(59450400001)(23676004)(2486003)(230700001)(86362001)(97736004)(106356001)(7736002)(65956001)(47776003)(229853002)(31696002)(83506002)(81166006)(6486002)(81156014)(25786009)(39060400002)(65806001)(50466002)(6246003)(58126008)(66066001)(6116002)(305945005)(8936002)(2906002)(16576012)(316002)(3846002)(68736007)(78286006); DIR:OUT; SFP:1101; SCL:1; SRVR:AM3PR07MB305; H:[100.94.228.101]; 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) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTNQUjA3TUIzMDU7MjM6OUpEMHNITTNNMUFCeFRUc0pOalA5M0l6KzRY?= =?utf-8?B?aGltQnE4Zi9lYjBjRU91b01Cd3BEam1rTTcrcVZ2YU9RcmpyVXVJVG84UlJn?= =?utf-8?B?Yml6WERPcnZKQ3NSL3VtVTFaYXA0OEZxMy9WR2JYMzFLeUkvZi91ZEQ1ZGFQ?= =?utf-8?B?RDlOdEc4d0ZaQ1JCNTIvenhTNTNwYjBIZ1RwbmdZN2tRQm5QVFFNaThPVDln?= =?utf-8?B?dWQ5S0NRUjFjWU1xeS9rSkU2WWNsTm5jRUVGbTRacnhxS3JiS1d3ak16dWJ1?= =?utf-8?B?RDRXZjhUMm5ocVpUd0o2QTQ4UnFZakd0RW9EaWZESkxFSHBuNjlEMlpMbk1i?= =?utf-8?B?M3Y5Slo0OUJtaXBhSjdoOW11SVFZd0dsUGxUckl1MVRWbk04cWJmYTEzOUNB?= =?utf-8?B?QmQxaU1KYXgzSE5PZGg3YWpEUUFkODJBS1RscUQxQ0lnenl5ZjU1ZjRNeFda?= =?utf-8?B?SVhuSk5LQmtGNTNLSnFxeFN1M2dnOUp3ZXNiTUJlSzRQSyswWUQ3b1RmU005?= =?utf-8?B?cUI1N3czNmdrOHpPaCtGSUNqL1ZneGthWnNndnNPSk14MUloTHJKeU1PSXpL?= =?utf-8?B?LzNNSkdEN003TjA4TEErZzF2cmJ3VnEvM2w0TEtpSkh1cVkvaFo3MU1PaTEz?= =?utf-8?B?cWdzY25SRC9OUWppSWN0MkZTS2pFVGhjNFdVeVhBdGJvM2I4bFpCU1JFSS82?= =?utf-8?B?VjB0VHFXVzBiZnVzS1NhVWVvQ3BoaGE1UlBrWlBQUVZQYTU1ajQrZXQ3YXIz?= =?utf-8?B?MElsdi8zY0VNN2hVZVlPWU5lUzI2dHBXMysxVWIzRVU0a3p1R2RXdG41RCtU?= =?utf-8?B?UEE2bGQvU2VieW5sQWhXNEdLd2FJZjh1bkI1Vmt6a3dNbGtUb2hZOWVaWDFH?= =?utf-8?B?cUt3c3drSXFiZGRHNU41WDlRL3V6dGxTdDlJanlEU2RzQStsZmdhVjJOUXJv?= =?utf-8?B?K1gvQkZuN2FGYTZlODJiZjROYktzVU03RndDNVpXOWhlNDdLekdML2p5TXo1?= =?utf-8?B?T0xlSmFneE1RYmRoRDcyOTh6QnBxMmNkS0FhZzNrLzRKcklHU2Zjemt0cnky?= =?utf-8?B?ckU5ODdOTDVWUngzMkV0eUNZMzQ1TjMwVTVTUHJ5TXE3Vms1eHlpdVZVUnNZ?= =?utf-8?B?T3hZOGIvU1JFbUIvYWtLaVhLY1lHRlZLbEZ6UmUyekdJbFM0UG1ROEdERUc2?= =?utf-8?B?NENZL2Q4M3FtQmNjaktieU1wN3hjL1hzaVh3L0NSSWNvayswRGpLMXh4bWpM?= =?utf-8?B?aVVSK2ZmSXN3WlB1WVNSU01OQndDL2grdkVCYjRHbWNiay9PdGVCQW5uakcx?= =?utf-8?B?eGhXWjZTU3lCazQxZ3A2eXRSVHQzN1pyWTlFR2NVUExmbzZCekhacU5RTm1M?= =?utf-8?B?bXNJTlFlTG5aMTduamluZ1kvTm52amVPem5ObXlvR203RzZ5UGh2YU5ncWhy?= =?utf-8?B?TFJyVk1YMnByNlZDdHovd2JaQTV4NEl5VWhFOU4rZ0RQd1dsMHkxZmN5K2k4?= =?utf-8?B?VUVvbTI4YWZrdmFuc2tWVkc3OHUyY1hYK21xK0RXZ3UwYldEQWJRTU9PTjVE?= =?utf-8?B?N29kZDJKMld6S0FoVWhCQWRSclQxd3FSc2dQZ2tCTU9HWTl0ZTVlN1lFWXpy?= =?utf-8?B?NitNZk95Qm9UVVdwanUrY0tsdkl6cU9nSFRwbFU4VjBhZ1NoTlpoTTlYd2Zq?= =?utf-8?B?dW9TTmJBbzV1aTBsYVdNdFdneXE5YzBvNGtpbWpYdmUwT2tWSEEyMGNrajcv?= =?utf-8?B?ZmlVY3lpOEY1NEcxYTFlSmhSNVZUZzgwWVlIMVh6OUlsUFh6Um8ya2dzNjJ1?= =?utf-8?B?Yk5haWlSK2JWSlVJajVuTnRPcmJ4ME1CSGFNUUY0U3lBaDE0SytUckVQSTR6?= =?utf-8?B?bHZtamlBVFJTdlR5OURsYVlJRG96VjV5UTV0eEk0MUFldWUrRkx6bFA0YVkx?= =?utf-8?B?ZktpcG1LTEE9PQ==?= X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB305; 6:+crYFX8sIqL+idO1x7Gmr7m/bOUgWWNwDaEOGT6esJfTfMX+WAq+l/0UT7O++NXUVlTkmfpo/0lIwNV2p2bjrZXWpTcoMArDOwjnmlfsTRhp6zZ8ZEToy0wrdLxBKXFohRYYSuouOVkX2SxxpQaIAlQoMzzBQzq4lYdA9PcdCDB13QRL7IC93Cu+lhlpFge2/XhDhda5LVFqG34uujVPWvhBT611fdk/gzEKGLhbXET/W80ZlKYSPpPJK+kHLSlyaSPylgW0ZHD+cSkoIasW8euck1iI4vJ2DjIcxFui20XK3myKx8XHrarRxoo56V8558PopU6n9ZRdgqXg02x8MLqsuXD+B+Yi3lG3RFxQ3Ow=; 5:HPu73MOLzKBAEHXfcVVPkekeihKNlVBpi+iEp1Ppq0uYDfng+1foP59BZ85PHV95fp+aOQrSk1APzCcCi1BXOkuS3p8cK6Ff4zZPsF3eMlUgvfjo/kCBL5/i2Q9yYIWHJPKTdK3HJTUL9usUs39O3WtKi0JW00gw9QGCUniHSN0=; 24:108oTkFWZdu87Fhva6aaPi74BFRZks795pmOv24YUAYidHcBhXLYtb34PdYnt07kOT4FPtYWBo7tkaSAQ+wG/3IGFAXCrCJxh0J4HykEUwI=; 7:v39W01rLEaTCirBKu08XXqMuGmxrL/6wwN9OGhcIANCOW/xMXJiNodS7PcfKjQzu5Yq+N87587bKqr9jABV72mSD5ZSr4viHnOkHhfvvZ7EXOkYfjSx4fG6A9/b2FoTzRJJaz7pE64zb5rCYttq6Fnj7wRRCK6oXJ+LzISPK5608Moiy/3APUI2ncbZD/am00A8IViX3GI8tosmtjFdrXEDZg8qO079665XciSHR+CkmnL7I4yYRv21jvq0BIamY SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2018 17:09:00.0063 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ddd141e3-6a19-4ae1-b698-08d555282ea9 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR07MB305 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes On 2018-01-05 05:34 AM, Yao Qi wrote: > We don't build GDB selftests bits when $development is false. However, if > we turn bfd/development.sh:$development to false, common/selftest.c is > compiled which is not expected. It causes the build failure, > > selftest.o: In function `selftests::run_tests(char const*)': > binutils-gdb/gdb/common/selftest.c:97: undefined reference to `selftests::reset()' > collect2: error: ld returned 1 exit status > > I fix this issue by putting selftest.o selftest-arch.o into CONFIG_OBS > only when $development is true. After this is fixed, there are other > build failures in maint.c, this patch fixes them as well. > > In the release mode, the output of these commands are: > > (gdb) maintenance selftest > (gdb) maintenance selftest ffo > (gdb) maintenance info selftest > Registered selftests: > (gdb) I would suggest printing a message when selftests are not available, instead of doing nothing. It could help people figure out why they are not running as they would expect. Also, it would allow changing gdb.gdb/unittest.exp to report "unsupported" when make checking a non-development build, which is a bit more precise than reporting a pass. Otherwise, the patch LGTM. Here's a fixup patch that does this, feel free to use it if you like the idea. Just as a sanity check, I added an assert in unittest.exp to make sure that when tests are ran, we run at least one test. Simon From 19aaacbe970594e077f502e3212a5a22d4dc716e Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Sat, 6 Jan 2018 11:49:09 -0500 Subject: [PATCH] Print message when selftests are not available --- gdb/maint.c | 8 +++++++- gdb/testsuite/gdb.gdb/unittest.exp | 13 ++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gdb/maint.c b/gdb/maint.c index 624a80e..70e0011 100644 --- a/gdb/maint.c +++ b/gdb/maint.c @@ -941,17 +941,23 @@ maintenance_selftest (const char *args, int from_tty) { #if GDB_SELF_TEST selftests::run_tests (args); +#else + printf_filtered (_("\ +Selftests are not available in a non-development build.\n")); #endif } static void maintenance_info_selftests (const char *arg, int from_tty) { - printf_filtered ("Registered selftests:\n"); #if GDB_SELF_TEST + printf_filtered ("Registered selftests:\n"); selftests::for_each_selftest ([] (const std::string &name) { printf_filtered (" - %s\n", name.c_str ()); }); +#else + printf_filtered (_("\ +Selftests are not available in a non-development build.\n")); #endif } diff --git a/gdb/testsuite/gdb.gdb/unittest.exp b/gdb/testsuite/gdb.gdb/unittest.exp index 44e9329..1c83585 100644 --- a/gdb/testsuite/gdb.gdb/unittest.exp +++ b/gdb/testsuite/gdb.gdb/unittest.exp @@ -16,7 +16,18 @@ set do_xml_test [expr ![gdb_skip_xml_test]] gdb_start -gdb_test "maintenance selftest" "Ran $decimal unit tests, 0 failed" + +set test "maintenance selftest" +gdb_test_multiple $test $test { + -re "Ran ($decimal) unit tests, 0 failed\r\n$gdb_prompt $" { + set num_ran $expect_out(1,string) + gdb_assert "$num_ran > 0" $test + } + + -re "Selftests are not available in a non-development build.\r\n$gdb_prompt $" { + unsupported $test + } +} if { ![is_remote host] && $do_xml_test } { gdb_test "maintenance check xml-descriptions ${srcdir}/../features" \