From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 57646 invoked by alias); 23 Oct 2017 17:17:35 -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 57236 invoked by uid 89); 23 Oct 2017 17:17:34 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.4 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=Hx-languages-length:1487, Hx-spam-relays-external:193.180.251.58, H*RU:193.180.251.58 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; Mon, 23 Oct 2017 17:17:32 +0000 Received: from ESESSHC020.ericsson.se (Unknown_Domain [153.88.183.78]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 7D.6D.26775.A242EE95; Mon, 23 Oct 2017 19:17:30 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.78) with Microsoft SMTP Server (TLS) id 14.3.352.0; Mon, 23 Oct 2017 19:17:29 +0200 Received: from [142.133.48.78] (192.75.88.130) by AM3PR07MB306.eurprd07.prod.outlook.com (2a01:111:e400:881b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.156.4; Mon, 23 Oct 2017 17:17:28 +0000 Subject: Re: [PATCH] Fix faulty use of obstack_free() to *shrink* dont_print_statmem_obstack. Instead use obstack_blank_fast() with a "negative" size. A real stack data structured would be appropriate here. Added unit test gdb/testsuite/gdb.cp/printstaticrecursion.exp. From: Simon Marchi To: Patrick Frants , References: <1508405381-16638-1-git-send-email-osscontribute@gmail.com> Message-ID: <0d612f89-a3a9-afea-965b-7c364b660235@ericsson.com> Date: Mon, 23 Oct 2017 17:17:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DM5PR12CA0058.namprd12.prod.outlook.com (2603:10b6:3:103::20) To AM3PR07MB306.eurprd07.prod.outlook.com (2a01:111:e400:881b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8eb55800-729b-4291-7080-08d51a39f040 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603229);SRVR:AM3PR07MB306; X-Microsoft-Exchange-Diagnostics: 1;AM3PR07MB306;3:mQPV8DHITZEOzPXYRP1bstSifXWdFrTZ3ZDEe5bfr4O0HeWKqhxIL56V+BQjyXZrTvGzSt9mhD7DsfjAre77tfzF8sj9eXpPAxWhzRMKMhk59GaCXZt4FTXIl3RWjKxhXw4JN/dexOvBwxMUHtrT+MWmcBvHh+kOJVRI/a5xYzH59cpMFp++EZKiBuTJAQjQDJVP4RkrgA9qjMEE54urEaBbonD4q1GE66ztcd53FrM45UJ50gFDEUjvPE1zQeMn;25:oihfKnkrxvKNQ7AWhPCVpelIryb+sytYKqI9KqDLHeRFjP8LUkPOwGcUeUC4TEYAGvT7L2dT9hpZGqvzOXXOo6a5rx7z7PZOrgtFvBnlZOcZWR6AxxDpZiruTOAiouKgphzrMBx6WDvspuSxVu6jcViS1iGNMKuiWg/5iwu1V8eR5U5PxcY+UolVH5AiN9PfWNNL18cjsFV6b1v2aHB65D5U5uSQqLNGUi+FmCiw/LcYliheX1rHv8aNX1JZUs4Vtw2QLFGI25xnj50SnKZhtiGA3XaCFL3qMHw3Fd0Dmo8oGUBdG6xHq2ux23cJv6ZECZlGKUVjC3obD2jvxpRSug==;31:5kbvBk4Ub1F1V9miznfwFgM+wx+3fL+ldMzrc1g+stfTL4+JT4yYayjSgq/kfAI248w5U5MR6K0DsF/Ez/Pgv2YmOB3M+JXdnVXQ2r7QauVB4r+7gH49rEa5CN5KtTsUj/uxr67HAyQnlzTeMsBacdiADR94KQOI7JxdgaHX7ub2MOMTsaO7LoyH1Uin1yu4aZgg9sYHdsv/MWG+fFsKq/L3cqG9xjfRrBtm2hQbe/Y= X-MS-TrafficTypeDiagnostic: AM3PR07MB306: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: 1;AM3PR07MB306;20:8U2f7YLrZG6pT0ruMhwmDeS1lsO+uQmAXtEPthuQNpyknmKkCPAV6GAEhgi/asukcaICmvLQdH0IzUY+J7r7A4Oi8yhZI46q13zUg9wp7QZuMm+UVGaNTBGqqPZ22z3DL61AV44fqMNQ44zCNfy4mty/MdYQjAMy4cZvRRSwGYiaGSc94oxS2XFPqwZhAqCAOcSiTqH/loIbTbFTlRdYnwCBl5CoJzhcUA8HkmaOIi4AREY8baVee40nQ2LjMAp5Hw4Qk7lLQ+LzzMKVh8uPxhwRNzRWzsFDpPQota6a4tVtzB+zec9h2bXK3bQOQqN6U+CeRMFVXLwJhF8TuFQmMcGo1IYzreT7aXrZ+xhVYbAO/ph/kN2VT9zJPbUXANySvS0JAkabVQHTGifYbWhNVe2kj/kGJ3JrkB/hMjAMXv64Hvti+ZOrtzGtiKF7GJXpfkvdYJGaChCVGrtssd5MB1qHbKKLoVwmUhxTgwcOsj9yjrFnHT+WZ5fw2hfigNGg;4:E1WJg+UQjeKL896cYUnhAGJSKDJRirzt9jG63yYasQu8zAwhkMYyjVd1nYGUpDigKVMP7AfE8wbHk4hzBrW5h6JdPX4sUEXvELdwBX20bhuzYj/MmjMLcld0edQQX1m9dSOgFfFacxacbxUAdCkArwjTzZ8sJUYFr14IAUqt9K4rOVhWGJ3MgalJ496GBvRkXDjUz/AdhJBM9jHC2DkrUfwVVL6nmY8PQImdlo+QtCD+Q2VjeCkjWc1jdZusx8hn X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(93001095)(3231020)(6041248)(20161123555025)(20161123564025)(20161123558100)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AM3PR07MB306;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AM3PR07MB306; X-Forefront-PRVS: 046985391D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(6009001)(376002)(346002)(39860400002)(189002)(199003)(377424004)(24454002)(53936002)(86362001)(105586002)(58126008)(106356001)(8936002)(81166006)(230700001)(4001150100001)(97736004)(49976008)(83506002)(6486002)(33646002)(39060400002)(6246003)(478600001)(316002)(16576012)(36756003)(31696002)(64126003)(305945005)(16526018)(2906002)(189998001)(53546010)(7736002)(25786009)(54356999)(76176999)(50986999)(65806001)(65826007)(229853002)(68736007)(66066001)(65956001)(101416001)(50466002)(3846002)(23676002)(2950100002)(47776003)(31686004)(6116002)(6666003)(81156014)(8676002)(5660300001)(78286006)(219693003);DIR:OUT;SFP:1101;SCL:1;SRVR:AM3PR07MB306;H:[142.133.48.78];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?MTtBTTNQUjA3TUIzMDY7MjM6anY1WWJiVldwbSt2RTMxa2NzbWd6VWRMSXdw?= =?utf-8?B?Nll4UEMzVWJUVjVDbFg1ZGZHZ01sVlVRMTdBUks0ejQrSDhNTEQ4UC9QcEhJ?= =?utf-8?B?czJ0QWhRRHlkYUNLQkdKaCtRc2IzNUhYaityUDdkTC9QeTBNU3ZLZElnRmNB?= =?utf-8?B?RFpXRlNCaGNMenAzWWVKM29hRFRCRDZSblB3NDdWekd0eVdJQnErcFd2NEVC?= =?utf-8?B?ZmUwSy9sUmVVWEZibFcvdndPemNmRVpsQVQ2ZFZqSFhQd2pPcWg3UGpiOXBK?= =?utf-8?B?bzVHa2ZldFE4b3JUbDRRTGgyN3BUbHZBV2t6V2VuOTlxVVNjL0JsMy9XV0dw?= =?utf-8?B?QUdnZ0xUellHdjF4OE8rWDExc3BHV3RENjY3d1JwcG4wbTk2Rm92d2JZUUxI?= =?utf-8?B?L1NWbDgrMGFaZzNHZkJXRjFxUkhkZGFlWHhackozWG91S1hIMmxOSEh1TUh5?= =?utf-8?B?dnVVUFBDNHBEWEZENkFyNHVmUFZZekVYYjFISEsrMUR3VGZsR21jaGc0eGJ2?= =?utf-8?B?dHdFNVYzbjdnT290Y05yMmdVV3hoSERTSzhSV1pEWVZxVnMzTis0ckdjbEFV?= =?utf-8?B?cE5iZDNsOWQxUjB5ZWZva0xTRFFRZVBmQThDdjljY1lMcHplblFUZzhsZm1H?= =?utf-8?B?ZUczT0pIcCtoYlNzc290anMwaHVuVnMvRFV0aVNxQWF6QTNYM3ByN3ZuZlJr?= =?utf-8?B?eW9TQTFNeDRmR2tIWlNWSjZJdERKcjhlN1ZTb1kwL3NucjRiWFlJcjk0dmQ3?= =?utf-8?B?ZjNUdHZXcXArWnNLWUw5UEczT0liU0wveTJUSkZ0ZHo5T3Rib2d2b1hzOFFu?= =?utf-8?B?V2RKWm0zTVdWbzZLN2JNNEsrRS8renlEaHJmaDh3b0EwMlRQaTNCOVplRmRi?= =?utf-8?B?S2VlSGVVeTBYNjVJTmNma0V0ZnJLaUNrODdLa3lEVWFtN3VYblQ4SUFZMGgv?= =?utf-8?B?cFdlTWhvMFExWnFGWE5QN0cyNG93NktleDFML1RUS3VuejN0QWVWL0R0a1Fo?= =?utf-8?B?NVpaR2FzZG5SUWwydFZjMkQyand3T05HTDgwK0J0Vm9LeDJZd0k2a2M2a3ps?= =?utf-8?B?SGdBMkxRbllHNzIyTjdmTkVvVTduZytBNml4LzJ3QjdsS3hTeVNXN0ZJdHp0?= =?utf-8?B?RHpZT2JxdEJvM1cyaFNITUo2UEprR0RwUkJmMloxWlVqdjUvRUZacU5zT0NP?= =?utf-8?B?TXp5Z01ldktMb3JscFZpbysvRXB6ejFVc0YvTFVHZElXZjdhK0V5NElMWmFn?= =?utf-8?B?S0xEZ2ZScXoyeVRBeHFlVG1LVVZhV1NuYldYUVlNaEJqN2V2enhVRHpHMmJ5?= =?utf-8?B?dmFmeHJlcnhGd1JJQ3dyODhTbkNLQmdnVmRiL3dsamJSR2hYM0dvUjZ4NFd6?= =?utf-8?B?SHpwVEk5bTZGWTdPR0R5dmpCTnZyQWRBWThYdzYzZUcwM05ZYTdFWHVIS1VO?= =?utf-8?B?RWNGcit1Q0p3N3ZrM1ViK3U1MG9YSHV4YXplem9hUFJERXpEalVpSXRNY3BD?= =?utf-8?B?Y2g0OHJidDJsM2lrNzBQVHlFSjdLUlVjSHBUUUZ2TE1weU5LdTJKYkJmeTRU?= =?utf-8?B?L2E5VGdKL0JPTng4Rm0vWWlUNFRFOTFKQ1hXb2MxNGt5N21SQm9YbU9hbkMx?= =?utf-8?B?a1hOTWxSMmRVcmY0aVl6SU5XOGRjUkNkbStMbDhRVVJDWnRzWkUxN0hmc2Jh?= =?utf-8?B?emFQK3Q1NTk1R1A3QzRnaDk2WEFYd3VvdUthOHFwd3FibkpvUDArWVoycFJ0?= =?utf-8?B?eEUyMDRzSlVvUXd3d1R0RjBVK1o0ZXQvWWNHMEZPRHFYRFBpRUpocjNJcXlw?= =?utf-8?B?RVpNbDg3VllGZUQ3QXJhTS9JU2VrRGJlRjZjRTZ2QkdiMVRQWkVWYW5iWE4w?= =?utf-8?B?VmRCRnNFZWUzWCthOGNybm5GTm0wZTlVbk9VMGJWbTk4WElHczdpL0pFUlhV?= =?utf-8?B?SFZJSTNsZWc9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;AM3PR07MB306;6:q7jNHYXHBj5EK+3K42Rdhfaz4Y/xkVw89tUrmnBstF+kVERQ0ui2l6SAiEIDST2gGSvfU+XoVKetQT00aPwXuL3+j1+KPjS/YyBRifzbQhSxKXFzUK5Snzza8ROdq6/sA49rGVjuxYGpEVtyFlnPu4rwlVCu9dAuHdbnvIr9Y2/rxNs5a+AVKq9K/RY+DDVKuv+6HH3zwvNZ/erukDyXSlEjwjafWnUK1iEsMZsBV1zLuMKoBLCjbXdF1h9vGNIRO2y7ewUKxLdb69Lv/4PAcM6BcfrH1UK0v3/A+m+RKIQ8j5EOQxQjNT+J2wlQKvxXqWMQtKlXvFizx6eN6oZfkw==;5:T8DITCsoU6ZxCES1Jo545JncfQFAQYEjhLmb5vyAdCmBEZnhrvcpabGh9H4LatV8Fdd0HQ5TZT70fhx/uDjR0aunI0M829aYwgf/IW3mT0Vfk30DTTfUQja79CnM9OtDhNhi1ra357Cs+d+oQktP1w==;24:TzFS1IJ7EPBQx1Cjw5NsuhtMORlQihFD+3o0prkfjtWYj/wMnqBvcY4ed4Po0Fye3rbUqxIJDQfwU/9ZeKdiM+lCvBnjtZZ4iRv/JJA05vc=;7:NGmPBrYdn7ZTsLNw7dCbMhp/kqoK1eI3u/+d+QQX0oleoq9hazcUIGPcWlL59p8+NdlsFbAjUEnFCVoR7IvbWqS0r3nlh+GaZl+kl2Tdnqd4rDMQsEUPwfJ+uphmk/KkQNX8zGvdD5eE1rSWj3Q33QRR998Dwijdv1fltCv12PGdaLqQyXimErV3Tzd+3hMWn8XMmBA18t4sYca6Xq1CRJv/GE1FpVCnDw6UdN/8BiQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2017 17:17:28.2756 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8eb55800-729b-4291-7080-08d51a39f040 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR07MB306 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-10/txt/msg00728.txt.bz2 On 2017-10-23 12:09 PM, Simon Marchi wrote: >> diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c >> index fb9bfd9..8f9658d 100644 >> --- a/gdb/cp-valprint.c >> +++ b/gdb/cp-valprint.c >> @@ -370,14 +370,9 @@ cp_print_value_fields (struct type *type, struct type *real_type, >> >> if (obstack_final_size > statmem_obstack_initial_size) >> { >> - /* In effect, a pop of the printed-statics stack. */ >> - >> - void *free_to_ptr = >> - (char *) obstack_next_free (&dont_print_statmem_obstack) - >> - (obstack_final_size - statmem_obstack_initial_size); >> - >> - obstack_free (&dont_print_statmem_obstack, >> - free_to_ptr); >> + /* In effect, a pop of the printed-statics stack. */ >> + size_t shrink_bytes = statmem_obstack_initial_size - obstack_final_size; Hmm, size_t is unsigned, maybe it would be better to use ssize_t? >> + obstack_blank_fast(&dont_print_statmem_obstack, shrink_bytes); > > The indentation should be 1 tab + 6 spaces. > >> } >> >> if (last_set_recurse != recurse) > > The code below that (which seems to be handling a similar situation, but for arrays) uses > obstack_next_free as well. Is there the same problem there? Never mind about this, I saw your other message after reading this one. Simon