From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id EDyxFmrXyWdFKQcAWB0awg (envelope-from ) for ; Thu, 06 Mar 2025 12:12:10 -0500 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=LWSb8HJQ; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 581291E105; Thu, 6 Mar 2025 12:12:10 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.0 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 9B02C1E0FE for ; Thu, 6 Mar 2025 12:12:08 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 44E44385842C for ; Thu, 6 Mar 2025 17:12:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 44E44385842C Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=LWSb8HJQ Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTP id 245453858D20 for ; Thu, 6 Mar 2025 17:10:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 245453858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 245453858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1741281034; cv=none; b=ow9tyDQBfu12bM+aV9NQeK5JzQrzAyQsQxqrlP8neV7HQJk7qk2SgvAK+RboYRIGyJ9fBV5LyYgNBV4J6WqmUGzjQaRTHbmXm5mpK6WzW3XafpquO5J/OULjsOGYzPfCEOPz6mPJfYhYQ1ASYwhf/fM01jVO2ApMsrQdoJgtoJU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1741281034; c=relaxed/simple; bh=bdopLqyRwdVJYcQWof93g/ye3xO4qk5PhCaj2lc1Cew=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=UYvvdpJfsd6UCProcLUFWLoc+Kzpe5qz8S8UM9WUm4rev/+qKOa3qgF5fHsHx7cLvjyECmR2UFk1ry7nuWpdHuJBhYzh0esxCUQ/57uPhur0tAhgo40NRiOpYXnP9TzNtfHu5EmevojkUXjw8yTrzlWXPwlQ37h4cweucMoVLO0= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 245453858D20 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1741281033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0jOhs9Yfid/NXczP7a/Z8z/2l44xF3oraLk54FC4YyA=; b=LWSb8HJQ/tEGSkSrbHG9u5HjQgBty+y3DRY/ncWOoVO/ItnPnTKAv3R9U22y5pWEh3l09Q he6zQmNAnFx+wOQhPjgx/7qEpDq3hDb6WbmIGWr7q36qbEEYStMRRbiKpfeY1dd1aATH46 hhG4a87aKlHa90nevZb73cVuQ1U86oI= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-301-9LViaTLGOJKcdgXB6NEIpA-1; Thu, 06 Mar 2025 12:10:32 -0500 X-MC-Unique: 9LViaTLGOJKcdgXB6NEIpA-1 X-Mimecast-MFC-AGG-ID: 9LViaTLGOJKcdgXB6NEIpA_1741281031 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-390f7db84faso871633f8f.2 for ; Thu, 06 Mar 2025 09:10:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741281031; x=1741885831; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0jOhs9Yfid/NXczP7a/Z8z/2l44xF3oraLk54FC4YyA=; b=ClISLmxmdd6d+lJUlTJVxPUlAID7SkOgVP0oBwWY4YVt2iEyWl8Xh3to1rFhxq3iRE AC5/8A2NlKBPi1xkx+Bl8l35x5vrizYuvzSPVwA1y8wZBKj5a0d1BQAof/mmRFvOlMmR fFt0iWUlaSCoRx6dhVaW9TUArvnm6cGIaUD22zQiDsz/NuinrNNFlo5pyySnD+Zu1lzW JwPeZBhu/EECWMfRWxHMphJgBlZRIsBbe9M2io8Gx74nFUVYeDTzrEv7B/XY4Z22T3Gq 8/L1vvoHUZm+ETAJRhlbpLCqQYXQU9z1Xv7osgaE2cBCfZmats5WniOxKtOUdDLDi/RP ItGg== X-Gm-Message-State: AOJu0YwDvVhoOj0/vxHZcxUDTtbGSGM5hi8cAsq07jWccTJ5sMnWoPdw NOtqn5nldeaaWi0MqV+N3goHXp1ta3G9ubYcl8kiKCLOjaSIUv1Hsb45BDhf0TgwjUvlNhOcMLr GN+CT+nXUrngbYMJVfWtdHwEbvwQgm2y2nl/rwtsOKWCUKnfzN1dJTTLbQKRUuiUDg8JmEYeq97 BvRzEN9gwPrLKuHpZlgQKjLCz6xKqmB+Dk+BP1STRheMY= X-Gm-Gg: ASbGncscjxPXwhAq8x4JeGwScD/HX2e/li2w+NfVZ1lW9a2fsybhh/9G0rr3Qe6sAaP Xei2lWwRTM8+LoRfR3lCcP1HVjQZP0qn/PHdGzXc/rvRvfbAZxXmzU5VzFIrY+hQF4tm3jxDnvK gSKBWOs8bBg59eE4w74D+DRjYgWpvUxuULoJXJEiJvyDBKriG2vTiLkh2TJl6zp/LLnhnqwrDH8 TekJE89LWUqKj6WYLGQ9phYLMjNv6X7GjSOk6cQ9G0pOzN7JqL9/HwVv1fpu47yQP7F9GL2ckak ez6ZDZjmw3mPvEf//XnnMAcC2w645oV087I= X-Received: by 2002:a5d:5f4b:0:b0:38d:dfb8:3679 with SMTP id ffacd0b85a97d-3911f740307mr8016778f8f.17.1741281031221; Thu, 06 Mar 2025 09:10:31 -0800 (PST) X-Google-Smtp-Source: AGHT+IFetrd9ExFQdHKUo+R8ed91DVS2N/mAigRmjpXWkJy2CA4dh5yJZwtfe2mRORPzdF3b7mwZUA== X-Received: by 2002:a5d:5f4b:0:b0:38d:dfb8:3679 with SMTP id ffacd0b85a97d-3911f740307mr8016706f8f.17.1741281030675; Thu, 06 Mar 2025 09:10:30 -0800 (PST) Received: from localhost (52.72.115.87.dyn.plus.net. [87.115.72.52]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ac2394fda1asm124510566b.78.2025.03.06.09.10.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 09:10:30 -0800 (PST) From: Andrew Burgess To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 1/3] gcore: add -v or --version option to show version number Date: Thu, 6 Mar 2025 17:10:22 +0000 Message-ID: X-Mailer: git-send-email 2.47.1 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: f_gHqi9JYg44gf1ho-HYNFQxpwxg4GQ_9Mp3cDRxE2M_1741281031 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Based on the work in this commit: commit fb2ded33c1e519659743047ed7817166545b6d91 Date: Fri Dec 20 12:46:11 2024 -0800 Add gstack script This commit adds a '-v' or '--version' option to the existing gcore script. This new option causes the script to print its version number, and then exit. I needed to adjust the getopts handling a little in order to support the long form '--version' argument, but as this makes gcore more consistent with gstack, then this seems like a good thing. The usage message is now getting a little long. Don't worry, I plan to clean that up in the next commit. --- gdb/Makefile.in | 7 ++----- gdb/NEWS | 3 +++ gdb/configure | 5 ++--- gdb/configure.ac | 2 +- gdb/doc/gdb.texinfo | 7 ++++++- gdb/{gcore.in => gcore-1.in} | 23 ++++++++++++++++++++--- 6 files changed, 34 insertions(+), 13 deletions(-) rename gdb/{gcore.in => gcore-1.in} (88%) diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 1619c8253dc..a87e9520ffe 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -2347,18 +2347,15 @@ run: Makefile jit-reader.h: $(srcdir)/jit-reader.in config.status $(ECHO_GEN) $(SHELL) config.status $(SILENT_FLAG) $@ -gcore: $(srcdir)/gcore.in config.status +gstack.in gcore.in: %.in : $(srcdir)/%-1.in config.status $(ECHO_GEN) $(SHELL) config.status $(SILENT_FLAG) $@ -gstack: gstack.in version.c +gstack gcore: % : %.in version.c $(ECHO_GEN) \ vv=`grep 'version\[\] = ' version.c | grep -o '".*"' | tr -d \"`; \ sed -e "s,@VERSION@,$$vv," $< > $@ @chmod +x $@ -gstack.in: $(srcdir)/gstack-1.in config.status - $(ECHO_GEN) $(SHELL) config.status $(SILENT_FLAG) $@ - gdb-gdb.py: $(srcdir)/gdb-gdb.py.in config.status $(ECHO_GEN) $(SHELL) config.status $(SILENT_FLAG) $@ diff --git a/gdb/NEWS b/gdb/NEWS index f5dbf5c3350..d4453914755 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -26,6 +26,9 @@ * Linux checkpoint code has been updated to work with multiple inferiors. +* The gcore script now has a -v or --version option, which prints the + version number, and then exits. + * New commands maintenance check psymtabs diff --git a/gdb/configure b/gdb/configure index bdc405e01b3..3e990064197 100755 --- a/gdb/configure +++ b/gdb/configure @@ -33775,7 +33775,7 @@ fi fi -ac_config_files="$ac_config_files gcore" +ac_config_files="$ac_config_files gcore.in:gcore-1.in" ac_config_files="$ac_config_files gstack.in:gstack-1.in" @@ -34878,7 +34878,7 @@ do "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "jit-reader.h") CONFIG_FILES="$CONFIG_FILES jit-reader.h:jit-reader.in" ;; "nm.h") CONFIG_LINKS="$CONFIG_LINKS nm.h:$GDB_NM_FILE" ;; - "gcore") CONFIG_FILES="$CONFIG_FILES gcore" ;; + "gcore.in") CONFIG_FILES="$CONFIG_FILES gcore.in:gcore-1.in" ;; "gstack.in") CONFIG_FILES="$CONFIG_FILES gstack.in:gstack-1.in" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "gdb-gdb.gdb") CONFIG_FILES="$CONFIG_FILES gdb-gdb.gdb" ;; @@ -36425,7 +36425,6 @@ _LT_EOF esac done ;; "nm.h":L) echo > stamp-nmh ;; - "gcore":F) chmod +x gcore ;; esac done # for ac_tag diff --git a/gdb/configure.ac b/gdb/configure.ac index fb77e79e73b..4604a2d8e87 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -2278,7 +2278,7 @@ GDB_AC_SELFTEST([ GDB_AC_TRANSFORM([gdb], [GDB_TRANSFORM_NAME]) GDB_AC_TRANSFORM([gcore], [GCORE_TRANSFORM_NAME]) -AC_CONFIG_FILES([gcore], [chmod +x gcore]) +AC_CONFIG_FILES([gcore.in:gcore-1.in]) AC_CONFIG_FILES([gstack.in:gstack-1.in]) AC_CONFIG_FILES([Makefile gdb-gdb.gdb gdb-gdb.py doc/Makefile data-directory/Makefile]) diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 29c0118dda2..1ab87dd37f9 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -51386,7 +51386,8 @@ gcore man @format @c man begin SYNOPSIS gcore -gcore [-a] [-o @var{prefix}] [-d @var{directory}] @var{pid1} [@var{pid2}...@var{pidN}] +gcore [-v | --version] [-a] [-o @var{prefix}] [-d @var{directory}] + @var{pid1} [@var{pid2}...@var{pidN}] @c man end @end format @@ -51418,6 +51419,10 @@ gcore man @item -d @var{directory} Use @var{directory} as the data directory when invoking @value{GDBN} for running the gcore command. This argument is optional. + +@item --version +@itemx -v +Print version information and then exit. @end table @c man end diff --git a/gdb/gcore.in b/gdb/gcore-1.in similarity index 88% rename from gdb/gcore.in rename to gdb/gcore-1.in index 0c40e5a54cd..ce2f7321148 100644 --- a/gdb/gcore.in +++ b/gdb/gcore-1.in @@ -20,6 +20,9 @@ # It starts up gdb, attaches to the given PID and invokes the gcore command. # +PKGVERSION=@PKGVERSION@ +VERSION=@VERSION@ + # Need to check for -o option, but set default basename to "core". prefix=core @@ -29,8 +32,18 @@ dump_all_cmds=() data_directory_opt=() -while getopts :ao:d: opt; do - case "$opt" in +function print_version() { + echo "GNU gcore (${PKGVERSION}) ${VERSION}" +} + +while getopts :vao:d:-: OPT; do + if [ "$OPT" = "-" ]; then + OPT="${OPTARG%%=*}" + OPTARG="${OPTARG#'$OPT'}" + OPTARG="${OPTARG#=}" + fi + + case "$OPT" in a) case "$OSTYPE" in linux*) @@ -45,8 +58,12 @@ while getopts :ao:d: opt; do d) data_directory_opt=("--data-directory" "$OPTARG") ;; + v | version) + print_version + exit 0 + ;; *) - echo "usage: @GCORE_TRANSFORM_NAME@ [-a] [-o prefix] [-d data-directory] pid1 [pid2...pidN]" + echo "usage: @GCORE_TRANSFORM_NAME@ [-v | --version] [-a] [-o prefix] [-d data-directory] pid1 [pid2...pidN]" exit 2 ;; esac -- 2.47.1