From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.2 required=3.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id C77D31F6A3 for ; Tue, 27 Dec 2022 21:39:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1672177194; bh=KI5eEqDdxnLaqNutuPfs1lg7c64YytIJ7mxzkvUptro=; h=From:To:Subject:Date:From; b=NMVUAjs3AFsCF2pbm87doWkM5qum5ibwKvyVszcGRAJZHlTcO47/d1m8dkP14sIYK E9pYQ4JosblBWNYhxUpBdkxNKCpCJEKGlU+XEe/4SXs7hi1Alq7pf7UPlDgazAIOqw +pGsMCz+LqB5ktzSZrTXn1I1K6uYVBkVPLGKCYlo= From: Eric Wong To: mwrap-perl@80x24.org Subject: [PATCH] rproxy: have addr2line show inlines and function names Date: Tue, 27 Dec 2022 21:39:55 +0000 Message-Id: <20221227213955.1496327-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: They're useful, IMHO. The ADDR2LINE environment can override it, of course. --- lib/Devel/Mwrap/Rproxy.pm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/Devel/Mwrap/Rproxy.pm b/lib/Devel/Mwrap/Rproxy.pm index 19fff59..b2bee8c 100644 --- a/lib/Devel/Mwrap/Rproxy.pm +++ b/lib/Devel/Mwrap/Rproxy.pm @@ -133,15 +133,17 @@ sub new { my ($cls, $exe) = @_; pipe(my ($rd, $_wr)) or die "pipe: $!"; pipe(my ($_rd, $wr)) or die "pipe: $!"; - my $addr2line = $ENV{ADDR2LINE} // 'addr2line'; + # -f/--functions needs -p/--pretty-print to go with it + my $addr2line = $ENV{ADDR2LINE} // 'addr2line -i -p -f'; + my @addr2line = split(/\s+/, $addr2line); my $pid = fork // die "fork: $!"; if ($pid == 0) { close $rd; close $wr; open STDIN, '<&', $_rd or die "STDIN: $!"; open STDOUT, '>&', $_wr or die "STDOUT: $!"; - exec $addr2line, '-e', $exe; - die "exec $addr2line -e $exe: $!"; + exec @addr2line, '-e', $exe; + die "exec @addr2line -e $exe: $!"; } $_rd = $_wr = undef; $wr->autoflush(1);