Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Aug 2017 10:43:24 -0700
From:      Mark Johnston <markj@FreeBSD.org>
To:        Andreas Longwitz <longwitz@incore.de>
Cc:        "freebsd-dtrace@freebsd.org" <freebsd-dtrace@freebsd.org>
Subject:   Re: g_journal_read has broken argument list in V10
Message-ID:  <20170804174324.GA66372@wkstn-mjohnston.west.isilon.com>
In-Reply-To: <5984507A.3090104@incore.de>
References:  <596F2CDA.1000705@incore.de> <598343D8.8060101@incore.de> <20170803171011.GB4968@wkstn-mjohnston.west.isilon.com> <5984507A.3090104@incore.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Aug 04, 2017 at 12:46:18PM +0200, Andreas Longwitz wrote:
> By the way, the following patch solves the problem with the wrong
> argument counts in ctfdump:

I think the existing code is correct. It's printing the CTF type index
of the return type, not the number of arguments. In particular, we have:

    <1> INTEGER void encoding=SIGNED offset=0 bits=0

so "returns 1" just means that the return type is void.

> 
> --- dump.c.1st  2015-07-03 16:39:24.000000000 +0200
> +++ dump.c      2017-08-04 10:56:21.563805000 +0200
> @@ -364,7 +364,8 @@
>                         (void) printf("  [%lu] FUNC ", id);
>                         if (name != NULL)
>                                 (void) printf("(%s) ", name);
> -                       (void) printf("returns: %u args: (", *fp++);
> +                       (void) printf("returns: %u args: (", n);
> +                       fp++;
> 
>                         if (n != 0) {
>                                 (void) printf("%u", *fp++);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170804174324.GA66372>