From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 98165 invoked by alias); 18 Aug 2017 15:20:13 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 97095 invoked by uid 89); 18 Aug 2017 15:20:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=20170504, 2017-05-04, Cast X-Spam-Status: No, score=-25.9 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: EUR02-AM5-obe.outbound.protection.outlook.com Received: from mail-eopbgr00110.outbound.protection.outlook.com (HELO EUR02-AM5-obe.outbound.protection.outlook.com) (40.107.0.110) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 18 Aug 2017 15:20:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qtcompany.onmicrosoft.com; s=selector1-qt-io; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=f9PUED47yAKXbt3Xy/mDbqYfPjUWwLQX+AyeNjDcDWs=; b=CJpVG59aS5QA4TBE2TPvJAlfWBdu+bcTO2g6qiFuKYqv2q5YmWZVIv7902zifistaz6Nv3isih0viCnO8XWR88gxpSfC/xS2FIt+D1IFodkkXGZ8lLfbblzqIQt2SgrBGaWiPlZrEgeoHdcaE1SbtCDUeOkjKE2C05hje8B6XOM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ulf.hermann@qt.io; Received: from [10.9.78.66] (62.220.2.194) by DB5PR0201MB1832.eurprd02.prod.outlook.com (2603:10a6:0:32::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1362.18; Fri, 18 Aug 2017 15:20:06 +0000 From: Ulf Hermann Subject: [PATCH v3] Cast pid_t to long long when printing To: elfutils-devel@sourceware.org Message-ID: <47fb818e-8ade-bb8f-3588-6eb8595f5612@qt.io> Date: Fri, 18 Aug 2017 15:20:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [62.220.2.194] X-ClientProxiedBy: VI1PR0102CA0006.eurprd01.prod.exchangelabs.com (2603:10a6:802::19) To DB5PR0201MB1832.eurprd02.prod.outlook.com (2603:10a6:0:32::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 980cf24f-70b4-4a94-2f88-08d4e64c9b3b X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DB5PR0201MB1832; X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1832;3:zTh3drL3v+c0Kcu0ethJJPmePAk+IB2s6/FaRx8d1SgmNW1HLkS7NZ6dxXbbFKA6iwO0eUJgPhbDX0V/RgIkokMVQlLar8dlzLdFeEqhRDdpdVKS6MNEoUNHb2TnN5P+zzswqyhJnGqh2gLfqAD3oP5slG4lPVzaVFcK38NHQWKx6UjJw0n36/GWbX9SYVpwSY25IN01yKU6dECKfmP23qTjrJLVaW8mJ1ndq4m0/jaIHAAq4ybVHVPOVZVa0BRI;25:25UFsuJ6+myNnSeCGiVkieoxqq+YyEE0gYzpeL93P/oBkOHxSAdZ8yJUdigc9M6JQoHU53OzpB2zX4DdLck8PfJ/5L8c9MGHFF9RKXQgwVEiah/bzSo0vrcMazRJf7nA8qJd6syvCUkojcWU+OBSW/mZPaz5/NgC609jJvKU7bkAMjUWYW/pqh3F33WcsS2w9XGOZ00lt+koqbCPOe57EUFZnw9etKWqWLtVgOTV8y1w3VEFOPxY0AqWULYm2JnaecULyjJCVOQZviTq0q5/wpVKDFPlCM6inbO5E9UgrFI3FvL+dE8BBVRq/manV8DDZpxdrYxJzn5Wc4tKAJNhsg==;31:2GL850y37KdlT7sjyZ/vXQoDVazcSoXtXo2T+G/XmscxJQ92xDhiYc+YNsUgyLlxopyP+LxmsT66LDsiQCWwJOJlssFdR6NEWpTdnF/t/jMRfS331xNRCnZ7fG9xt61Stb5Su4wnIp/+wO4/UTsQAZKQWObxUt3MrL3Afvp3x2fc3XOrRPABJZjxvCOh7gvmbU8997jnOiTtS4/YRlhUPSMwcVJrxsd10KUlaJs8/To= X-MS-TrafficTypeDiagnostic: DB5PR0201MB1832: X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1832;20:YS+IDzCauqckOH5nw6pt4A1Gulej0zXf+TYPmbSgTevA9MbAfHf8O3UMr8dlA+qX0TgvvrUwZVejddPyIlp0ltZ/Cgujtst0T9P3QMQItrqwU4gTU0del+7COVVuFNUmJZk6I0Nw+pYzejwEswsx2QloJgw2uPLlGKQJKfTUD2Pcyg0GBzH95F0ku16feQBL2rA+VLB7/jJTbWOwW9OIF13Bp7Jd6vc+sRmAN1ynaz1omjv9gFDAxSf07Lq3JRiiHTT3F8fyxEqR+e12GFxpudiHqTn79JtoDoyItmIFILAuk1yawPJaZYG/XmCRbs2e/MfJeF5mNSpntn8haPq7y9Tk6JOutrjl9IpzeLuER43WWyQ/+hDG3H/xhFgWdN8OHBboFiCpnX5mq8lqjXHADQmB8QjXz1ALerIrw30hsY6r5EwxiMAZFp7rgRg0337GTXMI6sQHo4DIQg4fiMh8C+mSOohs6dO7In7vpBPJcgBSBEaWfghq5EjPVrQ/BwZF;4:nbN0z33Sz/6XGYrqY8FdTJWrM0OFopeFuQrME0zOYXXMoM1AwzDY+lS1d5oy3EOLzG7LMnEDlVbxjVfJVbxrYnqqOscjXcawzYfk/Yx726XgcrV390CTdPjyajX0axaNcHt2AWAMkJk0BQcvv5kuvbC/xBJ0Sllf8cv1CJv1PsohfOCnQE8RWWFkB7SopBnKFGLzWNRffuOFExlxXnQOj6FuADeW0G0RJVZ7SKv1qFNN2UmQTyans+2Mya4TyBSH 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)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123564025)(20161123562025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DB5PR0201MB1832;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DB5PR0201MB1832; X-Forefront-PRVS: 040359335D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(6009001)(6049001)(39830400002)(54534003)(377424004)(189002)(199003)(7350300001)(83506001)(53936002)(23676002)(64126003)(305945005)(25786009)(86362001)(478600001)(110136004)(4001350100001)(6666003)(6916009)(6486002)(74482002)(31696002)(77096006)(36756003)(33646002)(68736007)(2906002)(97736004)(81166006)(65826007)(81156014)(230700001)(5660300001)(8676002)(50466002)(189998001)(3846002)(65806001)(6116002)(66066001)(65956001)(47776003)(5890100001)(101416001)(7736002)(42186005)(31686004)(50986999)(106356001)(105586002)(54356999)(2361001)(2351001)(223183001);DIR:OUT;SFP:1102;SCL:1;SRVR:DB5PR0201MB1832;H:[10.9.78.66];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: qt.io does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjVQUjAyMDFNQjE4MzI7MjM6NWhaMkYwSDd3ZTlrZ1FNSG1ubDVXcFVq?= =?utf-8?B?TVp0dTRKUVg0aU4xai9RUU9EVjFNd3p2cmpvTU1IendGRnRzQXVQdDJVMnNV?= =?utf-8?B?bkhmQWpiVUxrN3pCSnpFVjFNSGtUcUlQRXBOanJuMk1BQ1I2WFljb2FzY1ZL?= =?utf-8?B?TENBUWtmR21sU20yMytPRm51bDdWaG9VTDg4dGxXRmFkbTkvMVAwOUFRSExp?= =?utf-8?B?a1VQZkJTQXdtVGQ3RDZFaWpUYUNod1BwUml3aWN1VzdzSkJmbU5PdW54Slp1?= =?utf-8?B?U0Frdm5CS2M3dC9IRCt5YnVOYnpaRXNFWUNKUm9iUzdwM1VDUmQ1UVJKSXQy?= =?utf-8?B?ZjBtRkVZOS80NVhyaGhmWXJTWlRFZElLNDNkMUZKcEM1Um9UWEFYNDBsQzhr?= =?utf-8?B?a2NvdS9uTEhjMmo0OG13bTJPZ3F3NHU2RzNlTWpoeC92T0I0VWFsekE1ZmZU?= =?utf-8?B?OE0weFZWWm16eTQvM1lYdnZueDZNMnlEOVd1cElNZVk4U3duWEVlRG9wN010?= =?utf-8?B?TTNlVTRvaWdpYVVnMVhES2lZbW9sMEJWUG1mc21JT3JKSXdqbHlRc3EyZ3oz?= =?utf-8?B?UzFML3BYNVBsY2ZMcGZsTTkraXg3TTh3YW0xUWk2dWlBZWFyNE9HcEd0TllN?= =?utf-8?B?dTFPZ2s1TElRTXNIMDJkR2Z6NzZjTFFWQU0vMWNoM1pqbytnanQ1djJzRHVw?= =?utf-8?B?REk1eTh5RlBtV2FyenRJMmw4US85ZmhrTU41TjZKOTBmWHA5bVMxMXlXRkJS?= =?utf-8?B?L29MQ3JMOWREZ1lNVHAzd21mUnppYmlsenVSUWlBNkRLVUovVWpIbzBKSzFS?= =?utf-8?B?RUQ4YlRVVFZUdDdUTkI5a1dpblhCVGlPQVZoU3pIZTFIU3NUdWpTRmduMVhp?= =?utf-8?B?NGhsZi9hZkkyL0oyQy9GTVhtMDJFdlBxVWlCbElqb2hqYlVIeThlUUVINktU?= =?utf-8?B?N1pWK1NLRzNwMW02dGZwdjVFV0p6aUJVdkdob1lIby8xcEY0MlhHS1JtYVU3?= =?utf-8?B?dWVmN2hHRFNYRUJyaWR2SjVmUmUwSXdvQnFkZ05VUUlOdGNYeFV3cDE1ek4v?= =?utf-8?B?RHUyK0NGRG4xRWxEOTZ2SjBDQVUyb2JKb2lWRU9uUzJtOFczbkdVcUpvVjBS?= =?utf-8?B?eWZRUWIzL0w5UlE2czV5NUFta0RzTENsZ0FvaGkrb1FTaTYvUWpwU0RGTkZr?= =?utf-8?B?R2xzTzVHZnBZVjFwQVMvcVpaVk1lc1NrT2czS2tmbUpUaGZnbzI1cGhpZVVo?= =?utf-8?B?Uno5Uk1haVRzWDB3VmlMalVXeEdHTFpkOWxrOUdPRWxKOUFSSEp3c2VSL2NH?= =?utf-8?B?SUg4Nk9ZM0d4U1ZuZHJzaWMwVXFqMEJpYTRiQVQ2NWJuRE1RaWFzSzFGZlZo?= =?utf-8?B?eXBKdTM4RkppTkhCN1k2WFdneG4rVlk1SnNMa29RKzVnbWJEeTBrWjJqeUd3?= =?utf-8?B?Y0kxK3ZIUk8xZDJoMGpwczArYWlCOGVZMFZTUHBCa1NhLzRFT1k0aGJVakN2?= =?utf-8?B?WGhlWnNpWXBrc1BZS0pQdU45MWNMemFEM1Z1TENGTy9jbTZ6aHNrNlhKNlpK?= =?utf-8?B?UmxWWksvWWVPMC92bFdMVDNSUGpjZ1gzU2FMM2tGcjJERVZ0QmE3TWU5U2cr?= =?utf-8?B?WlFGQ3Brb0NlU2hHcGloN0tZMzJMVEwyZVNMT3FOK0tTZ0tKbkwvYlN1bk9F?= =?utf-8?B?SHdrRFBINmtUbDVkNS9nejR3TXNTbUNBbHduZnZFK3JOdmNoNDdaU1hNb0ha?= =?utf-8?B?NGZWeldxK1ZwN1lyVzgxcU5HTmVkVkw2UndpRjhQQ1NhWEpQSFpxSUIyc3Bl?= =?utf-8?B?elBTQk95aW1SR1lCcklsa29OOUc0NUkyOUJESEtQWUQrMGFXeUExWXVTLzRh?= =?utf-8?Q?+QUD8AwJ6B6j4=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1832;6:FdhCxdairKQWvoV1oEo2zbTgzPtCNQqt09H0K6Ml1tQyO7rU/vwULoSsHEAseant1n+HNLwlKTzu7xpt0SvPUpdqhhPel/J/JWl8aTXhAYF8Oilfrx1FPLprU5+OkJGwJS4VamzU3k9fNpBBhR5scXw9ebS2rgx+5QJmHoN9Bm2t2JgpNMLWdt8BmsnfFlPy6gKro2ZSw62pwEU7OAd+9WVOFEgbek8io5LTwS2jFIjKOlC2VJ7lOoG4le62k9DgW7KLgSdl0isZ6wB4jK2gDOkCsLB2Xi2NzHpPs+gzUVEuuSZie1MNRzplcXeLIJ0+Rjf5aGdOF0FxY9uEbSKEug==;5:tyj8bEG6QnU3f50VPkdRqsWo5QxiniGio9pnFDSAGS1D4TH9WzfG3lqZ4UharFUrPpg/jZqFEc51YB3oxwMwJ5fAfixDWbzz3ui62TVyCy+1BpQiH+EB6GkLLGhLQnWWq9soVFwAQC0ub2dg0AHYGw==;24:6cmsKJmSRUHUtmlkTMOXL9OTGinKxdAK+60oBk051qccE9Pfqt7UnHjghUmCMIrDf+db4LZzqHAbwunZwigUBLq/giRmmIr3M47wPpUSr8s=;7:JHfKkpQwG0+S9dGoSE//aKfPSVPzZSoi/jF+dzn3SexOvyDCO3UxZk1pVB9zfrkkvOVzV3Qse5g+ow241l6RgwVdnGeYDnZTku3az4IskCgvSAedMrynxn+i4MRrMGvcYqUoCogpw1vVH4SePIPtYGjXWmCFonhAFwZeoD/MGe2VhzH54NCwU3ihR+bAMl5rQ1EX5hm7IsDnW+odDJKBt7ahwZGaHNrHBvclG2pZ4gM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: qt.io X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2017 15:20:06.0301 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR0201MB1832 X-IsSubscribed: yes X-SW-Source: 2017-q3/txt/msg00085.txt.bz2 We don't know sizeof(pid_t) as it's not specified in any standard. In order to still print it, we cast to long long, the largest integer type we can easily print. (Rebased, and rephrased message: This is not a windows quirk, but rather a standards problem.) Signed-off-by: Ulf Hermann --- src/ChangeLog | 4 ++++ src/stack.c | 22 +++++++++++----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 8aa57051..daedfca6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2017-05-04 Ulf Hermann + + * stack.c: Print pid_t using %lld. + 2017-08-18 Ulf Hermann * readelf.c: Hardcode the signal numbers for non-linux systems. diff --git a/src/stack.c b/src/stack.c index 6f2ff69f..392db2a6 100644 --- a/src/stack.c +++ b/src/stack.c @@ -362,7 +362,7 @@ print_frames (struct frames *frames, pid_t tid, int dwflerr, const char *what) if (frames->frames > 0) frames_shown = true; - printf ("TID %d:\n", tid); + printf ("TID %lld:\n", (long long)tid); int frame_nr = 0; for (int nr = 0; nr < frames->frames && (maxframes == 0 || frame_nr < maxframes); nr++) @@ -419,8 +419,8 @@ print_frames (struct frames *frames, pid_t tid, int dwflerr, const char *what) } if (frames->frames > 0 && frame_nr == maxframes) - error (0, 0, "tid %d: shown max number of frames " - "(%d, use -n 0 for unlimited)", tid, maxframes); + error (0, 0, "tid %lld: shown max number of frames " + "(%d, use -n 0 for unlimited)", (long long)tid, maxframes); else if (dwflerr != 0) { if (frames->frames > 0) @@ -440,11 +440,11 @@ print_frames (struct frames *frames, pid_t tid, int dwflerr, const char *what) else modname = ""; } - error (0, 0, "%s tid %d at 0x%" PRIx64 " in %s: %s", what, tid, + error (0, 0, "%s tid %lld at 0x%" PRIx64 " in %s: %s", what, (long long)tid, pc_adjusted, modname, dwfl_errmsg (dwflerr)); } else - error (0, 0, "%s tid %d: %s", what, tid, dwfl_errmsg (dwflerr)); + error (0, 0, "%s tid %lld: %s", what, (long long)tid, dwfl_errmsg (dwflerr)); } } @@ -575,10 +575,10 @@ parse_opt (int key, char *arg __attribute__ ((unused)), int err = dwfl_linux_proc_report (dwfl, pid); if (err < 0) - error (EXIT_BAD, 0, "dwfl_linux_proc_report pid %d: %s", pid, + error (EXIT_BAD, 0, "dwfl_linux_proc_report pid %lld: %s", (long long)pid, dwfl_errmsg (-1)); else if (err > 0) - error (EXIT_BAD, err, "dwfl_linux_proc_report pid %d", pid); + error (EXIT_BAD, err, "dwfl_linux_proc_report pid %lld", (long long)pid); } if (core != NULL) @@ -597,10 +597,10 @@ parse_opt (int key, char *arg __attribute__ ((unused)), { int err = dwfl_linux_proc_attach (dwfl, pid, false); if (err < 0) - error (EXIT_BAD, 0, "dwfl_linux_proc_attach pid %d: %s", pid, + error (EXIT_BAD, 0, "dwfl_linux_proc_attach pid %lld: %s", (long long)pid, dwfl_errmsg (-1)); else if (err > 0) - error (EXIT_BAD, err, "dwfl_linux_proc_attach pid %d", pid); + error (EXIT_BAD, err, "dwfl_linux_proc_attach pid %lld", (long long)pid); } if (core != NULL) @@ -688,7 +688,7 @@ invoked with bad or missing arguments it will exit with return code 64.") if (show_modules) { - printf ("PID %d - %s module memory map\n", dwfl_pid (dwfl), + printf ("PID %lld - %s module memory map\n", (long long)dwfl_pid (dwfl), pid != 0 ? "process" : "core"); if (dwfl_getmodules (dwfl, module_callback, NULL, 0) != 0) error (EXIT_BAD, 0, "dwfl_getmodules: %s", dwfl_errmsg (-1)); @@ -721,7 +721,7 @@ invoked with bad or missing arguments it will exit with return code 64.") } else { - printf ("PID %d - %s\n", dwfl_pid (dwfl), pid != 0 ? "process" : "core"); + printf ("PID %lld - %s\n", (long long)dwfl_pid (dwfl), pid != 0 ? "process" : "core"); switch (dwfl_getthreads (dwfl, thread_callback, &frames)) { case DWARF_CB_OK: -- 2.11.0