From patchwork Wed Aug 29 12:41:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viktor Prutyanov X-Patchwork-Id: 963433 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="Q3WbsTSw"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 420llM659qz9ryn for ; Wed, 29 Aug 2018 22:47:43 +1000 (AEST) Received: from localhost ([::1]:42936 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fuzsr-0000Hh-Db for incoming@patchwork.ozlabs.org; Wed, 29 Aug 2018 08:47:41 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42924) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fuzp6-00069q-RQ for qemu-devel@nongnu.org; Wed, 29 Aug 2018 08:43:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fuznm-000327-Kv for qemu-devel@nongnu.org; Wed, 29 Aug 2018 08:42:28 -0400 Received: from mail-eopbgr40138.outbound.protection.outlook.com ([40.107.4.138]:19424 helo=EUR03-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fuznm-0002zG-Db for qemu-devel@nongnu.org; Wed, 29 Aug 2018 08:42:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SSOcsVIdjdCMcNQI4gaNNt9+SE/98VkXRXnHxDILcco=; b=Q3WbsTSwy57VmZkotg0MhCCJvp1MCl0zvyLWX2+byzdVMvexCSNtRHrDLv3Z7zXwugKZ6qp9uXKaDKEJ8DClzFJe9HELaGDLC6Qzz0cZSsLIloFB0JK/Tj9QEVfC2FM53Vl/ZVG01kDQlYMkuKocjeye5FTlHEuSdNbYRbAmyNE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=viktor.prutyanov@virtuozzo.com; Received: from vp-pc.sw.ru (185.231.240.5) by DB7PR08MB3611.eurprd08.prod.outlook.com (2603:10a6:10:4a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1080.17; Wed, 29 Aug 2018 12:42:24 +0000 From: Viktor Prutyanov To: qemu-devel@nongnu.org Date: Wed, 29 Aug 2018 15:41:27 +0300 Message-Id: <1535546488-30208-5-git-send-email-viktor.prutyanov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1535546488-30208-1-git-send-email-viktor.prutyanov@virtuozzo.com> References: <1535546488-30208-1-git-send-email-viktor.prutyanov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [185.231.240.5] X-ClientProxiedBy: AM5PR0102CA0003.eurprd01.prod.exchangelabs.com (2603:10a6:206::16) To DB7PR08MB3611.eurprd08.prod.outlook.com (2603:10a6:10:4a::13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0dcb93d0-e9d9-4c76-08ed-08d60dacdf24 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:DB7PR08MB3611; X-Microsoft-Exchange-Diagnostics: 1; DB7PR08MB3611; 3:kJk6JYwXIFXGpBjQszoQmV8iM3wjoKISY12ih+VUu/ZgYzLyt3kpzStTmJC6sxKpYO1bY4MJ3fWf5Y+FA+fXkOsfdqPkpfpHO/MLrW2jXaIHA3t+JfzV+L+Y5R/+rdg1gcbjlPmJVVajEuB0cOpWLdKKFuT2a5PDc8dAbb0gfV0sY5ehL4HaSMAlMOh18F2xV4S7+4Zcnmho0OVRYJSvmBCbT72jPbeSZsPn+IasfTRr6c+BPY+hPhDrdJ037k1V; 25:8WD2xehVpCtS7GpPPV5m9/Wzg03HkUMBHHaxMFc2eBY3bCWAtesKKxMKKPsnbUbN8pPXFxQfT/DSYHpMMaQ8mzjyj9eoJ3MPvSGbfF/bA1XSQWtFqRRE2W0l94GB0iA9vmLkPUoHSUpoGqUFyh+iRftWsNdj6BYwKRcqeELVZ3M2PE8Ab2OHUyqqPBABsQdJ81DAzwAhiCr6kz3HOR1Thn47MLMApXs0bZSv58TN0ZSZAFa8mDc5HWPjTiuh0Iw3OaY7mMze3R/b31gRqnQK/zO9EtLLN6gL1zvXJhecW8eQGfLX13wQquA557F0itreUmH60Ctp6f+ItmLkViL0mw==; 31:0YFwp9vrUh+ND/Ao9+7NrxlZxmvxeUmxHBIg6pIFvM4UtrBW9/l/n3u/OYTTXoNaqQ7a8F7/CEJBclk8zPVQoos1U3S/3ghGA8VE5VcFpHgAptmrlhsvuZoW2MVRWB/CTCDUwcRYE6JiNQjsdsCdJIKL5hsCCMUL6VzhiwLGrKUcFxiAoWmiqvFgtLSX8V6zIiPTLK8LFY9vNmaO7RV3pUsDsKnmeFpzgNgfnd9vy8c= X-MS-TrafficTypeDiagnostic: DB7PR08MB3611: X-Microsoft-Exchange-Diagnostics: 1; DB7PR08MB3611; 20:zGnxbMbrxV2TtgjDQh+GbknWdKtPekB9YvNCWhMJRfUUtdwbErdI3WGMcIJNkGgDDmRfgFdHaEcwSA/BsBfebqOpIs1NCWlxhKuMzilNS1ZfditgIGHJPUSm4fGFTokrSa4DODFltrn8yxcZ4HCsIHxRZYwYSV5L7x0bG2TjTEjMyzbDvO4M3+uSzyLFgx8IKVlsdtF9yC3G4QS61DdZ+dbWZaKAv0nWByjpyI2RcuVzgBfheEd5TsR1CkdYd/yLhMVkZ1OPJKBrxnX/Rnoveg1QNTE5VNQ2bXqcN5nfPvAiWtydhqffNLBCfKujTbcrjU31rNH30Qdqt1oSrTSYCzXzB8qUR8b4D68Pt3KI+QiKNIs3dn2Dq4FTFhS7bUMNdd9Qsfkzxuk9A2R6AOX6c886DXsjzL1KoNd1R67oxvIV6nxNUp/+TO3dxPVg5JqZk+rvexkjJ5uQt3C3L7mOYzsu+dNwUxLFSuCv7KaqiczhAKs2oW1HlPueKBBIetrb; 4:fYn92S0PWZczjORDG+ovau5q5GOMQAXmp4CdqfPxezpmeXWBR6MwDDvikTW3chwO2FsXkyCGT0F/m7AM0gPjbc7McuIRvlav6ECKNU4fjCS/CUucy67ge2OHwr8xUZA6QH5GkaFBSAeN7qMmbSSVqPCNAyOw1w5QS9fb0cI3Ub5NW/GUIMBSPfkNcPeEUcsmJpdDk8OSheMJnMEsUfe44566cCN+5hbJ9Ccm2kZnZ+AB1n4AkH35vFw44q/nItB6A6/tuWKNJt6mE7i6DMp9sQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231311)(944501410)(52105095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123560045)(20161123564045)(201708071742011)(7699016); SRVR:DB7PR08MB3611; BCL:0; PCL:0; RULEID:; SRVR:DB7PR08MB3611; X-Forefront-PRVS: 077929D941 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39840400004)(396003)(136003)(346002)(376002)(366004)(189003)(199004)(51416003)(97736004)(5660300001)(105586002)(50226002)(25786009)(76176011)(4326008)(386003)(6506007)(6512007)(68736007)(53416004)(6486002)(2906002)(52116002)(69596002)(53936002)(107886003)(8676002)(36756003)(81156014)(48376002)(8936002)(50466002)(16586007)(956004)(81166006)(2361001)(6916009)(446003)(478600001)(2616005)(11346002)(86362001)(3846002)(486006)(26005)(186003)(316002)(16526019)(476003)(305945005)(106356001)(47776003)(66066001)(6116002)(44832011)(2351001)(7736002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:DB7PR08MB3611; H:vp-pc.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB7PR08MB3611; 23:ET+37uGQv0aVa1l2PIT/vhTQ9v08RtbAEmmDprcuD?= YBAsHBGR7+CZrzvIgNfB0a1dCVfhY5Tt3MhsvJJglEyb45LdA8t8qXZjSn9ouGDyJ2uSFWJ/BX52/brozWZAPrm5aFELCa4pofLta2gT+GddL1qB21mqPZViE00mAKJJJbzscEut/+M6D+8gFknMVjrPbl+L2LIZOnaOwyVJyC1SzgxNPPaIm58snDIiFdDuhI27uDaBJf64yUaqVux0/hDdH3mvDDjkk0zKJAxCx3UO6aMhrezU33koG5eW9jxDdmX2qOK0U4AKrnM0hNQVGTUVkE5ihM1RWFN9KrMNNJeKwoRukb6nhSwhZqaTWPRqZ319iiF0O3WwUkvRprlD3J0Nr4NXSDek6BKlacG18BW1qhkJdg0dUg6GleNTfYNNx+vBloLRAb1/G2RpB5qXbULkSYFwYTvtRO0QnIdGqRZLI8p0BOBvXIn4eXaRysM6UUj1ZF/vgx/IP/eHNVf0qOciGVBETeCMew2+cxHqTf3tdA9Kg4Cpinaq5WvkdjiyATpJlrf7txlhnFvzqPQZj5myaPlG+El74VpWy0EoHoui25EWjzyNOqGwq+MYJ0aQQ/oszGs9+Pou3OkIbGep3rVFDPorY89b1bCVVixVvN4nPihSBmHhX0y/LXXzo5FcEh+IxKD0ZQTERyStxw89bpBjKzeUxDrerC/wfD6tD2bFTsMCkG4N1VvkcFKUxiLFNpEXWB6L8/JtC4jbkUedoF8IbgLB1ssZmQwu4iPw7G30qAL4poobV28QEuTFW8UovsFQNOPgL260RQlB+Pkj5Es7o3cQfjDpGyyfRtcfTQpxCTcff21SZzJwp7+aOL2JE34+SoUleL4pEA1Eb4yBiBiXCzhqairv3k9WBJ0k2oSUTrLrIkB41h9DBFSHHQUznVp3VUouAEouOO989ZSg8URjcnLZSfKkgPvsovYD0EBkEU6JJ3FNgQlHGppSYJTsyRY7BaeVNkXM/EijvUQIPXL8YDd+LxPiWEp0xRyGLsJDhL/a5VybvyXqg7N3XWnBbj2958/xNnV5M3UTV9U1AGhaW8YO6gl24nV5cBm2yUdEY3aq3ZJMq5/mouIjQoAtyIuozY5IrP2vnOcuZfAMKzGEMBplovdgmm6XTzXpWtHNtvnbv+RX9sA6O0zYPkvpbjnuRY3CS+1r8wIvyomONmghtpBtqZIkJTy27uhUVmwNW1MdRPhCxdsibRlUYWAGUmKMd5X8gdPrfbSFGeDqJp4YGenk65WEnlnTgcJyaCUNA== X-Microsoft-Antispam-Message-Info: meliWn9ULnMUiC8J0VXjonk3FmDVRz9nX4x9LKNydZvCcY1N2d6w3mYF7RC25SbowScwBbwl8lotJWq8J7l0z1uUOHR8AMBDlhNykpYlHF5NjTCggfmY6liAy7vJplEkfPXFtXtHT3jps2NefBgpyVNdq9tkzAVaOgGRfvdf7A9BqKm9Moyzu3p7rkSjGaLyXbVcSxa3Fl6pRoZ9Ex+a9m0uC51eKyO1i8o/rI7zA2hCPqe1XTykUVqEtKj5eIBK8CN64c89a+0sOZ8UnSnlZv9yWnA1ys1Fn0FSiqBq72MVjTccfpXqYIoZYJfO7am9JJlM/rCujIQEZweQW5MR9UvpklRu8JisXT08r1/W6S8= X-Microsoft-Exchange-Diagnostics: 1; DB7PR08MB3611; 6:XjP1gKlxffckXJxMIfQzGh/ie2B/sWAN3zgRmXOg0v/pBG5njN0FXsKxAxpGyQOJPbhB86V0cegyRCInDi3aQECoUb/hzO1vH1iHRYmmyTs/MxWJ/rEVpHnc+rhbaMJnHkXdfiXnxzYGk66bdQ1Q6DEZbNirnRobD4LgNPTtm3yuSMgICqkVLVud6ci2xGy9dp35G9Q/w57YKTxnFAt+x01EW4wRx4l+XzbI0MOTlHGj1cw4aABaiE2CM+/OdqrDaVrWTpb7CwaHy1s9dRbmrbflpGJ53yphLr4XhuJTwjPqE3eIRIicn3zhXYhOJZkwYs9yyLTQ0uwUvFpsQxduhAnha09Nb0Z0Rgsosne+IcrjbOGYg/aZWBInwUUDkI833fW5y6toPCzCA4caUAWHa557ahr255/Huhm9OJnuvmVyj6hMgLM24RM//x4eiiCPUOQOrhFImTdf1yR778s2hg==; 5:mxwGASXd19RKJZ/iM4IXFgjTlLqbTv4rlCL/cFkS8rl900eirP1k/IsgYx2pXJpyrLrqtEflIPU7tSuoyYre5s4B0XGRXovk8wn3fAUImwCXrzT5s+b3lNFKFPz1XkCj/5jkfuMUIuHtcupDkWsAycDomL4b3x0q8U2EFANBM2U=; 7:EXburwcZ+abY7zd/K916hPtv99R/ivWeVujDAYbqQRnGGi/jzeg48VpjqL5zxQrWMYYgYicvZIS8YUeIreUpA/nEhjD6hpEAAjFLHxAuIhlNRsMOZ5RTt/8ZB9Y23IW4B8Ov+yLu6rymk6PKNTDy+aHSZxuR7hZ/G2cvFij9S5rA841B/EAcF0rE2fCBOubpvicRALV7UT/BL/dBJ9WpZWACfhD7jls8w2wiDBLnpD1bI5Vx+Aud7mBICibbQ7e/ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB7PR08MB3611; 20:Q6uVMV/GxDFS/EZS5ZudSJ5RNkVk5SPs2rtltWRQeqf4R50xZ3+cPaDgQpxfp3xKmyAfmL8li3OrFKKU/a0BQRb14xhDyLu/+gHiFM3I+SfejOkDNFI4+XcQ2MvgEeF1Ade9XRGgzVdcuP6K5jrdbsmqQ4JbIyKvOffJXUZcD68= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2018 12:42:24.2470 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0dcb93d0-e9d9-4c76-08ed-08d60dacdf24 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3611 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.138 Subject: [Qemu-devel] [PATCH 4/5] contrib/elf2dmp: add DMP file name as 2nd argument X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: viktor.prutyanov@phystech.edu, armbru@redhat.com, dgilbert@redhat.com, Viktor Prutyanov , rkagan@virtuozzo.com, pbonzini@redhat.com, marcandre.lureau@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Before this patch output DMP file name was strictly 'memory.dmp'. Signed-off-by: Viktor Prutyanov --- contrib/elf2dmp/main.c | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/contrib/elf2dmp/main.c b/contrib/elf2dmp/main.c index 62f08e0..64782fc 100644 --- a/contrib/elf2dmp/main.c +++ b/contrib/elf2dmp/main.c @@ -334,24 +334,36 @@ static int fill_context(KDDEBUGGER_DATA64 *kdbg, return 0; } -static int write_dump(struct pa_space *ps, WinDumpHeader64 *hdr) +static int write_dump(struct pa_space *ps, + WinDumpHeader64 *hdr, const char *name) { - FILE *dmp_file = fopen("memory.dmp", "wb"); + FILE *dmp_file = fopen(name, "wb"); if (!dmp_file) { + eprintf("Failed to open output file \'%s\'\n", name); return 1; } - printf("Writing down to file...\n"); - fwrite(hdr, sizeof(*hdr), 1, dmp_file); + printf("Writing header to file...\n"); - for (size_t i = 0; i < ps->block_nr; i++) { - fwrite(ps->block[i].addr, ps->block[i].size, 1, dmp_file); + if (fwrite(hdr, sizeof(*hdr), 1, dmp_file) != 1) { + eprintf("Failed to write dump header\n"); + fclose(dmp_file); + return 1; } - fclose(dmp_file); + for (size_t i = 0; i < ps->block_nr; i++) { + struct pa_block *b = &ps->block[i]; - return 0; + printf("Writing block #%zu/%zu to file...\n", i, ps->block_nr); + if (fwrite(b->addr, b->size, 1, dmp_file) != 1) { + eprintf("Failed to write dump header\n"); + fclose(dmp_file); + return 1; + } + } + + return fclose(dmp_file); } static int pe_get_pdb_symstore_hash(uint64_t base, void *start_addr, @@ -464,8 +476,8 @@ int main(int argc, char *argv[]) KDDEBUGGER_DATA64 *kdbg; uint64_t KdVersionBlock; - if (argc != 2) { - eprintf("usage:\n\t%s elf_dump\n", argv[0]); + if (argc != 3) { + eprintf("usage:\n\t%s elf_file dmp_file\n", argv[0]); return 1; } @@ -561,7 +573,7 @@ int main(int argc, char *argv[]) goto out_pdb; } - if (write_dump(&ps, &header)) { + if (write_dump(&ps, &header, argv[2])) { eprintf("Failed to save dump\n"); err = 1; goto out_kdbg;