My previous Apple Silicon build went through, so I thought it already
worked, but it turns out it accidentally built an armv7 build instead.
This actually fixes the Apple Silicon build. One thing to note in
particular is that on Apple Silicong `long double` is the same as
`double` while on Linux `long double` is a 128 bit double-double
format.
Co-authored-by: Elliot Saba <staticfloat@gmail.com>
* Previously, behavior differed if the same value of `ARCH` was defined
within `Make.inc` or defined on the command line. Don't do that.
* Provide saner defaults for `ARCH` and `MARCH`, and more importantly,
allow for the proper overriding of both.
* Split `AArch64` code further away from the other `arm` code.
We already provide lgammaf_r() and lgamma_r(). It's not hard to also add
lgammal_r(), for consistency.
I am currently working on porting openlibm to an environment where
global state, and thus signgam, is not available. By adding lgammal_r(),
I can trivially disable support for signgam by just patching up
src/e_lgamma{f,,l}.c. That way there is no need to patch up the actual
algorithms.