On Mon, Mar 27, 2017 at 11:07 AM, John Baldwin <[email protected]> wrote:
> On Sunday, March 26, 2017 08:36:56 AM Michal Meloun wrote:
>> Author: mmel
>> Date: Sun Mar 26 08:36:56 2017
>> New Revision: 315974
>> URL: https://svnweb.freebsd.org/changeset/base/315974
>>
>> Log:
>>   Preserve VFP state across signal delivery.
>>
>>   We don't have enouch space to store full VFP context within mcontext
>>   stucture. Due to this:
>>    - follow i386/amd64 way and store VFP state outside of the mcontext_t
>>      but point to it. Use the size of VFP state structure as an 'magic'
>>      indicator of the saved VFP state presence.
>>    - teach set_mcontext() about this external storage.
>>    - for signal delivery, store VFP state to expanded 'struct sigframe'.
>>
>>   Submited by:        Andrew Gierth (initial version)
>>   PR:         217611
>>   MFC after:  2 weeks
>>
>> Modified:
>>   head/lib/libthread_db/arch/arm/libpthread_md.c
>>   head/sys/arm/arm/machdep.c
>>   head/sys/arm/include/frame.h
>>   head/sys/arm/include/ucontext.h
>>
>> Modified: head/lib/libthread_db/arch/arm/libpthread_md.c
>> ==============================================================================
>> --- head/lib/libthread_db/arch/arm/libpthread_md.c    Sun Mar 26 08:36:20 
>> 2017        (r315973)
>> +++ head/lib/libthread_db/arch/arm/libpthread_md.c    Sun Mar 26 08:36:56 
>> 2017        (r315974)
>> @@ -90,7 +90,9 @@ pt_fpreg_to_ucontext(const struct fpreg
>>       mcontext_t *mc = &uc->uc_mcontext;
>>
>>       /* XXX */
>> -     memset(&mc->mc_spare, 0, sizeof(mc->mc_spare));
>> +     mc->mc_vfp_size = 0;
>> +     mc->mc_vfp_ptr = NULL;
>> +     memset(mc->mc_spare, 0, sizeof(mc->mc_spare));
>>  }
>
> I suspect you don't need this bit?  Has FreeBSD/arm ever supported VFP on a 
> release
> that also shipped libkse?  (i.e. not libthr but the other thread library)

No. And even if we had, we blew up binary compat when we went from OABI to EABI.

Warner
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to