![chs](/assets/img/avatar_default.png)
- statically initialize all global spin locks. on hppa, 0 means the lock is held, so leaving them with the default value doesn't work. - compare functions pointers using a function-pointer type rather than an integral type. on hppa, function pointers may be indirect, so we need to trigger gcc to emit calls to the function-pointer canonicalization routines in the millicode. - on hppa the stack grows up, so handle that using the STACK_* macros.