• Alex Richardson's avatar
    Arch64: Clear VFP state on execve() · 55872d47
    Alex Richardson authored
    I noticed that many of the math-related tests were failing on AArch64.
    After a lot of debugging, I noticed that the floating point exception flags
    were not being reset when starting a new process. This change resets the
    VFP inside exec_setregs() to ensure no VFP register state is leaked from
    parent processes to children.
    
    This commit also moves the clearing of fpcr that was added in 65618fdd
    from fork() to execve() since that makes more sense: fork() can retain
    current register values, but execve() should result in a well-defined
    clean state.
    
    Reviewed By:	andrew
    MFC after:	1 week
    Differential Revision: https://reviews.freebsd.org/D29060
    
    (cherry picked from commit 953a7d7c)
    55872d47