Add GC root for func in jl_instantiate_staged

Fixes #9099
pinv: fix the tolerance parameter for diagonal matrices
Merge pull request #9111 from JuliaLang/teh/staged_root

Add GC root for func in jl_instantiate_staged
use tempdir instead of tempname in test/pkg.jl

since tempname creates a file on windows, but the goal here is creating
a directory. also don't try to delete nonexistent files during cleanup

(cherry picked from commit dd6cd5a63cd6164419aa4d579f2932a7bd7c2f8e)
arm: don't set BINARY=32. fixes #9102

if BINARY is set then OpenBLAS adds `-m32`, which is unsupported on ARM

cpu detection works, so OpenBLAS should now build without patching. see also:
https://github.com/xianyi/OpenBLAS/commit/a183ad1df4e88447473a41bec42d5be8f5f8e746
fix #8551 and make stack switch more efficient

previously, each new stack would have a copy of a small portion of the
stack that started it. in small amounts, this was fine, but it is bad if
the user is starting many tasks. additionally, it wasted memory inside
every task to have a per-task base_ctx.
Merge pull request #9101 from zgimbutas/pinv-consistency

pinv: fix the tolerance parameter for diagonal matrices