From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 697273856261 for ; Thu, 16 Jun 2022 20:38:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 697273856261 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25GIsd1h005223 for ; Thu, 16 Jun 2022 20:38:50 GMT Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3gmjnsca9j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 16 Jun 2022 20:38:49 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 25GKaR1k030660 for ; Thu, 16 Jun 2022 20:38:49 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3gprbt82g0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 16 Jun 2022 20:38:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mIOr3eWFJKr1BR5zwUS825qFNYE17HP/QjfYRmZJhmtriZxu4ucSogLba3FtudizN2Bp/SF7Moczy8RCWcKRI0TFhKlpmsjAT6Lxj2Ra7mveRudBPYO3+CnfHbo8qejl3svqCS3WJkyo7ik6qNvqWHgsX/DJbdP8LqrAi7npjO0ktFlXQgl1YaoXnabIrnOKMbgjD8GVD+G7/iWdKgEQOX/PT9r46XwyYzmPuDcqt9jpgHKpJ/D1ihcGiLHncuxon0XjTgDxnTujS2wtBov3eZKU41CAOsk7dsoCyc1QRDiOuTdQhG4fRtk7POhI6GwW6FA/I1oCxbLbBKF9MK5Hew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CJOvFUVNeAO4jOWUG7n7B5JRjlwB0tfp4qkxBsXWCuc=; b=EpQ/jeC2ThvGPG2Ai49XChPc3F4IhOsHtCFfTSo6Co+YrcpmpihsWZFPHDafI0qjVoAWbgJczc7kwcfHAMdjbCFWmpkfW2qViNi3u1ahTaqLOjQ6uyW8wQ7lUX1tUKzo0srg+EHhJ1A6ORH46pXZASVbH+42ohG79rCFm4AA+ySkNlFRjTRvtBv0g1Q04lQnuSpwL4Esn3d5J1zbyJqrEaALr4uRa4pIFm30bO86udFRdFNKYs4/uGxSlI/qapVqOWkAURksRGA4LBPYR2nU2ZbY4uS13HbGL+ZUjFYZiOWgR7qLIIRdIC2lidYh7gIDpuzpz2iekzmLZDjaY2Jxmg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from SA2PR10MB4636.namprd10.prod.outlook.com (2603:10b6:806:11e::10) by BN0PR10MB5221.namprd10.prod.outlook.com (2603:10b6:408:122::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.15; Thu, 16 Jun 2022 20:38:46 +0000 Received: from SA2PR10MB4636.namprd10.prod.outlook.com ([fe80::c862:5f33:53fb:aa5]) by SA2PR10MB4636.namprd10.prod.outlook.com ([fe80::c862:5f33:53fb:aa5%7]) with mapi id 15.20.5353.016; Thu, 16 Jun 2022 20:38:46 +0000 From: vladimir.mezentsev@oracle.com To: binutils@sourceware.org Subject: [PATCH] gprofng: fix build with -Werror=format-truncation Date: Thu, 16 Jun 2022 13:38:38 -0700 Message-Id: <20220616203838.2578433-1-vladimir.mezentsev@oracle.com> X-Mailer: git-send-email 2.27.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SJ0PR03CA0024.namprd03.prod.outlook.com (2603:10b6:a03:33a::29) To SA2PR10MB4636.namprd10.prod.outlook.com (2603:10b6:806:11e::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 25ecaa2b-fcd4-4b14-83a9-08da4fd835b7 X-MS-TrafficTypeDiagnostic: BN0PR10MB5221:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 71SxDDA2RuY2d3x72JiBVeEmbER49cJlfdKuYwPsxcedPayp8quhvVrivkP3EkQGuwDlvuya36UHri1pXZaBQF7QGuQKGoUC1EdqIKP03mGrz8k8pqp7rmEX6iJYgltm3adLkyqhztfqq2tcIK2vTzWvI04v4SlaOc7W1lk/MXPKQaUynh9cmqM6EhcD5+viKkcAUejUfKsdEM12aNlhGKO5NdaXeu5+MFWQy0jqTZi3gNWkPSyguj13oH1PJWQhaqb5I8H8ZEc3psySY1t3Wtc7KgTmBQjMS3nWVM+pvRVoO8ttxktBHheWl7/V/laLahpayD47/zEW5sa4o85xBMYByVmpKtHDl+McT1NqDsMWEqg/x7Ymac8Aw0NU8XlpyyQm0szSjGfVjsgbOuGol4It9CxzvEJxTt8z/1vqPRGn9h+2xnuQQHrlUFF1VHqnKWQF7kPg4l3dT/Vy1kmEb62c6FxxlitB56hyD01kxWVNE6mhZ03TPLSRiDNY9OV1pIxSYvz6RNIqlWDIm/656ws0SOMc9s9A87D67mUqQ2XORl1b0iMd3lAI6k0PbhWvuY9IKCotq2PhD/IL4VbbHlYS843oXSr2qdObYTGU75Fpi07q7mNG76Z5EIgr2Be1i3F66LQ/XocHe+lsHdQAaw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR10MB4636.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(366004)(86362001)(36756003)(5660300002)(8676002)(8936002)(30864003)(66476007)(6486002)(508600001)(316002)(6916009)(2906002)(66556008)(66946007)(2616005)(6506007)(186003)(1076003)(6666004)(83380400001)(38100700002)(6512007)(9686003)(52116002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KgCoshzs/qwtHlUa9YEqrLPZ+AXJWpjonGsaOgFOCZGPAWGpdqHO489mnw7P?= =?us-ascii?Q?cY8fNnfA7fwhuvcmZ4sf9eKnFCsvTtQzfWXkXxLhdqnOSUET8yApVgE28ULw?= =?us-ascii?Q?ROcSgJnTx/JXn3fA3v1T9OqermfZTa6woHqMWCxjjcEmS1AURkhKQpyOOABQ?= =?us-ascii?Q?bZW5bpG77xJKxoPLOZmDb6yW3I+0/0Ymlh6ipbtOLQOhoz+n2E0yDBFsEVoz?= =?us-ascii?Q?mZpXiytOyTqf5DjCJOmOwhQOUS8Yx7rjS9NNPmlFiFOWMIYUbqtVME+s74ra?= =?us-ascii?Q?d5/dM4hPfj65o2Ec+SfsmCX0NshmQ7iFmWCCv+8l4OIPFbvcBZFdWWQVC/sv?= =?us-ascii?Q?UACoPzN/jWkMSTteqghneDQWRwgYYx3AM+CVeEwpG8T/i4rv9L05KZBArFkA?= =?us-ascii?Q?dTPnieVld5v1bemn0pmxZUP2c9pA/mByXlggZevb8LH1vtlaWL0QoPnOSkDz?= =?us-ascii?Q?YrNob4bpaxNK+pyvatRZbyp/4lod4m0ZAYVILVcFgL9fFgDKEWCnm3maZn0c?= =?us-ascii?Q?rmz8XOJczVPQ9HzrRFi/7I4uy5VJQKXz+HhDkUJfqq2UKrRzwLU4QMALMynf?= =?us-ascii?Q?t2zuVpnVK76avBF0MOAARWaE/ngSVOzbMzZpardRnVZjxFs+Cdr5Uma0Zzif?= =?us-ascii?Q?nPSP6iYSMnssHbGr+f0P5is39D3OgaDZ34AT4tK3jvmwGj1AF6eOyNAxDa+4?= =?us-ascii?Q?VbN+n2KyTp5lrizGpB415bIzaLie+uNQbIQwqNgMzCStOppXXD+4WNetdlXf?= =?us-ascii?Q?brOpBVJYmtNJv507HabTkuzvFTpVOdSaRevncItJgNJIEWWGSwlIHxYjfhvz?= =?us-ascii?Q?Lrxb5D/lCD6mO49MeJvglsL0zBN1l9w49PgLNFc+DdAbMlTstDPxnLFPnhvR?= =?us-ascii?Q?Xi1GoTt3po+EaBZq85I7Zi8MbtMfurp/cmWHuTzEIoeIty3qAgPxlaOi93CM?= =?us-ascii?Q?/w6m/1Ih+Nlk/WF8NsWgFYbLeXo0yxjkKX4mZx7oGcS3l9rHKrLjFq8WuM2M?= =?us-ascii?Q?9d1uLHiSQ8bHzDkNcWJc/UNrOKDnziCgxCGts/fmkVosmXh4i3DzLMWnolhy?= =?us-ascii?Q?WSIR2QsRlWXE8J/b6JoAEbLEEcSNM7rhfQ+sKjceU2itJrSq0i2cN1vTTLA3?= =?us-ascii?Q?YwyGyRxymmm152vbtbScpuAt91iiBe0szSMWSCLPQK4V322LAC0D1RdElbBm?= =?us-ascii?Q?/wLwo1XL2wkhJzxTYKWFTKe5DA7aj+piWc4WEOZ5I0KEFx0S5AOY+wonl/im?= =?us-ascii?Q?IsHAI0jd4NbeON+y2tVKHnm+PCUd9dsJzL/6qDD6gc2wPiB33ejqOnV+E/Uh?= =?us-ascii?Q?KFs/l8cplQnDjLQqhty+RZ9hKbkP6oC/n3aoopxkYJ+nuFb5t7DwHL2u8tqX?= =?us-ascii?Q?kxQvWqkNmc7w3IcWf2AyTQbsJBYtrhnaw08NgJ4BhAJ9/gZMSNXhZsPgovTj?= =?us-ascii?Q?fssqvPTbevXcMFEi8mnUxJk2JfwBbeMaUH46A9LXzh95JkTcoXvvpCxIPIOE?= =?us-ascii?Q?X5GsyfzUR53xrDw+IfxJBNhzPpPOCJIrX6iIOim4JzoFfRIIxlMd+jKC92gZ?= =?us-ascii?Q?K0djeUztBrxUdf4F1kGHJFxwtKL/n5aUgNk99AgCxjaE29y/l79ggCO4+Jmr?= =?us-ascii?Q?MEio3ME/UyvbWJPuo4HAAxRaS3+Zfg/Yd6+wWY9pLgYlTZM1mzU973ROJiFP?= =?us-ascii?Q?LXoBndHyVbL7aqPa9Uy1MyfRkp4Xtne4gdKq217DU6qJHPefo3lKPCOfgK+a?= =?us-ascii?Q?xIPeE5giByjwoLHmA7QwkT81pm4Yra14OixvN9ECC/APDAVgl9yHyMeOylnX?= X-MS-Exchange-AntiSpam-MessageData-1: SQ7DnN66PepQCA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25ecaa2b-fcd4-4b14-83a9-08da4fd835b7 X-MS-Exchange-CrossTenant-AuthSource: SA2PR10MB4636.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2022 20:38:46.2220 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Mj8g04K9AIVpqD5LgbKfc7Q2OjGyuUtTo8XDu6ZAH27vdOkZuCekAB7cTqfZSGVs/Va6mIu1jKTaz6lIq74m47dg/hvZpOhagyDL/64TKXY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5221 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517, 18.0.883 definitions=2022-06-16_16:2022-06-16, 2022-06-16 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 mlxlogscore=999 spamscore=0 phishscore=0 suspectscore=0 adultscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206160081 X-Proofpoint-GUID: FUHNNsLrtW4uIIV8mvdjD8HteIRhfX72 X-Proofpoint-ORIG-GUID: FUHNNsLrtW4uIIV8mvdjD8HteIRhfX72 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jun 2022 20:38:56 -0000 From: Vladimir Mezentsev gprofng/ChangeLog 2022-06-16 Vladimir Mezentsev * configure.ac: Remove -Wno-format-truncation. * src/Makefile.am: Likewise. * configure: Rebuild. * src/Makefile.in: Rebuild. * common/hwctable.c: Fix -Werror=format-truncation errors. * src/ipc.cc: Likewise. * src/parse.cc: Likewise. --- gprofng/common/hwctable.c | 28 ++++++------------- gprofng/configure | 59 +-------------------------------------- gprofng/configure.ac | 1 - gprofng/src/Makefile.am | 1 - gprofng/src/Makefile.in | 1 - gprofng/src/ipc.cc | 45 +++++++++-------------------- gprofng/src/parse.cc | 7 +++-- 7 files changed, 27 insertions(+), 115 deletions(-) diff --git a/gprofng/common/hwctable.c b/gprofng/common/hwctable.c index a1422b63c11..61101baed2b 100644 --- a/gprofng/common/hwctable.c +++ b/gprofng/common/hwctable.c @@ -4520,29 +4520,23 @@ static char * hwc_hwcentry_string_internal (char *buf, size_t buflen, const Hwcentry *ctr, int show_short_desc) { - char stderrbuf[1024]; char regnolist[256]; if (!buf || !buflen) return buf; - buf[0] = 0; if (ctr == NULL) { - snprintf (stderrbuf, sizeof (stderrbuf), GTXT ("HW counter not available")); - goto hwc_hwcentry_string_done; + snprintf (buf, buflen, GTXT ("HW counter not available")); + return buf; } char *desc = NULL; if (show_short_desc) desc = ctr->short_desc; if (desc == NULL) desc = ctr->metric ? hwc_i18n_metric (ctr) : NULL; - format_columns (stderrbuf, sizeof (stderrbuf), ctr->name, ctr->int_name, + format_columns (buf, buflen, ctr->name, ctr->int_name, hwc_memop_string (ctr->memop), timecvt_string (ctr->timecvt), get_regnolist (regnolist, sizeof (regnolist), ctr->reg_list, 2), desc); - -hwc_hwcentry_string_done: - strncpy (buf, stderrbuf, buflen - 1); - buf[buflen - 1] = 0; return buf; } @@ -4557,16 +4551,14 @@ hwc_hwcentry_string (char *buf, size_t buflen, const Hwcentry *ctr) extern char * hwc_hwcentry_specd_string (char *buf, size_t buflen, const Hwcentry *ctr) { - char stderrbuf[1024]; const char *memop, *timecvt; char descstr[1024]; if (!buf || !buflen) return buf; - buf[0] = 0; if (ctr == NULL) { - snprintf (stderrbuf, sizeof (stderrbuf), GTXT ("HW counter not available")); - goto hwc_hwcentry_specd_string_done; + snprintf (buf, buflen, GTXT ("HW counter not available")); + return buf; } timecvt = timecvt_string (ctr->timecvt); if (ctr->memop) @@ -4574,19 +4566,15 @@ hwc_hwcentry_specd_string (char *buf, size_t buflen, const Hwcentry *ctr) else memop = ""; if (ctr->metric != NULL) /* a standard counter for a specific register */ - snprintf (descstr, sizeof (descstr), GTXT (" (`%s'; %s%s)"), + snprintf (descstr, sizeof (descstr), " (`%s'; %s%s)", hwc_i18n_metric (ctr), memop, timecvt); else /* raw counter */ - snprintf (descstr, sizeof (descstr), GTXT (" (%s%s)"), memop, timecvt); + snprintf (descstr, sizeof (descstr), " (%s%s)", memop, timecvt); char *rateString = hwc_rate_string (ctr, 1); - snprintf (stderrbuf, sizeof (stderrbuf), NTXT ("%s,%s%s"), ctr->name, + snprintf (buf, buflen, "%s,%s%s", ctr->name, rateString ? rateString : "", descstr); free (rateString); - -hwc_hwcentry_specd_string_done: - strncpy (buf, stderrbuf, buflen - 1); - buf[buflen - 1] = 0; return buf; } diff --git a/gprofng/configure b/gprofng/configure index d0345ecdfbc..a0d723990bf 100755 --- a/gprofng/configure +++ b/gprofng/configure @@ -636,6 +636,7 @@ LIBOBJS BUILD_SUBDIRS CLOCK_GETTIME_LINK GPROFNG_CPPFLAGS +GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS GPROFNG_CFLAGS LD_NO_AS_NEEDED BUILD_MAN_FALSE @@ -662,7 +663,6 @@ BUILD_SRC_TRUE BUILD_COLLECTOR_FALSE BUILD_COLLECTOR_TRUE GPROFNG_NO_SWITCH_CFLAGS -GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS gprofng_cflags WERROR GPROFNG_LIBADD @@ -15662,63 +15662,6 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS= -save_CFLAGS="$CFLAGS" -for real_option in -Wno-format-truncation; do - # Do the check with the no- prefix removed since gcc silently - # accepts any -Wno-* option on purpose - case $real_option in - -Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;; - *) option=$real_option ;; - esac - as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh` - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5 -$as_echo_n "checking whether $CC supports $option... " >&6; } -if eval \${$as_acx_Woption+:} false; then : - $as_echo_n "(cached) " >&6 -else - CFLAGS="$option" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_acx_Woption=yes" -else - eval "$as_acx_Woption=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -eval ac_res=\$$as_acx_Woption - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then : - GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS="$GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS${GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS:+ }$real_option" -fi - done -CFLAGS="$save_CFLAGS" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' diff --git a/gprofng/configure.ac b/gprofng/configure.ac index 63b505c5e14..5a0fe1ea477 100644 --- a/gprofng/configure.ac +++ b/gprofng/configure.ac @@ -48,7 +48,6 @@ AC_SUBST(GPROFNG_LIBADD) ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual]) ACX_PROG_CC_WARNING_OPTS([-Wall], [gprofng_cflags]) -ACX_PROG_CC_WARNING_OPTS([-Wno-format-truncation], [GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS]) ACX_PROG_CC_WARNING_OPTS([-Wno-switch], [GPROFNG_NO_SWITCH_CFLAGS]) gprofng_cppflags="-U_ASM" build_collector= diff --git a/gprofng/src/Makefile.am b/gprofng/src/Makefile.am index 0718ab61162..f2bd0a04a9a 100644 --- a/gprofng/src/Makefile.am +++ b/gprofng/src/Makefile.am @@ -109,7 +109,6 @@ AM_CPPFLAGS = $(GPROFNG_CPPFLAGS) -DLOCALEDIR=\"@localedir@\" -I.. -I$(srcdir) \ -I$(srcdir)/../../include -I$(srcdir)/../../opcodes \ -I../../bfd -I$(srcdir)/../../bfd $(ZLIBINC) AM_CFLAGS = $(GPROFNG_CFLAGS) $(PTHREAD_CFLAGS) \ - $(GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS) \ $(GPROFNG_NO_SWITCH_CFLAGS) AM_CXXFLAGS = $(AM_CFLAGS) diff --git a/gprofng/src/Makefile.in b/gprofng/src/Makefile.in index 1de9b36c2b7..5101b3930fa 100644 --- a/gprofng/src/Makefile.in +++ b/gprofng/src/Makefile.in @@ -540,7 +540,6 @@ AM_CPPFLAGS = $(GPROFNG_CPPFLAGS) -DLOCALEDIR=\"@localedir@\" -I.. -I$(srcdir) \ -I../../bfd -I$(srcdir)/../../bfd $(ZLIBINC) AM_CFLAGS = $(GPROFNG_CFLAGS) $(PTHREAD_CFLAGS) \ - $(GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS) \ $(GPROFNG_NO_SWITCH_CFLAGS) AM_CXXFLAGS = $(AM_CFLAGS) diff --git a/gprofng/src/ipc.cc b/gprofng/src/ipc.cc index edc70256a68..06ba33d5b69 100644 --- a/gprofng/src/ipc.cc +++ b/gprofng/src/ipc.cc @@ -95,11 +95,6 @@ extern "C" /* * Fatal error handlers */ -extern "C" void fatalErrorHadler (int sig, siginfo_t *info, void *context); -extern "C" void sigSEGV_handler (int sig, siginfo_t *info, void *context); -extern "C" void sigABRT_handler (int sig, siginfo_t *info, void *context); -static char fatalErrorBuffer1[1024 * 8]; -static char fatalErrorBuffer2[1024 * 8]; static int fatalErrorCode = 1; static int fatalErrorCounter = 0; static void *fatalErrorContext = 0; @@ -127,38 +122,24 @@ fatalErrorHadler (int sig, siginfo_t *info, void *context) // Get process ID pid_t pid = getpid (); // Create dump file - snprintf (fatalErrorBuffer1, sizeof (fatalErrorBuffer1), "/tmp/analyzer.%lld", - (long long) pid); - mkdir (fatalErrorBuffer1, 0700); - snprintf (fatalErrorBuffer1, sizeof (fatalErrorBuffer1), - "/tmp/analyzer.%lld/crash.sig%d.%lld", (long long) pid, sig, - (long long) pid); + char fname[128]; + snprintf (fname, sizeof (fname), "/tmp/gprofng.%lld", (long long) pid); + mkdir (fname, 0700); + snprintf (fname, sizeof (fname), "/tmp/gprofng.%lld/crash.sig%d.%lld", + (long long) pid, sig, (long long) pid); // Dump stack trace in background using pstack - snprintf (fatalErrorBuffer2, sizeof (fatalErrorBuffer2), - "/usr/bin/pstack %lld > %s.pstack", (long long) pid, fatalErrorBuffer1); - system (fatalErrorBuffer2); - int fd = creat (fatalErrorBuffer1, 0600); + char buf[256]; + snprintf (buf, sizeof (buf), "/usr/bin/pstack %lld > %s.pstack", + (long long) pid, fname); + system (buf); + int fd = creat (fname, 0600); if (fd >= 0) { // Write error message - snprintf (fatalErrorBuffer2, sizeof (fatalErrorBuffer2), - "A fatal error has been detected by er_print: Signal %lld\n", - (long long) sig); - write (fd, fatalErrorBuffer2, strlen (fatalErrorBuffer2)); -// snprintf (fatalErrorBuffer2, sizeof (fatalErrorBuffer2), -// "If you would like to submit a bug report, please use your support contract.\n")); -// write(fd, fatalErrorBuffer2, strlen(fatalErrorBuffer2)); - snprintf (fatalErrorBuffer2, sizeof (fatalErrorBuffer2), - "Protocol Version: %d\n", IPC_VERSION_NUMBER); - write (fd, fatalErrorBuffer2, strlen (fatalErrorBuffer2)); + dbe_write (fd, "A fatal error has been detected by er_print: Signal %d\n", + sig); + dbe_write (fd, "Protocol Version: %d\n", IPC_VERSION_NUMBER); close (fd); - // Send postmortem error message to the GUI - // snprintf(fatalErrorBuffer1, sizeof (fatalErrorBuffer1), - // "%s: %s: /tmp/analyzer.%lld", - // "Unexpected signal in er_print", - // "Crash dump", - // (long long) pid); - // res = write(2, fatalErrorBuffer2, strlen(fatalErrorBuffer1)); } wait (0); // wait for pstack //sleep(10); // Wait 10 seconds to make sure processing of fatal error is done diff --git a/gprofng/src/parse.cc b/gprofng/src/parse.cc index eaed8ee7349..cdbe0cea9a5 100644 --- a/gprofng/src/parse.cc +++ b/gprofng/src/parse.cc @@ -33,6 +33,7 @@ #include "PRBTree.h" #include "Sample.h" #include "Elf.h" +#include "StringBuilder.h" void Experiment::mrec_insert (MapRecord *mrec) @@ -883,10 +884,12 @@ Experiment::process_Linux_kernel_cmd (hrtime_t ts) if (sym_text) { - char fname[128]; - snprintf (fname, sizeof (fname), "%s`%s", mod_name, sym_name); + StringBuilder sb; + sb.appendf ("%s`%s", mod_name, sym_name); + char *fname = sb.toString (); Function *func = dbeSession->createFunction (); func->set_name (fname); + free (fname); func->size = sym_size; func->img_offset = sym_addr; func->module = mod; -- 2.27.0