svn commit: r315974 - in head: lib/libthread_db/arch/arm sys/arm/arm sys/arm/include

Warner Losh imp at bsdimp.com
Mon Mar 27 17:40:05 UTC 2017


On Mon, Mar 27, 2017 at 11:07 AM, John Baldwin <jhb at freebsd.org> 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


More information about the svn-src-head mailing list