Re: Using Instruction Pointer address in debug interfaces [Was: Re: vm_page_t related KBI [Was: Re: panic at vm_page_wire with FreeBSD 9.0 Beta 3]]

From: Arnaud Lacombe <lacombar_at_gmail.com>
Date: Tue, 8 Nov 2011 20:43:40 -0500
Hi,

On Tue, Nov 8, 2011 at 8:09 PM, Arnaud Lacombe <lacombar_at_gmail.com> wrote:
> Hi,
>
> On Tue, Nov 8, 2011 at 3:55 PM, Andriy Gapon <avg_at_freebsd.org> wrote:
>>
>> [cc list trimmed]
>>
>> on 08/11/2011 22:34 Attilio Rao said the following:
>>> 2011/11/8 Arnaud Lacombe <lacombar_at_gmail.com>:
>>>> To avoid future complaints about the fact that I would be only "talk"
>>>> without "action", I did implement what I suggested above. As it is
>>>> quite a large patch-set, I will not post it directly here, however, it
>>>> is available on github:
>>>
>>> I really think that this is way too dependent by the good health of
>>> your tool, thus that is highly fragile.
>>>
>>> However, you may have more luck by just the core of your kernel
>>> changes here, for comment and leave alone all the (ptr ->
>>> LOCK_FILE/LOCK_LINE conversion).
>>>
>>> Said that, I think this logic is too fragile and likely won't be as
>>> effective as __FILE__/__LINE__ in many cases.
>>
>> I agree.
>> If we were able to somehow automatically, magically, easily and correctly
>> determine an instruction pointer of a caller, then it would make sense to ditch
>> explicit passing of __FILE__/__LINE__ arguments in favor of doing instruction
>> pointer decoding.
>>
> again, no need for magic, this already exists, as the form of gcc[0]'s
> __builtin_return_address(0).
>
actually, this should be __builtin_return_address(1).

 - Arnaud
Received on Wed Nov 09 2011 - 00:43:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:20 UTC