x86_64: fixes initial stack alignment

Stacks at function entry points need to be 8 bytes off from 16 byte alignment.
This 16-byte aligns stack-based input args, and also the compiler can get a 16
byte aligned stack by subtracting (or adding) 8 to %rsp, for use in xmm
instructions (like movaps).
Fixes int overflow in lockprov.sh

Too many 9's get converted into a negative number by pthread_test.