Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 02 Sep 2010 19:36:08 +0800
From:      David Xu <davidxu@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Kostik Belousov <kostikbel@gmail.com>, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r212076 - head/lib/libthr/thread
Message-ID:  <4C7F8C28.50309@freebsd.org>
In-Reply-To: <201009020639.47198.jhb@freebsd.org>
References:  <201009010218.o812IX5G048257@svn.freebsd.org> <4C7FE06B.9070609@freebsd.org> <20100902102218.GO2396@deviant.kiev.zoral.com.ua> <201009020639.47198.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote:
> On Thursday, September 02, 2010 6:22:18 am Kostik Belousov wrote:
>   
>> On Thu, Sep 02, 2010 at 05:35:39PM +0000, David Xu wrote:
>>     
>>> Kostik Belousov wrote:
>>>
>>>       
>>>>> the tf_err may not be equal to ksi_addr! This may need to be fixed.
>>>>>
>>>>>           
>>>> The change was introduced by
>>>> r151316 | davidxu | 2005-10-14
>>>>      /* Old FreeBSD-style arguments. */
>>>> -     sf.sf_siginfo = code;
>>>> -     sf.sf_addr = regs->tf_err;
>>>> +     sf.sf_siginfo = ksi->ksi_code;
>>>> +     sf.sf_addr = (register_t)ksi->ksi_addr;
>>>>      sf.sf_ahu.sf_handler = catcher;
>>>>
>>>>         
>>> :(
>>>       
>> The rollback looks straightforward. I explicitely decided to not change
>> any architecture that is not i386.
>>     
>
> It may not be this simple.  At one point we had a "feature" where we trashed 
> tf_err in the trapframe to store the address so it could be passed to sendsig 
> for this purpose.  I think once we started using ksi_addr here we removed the 
> trashing of tf_err as it was no longer necessary.
>
>   
I saw RELENG_5 saved it at td_md.md_fault_address, but I really can not 
remember
which version has such "feature". ;-)
By the way, I still can not find a  modern program uses this old style 
and wants to
know the exact fault address.
Kostik Belousov fixed the error I had made when I was implementing 
signal queue.

Thanks!




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